FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
remove_extradata.c File Reference
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "av1_parse.h"
#include "bsf.h"
#include "bsf_internal.h"
#include "h264.h"
#include "startcode.h"
#include "vc1_common.h"
#include "hevc/hevc.h"

Go to the source code of this file.

Data Structures

struct  RemoveExtradataContext
 

Macros

#define START_CODE   0x000001
 
#define OFFSET(x)   offsetof(RemoveExtradataContext, x)
 
#define FLAGS   (AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_BSF_PARAM)
 

Enumerations

enum  RemoveFreq { REMOVE_FREQ_KEYFRAME, REMOVE_FREQ_ALL, REMOVE_FREQ_NONKEYFRAME }
 

Functions

static int av1_split (const uint8_t *buf, int buf_size, void *logctx)
 
static int h264_split (const uint8_t *buf, int buf_size)
 
static int hevc_split (const uint8_t *buf, int buf_size)
 
static int mpegvideo_split (const uint8_t *buf, int buf_size)
 
static int mpeg4video_split (const uint8_t *buf, int buf_size)
 
static int vc1_split (const uint8_t *buf, int buf_size)
 
static int remove_extradata (AVBSFContext *ctx, AVPacket *pkt)
 

Variables

static const AVOption options []
 
static const AVClass remove_extradata_class
 
const FFBitStreamFilter ff_remove_extradata_bsf
 

Macro Definition Documentation

◆ START_CODE

#define START_CODE   0x000001

Definition at line 39 of file remove_extradata.c.

◆ OFFSET

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

Definition at line 231 of file remove_extradata.c.

◆ FLAGS

Definition at line 232 of file remove_extradata.c.

Enumeration Type Documentation

◆ RemoveFreq

enum RemoveFreq
Enumerator
REMOVE_FREQ_KEYFRAME 
REMOVE_FREQ_ALL 
REMOVE_FREQ_NONKEYFRAME 

Definition at line 33 of file remove_extradata.c.

Function Documentation

◆ av1_split()

static int av1_split ( const uint8_t *  buf,
int  buf_size,
void *  logctx 
)
static

Definition at line 46 of file remove_extradata.c.

Referenced by remove_extradata().

◆ h264_split()

static int h264_split ( const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 67 of file remove_extradata.c.

Referenced by remove_extradata().

◆ hevc_split()

static int hevc_split ( const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 104 of file remove_extradata.c.

Referenced by remove_extradata().

◆ mpegvideo_split()

static int mpegvideo_split ( const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 136 of file remove_extradata.c.

Referenced by remove_extradata().

◆ mpeg4video_split()

static int mpeg4video_split ( const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 151 of file remove_extradata.c.

Referenced by remove_extradata().

◆ vc1_split()

static int vc1_split ( const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 165 of file remove_extradata.c.

Referenced by remove_extradata().

◆ remove_extradata()

static int remove_extradata ( AVBSFContext ctx,
AVPacket pkt 
)
static

Definition at line 182 of file remove_extradata.c.

Variable Documentation

◆ options

const AVOption options[]
static
Initial value:
= {
{ "k", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = REMOVE_FREQ_NONKEYFRAME }, .flags = FLAGS, .unit = "freq" },
{ "keyframe", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = REMOVE_FREQ_KEYFRAME }, .flags = FLAGS, .unit = "freq" },
{ "e", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = REMOVE_FREQ_ALL }, .flags = FLAGS, .unit = "freq" },
{ "all", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = REMOVE_FREQ_ALL }, .flags = FLAGS, .unit = "freq" },
{ NULL },
}

Definition at line 233 of file remove_extradata.c.

◆ remove_extradata_class

const AVClass remove_extradata_class
static
Initial value:
= {
.class_name = "remove_extradata",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 242 of file remove_extradata.c.

◆ ff_remove_extradata_bsf

const FFBitStreamFilter ff_remove_extradata_bsf
Initial value:
= {
.p.name = "remove_extra",
.p.priv_class = &remove_extradata_class,
.priv_data_size = sizeof(RemoveExtradataContext),
}

Definition at line 249 of file remove_extradata.c.

filter
void(* filter)(uint8_t *src, int stride, int qscale)
Definition: h263dsp.c:29
RemoveExtradataContext
Definition: remove_extradata.c:41
remove_extradata_class
static const AVClass remove_extradata_class
Definition: remove_extradata.c:242
OFFSET
#define OFFSET(x)
Definition: remove_extradata.c:231
REMOVE_FREQ_ALL
@ REMOVE_FREQ_ALL
Definition: remove_extradata.c:35
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
REMOVE_FREQ_NONKEYFRAME
@ REMOVE_FREQ_NONKEYFRAME
Definition: remove_extradata.c:36
FLAGS
#define FLAGS
Definition: remove_extradata.c:232
options
static const AVOption options[]
Definition: remove_extradata.c:233
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition: opt.h:259
REMOVE_FREQ_KEYFRAME
@ REMOVE_FREQ_KEYFRAME
Definition: remove_extradata.c:34
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
Definition: opt.h:299
remove_extradata
static int remove_extradata(AVBSFContext *ctx, AVPacket *pkt)
Definition: remove_extradata.c:182