vc1_parser.c File Reference

VC-1 and WMV3 parser. More...

#include "parser.h"
#include "vc1.h"
#include "get_bits.h"
Include dependency graph for vc1_parser.c:

Go to the source code of this file.

Data Structures

struct  VC1ParseContext
 

Functions

static void vc1_extract_headers (AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static int vc1_find_frame_end (ParseContext *pc, const uint8_t *buf, int buf_size)
 Find the end of the current frame in the bitstream. More...
 
static int vc1_parse (AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
 
static int vc1_split (AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static int vc1_parse_init (AVCodecParserContext *s)
 

Variables

AVCodecParser ff_vc1_parser
 

Detailed Description

VC-1 and WMV3 parser.

Definition in file vc1_parser.c.

Function Documentation

static void vc1_extract_headers ( AVCodecParserContext s,
AVCodecContext avctx,
const uint8_t buf,
int  buf_size 
)
static

Definition at line 37 of file vc1_parser.c.

Referenced by vc1_parse().

static int vc1_find_frame_end ( ParseContext pc,
const uint8_t buf,
int  buf_size 
)
static

Find the end of the current frame in the bitstream.

Returns
the position of the first byte of the next frame, or -1

Definition at line 102 of file vc1_parser.c.

Referenced by vc1_parse().

static int vc1_parse ( AVCodecParserContext s,
AVCodecContext avctx,
const uint8_t **  poutbuf,
int *  poutbuf_size,
const uint8_t buf,
int  buf_size 
)
static

Definition at line 140 of file vc1_parser.c.

static int vc1_parse_init ( AVCodecParserContext s)
static

Definition at line 187 of file vc1_parser.c.

static int vc1_split ( AVCodecContext avctx,
const uint8_t buf,
int  buf_size 
)
static

Definition at line 167 of file vc1_parser.c.

Variable Documentation

AVCodecParser ff_vc1_parser
Initial value:
= {
.codec_ids = { AV_CODEC_ID_VC1 },
.priv_data_size = sizeof(VC1ParseContext),
.parser_init = vc1_parse_init,
.parser_parse = vc1_parse,
.parser_close = ff_parse_close,
}
void ff_parse_close(AVCodecParserContext *s)
Definition: parser.c:279
Note except for filters that can have queued request_frame does not push and as a the filter_frame method will be called and do the work Legacy the filter_frame method was split
static int vc1_split(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
Definition: vc1_parser.c:167
static int vc1_parse(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
Definition: vc1_parser.c:140
static int vc1_parse_init(AVCodecParserContext *s)
Definition: vc1_parser.c:187

Definition at line 194 of file vc1_parser.c.