FFmpeg
Data Structures | Functions | Variables
evc_frame_merge.c File Reference
#include "libavutil/mem.h"
#include "get_bits.h"
#include "bsf.h"
#include "bsf_internal.h"
#include "evc.h"
#include "evc_parse.h"
#include "evc_ps.h"

Go to the source code of this file.

Data Structures

struct  AccessUnitBuffer
 
struct  EVCFMergeContext
 

Functions

static int end_of_access_unit_found (const EVCParamSets *ps, const EVCParserSliceHeader *sh, const EVCParserPoc *poc, enum EVCNALUnitType nalu_type)
 
static void evc_frame_merge_flush (AVBSFContext *bsf)
 
static int parse_nal_unit (AVBSFContext *bsf, const uint8_t *buf, int buf_size)
 
static int evc_frame_merge_filter (AVBSFContext *bsf, AVPacket *out)
 
static int evc_frame_merge_init (AVBSFContext *bsf)
 
static void evc_frame_merge_close (AVBSFContext *bsf)
 

Variables

static enum AVCodecID evc_frame_merge_codec_ids []
 
const FFBitStreamFilter ff_evc_frame_merge_bsf
 

Function Documentation

◆ end_of_access_unit_found()

static int end_of_access_unit_found ( const EVCParamSets ps,
const EVCParserSliceHeader sh,
const EVCParserPoc poc,
enum EVCNALUnitType  nalu_type 
)
static

Definition at line 43 of file evc_frame_merge.c.

Referenced by parse_nal_unit().

◆ evc_frame_merge_flush()

static void evc_frame_merge_flush ( AVBSFContext bsf)
static

Definition at line 64 of file evc_frame_merge.c.

◆ parse_nal_unit()

static int parse_nal_unit ( AVBSFContext bsf,
const uint8_t *  buf,
int  buf_size 
)
static

Definition at line 74 of file evc_frame_merge.c.

Referenced by evc_frame_merge_filter().

◆ evc_frame_merge_filter()

static int evc_frame_merge_filter ( AVBSFContext bsf,
AVPacket out 
)
static

Definition at line 147 of file evc_frame_merge.c.

◆ evc_frame_merge_init()

static int evc_frame_merge_init ( AVBSFContext bsf)
static

Definition at line 253 of file evc_frame_merge.c.

◆ evc_frame_merge_close()

static void evc_frame_merge_close ( AVBSFContext bsf)
static

Definition at line 265 of file evc_frame_merge.c.

Variable Documentation

◆ evc_frame_merge_codec_ids

enum AVCodecID evc_frame_merge_codec_ids[]
static
Initial value:

Definition at line 278 of file evc_frame_merge.c.

◆ ff_evc_frame_merge_bsf

const FFBitStreamFilter ff_evc_frame_merge_bsf
Initial value:
= {
.p.name = "evc_frame_merge",
.p.codec_ids = evc_frame_merge_codec_ids,
.priv_data_size = sizeof(EVCFMergeContext),
}

Definition at line 282 of file evc_frame_merge.c.

evc_frame_merge_codec_ids
static enum AVCodecID evc_frame_merge_codec_ids[]
Definition: evc_frame_merge.c:278
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
evc_frame_merge_init
static int evc_frame_merge_init(AVBSFContext *bsf)
Definition: evc_frame_merge.c:253
evc_frame_merge_close
static void evc_frame_merge_close(AVBSFContext *bsf)
Definition: evc_frame_merge.c:265
AV_CODEC_ID_EVC
@ AV_CODEC_ID_EVC
Definition: codec_id.h:321
EVCFMergeContext
Definition: evc_frame_merge.c:36
flush
void(* flush)(AVBSFContext *ctx)
Definition: dts2pts.c:368
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts.c:366
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
evc_frame_merge_flush
static void evc_frame_merge_flush(AVBSFContext *bsf)
Definition: evc_frame_merge.c:64
evc_frame_merge_filter
static int evc_frame_merge_filter(AVBSFContext *bsf, AVPacket *out)
Definition: evc_frame_merge.c:147