FFmpeg
Data Structures | Macros | Functions | Variables
vp9_raw_reorder.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/intmath.h"
#include "libavutil/log.h"
#include "libavutil/mem.h"
#include "bsf.h"
#include "bsf_internal.h"
#include "get_bits.h"
#include "put_bits.h"

Go to the source code of this file.

Data Structures

struct  VP9RawReorderFrame
 
struct  VP9RawReorderContext
 

Macros

#define FRAME_SLOTS   8
 

Functions

static void vp9_raw_reorder_frame_free (VP9RawReorderFrame **frame)
 
static void vp9_raw_reorder_clear_slot (VP9RawReorderContext *ctx, int s)
 
static int vp9_raw_reorder_frame_parse (AVBSFContext *bsf, VP9RawReorderFrame *frame)
 
static int vp9_raw_reorder_make_output (AVBSFContext *bsf, AVPacket *out, VP9RawReorderFrame *last_frame)
 
static int vp9_raw_reorder_filter (AVBSFContext *bsf, AVPacket *out)
 
static av_cold void vp9_raw_reorder_flush_close (AVBSFContext *bsf)
 

Variables

static enum AVCodecID vp9_raw_reorder_codec_ids []
 
const FFBitStreamFilter ff_vp9_raw_reorder_bsf
 

Macro Definition Documentation

◆ FRAME_SLOTS

#define FRAME_SLOTS   8

Definition at line 29 of file vp9_raw_reorder.c.

Function Documentation

◆ vp9_raw_reorder_frame_free()

static void vp9_raw_reorder_frame_free ( VP9RawReorderFrame **  frame)
static

◆ vp9_raw_reorder_clear_slot()

static void vp9_raw_reorder_clear_slot ( VP9RawReorderContext ctx,
int  s 
)
static

Definition at line 63 of file vp9_raw_reorder.c.

Referenced by vp9_raw_reorder_filter(), and vp9_raw_reorder_flush_close().

◆ vp9_raw_reorder_frame_parse()

static int vp9_raw_reorder_frame_parse ( AVBSFContext bsf,
VP9RawReorderFrame frame 
)
static

Definition at line 74 of file vp9_raw_reorder.c.

Referenced by vp9_raw_reorder_filter().

◆ vp9_raw_reorder_make_output()

static int vp9_raw_reorder_make_output ( AVBSFContext bsf,
AVPacket out,
VP9RawReorderFrame last_frame 
)
static

Definition at line 171 of file vp9_raw_reorder.c.

Referenced by vp9_raw_reorder_filter().

◆ vp9_raw_reorder_filter()

static int vp9_raw_reorder_filter ( AVBSFContext bsf,
AVPacket out 
)
static

Definition at line 277 of file vp9_raw_reorder.c.

◆ vp9_raw_reorder_flush_close()

static av_cold void vp9_raw_reorder_flush_close ( AVBSFContext bsf)
static

Definition at line 393 of file vp9_raw_reorder.c.

Variable Documentation

◆ vp9_raw_reorder_codec_ids

enum AVCodecID vp9_raw_reorder_codec_ids[]
static
Initial value:

Definition at line 403 of file vp9_raw_reorder.c.

◆ ff_vp9_raw_reorder_bsf

const FFBitStreamFilter ff_vp9_raw_reorder_bsf
Initial value:
= {
.p.name = "vp9_raw_reorder",
.p.codec_ids = vp9_raw_reorder_codec_ids,
.priv_data_size = sizeof(VP9RawReorderContext),
}

Definition at line 407 of file vp9_raw_reorder.c.

VP9RawReorderContext
Definition: vp9_raw_reorder.c:50
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
vp9_raw_reorder_filter
static int vp9_raw_reorder_filter(AVBSFContext *bsf, AVPacket *out)
Definition: vp9_raw_reorder.c:277
AV_CODEC_ID_VP9
@ AV_CODEC_ID_VP9
Definition: codec_id.h:220
flush
void(* flush)(AVBSFContext *ctx)
Definition: dts2pts.c:367
vp9_raw_reorder_codec_ids
static enum AVCodecID vp9_raw_reorder_codec_ids[]
Definition: vp9_raw_reorder.c:403
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
vp9_raw_reorder_flush_close
static av_cold void vp9_raw_reorder_flush_close(AVBSFContext *bsf)
Definition: vp9_raw_reorder.c:393