FFmpeg
Data Structures | Macros | Functions | Variables
h266_metadata.c File Reference
#include "libavutil/common.h"
#include "libavutil/opt.h"
#include "bsf.h"
#include "bsf_internal.h"
#include "cbs.h"
#include "cbs_bsf.h"
#include "cbs_h266.h"
#include "vvc.h"

Go to the source code of this file.

Data Structures

struct  H266MetadataContext
 

Macros

#define IS_H266_SLICE(nut)   (nut <= VVC_RASL_NUT || (nut >= VVC_IDR_W_RADL && nut <= VVC_GDR_NUT))
 
#define OFFSET(x)   offsetof(H266MetadataContext, x)
 
#define FLAGS   (AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_BSF_PARAM)
 

Functions

static int h266_metadata_update_fragment (AVBSFContext *bsf, AVPacket *pkt, CodedBitstreamFragment *pu)
 
static int h266_metadata_init (AVBSFContext *bsf)
 

Variables

static const CBSBSFType h266_metadata_type
 
static const AVOption h266_metadata_options []
 
static const AVClass h266_metadata_class
 
static enum AVCodecID h266_metadata_codec_ids []
 
const FFBitStreamFilter ff_vvc_metadata_bsf
 

Macro Definition Documentation

◆ IS_H266_SLICE

#define IS_H266_SLICE (   nut)    (nut <= VVC_RASL_NUT || (nut >= VVC_IDR_W_RADL && nut <= VVC_GDR_NUT))

Definition at line 29 of file h266_metadata.c.

◆ OFFSET

#define OFFSET (   x)    offsetof(H266MetadataContext, x)

Definition at line 122 of file h266_metadata.c.

◆ FLAGS

Definition at line 123 of file h266_metadata.c.

Function Documentation

◆ h266_metadata_update_fragment()

static int h266_metadata_update_fragment ( AVBSFContext bsf,
AVPacket pkt,
CodedBitstreamFragment pu 
)
static

Definition at line 39 of file h266_metadata.c.

◆ h266_metadata_init()

static int h266_metadata_init ( AVBSFContext bsf)
static

Definition at line 117 of file h266_metadata.c.

Variable Documentation

◆ h266_metadata_type

const CBSBSFType h266_metadata_type
static
Initial value:
= {
.codec_id = AV_CODEC_ID_VVC,
.fragment_name = "access unit",
.unit_name = "NAL unit",
.update_fragment = &h266_metadata_update_fragment,
}

Definition at line 110 of file h266_metadata.c.

Referenced by h266_metadata_init().

◆ h266_metadata_options

const AVOption h266_metadata_options[]
static
Initial value:
= {
BSF_ELEMENT_OPTIONS_PIR("aud", "Access Unit Delimiter NAL units",
{ NULL }
}

Definition at line 124 of file h266_metadata.c.

◆ h266_metadata_class

const AVClass h266_metadata_class
static
Initial value:
= {
.class_name = "h266_metadata_bsf",
.item_name = av_default_item_name,
}

Definition at line 131 of file h266_metadata.c.

◆ h266_metadata_codec_ids

enum AVCodecID h266_metadata_codec_ids[]
static
Initial value:

Definition at line 138 of file h266_metadata.c.

◆ ff_vvc_metadata_bsf

const FFBitStreamFilter ff_vvc_metadata_bsf
Initial value:
= {
.p.name = "vvc_metadata",
.p.codec_ids = h266_metadata_codec_ids,
.p.priv_class = &h266_metadata_class,
.priv_data_size = sizeof(H266MetadataContext),
}

Definition at line 142 of file h266_metadata.c.

FLAGS
#define FLAGS
Definition: h266_metadata.c:123
filter
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce then the filter should push the output frames on the output link immediately As an exception to the previous rule if the input frame is enough to produce several output frames then the filter needs output only at least one per link The additional frames can be left buffered in the filter
Definition: filter_design.txt:228
h266_metadata_update_fragment
static int h266_metadata_update_fragment(AVBSFContext *bsf, AVPacket *pkt, CodedBitstreamFragment *pu)
Definition: h266_metadata.c:39
h266_metadata_class
static const AVClass h266_metadata_class
Definition: h266_metadata.c:131
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:237
aud
static int FUNC() aud(CodedBitstreamContext *ctx, RWContext *rw, H264RawAUD *current)
Definition: cbs_h264_syntax_template.c:841
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts.c:366
ff_cbs_bsf_generic_close
void ff_cbs_bsf_generic_close(AVBSFContext *bsf)
Close a generic CBS BSF instance.
Definition: cbs_bsf.c:155
H266MetadataContext
Definition: h266_metadata.c:31
AV_CODEC_ID_VVC
@ AV_CODEC_ID_VVC
Definition: codec_id.h:250
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
h266_metadata_codec_ids
static enum AVCodecID h266_metadata_codec_ids[]
Definition: h266_metadata.c:138
ff_cbs_bsf_generic_filter
int ff_cbs_bsf_generic_filter(AVBSFContext *bsf, AVPacket *pkt)
Filter operation for CBS BSF.
Definition: cbs_bsf.c:61
h266_metadata_options
static const AVOption h266_metadata_options[]
Definition: h266_metadata.c:124
BSF_ELEMENT_OPTIONS_PIR
#define BSF_ELEMENT_OPTIONS_PIR(name, help, field, opt_flags)
Definition: cbs_bsf.h:112
h266_metadata_init
static int h266_metadata_init(AVBSFContext *bsf)
Definition: h266_metadata.c:117