FFmpeg
Enumerations | Functions | Variables
jacosubdec.c File Reference
#include <time.h>
#include "ass.h"
#include "internal.h"
#include "jacosub.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/time_internal.h"

Go to the source code of this file.

Enumerations

enum  {
  ALIGN_VB = 1<<0, ALIGN_VM = 1<<1, ALIGN_VT = 1<<2, ALIGN_JC = 1<<3,
  ALIGN_JL = 1<<4, ALIGN_JR = 1<<5
}
 

Functions

static int insert_text (AVBPrint *dst, const char *in, const char *arg)
 
static int insert_datetime (AVBPrint *dst, const char *in, const char *arg)
 
static int insert_color (AVBPrint *dst, const char *in, const char *arg)
 
static int insert_font (AVBPrint *dst, const char *in, const char *arg)
 
static void jacosub_to_ass (AVCodecContext *avctx, AVBPrint *dst, const char *src)
 
static int jacosub_decode_frame (AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *avpkt)
 

Variables

struct {
   const char *   from
 
   const char *   arg
 
   int(*   func )(AVBPrint *dst, const char
      *in, const char *arg)
 
ass_codes_map []
 
const AVCodec ff_jacosub_decoder
 

Detailed Description

JACOsub subtitle decoder

See also
http://unicorn.us.com/jacosub/jscripts.html

Definition in file jacosubdec.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ALIGN_VB 
ALIGN_VM 
ALIGN_VT 
ALIGN_JC 
ALIGN_JL 
ALIGN_JR 

Definition at line 86 of file jacosubdec.c.

Function Documentation

◆ insert_text()

static int insert_text ( AVBPrint *  dst,
const char *  in,
const char *  arg 
)
static

Definition at line 37 of file jacosubdec.c.

◆ insert_datetime()

static int insert_datetime ( AVBPrint *  dst,
const char *  in,
const char *  arg 
)
static

Definition at line 43 of file jacosubdec.c.

◆ insert_color()

static int insert_color ( AVBPrint *  dst,
const char *  in,
const char *  arg 
)
static

Definition at line 55 of file jacosubdec.c.

◆ insert_font()

static int insert_font ( AVBPrint *  dst,
const char *  in,
const char *  arg 
)
static

Definition at line 60 of file jacosubdec.c.

◆ jacosub_to_ass()

static void jacosub_to_ass ( AVCodecContext avctx,
AVBPrint *  dst,
const char *  src 
)
static

Definition at line 95 of file jacosubdec.c.

Referenced by jacosub_decode_frame().

◆ jacosub_decode_frame()

static int jacosub_decode_frame ( AVCodecContext avctx,
void *  data,
int got_sub_ptr,
AVPacket avpkt 
)
static

Definition at line 165 of file jacosubdec.c.

Variable Documentation

◆ from

const char* from

◆ arg

const char* arg

Definition at line 67 of file jacosubdec.c.

Referenced by amplify_frame(), async_buffer_task(), async_check_interrupt(), async_open(), audio_thread(), av_expr_count_func(), av_find_info_tag(), av_force_cpu_flags(), av_freep(), av_log_set_flags(), av_parse_video_rate(), avcodec_default_execute(), avcodec_default_execute2(), avfilter_graph_queue_command(), avfilter_graph_send_command(), avfilter_process_command(), avisynth_open_file(), bktr_init(), black_counter(), blend_frame_partial(), blend_slice_gbrap(), blend_slice_gbrap_pm(), blend_slice_gbrp(), blend_slice_gbrp_pm(), blend_slice_rgb(), blend_slice_rgb_pm(), blend_slice_rgba(), blend_slice_rgba_pm(), blend_slice_yuv420(), blend_slice_yuv420_pm(), blend_slice_yuv420p10(), blend_slice_yuv422(), blend_slice_yuv422_pm(), blend_slice_yuv422p10(), blend_slice_yuv444(), blend_slice_yuv444_pm(), blend_slice_yuva420(), blend_slice_yuva420_pm(), blend_slice_yuva420p10(), blend_slice_yuva422(), blend_slice_yuva422_pm(), blend_slice_yuva422p10(), blend_slice_yuva444(), blend_slice_yuva444_pm(), box_slice(), cache_open(), cas_slice16(), cas_slice8(), check_keyboard_interaction(), checkasm_check_func(), checkasm_fail_func(), checkasm_report(), clear_slice16(), clear_slice8(), codec_create(), color_balance16(), color_balance16_p(), color_balance8(), color_balance8_p(), color_printf(), colorcontrast_slice16(), colorcontrast_slice16p(), colorcontrast_slice8(), colorcontrast_slice8p(), colorcorrect_slice16(), colorcorrect_slice8(), colorize_slice16(), colorize_slice8(), colorizey_slice16(), colorizey_slice8(), command(), complex_divide(), complex_multiply(), compute_images_identity(), compute_images_msad(), compute_images_mse(), compute_sat_hue_metrics16(), compute_sat_hue_metrics8(), config_input(), config_output(), convert_frame_partial(), convolution_opencl_make_filter_params(), deband_16_c(), deband_16_coupling_c(), deband_8_c(), deband_8_coupling_c(), decode_hq_slice_row(), decode_lowdelay_slice(), decode_slice(), decode_subband_golomb(), decoder_start(), decompress_texture2_thread(), decompress_texture_thread(), decompress_texture_thread_internal(), default_execute(), DEFINE_BLEND8(), deinterlace_plane_slice(), deinterlace_slice(), diagonal_transformation(), distortion_correction_filter_slice(), dnxhd_encode_thread(), do_chromahold16_slice(), do_chromahold_slice(), do_chromakey16_slice(), do_chromakey_slice(), do_colorhold_slice(), do_colorkey_slice(), do_despill_slice(), do_lumakey_slice16(), do_lumakey_slice8(), do_slice(), draw_carpet_slice(), draw_gradients_slice(), draw_gradients_slice16(), draw_triangle_slice(), dv_decode_video_segment(), dv_encode_video_segment(), dwt_plane(), encode_hq_slice(), encode_slice(), encode_thread(), epx2_slice(), epx3_slice(), estimate_motion_thread(), exposure_slice(), extract_lines(), ff_cos(), ff_filter_process_command(), ff_parse_channel_layout(), ff_parse_pixel_format(), ff_parse_sample_rate(), ff_slice_thread_execute_with_mainfunc(), fft_horizontal(), fft_vertical(), filter16_brng(), filter16_tout(), filter16_vrep(), filter8_brng(), filter8_tout(), filter8_vrep(), filter_channel(), filter_channels(), filter_color(), filter_color2(), filter_dbl(), filter_dblp(), filter_flt(), filter_fltp(), filter_horizontally(), filter_mono(), filter_postscale(), filter_slice(), filter_slice_alpha(), filter_slice_alpha16(), filter_slice_chroma(), filter_slice_chroma16(), filter_slice_gbrap(), filter_slice_gbrap10(), filter_slice_gbrap10_pl(), filter_slice_gbrap12(), filter_slice_gbrap12_pl(), filter_slice_gbrap16(), filter_slice_gbrap16_pl(), filter_slice_gbrap_pl(), filter_slice_gbrp(), filter_slice_gbrp10(), filter_slice_gbrp10_pl(), filter_slice_gbrp12(), filter_slice_gbrp12_pl(), filter_slice_gbrp14(), filter_slice_gbrp14_pl(), filter_slice_gbrp16(), filter_slice_gbrp16_pl(), filter_slice_gbrp9(), filter_slice_gbrp9_pl(), filter_slice_gbrp_pl(), filter_slice_grey_edge(), filter_slice_luma(), filter_slice_luma16(), filter_slice_packed(), filter_slice_planar(), filter_slice_rgb(), filter_slice_rgb0(), filter_slice_rgb0_pl(), filter_slice_rgb24(), filter_slice_rgb24_pl(), filter_slice_rgb48(), filter_slice_rgb48_pl(), filter_slice_rgba(), filter_slice_rgba16_packed(), filter_slice_rgba16_planar(), filter_slice_rgba64(), filter_slice_rgba64_pl(), filter_slice_rgba_packed(), filter_slice_rgba_pl(), filter_slice_rgba_planar(), filter_vertically(), finish_group(), fir_channels(), frame_worker_thread(), free_frame(), hdcd_integrate(), headphone_convolute(), headphone_fast_convolute(), hls_slice_data(), hls_slice_data_wpp(), hw_device_init_from_string(), ifft_channel(), ifft_horizontal(), ifft_vertical(), ifilter_dbl(), ifilter_dblp(), ifilter_flt(), ifilter_fltp(), init(), insert_datetime(), insert_text(), jacosub_to_ass(), log_cb(), maskedclamp_slice(), maskedminmax_slice(), mb_var_thread(), median_frames16(), median_frames8(), mix_frames(), monochrome_slice16(), monochrome_slice8(), mxf_read_content_storage(), mxf_read_cryptographic_context(), mxf_read_essence_container_data(), mxf_read_essence_group(), mxf_read_generic_descriptor(), mxf_read_identification_metadata(), mxf_read_index_table_segment(), mxf_read_indirect_value(), mxf_read_partition_pack(), mxf_read_preface_metadata(), mxf_read_primer_pack(), mxf_read_pulldown_component(), mxf_read_sequence(), mxf_read_source_clip(), mxf_read_tagged_value(), mxf_read_timecode_component(), mxf_read_track(), new_output_stream(), nlmeans_slice(), opt_abort_on(), opt_attach(), opt_audio_codec(), opt_audio_filters(), opt_audio_frames(), opt_audio_qscale(), opt_bitrate(), opt_channel_layout(), opt_codec(), opt_cpucount(), opt_cpuflags(), opt_data_codec(), opt_data_frames(), opt_default(), opt_default_new(), opt_duration(), opt_filter_complex(), opt_filter_complex_script(), opt_filter_hw_device(), opt_format(), opt_frame_pix_fmt(), opt_frame_size(), opt_height(), opt_init_hw_device(), opt_input_file(), opt_input_file_i(), opt_loglevel(), opt_map(), opt_map_channel(), opt_max_alloc(), opt_old2new(), opt_preset(), opt_print_filename(), opt_profile(), opt_qscale(), opt_read_intervals(), opt_recording_timestamp(), opt_sdp_file(), opt_seek(), opt_show_entries(), opt_show_format_entry(), opt_show_mode(), opt_show_optional_fields(), opt_stats_period(), opt_streamid(), opt_subtitle_codec(), opt_sync(), opt_target(), opt_timecode(), opt_timelimit(), opt_video_channel(), opt_video_codec(), opt_video_filters(), opt_video_frames(), opt_video_standard(), opt_vstats_file(), opt_vsync(), opt_width(), parse_channel_name(), parse_gains(), parse_map(), parse_meta_type(), parse_option(), parse_speaker_pos(), parse_weights(), pre_calculate_col(), pre_estimate_motion_thread(), premultiply_slice(), process_callback(), process_channels(), process_command(), process_slice(), process_slice_uyvy422(), process_slice_yuv420p(), process_slice_yuv422p(), process_slice_yuv444p(), pthread_create(), rate_control(), read_channels(), read_custom_noise(), read_gains(), read_int(), read_tf_coefficients(), read_thread(), read_zp_coefficients(), receiver_thread(), resample_cubic(), resample_linear(), rnnoise_channels(), run_channel_fft(), scroll_slice(), sender_thread(), show_demuxers(), show_devices(), show_formats(), show_help(), show_muxers(), shutdown_callback(), skip_spaces(), slice_decode_thread(), slice_geq_filter(), slice_get_derivative(), slice_normalize(), sofalizer_convolute(), sofalizer_fast_convolute(), split_commandline(), ssim_plane(), ssim_plane_16bit(), subtitle_thread(), super2xsai(), temperature_slice16(), temperature_slice16p(), temperature_slice8(), temperature_slice8p(), thread_entry(), thread_execute(), thread_execute2(), thread_main(), threshold_slice(), tonemap_slice(), v210_decode_slice(), v410_decode_slice(), vibrance_slice16(), vibrance_slice16p(), vibrance_slice8(), vibrance_slice8p(), video_thread(), vif_filter1d(), vignetting_filter_slice(), walk_band_high(), walk_band_low(), weave_slice(), win32thread_worker(), write_option(), xfade_slice(), and xrun_callback().

◆ func

int(* func) (AVBPrint *dst, const char *in, const char *arg)

◆ ass_codes_map

const { ... } ass_codes_map[]
Initial value:
= {
{"\\~", "~", insert_text},
{"~", "{\\h}", insert_text},
{"\\n", "\\N", insert_text},
{"\\D", "%d %b %Y", insert_datetime},
{"\\T", "%H:%M", insert_datetime},
{"\\N", "{\\r}", insert_text},
{"\\I", "{\\i1}", insert_text},
{"\\i", "{\\i0}", insert_text},
{"\\B", "{\\b1}", insert_text},
{"\\b", "{\\b0}", insert_text},
{"\\U", "{\\u1}", insert_text},
{"\\u", "{\\u0}", insert_text},
{"\\C", "", insert_color},
{"\\F", "", insert_font},
}

Referenced by jacosub_to_ass().

◆ ff_jacosub_decoder

const AVCodec ff_jacosub_decoder
Initial value:
= {
.name = "jacosub",
.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"),
.priv_data_size = sizeof(FFASSDecoderContext),
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
}

Definition at line 197 of file jacosubdec.c.

AVMEDIA_TYPE_SUBTITLE
@ AVMEDIA_TYPE_SUBTITLE
Definition: avutil.h:204
FF_CODEC_CAP_INIT_THREADSAFE
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
Definition: internal.h:42
ff_ass_subtitle_header_default
int ff_ass_subtitle_header_default(AVCodecContext *avctx)
Generate a suitable AVCodecContext.subtitle_header for SUBTITLE_ASS with default style.
Definition: ass.c:96
insert_datetime
static int insert_datetime(AVBPrint *dst, const char *in, const char *arg)
Definition: jacosubdec.c:43
jacosub_decode_frame
static int jacosub_decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, AVPacket *avpkt)
Definition: jacosubdec.c:165
AV_CODEC_ID_JACOSUB
@ AV_CODEC_ID_JACOSUB
Definition: codec_id.h:531
insert_text
static int insert_text(AVBPrint *dst, const char *in, const char *arg)
Definition: jacosubdec.c:37
insert_font
static int insert_font(AVBPrint *dst, const char *in, const char *arg)
Definition: jacosubdec.c:60
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:116
ff_ass_decoder_flush
void ff_ass_decoder_flush(AVCodecContext *avctx)
Helper to flush a text subtitles decoder making use of the FFASSDecoderContext.
Definition: ass.c:140
insert_color
static int insert_color(AVBPrint *dst, const char *in, const char *arg)
Definition: jacosubdec.c:55
FFASSDecoderContext
Definition: ass.h:46