FFmpeg
Data Structures | Macros | Functions | Variables
vp9_superframe_bsf.c File Reference
#include "libavutil/avassert.h"
#include "bsf.h"
#include "bsf_internal.h"
#include "get_bits.h"

Go to the source code of this file.

Data Structures

struct  VP9BSFContext
 

Macros

#define MAX_CACHE   8
 
#define wloop(mag, wr)
 

Functions

static void stats (AVPacket *const *in, int n_in, unsigned *_max, unsigned *_sum)
 
static int merge_superframe (AVPacket *const *in, int n_in, AVPacket *out)
 
static int vp9_superframe_filter (AVBSFContext *ctx, AVPacket *pkt)
 
static int vp9_superframe_init (AVBSFContext *ctx)
 
static void vp9_superframe_flush (AVBSFContext *ctx)
 
static void vp9_superframe_close (AVBSFContext *ctx)
 

Variables

static enum AVCodecID codec_ids []
 
const AVBitStreamFilter ff_vp9_superframe_bsf
 

Macro Definition Documentation

◆ MAX_CACHE

#define MAX_CACHE   8

Definition at line 28 of file vp9_superframe_bsf.c.

◆ wloop

#define wloop (   mag,
  wr 
)
Value:
do { \
for (n = 0; n < n_in; n++) { \
wr; \
ptr += mag + 1; \
} \
} while (0)

Function Documentation

◆ stats()

static void stats ( AVPacket *const *  in,
int  n_in,
unsigned *  _max,
unsigned *  _sum 
)
static

◆ merge_superframe()

static int merge_superframe ( AVPacket *const *  in,
int  n_in,
AVPacket out 
)
static

Definition at line 52 of file vp9_superframe_bsf.c.

Referenced by vp9_superframe_filter().

◆ vp9_superframe_filter()

static int vp9_superframe_filter ( AVBSFContext ctx,
AVPacket pkt 
)
static

Definition at line 101 of file vp9_superframe_bsf.c.

◆ vp9_superframe_init()

static int vp9_superframe_init ( AVBSFContext ctx)
static

Definition at line 174 of file vp9_superframe_bsf.c.

◆ vp9_superframe_flush()

static void vp9_superframe_flush ( AVBSFContext ctx)
static

Definition at line 189 of file vp9_superframe_bsf.c.

◆ vp9_superframe_close()

static void vp9_superframe_close ( AVBSFContext ctx)
static

Definition at line 200 of file vp9_superframe_bsf.c.

Variable Documentation

◆ codec_ids

enum AVCodecID codec_ids[]
static
Initial value:

Definition at line 210 of file vp9_superframe_bsf.c.

◆ ff_vp9_superframe_bsf

const AVBitStreamFilter ff_vp9_superframe_bsf
Initial value:
= {
.name = "vp9_superframe",
.priv_data_size = sizeof(VP9BSFContext),
}

Definition at line 214 of file vp9_superframe_bsf.c.

init
static av_cold int init(AVCodecContext *avctx)
Definition: avrndec.c:31
vp9_superframe_close
static void vp9_superframe_close(AVBSFContext *ctx)
Definition: vp9_superframe_bsf.c:200
VP9BSFContext
Definition: vp9_superframe_bsf.c:29
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
AV_CODEC_ID_VP9
@ AV_CODEC_ID_VP9
Definition: codec_id.h:217
codec_ids
static enum AVCodecID codec_ids[]
Definition: vp9_superframe_bsf.c:210
vp9_superframe_init
static int vp9_superframe_init(AVBSFContext *ctx)
Definition: vp9_superframe_bsf.c:174
flush
static void flush(AVCodecContext *avctx)
Definition: aacdec_template.c:592
vp9_superframe_filter
static int vp9_superframe_filter(AVBSFContext *ctx, AVPacket *pkt)
Definition: vp9_superframe_bsf.c:101
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:47
vp9_superframe_flush
static void vp9_superframe_flush(AVBSFContext *ctx)
Definition: vp9_superframe_bsf.c:189