#include "avcodec.h"
#include "ass.h"
#include "internal.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 36 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 43 of file ccaption_dec.c.
◆ cc_font
Enumerator |
---|
CCFONT_REGULAR | |
CCFONT_ITALICS | |
CCFONT_UNDERLINED | |
CCFONT_UNDERLINED_ITALICS | |
Definition at line 56 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 63 of file ccaption_dec.c.
◆ init_decoder()
◆ close_decoder()
◆ flush_decoder()
◆ write_char()
◆ validate_cc_data_pair()
static int validate_cc_data_pair |
( |
const uint8_t * |
cc_data_pair, |
|
|
uint8_t * |
hi |
|
) |
| |
|
static |
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 364 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 },
{
"real_time_latency_msec",
"minimum elapsed time between emitting real-time subtitle events",
OFFSET(real_time_latency_msec),
AV_OPT_TYPE_INT, { .i64 = 200 }, 0, 500,
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 929 of file ccaption_dec.c.
◆ ccaption_dec_class
Initial value:= {
.class_name = "Closed caption Decoder",
}
Definition at line 939 of file ccaption_dec.c.
◆ ff_ccaption_decoder