FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
vc1_parser.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "parser.h"
#include "vc1.h"
#include "get_bits.h"
#include "vc1dsp.h"

Go to the source code of this file.

Data Structures

struct  VC1ParseContext
 

Macros

#define UNESCAPED_THRESHOLD   37
 The maximum number of bytes of a sequence, entry point or frame header whose values we pay any attention to. More...
 
#define UNESCAPED_LIMIT   144
 The maximum number of bytes of a sequence, entry point or frame header which must be valid memory (because they are used to update the bitstream cache in skip_bits() calls) More...
 

Enumerations

enum  VC1ParseSearchState { NO_MATCH, ONE_ZERO, TWO_ZEROS, ONE }
 

Functions

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

Variables

const AVCodecParser ff_vc1_parser
 

Detailed Description

VC-1 and WMV3 parser

Definition in file vc1_parser.c.

Macro Definition Documentation

◆ UNESCAPED_THRESHOLD

#define UNESCAPED_THRESHOLD   37

The maximum number of bytes of a sequence, entry point or frame header whose values we pay any attention to.

Definition at line 37 of file vc1_parser.c.

◆ UNESCAPED_LIMIT

#define UNESCAPED_LIMIT   144

The maximum number of bytes of a sequence, entry point or frame header which must be valid memory (because they are used to update the bitstream cache in skip_bits() calls)

Definition at line 43 of file vc1_parser.c.

Enumeration Type Documentation

◆ VC1ParseSearchState

Enumerator
NO_MATCH 
ONE_ZERO 
TWO_ZEROS 
ONE 

Definition at line 45 of file vc1_parser.c.

Function Documentation

◆ vc1_extract_header()

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

Definition at line 62 of file vc1_parser.c.

Referenced by vc1_parse().

◆ 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 127 of file vc1_parser.c.

◆ vc1_parse_init()

static av_cold int vc1_parse_init ( AVCodecParserContext s)
static

Definition at line 258 of file vc1_parser.c.

Variable Documentation

◆ ff_vc1_parser

const 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,
}

Definition at line 272 of file vc1_parser.c.

ff_parse_close
void ff_parse_close(AVCodecParserContext *s)
Definition: parser.c:290
VC1ParseContext
Definition: vc1_parser.c:52
vc1_parse_init
static av_cold int vc1_parse_init(AVCodecParserContext *s)
Definition: vc1_parser.c:258
vc1_parse
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:127
AV_CODEC_ID_VC1
@ AV_CODEC_ID_VC1
Definition: codec_id.h:122