FFmpeg
Loading...
Searching...
No Matches
vc1_parser.c File Reference

VC-1 and WMV3 parser. More...

#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.
 
#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)
 

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.

Referenced by vc1_parse().

◆ 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:
= {
.priv_data_size = sizeof(VC1ParseContext),
}
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:92
static av_cold void close(AVCodecParserContext *s)
Definition apv_parser.c:197
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
@ AV_CODEC_ID_VC1
Definition codec_id.h:120
av_cold void ff_parse_close(AVCodecParserContext *s)
Definition parser.c:300
#define PARSER_CODEC_LIST(...)
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
static av_cold int vc1_parse_init(AVCodecParserContext *s)
Definition vc1_parser.c:261

Definition at line 275 of file vc1_parser.c.