FFmpeg
Macros | Enumerations | Functions
vc1_common.h File Reference
#include <stdint.h>
#include "libavutil/attributes.h"
#include "internal.h"

Go to the source code of this file.

Macros

#define IS_MARKER(x)   (((x) & ~0xFF) == VC1_CODE_RES0)
 

Enumerations

enum  VC1Code {
  VC1_CODE_RES0 = 0x00000100, VC1_CODE_ENDOFSEQ = 0x0000010A, VC1_CODE_SLICE, VC1_CODE_FIELD,
  VC1_CODE_FRAME, VC1_CODE_ENTRYPOINT, VC1_CODE_SEQHDR
}
 Markers used in VC-1 AP frame data. More...
 
enum  Profile { PROFILE_SIMPLE, PROFILE_MAIN, PROFILE_COMPLEX, PROFILE_ADVANCED }
 Available Profiles. More...
 

Functions

static const av_always_inline uint8_tfind_next_marker (const uint8_t *src, const uint8_t *end)
 Find VC-1 marker in buffer. More...
 
static av_always_inline int vc1_unescape_buffer (const uint8_t *src, int size, uint8_t *dst)
 

Macro Definition Documentation

◆ IS_MARKER

#define IS_MARKER (   x)    (((x) & ~0xFF) == VC1_CODE_RES0)

Definition at line 44 of file vc1_common.h.

Enumeration Type Documentation

◆ VC1Code

enum VC1Code

Markers used in VC-1 AP frame data.

Enumerator
VC1_CODE_RES0 
VC1_CODE_ENDOFSEQ 
VC1_CODE_SLICE 
VC1_CODE_FIELD 
VC1_CODE_FRAME 
VC1_CODE_ENTRYPOINT 
VC1_CODE_SEQHDR 

Definition at line 33 of file vc1_common.h.

◆ Profile

enum Profile

Available Profiles.

Enumerator
PROFILE_SIMPLE 
PROFILE_MAIN 
PROFILE_COMPLEX 

TODO: WMV9 specific.

PROFILE_ADVANCED 

Definition at line 48 of file vc1_common.h.

Function Documentation

◆ find_next_marker()

static const av_always_inline uint8_t* find_next_marker ( const uint8_t src,
const uint8_t end 
)
static

Find VC-1 marker in buffer.

Returns
position where next marker starts or end of buffer if no marker found

Definition at line 59 of file vc1_common.h.

Referenced by mov_parse_vc1_frame(), mov_write_dvc1_structs(), vc1_decode_frame(), and vc1_decode_init().

◆ vc1_unescape_buffer()

static av_always_inline int vc1_unescape_buffer ( const uint8_t src,
int  size,
uint8_t dst 
)
static

Definition at line 70 of file vc1_common.h.

Referenced by mov_write_dvc1_structs(), vc1_decode_frame(), and vc1_decode_init().