FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
vc1_parser.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/avassert.h"
#include "parser.h"
#include "parser_internal.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 FFCodecParser 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 38 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 44 of file vc1_parser.c.

Enumeration Type Documentation

◆ VC1ParseSearchState

Enumerator
NO_MATCH 
ONE_ZERO 
TWO_ZEROS 
ONE 

Definition at line 46 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 63 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 128 of file vc1_parser.c.

◆ vc1_parse_init()

static av_cold int vc1_parse_init ( AVCodecParserContext s)
static

Definition at line 261 of file vc1_parser.c.

Variable Documentation

◆ ff_vc1_parser

const FFCodecParser ff_vc1_parser
Initial value:

Definition at line 275 of file vc1_parser.c.

ff_parse_close
av_cold void ff_parse_close(AVCodecParserContext *s)
Definition: parser.c:298
close
static av_cold void close(AVCodecParserContext *s)
Definition: apv_parser.c:136
VC1ParseContext
Definition: vc1_parser.c:53
vc1_parse_init
static av_cold int vc1_parse_init(AVCodecParserContext *s)
Definition: vc1_parser.c:261
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:128
parse
static int parse(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
Definition: apv_parser.c:46
init
int(* init)(AVBSFContext *ctx)
Definition: dts2pts.c:550
AV_CODEC_ID_VC1
@ AV_CODEC_ID_VC1
Definition: codec_id.h:122
PARSER_CODEC_LIST
#define PARSER_CODEC_LIST(...)
Definition: parser_internal.h:76