libgpac
Documentation of the core library of GPAC
sei_load.c File Reference
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/internal/media_dev.h>
#include <gpac/mpeg4_odf.h>
+ Include dependency graph for sei_load.c:

Data Structures

struct  GF_SEILoader
 
struct  SEILoadCtx
 

Macros

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

Enumerations

enum  { COD_TYPE_AVC = 1 , COD_TYPE_HEVC , COD_TYPE_VVC , COD_TYPE_AV1 }
 

Functions

static GF_Err seiloader_set_type (GF_SEILoader *sei, u32 type)
 
static void parse_param_list (GF_SEILoader *sei, GF_List *params)
 
GF_Err gf_sei_init_from_pid (GF_SEILoader *sei, GF_FilterPid *pid)
 
static GFINLINE GF_SEIInfoget_sei_info (GF_SEILoader *sei)
 
static GF_Err gf_sei_load_from_state_internal (GF_SEILoader *ctx, GF_FilterPacket *pck, Bool skip_check)
 
GF_Err gf_sei_load_from_state (GF_SEILoader *ctx, GF_FilterPacket *pck)
 
static GF_Err gf_sei_load_from_packet_nalu (GF_SEILoader *sei, GF_FilterPacket *pck, Bool *needs_load)
 
static GF_Err gf_sei_load_from_packet_av1 (GF_SEILoader *sei, GF_FilterPacket *pck, Bool *needs_load)
 
GF_Err gf_sei_load_from_packet (GF_SEILoader *sei, GF_FilterPacket *pck)
 
GF_Err gf_sei_init_from_avc (GF_SEILoader *sei, AVCState *avc)
 
GF_Err gf_sei_init_from_hevc (GF_SEILoader *sei, HEVCState *hevc)
 
GF_Err gf_sei_init_from_vvc (GF_SEILoader *sei, VVCState *vvc)
 
GF_Err gf_sei_init_from_av1 (GF_SEILoader *sei, AV1State *av1)
 
GF_SEILoader * gf_sei_loader_new ()
 
void gf_sei_loader_del (GF_SEILoader *sei)
 
static GF_Err seiload_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static GF_Err seiload_process (GF_Filter *filter)
 
static GF_Err seiload_reconfigure_output (GF_Filter *filter, GF_FilterPid *opid)
 
static GF_Err seiload_initialize (GF_Filter *filter)
 
static void seiload_finalize (GF_Filter *filter)
 
const GF_FilterRegister * seiload_register (GF_FilterSession *session)
 

Variables

static GF_FilterArgs SEILoadArgs []
 
static const GF_FilterCapability SEILoadCaps []
 
GF_FilterRegister SEILoadRegister
 

Data Structure Documentation

◆ _gf_sei_loader

struct _gf_sei_loader
+ Collaboration diagram for GF_SEILoader:
Data Fields
Bool is_identity
Bool external
u32 codec_type
u32 nalu_size
AVCState * avc_state
HEVCState * hevc_state
VVCState * vvc_state
AV1State * av1_state
GF_BitStream * full_bs
GF_BitStream * bs

◆ SEILoadCtx

struct SEILoadCtx
Data Fields
GF_List * loaders

Macro Definition Documentation

◆ OFFS

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

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
COD_TYPE_AVC 
COD_TYPE_HEVC 
COD_TYPE_VVC 
COD_TYPE_AV1 

Function Documentation

◆ seiloader_set_type()

static GF_Err seiloader_set_type ( GF_SEILoader *  sei,
u32  type 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parse_param_list()

static void parse_param_list ( GF_SEILoader *  sei,
GF_List *  params 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_init_from_pid()

GF_Err gf_sei_init_from_pid ( GF_SEILoader *  sei,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_sei_info()

static GFINLINE GF_SEIInfo* get_sei_info ( GF_SEILoader *  sei)
static
+ Here is the caller graph for this function:

◆ gf_sei_load_from_state_internal()

static GF_Err gf_sei_load_from_state_internal ( GF_SEILoader *  ctx,
GF_FilterPacket *  pck,
Bool  skip_check 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_load_from_state()

GF_Err gf_sei_load_from_state ( GF_SEILoader *  ctx,
GF_FilterPacket *  pck 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_load_from_packet_nalu()

static GF_Err gf_sei_load_from_packet_nalu ( GF_SEILoader *  sei,
GF_FilterPacket *  pck,
Bool needs_load 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_load_from_packet_av1()

static GF_Err gf_sei_load_from_packet_av1 ( GF_SEILoader *  sei,
GF_FilterPacket *  pck,
Bool needs_load 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_load_from_packet()

GF_Err gf_sei_load_from_packet ( GF_SEILoader *  sei,
GF_FilterPacket *  pck 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_init_from_avc()

GF_Err gf_sei_init_from_avc ( GF_SEILoader *  sei,
AVCState avc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_init_from_hevc()

GF_Err gf_sei_init_from_hevc ( GF_SEILoader *  sei,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_init_from_vvc()

GF_Err gf_sei_init_from_vvc ( GF_SEILoader *  sei,
VVCState vvc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_init_from_av1()

GF_Err gf_sei_init_from_av1 ( GF_SEILoader *  sei,
AV1State av1 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_loader_new()

GF_SEILoader* gf_sei_loader_new ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sei_loader_del()

void gf_sei_loader_del ( GF_SEILoader *  sei)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ seiload_configure_pid()

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

◆ seiload_process()

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

◆ seiload_reconfigure_output()

static GF_Err seiload_reconfigure_output ( GF_Filter *  filter,
GF_FilterPid *  opid 
)
static
+ Here is the call graph for this function:

◆ seiload_initialize()

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

◆ seiload_finalize()

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

◆ seiload_register()

const GF_FilterRegister* seiload_register ( GF_FilterSession *  session)

Variable Documentation

◆ SEILoadArgs

GF_FilterArgs SEILoadArgs[]
static
Initial value:
=
{
{0}
}

◆ SEILoadCaps

const GF_FilterCapability SEILoadCaps[]
static
Initial value:
=
{
{0},
}
@ GF_CODECID_RAW
Definition: constants.h:600
@ GF_STREAM_FILE
Definition: constants.h:104
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2181
#define GF_CAPS_INPUT_EXCLUDED
Definition: filters.h:2243
#define GF_CAPS_OUTPUT_EXCLUDED
Definition: filters.h:2251
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2189
@ GF_CAPFLAG_RECONFIG
Definition: filters.h:2231
@ 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_PROP_PID_SEI_LOADED
Definition: filters.h:1434
@ GF_TRUE
Definition: setup.h:474

◆ SEILoadRegister

GF_FilterRegister SEILoadRegister
Initial value:
= {
.name = "seiload",
GF_FS_SET_HELP("This filter loads known inband metadata as packet properties\n"
)
.private_size = sizeof(SEILoadCtx),
.max_extra_pids = 0xFFFFFFFF,
.initialize = seiload_initialize,
.finalize = seiload_finalize,
.configure_pid = seiload_configure_pid,
.process = seiload_process,
.reconfigure_output = seiload_reconfigure_output,
.priority = 0x7FFF,
.hint_class_type = GF_FS_CLASS_STREAM
}
#define GF_FS_SET_HELP(_help)
Definition: filters.h:2387
#define SETCAPS(__struct)
Definition: filters.h:2379
@ GF_FS_CLASS_STREAM
Definition: filters.h:2460
attribute Array args
Definition: jsf.idl:24
static GF_Err seiload_process(GF_Filter *filter)
Definition: sei_load.c:508
static void seiload_finalize(GF_Filter *filter)
Definition: sei_load.c:555
static GF_Err seiload_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: sei_load.c:483
static GF_Err seiload_reconfigure_output(GF_Filter *filter, GF_FilterPid *opid)
Definition: sei_load.c:542
static GF_FilterArgs SEILoadArgs[]
Definition: sei_load.c:566
static const GF_FilterCapability SEILoadCaps[]
Definition: sei_load.c:571
static GF_Err seiload_initialize(GF_Filter *filter)
Definition: sei_load.c:549
Definition: sei_load.c:478