#include "avcodec.h"
#include "ass.h"
#include "libavutil/opt.h"
Go to the source code of this file.
|
enum | cc_mode { CCMODE_POPON
, CCMODE_PAINTON
, CCMODE_ROLLUP
, CCMODE_TEXT
} |
|
enum | cc_color_code {
CCCOL_WHITE
, CCCOL_GREEN
, CCCOL_BLUE
, CCCOL_CYAN
,
CCCOL_RED
, CCCOL_YELLOW
, CCCOL_MAGENTA
, CCCOL_USERDEFINED
,
CCCOL_BLACK
, CCCOL_TRANSPARENT
} |
|
enum | cc_font { CCFONT_REGULAR
, CCFONT_ITALICS
, CCFONT_UNDERLINED
, CCFONT_UNDERLINED_ITALICS
} |
|
enum | cc_charset { CCSET_BASIC_AMERICAN
, CCSET_SPECIAL_AMERICAN
, CCSET_EXTENDED_SPANISH_FRENCH_MISC
, CCSET_EXTENDED_PORTUGUESE_GERMAN_DANISH
} |
|
|
static av_cold int | init_decoder (AVCodecContext *avctx) |
|
static av_cold int | close_decoder (AVCodecContext *avctx) |
|
static void | flush_decoder (AVCodecContext *avctx) |
|
static void | write_char (CCaptionSubContext *ctx, struct Screen *screen, char ch) |
|
static int | validate_cc_data_pair (const uint8_t *cc_data_pair, uint8_t *hi) |
| This function after validating parity bit, also remove it from data pair. More...
|
|
static struct Screen * | get_writing_screen (CCaptionSubContext *ctx) |
|
static void | roll_up (CCaptionSubContext *ctx) |
|
static int | capture_screen (CCaptionSubContext *ctx) |
|
static void | update_time (CCaptionSubContext *ctx, int64_t pts) |
|
static void | handle_bgattr (CCaptionSubContext *ctx, uint8_t hi, uint8_t lo) |
|
static void | handle_textattr (CCaptionSubContext *ctx, uint8_t hi, uint8_t lo) |
|
static void | handle_pac (CCaptionSubContext *ctx, uint8_t hi, uint8_t lo) |
|
static int | handle_edm (CCaptionSubContext *ctx) |
|
static int | handle_eoc (CCaptionSubContext *ctx) |
|
static void | handle_delete_end_of_row (CCaptionSubContext *ctx) |
|
static void | handle_char (CCaptionSubContext *ctx, char hi, char lo) |
|
static int | process_cc608 (CCaptionSubContext *ctx, uint8_t hi, uint8_t lo) |
|
static int | decode (AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt) |
|
◆ SCREEN_ROWS
◆ SCREEN_COLUMNS
#define SCREEN_COLUMNS 32 |
◆ SET_FLAG
#define SET_FLAG |
( |
|
var, |
|
|
|
val |
|
) |
| ( (var) |= ( 1 << (val)) ) |
◆ UNSET_FLAG
#define UNSET_FLAG |
( |
|
var, |
|
|
|
val |
|
) |
| ( (var) &= ~( 1 << (val)) ) |
◆ CHECK_FLAG
#define CHECK_FLAG |
( |
|
var, |
|
|
|
val |
|
) |
| ( (var) & ( 1 << (val)) ) |
◆ OFFSET
◆ SD
◆ cc_mode
Enumerator |
---|
CCMODE_POPON | |
CCMODE_PAINTON | |
CCMODE_ROLLUP | |
CCMODE_TEXT | |
Definition at line 35 of file ccaption_dec.c.
◆ cc_color_code
Enumerator |
---|
CCCOL_WHITE | |
CCCOL_GREEN | |
CCCOL_BLUE | |
CCCOL_CYAN | |
CCCOL_RED | |
CCCOL_YELLOW | |
CCCOL_MAGENTA | |
CCCOL_USERDEFINED | |
CCCOL_BLACK | |
CCCOL_TRANSPARENT | |
Definition at line 42 of file ccaption_dec.c.
◆ cc_font
Enumerator |
---|
CCFONT_REGULAR | |
CCFONT_ITALICS | |
CCFONT_UNDERLINED | |
CCFONT_UNDERLINED_ITALICS | |
Definition at line 55 of file ccaption_dec.c.
◆ cc_charset
Enumerator |
---|
CCSET_BASIC_AMERICAN | |
CCSET_SPECIAL_AMERICAN | |
CCSET_EXTENDED_SPANISH_FRENCH_MISC | |
CCSET_EXTENDED_PORTUGUESE_GERMAN_DANISH | |
Definition at line 62 of file ccaption_dec.c.
◆ init_decoder()
◆ close_decoder()
◆ flush_decoder()
◆ write_char()
◆ validate_cc_data_pair()
This function after validating parity bit, also remove it from data pair.
The first byte doesn't pass parity, we replace it with a solid blank and process the pair. If the second byte doesn't pass parity, it returns INVALIDDATA user can ignore the whole pair and pass the other pair.
Definition at line 362 of file ccaption_dec.c.
Referenced by decode().
◆ get_writing_screen()
◆ roll_up()
◆ capture_screen()
◆ update_time()
◆ handle_bgattr()
◆ handle_textattr()
◆ handle_pac()
◆ handle_edm()
◆ handle_eoc()
◆ handle_delete_end_of_row()
◆ handle_char()
◆ process_cc608()
◆ decode()
◆ ms_tb
◆ charset_overrides
const char* charset_overrides[4][128] |
|
static |
◆ bg_attribs
const unsigned char bg_attribs[8] |
|
static |
◆ pac2_attribs
const unsigned char pac2_attribs[32][3] |
|
static |
◆ options
Initial value:= {
{
"real_time",
"emit subtitle events as they are decoded for real-time display",
OFFSET(real_time),
AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1,
SD },
{
"data_field",
"select data field",
OFFSET(data_field),
AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1,
SD,
"data_field" },
{
"auto",
"pick first one that appears", 0,
AV_OPT_TYPE_CONST, { .i64 =-1 }, 0, 0,
SD,
"data_field" },
}
Definition at line 927 of file ccaption_dec.c.
◆ ccaption_dec_class
Initial value:= {
.class_name = "Closed caption Decoder",
}
static const AVOption options[]
const char * av_default_item_name(void *ptr)
Return the context name.
#define LIBAVUTIL_VERSION_INT
Definition at line 936 of file ccaption_dec.c.
◆ ff_ccaption_decoder
Initial value:= {
.name = "cc_dec",
}
static void flush(AVCodecContext *avctx)
static av_cold int init(AVCodecContext *avctx)
static av_cold int close_decoder(AVCodecContext *avctx)
static const AVClass ccaption_dec_class
static av_cold int init_decoder(AVCodecContext *avctx)
static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt)
static void flush_decoder(AVCodecContext *avctx)
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition at line 943 of file ccaption_dec.c.