Go to the documentation of this file.
62 memset(ai, 0,
sizeof(*ai));
65 if (
ctx->overscan_appropriate_flag >= 0) {
70 if (
ctx->video_format >= 0) {
76 if (
ctx->video_full_range_flag >= 0) {
81 if (
ctx->colour_primaries >= 0) {
86 if (
ctx->transfer_characteristics >= 0) {
91 if (
ctx->matrix_coefficients >= 0) {
97 if (
ctx->chroma_sample_loc_type >= 0) {
118 if (
ctx->overscan_appropriate_flag >= 0 ||
ctx->video_format >= 0 ||
119 ctx->video_full_range_flag >= 0 ||
ctx->colour_primaries >= 0 ||
120 ctx->transfer_characteristics >= 0 ||
ctx->matrix_coefficients >= 0 ||
121 ctx->chroma_sample_loc_type >= 0) {
127 if (
ctx->delete_filler) {
142 .fragment_name =
"access unit",
143 .unit_name =
"NAL unit",
152 #define OFFSET(x) offsetof(LCEVCMetadataContext, x)
153 #define FLAGS (AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_BSF_PARAM)
155 {
"overscan_appropriate_flag",
"Set VUI overscan appropriate flag",
157 { .i64 = -1 }, -1, 1,
FLAGS },
159 {
"video_format",
"Set video format (table E-2)",
161 { .i64 = -1 }, -1, 5,
FLAGS},
162 {
"video_full_range_flag",
"Set video full range flag",
164 { .i64 = -1 }, -1, 1,
FLAGS },
165 {
"colour_primaries",
"Set colour primaries (table E-3)",
167 { .i64 = -1 }, -1, 255,
FLAGS },
168 {
"transfer_characteristics",
"Set transfer characteristics (table E-4)",
170 { .i64 = -1 }, -1, 255,
FLAGS },
171 {
"matrix_coefficients",
"Set matrix coefficients (table E-5)",
173 { .i64 = -1 }, -1, 255,
FLAGS },
175 {
"chroma_sample_loc_type",
"Set chroma sample location type (figure E-1)",
177 { .i64 = -1 }, -1, 5,
FLAGS },
179 {
"delete_filler",
"Delete all filler",
197 .
p.
name =
"lcevc_metadata",
uint8_t overscan_appropriate_flag
int video_full_range_flag
int transfer_characteristics
int overscan_appropriate_flag
LCEVCRawAdditionalInfo ai
void(* filter)(uint8_t *src, int stride, int qscale)
CodedBitstreamUnitType type
Codec-specific type of this unit.
av_cold void ff_cbs_bsf_generic_close(AVBSFContext *bsf)
Close a generic CBS BSF instance.
uint8_t additional_info_type
uint8_t overscan_info_present_flag
uint8_t matrix_coefficients
The bitstream filter state.
static av_cold void close(AVCodecParserContext *s)
CodedBitstreamUnit * units
Pointer to an array of units of length nb_units_allocated.
static const struct TransferCharacteristics transfer_characteristics[]
Coded bitstream fragment structure, combining one or more units.
uint8_t chroma_loc_info_present_flag
uint8_t chroma_sample_loc_type_top_field
static AVFormatContext * ctx
int chroma_sample_loc_type
#define LIBAVUTIL_VERSION_INT
Describe the class of an AVClass context structure.
@ LCEVC_PAYLOAD_TYPE_ADDITIONAL_INFO
const char * av_default_item_name(void *ptr)
Return the context name.
AVCodecID
Identify the syntax and semantics of the bitstream.
uint8_t transfer_characteristics
AVBitStreamFilter p
The public AVBitStreamFilter.
int(* init)(AVBSFContext *ctx)
#define i(width, name, range_min, range_max)
int ff_cbs_lcevc_add_process_block(CodedBitstreamContext *ctx, CodedBitstreamFragment *au, int position, uint32_t payload_type, void *payload_data, void *payload_ref)
Add a process block to an access unit.
@ LCEVC_PAYLOAD_TYPE_GLOBAL_CONFIG
av_cold int ff_cbs_bsf_generic_init(AVBSFContext *bsf, const CBSBSFType *type)
Initialise generic CBS BSF setup.
uint8_t colour_description_present_flag
uint8_t video_full_range_flag
void * priv_data
Opaque filter-specific private data.
int ff_cbs_bsf_generic_filter(AVBSFContext *bsf, AVPacket *pkt)
Filter operation for CBS BSF.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
@ LCEVC_PAYLOAD_TYPE_FILLER
uint8_t video_signal_type_present_flag
@ AV_OPT_TYPE_INT
Underlying C type is int.
void ff_cbs_lcevc_delete_process_block_type(CodedBitstreamContext *ctx, CodedBitstreamFragment *au, uint32_t payload_type)
Delete all blocks with the given payload type from an access unit.
@ LCEVC_ADDITIONAL_INFO_TYPE_VUI
This structure stores compressed data.
@ AV_OPT_TYPE_BOOL
Underlying C type is int.
int ff_cbs_lcevc_find_process_block(CodedBitstreamContext *ctx, CodedBitstreamFragment *au, uint32_t payload_type, LCEVCRawProcessBlock **iter)
Iterate over blocks with the given payload type in an access unit.
The exact code depends on how similar the blocks are and how related they are to the block
int nb_units
Number of units in this fragment.