libgpac
Documentation of the core library of GPAC
write_tx3g.c File Reference
+ Include dependency graph for write_tx3g.c:

Data Structures

struct  TX3GMxCtx
 

Macros

#define TTML_NAMESPACE   "http://www.w3.org/ns/ttml"
 
#define OFFS(_n)   #_n, offsetof(TX3GMxCtx, _n)
 

Functions

static void tx3gmx_write_config (TX3GMxCtx *ctx)
 
GF_Err tx3gmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
void dump_ttxt_header (FILE *dump, GF_Tx3gSampleEntryBox *txt_e, u32 def_width, u32 def_height)
 
static void tx3gmx_get_stsd (GF_TextSampleDescriptor *ent, GF_Tx3gSampleEntryBox *samp_ent, GF_FontTableBox *font_ent)
 
void dump_ttxt_sample (FILE *dump, GF_TextSample *s_txt, u64 ts, u32 timescale, u32 di, Bool box_dump)
 
char * tx3g_format_time (u64 ts, u32 timescale, char *szDur, Bool is_srt)
 
GF_Err dump_ttxt_sample_srt (FILE *dump, GF_TextSample *txt, GF_Tx3gSampleEntryBox *txtd, Bool vtt_dump)
 
static GF_Err dump_ttxt_sample_ttml (TX3GMxCtx *ctx, FILE *dump, GF_TextSample *txt, GF_Tx3gSampleEntryBox *txtd, u64 start_ts, u64 end_ts)
 
GF_Err tx3gmx_process (GF_Filter *filter)
 
static GF_Err tx3gmx_initialize (GF_Filter *filter)
 
static void tx3gmx_finalize (GF_Filter *filter)
 
const GF_FilterRegister * ufttxt_register (GF_FilterSession *session)
 
static GF_Err tx3g2srt_initialize (GF_Filter *filter)
 
const GF_FilterRegister * tx3g2srt_register (GF_FilterSession *session)
 
static GF_Err tx3g2vtt_initialize (GF_Filter *filter)
 
const GF_FilterRegister * tx3g2vtt_register (GF_FilterSession *session)
 
static GF_Err tx3g2ttml_initialize (GF_Filter *filter)
 
const GF_FilterRegister * tx3g2ttml_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability TX3GMxCaps []
 
static const GF_FilterArgs TX3GMxArgs []
 
GF_FilterRegister TTXTMxRegister
 
static const GF_FilterCapability TX3G2SRTCaps []
 
GF_FilterRegister TX3G2SRTRegister
 
static const GF_FilterCapability TX3G2VTTCaps []
 
GF_FilterRegister TTX2VTTRegister
 
static const GF_FilterCapability TX3G2TTMLCaps []
 
GF_FilterRegister TX3G2TTMLRegister
 

Data Structure Documentation

◆ TX3GMxCtx

struct TX3GMxCtx
+ Collaboration diagram for TX3GMxCtx:
Data Fields
Bool exporter
Bool merge
GF_FilterPid * ipid
GF_FilterPid * opid
GF_BitStream * bs_r
u32 codecid
GF_Fraction64 duration
s64 delay
GF_TextConfig * cfg
u32 dsi_crc
Bool is_tx3g
u32 dump_type
u32 cur_frame

Macro Definition Documentation

◆ TTML_NAMESPACE

#define TTML_NAMESPACE   "http://www.w3.org/ns/ttml"

◆ OFFS

#define OFFS (   _n)    #_n, offsetof(TX3GMxCtx, _n)

Function Documentation

◆ tx3gmx_write_config()

static void tx3gmx_write_config ( TX3GMxCtx ctx)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx3gmx_configure_pid()

GF_Err tx3gmx_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)
+ Here is the call graph for this function:

◆ dump_ttxt_header()

void dump_ttxt_header ( FILE *  dump,
GF_Tx3gSampleEntryBox txt_e,
u32  def_width,
u32  def_height 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx3gmx_get_stsd()

static void tx3gmx_get_stsd ( GF_TextSampleDescriptor ent,
GF_Tx3gSampleEntryBox samp_ent,
GF_FontTableBox font_ent 
)
static
+ Here is the caller graph for this function:

◆ dump_ttxt_sample()

void dump_ttxt_sample ( FILE *  dump,
GF_TextSample *  s_txt,
u64  ts,
u32  timescale,
u32  di,
Bool  box_dump 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx3g_format_time()

char* tx3g_format_time ( u64  ts,
u32  timescale,
char *  szDur,
Bool  is_srt 
)
+ Here is the caller graph for this function:

◆ dump_ttxt_sample_srt()

GF_Err dump_ttxt_sample_srt ( FILE *  dump,
GF_TextSample *  txt,
GF_Tx3gSampleEntryBox txtd,
Bool  vtt_dump 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dump_ttxt_sample_ttml()

static GF_Err dump_ttxt_sample_ttml ( TX3GMxCtx ctx,
FILE *  dump,
GF_TextSample *  txt,
GF_Tx3gSampleEntryBox txtd,
u64  start_ts,
u64  end_ts 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx3gmx_process()

GF_Err tx3gmx_process ( GF_Filter *  filter)
+ Here is the call graph for this function:

◆ tx3gmx_initialize()

static GF_Err tx3gmx_initialize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tx3gmx_finalize()

static void tx3gmx_finalize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ ufttxt_register()

const GF_FilterRegister* ufttxt_register ( GF_FilterSession *  session)

◆ tx3g2srt_initialize()

static GF_Err tx3g2srt_initialize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ tx3g2srt_register()

const GF_FilterRegister* tx3g2srt_register ( GF_FilterSession *  session)

◆ tx3g2vtt_initialize()

static GF_Err tx3g2vtt_initialize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ tx3g2vtt_register()

const GF_FilterRegister* tx3g2vtt_register ( GF_FilterSession *  session)

◆ tx3g2ttml_initialize()

static GF_Err tx3g2ttml_initialize ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ tx3g2ttml_register()

const GF_FilterRegister* tx3g2ttml_register ( GF_FilterSession *  session)

Variable Documentation

◆ TX3GMxCaps

const GF_FilterCapability TX3GMxCaps[]
static
Initial value:
=
{
{0},
}
@ GF_CODECID_TX3G
Definition: constants.h:531
@ GF_CODECID_TEXT_MPEG4
Definition: constants.h:403
@ GF_STREAM_TEXT
Definition: constants.h:82
#define GF_CAPS_OUTPUT
Definition: filters.h:2232
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define GF_CAPS_INPUT_EXCLUDED
Definition: filters.h:2228
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT
Definition: filters.h:2220
@ GF_PROP_PID_CODECID
Definition: filters.h:1116
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_UNFRAMED
Definition: filters.h:1118
@ GF_TRUE
Definition: setup.h:474

◆ TX3GMxArgs

const GF_FilterArgs TX3GMxArgs[]
static
Initial value:
=
{
{ OFFS(exporter), "compatibility with old exporter, displays export results", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{0}
}
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_BOOL
Definition: filters.h:858
#define OFFS(_n)
Definition: write_tx3g.c:575

◆ TTXTMxRegister

GF_FilterRegister TTXTMxRegister
Initial value:
= {
.name = "ufttxt",
.private_size = sizeof(TX3GMxCtx),
.initialize = tx3gmx_initialize,
.finalize = tx3gmx_finalize,
.configure_pid = tx3gmx_configure_pid,
.process = tx3gmx_process,
.hint_class_type = GF_FS_CLASS_FRAMING
}
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_CLASS_FRAMING
Definition: filters.h:2459
attribute Array args
Definition: jsf.idl:24
static const GF_FilterCapability TX3GMxCaps[]
Definition: write_tx3g.c:562
static GF_Err tx3gmx_initialize(GF_Filter *filter)
Definition: write_tx3g.c:548
static void tx3gmx_finalize(GF_Filter *filter)
Definition: write_tx3g.c:555
GF_Err tx3gmx_process(GF_Filter *filter)
Definition: write_tx3g.c:415
static const GF_FilterArgs TX3GMxArgs[]
Definition: write_tx3g.c:576
GF_Err tx3gmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: write_tx3g.c:63
Definition: write_tx3g.c:38

◆ TX3G2SRTCaps

◆ TX3G2SRTRegister

GF_FilterRegister TX3G2SRTRegister
Initial value:
= {
.name = "tx3g2srt",
.private_size = sizeof(TX3GMxCtx),
.initialize = tx3g2srt_initialize,
.finalize = tx3gmx_finalize,
.configure_pid = tx3gmx_configure_pid,
.process = tx3gmx_process,
.hint_class_type = GF_FS_CLASS_SUBTITLE
}
@ GF_FS_CLASS_SUBTITLE
Definition: filters.h:2451
static const GF_FilterCapability TX3G2SRTCaps[]
Definition: write_tx3g.c:601
static GF_Err tx3g2srt_initialize(GF_Filter *filter)
Definition: write_tx3g.c:613

◆ TX3G2VTTCaps

◆ TTX2VTTRegister

GF_FilterRegister TTX2VTTRegister
Initial value:
= {
.name = "tx3g2vtt",
.private_size = sizeof(TX3GMxCtx),
.initialize = tx3g2vtt_initialize,
.finalize = tx3gmx_finalize,
.configure_pid = tx3gmx_configure_pid,
.process = tx3gmx_process,
.hint_class_type = GF_FS_CLASS_SUBTITLE
}
static const GF_FilterCapability TX3G2VTTCaps[]
Definition: write_tx3g.c:641
static GF_Err tx3g2vtt_initialize(GF_Filter *filter)
Definition: write_tx3g.c:653

◆ TX3G2TTMLCaps

◆ TX3G2TTMLRegister

GF_FilterRegister TX3G2TTMLRegister
Initial value:
= {
.name = "tx3g2ttml",
GF_FS_SET_HELP("This filter converts ISOBMFF TX3G stream to a TTML stream.\n"
"\n"
"Each output TTML frame is a complete TTML document.")
.private_size = sizeof(TX3GMxCtx),
.args = NULL,
.initialize = tx3g2ttml_initialize,
.finalize = tx3gmx_finalize,
.configure_pid = tx3gmx_configure_pid,
.process = tx3gmx_process,
.hint_class_type = GF_FS_CLASS_SUBTITLE
}
#define GF_FS_SET_HELP(_help)
Definition: filters.h:2372
static GF_Err tx3g2ttml_initialize(GF_Filter *filter)
Definition: write_tx3g.c:692
static const GF_FilterCapability TX3G2TTMLCaps[]
Definition: write_tx3g.c:681