#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) |
|
#define SCREEN_COLUMNS 32 |
#define SET_FLAG |
( |
|
var, |
|
|
|
val |
|
) |
| ( (var) |= ( 1 << (val)) ) |
#define UNSET_FLAG |
( |
|
var, |
|
|
|
val |
|
) |
| ( (var) &= ~( 1 << (val)) ) |
#define CHECK_FLAG |
( |
|
var, |
|
|
|
val |
|
) |
| ( (var) & ( 1 << (val)) ) |
Definition at line 926 of file ccaption_dec.c.
Referenced by common_vt_4t_24w_msa(), common_vt_4t_8x6_msa(), common_vt_8t_12w_msa(), copy_8x8_msa(), copy_width8_msa(), ff_loop_filter_v_16_8_msa(), ff_loop_filter_v_8_8_msa(), ff_vp8_v_loop_filter8uv_msa(), hevc_hz_4t_6w_msa(), hevc_hz_bi_8t_12w_msa(), hevc_hz_bi_8t_24w_msa(), hevc_hz_biwgt_8t_24w_msa(), hevc_intra_pred_angular_lower_4width_msa(), hevc_intra_pred_angular_upper_4width_msa(), hevc_intra_pred_dc_8x8_msa(), hevc_intra_pred_horiz_8x8_msa(), hevc_intra_pred_vert_8x8_msa(), hevc_loopfilter_luma_hor_msa(), hevc_sao_edge_filter_0degree_8width_msa(), hevc_sao_edge_filter_135degree_8width_msa(), hevc_sao_edge_filter_45degree_8width_msa(), hevc_sao_edge_filter_90degree_8width_msa(), hevc_vt_4t_6w_msa(), and intra_predict_plane_8x8_msa().
Enumerator |
---|
CCMODE_POPON |
|
CCMODE_PAINTON |
|
CCMODE_ROLLUP |
|
CCMODE_TEXT |
|
Definition at line 35 of file ccaption_dec.c.
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.
Enumerator |
---|
CCFONT_REGULAR |
|
CCFONT_ITALICS |
|
CCFONT_UNDERLINED |
|
CCFONT_UNDERLINED_ITALICS |
|
Definition at line 55 of file ccaption_dec.c.
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.
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().
const char* charset_overrides[4][128] |
|
static |
const unsigned char bg_attribs[8] |
|
static |
const unsigned char pac2_attribs[32][3] |
|
static |
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.
Initial value:= {
.class_name = "Closed caption Decoder",
}
#define LIBAVUTIL_VERSION_INT
const char * av_default_item_name(void *ptr)
Return the context name.
static const AVOption options[]
Definition at line 936 of file ccaption_dec.c.
Initial value:= {
.name = "cc_dec",
}
static void flush(AVCodecContext *avctx)
static av_cold int init(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. ...
static av_cold int init_decoder(AVCodecContext *avctx)
static void flush_decoder(AVCodecContext *avctx)
static const AVClass ccaption_dec_class
static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt)
static av_cold int close_decoder(AVCodecContext *avctx)
Definition at line 943 of file ccaption_dec.c.