FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
vp9_parser.c File Reference
#include "libavutil/intreadwrite.h"
#include "parser.h"

Go to the source code of this file.

Data Structures

struct  VP9ParseContext
 

Macros

#define case_n(a, rd)
 

Functions

static void parse_frame (AVCodecParserContext *ctx, const uint8_t *buf, int size)
 
static int parse (AVCodecParserContext *ctx, AVCodecContext *avctx, const uint8_t **out_data, int *out_size, const uint8_t *data, int size)
 

Variables

AVCodecParser ff_vp9_parser
 

Macro Definition Documentation

#define case_n (   a,
  rd 
)
Value:
case a: \
while (n_frames--) { \
unsigned sz = rd; \
idx += a; \
if (sz > size) { \
s->n_frames = 0; \
av_log(avctx, AV_LOG_ERROR, \
"Superframe packet size too big: %u > %d\n", \
sz, size); \
return size; \
} \
if (first) { \
first = 0; \
*out_data = data; \
*out_size = sz; \
s->n_frames = n_frames; \
} else { \
s->size[n_frames] = sz; \
} \
data += sz; \
size -= sz; \
} \
parse_frame(ctx, *out_data, *out_size); \
return *out_size

Referenced by parse().

Function Documentation

static void parse_frame ( AVCodecParserContext ctx,
const uint8_t buf,
int  size 
)
static

Definition at line 29 of file vp9_parser.c.

Referenced by parse().

static int parse ( AVCodecParserContext ctx,
AVCodecContext avctx,
const uint8_t **  out_data,
int *  out_size,
const uint8_t data,
int  size 
)
static

Definition at line 40 of file vp9_parser.c.

Variable Documentation

AVCodecParser ff_vp9_parser
Initial value:
= {
.codec_ids = { AV_CODEC_ID_VP9 },
.priv_data_size = sizeof(VP9ParseContext),
.parser_parse = parse,
}

Definition at line 114 of file vp9_parser.c.