= {
.name = "bsagg",
GF_FS_SET_HELP(
"This filter aggregates layers and sublayers into a single output PID.\n"
"\n"
"The filter supports AVC|H264, HEVC and VVC stream reconstruction, and is passthrough for other codec types.\n"
"\n"
"Aggregation is based on temporalID value (start from 1) and layerID value (start from 0).\n"
"For AVC|H264, layerID is the dependency value, or quality value if `svcqid` is set.\n"
"\n"
"The filter can also be used on AVC and HEVC DolbyVision dual-streams to aggregate base stream and DV RPU/EL.\n"
"\n"
"The filter does not forward aggregator or extractor NAL units.\n"
)
.private_size = sizeof(BSAggCtx),
.max_extra_pids = 0xFFFFFFFF,
}
static void bs_agg_finalize(GF_Filter *filter)
Definition: bs_agg.c:934
static GF_Err bs_agg_initialize(GF_Filter *filter)
Definition: bs_agg.c:926
static GF_Err bs_agg_process(GF_Filter *filter)
Definition: bs_agg.c:909
static GF_FilterArgs BSAggArgs[]
Definition: bs_agg.c:946
static const GF_FilterCapability BSAggCaps[]
Definition: bs_agg.c:952
static GF_Err bs_agg_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: bs_agg.c:821
#define GF_FS_SET_HELP(_help)
Definition: filters.h:2372
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_REG_ALLOW_CYCLIC
Definition: filters.h:2400
@ GF_FS_REG_EXPLICIT_ONLY
Definition: filters.h:2393
@ GF_FS_CLASS_STREAM
Definition: filters.h:2445
attribute Array args
Definition: jsf.idl:24