FFmpeg
|
VC-1 and WMV3 decoder common code. More...
#include "internal.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "vc1.h"
#include "vc1data.h"
#include "msmpeg4data.h"
#include "unary.h"
#include "simple_idct.h"
#include <assert.h>
Go to the source code of this file.
Macros | |
#define | INIT_LUT(lumscale, lumshift, luty, lutuv) |
Enumerations | |
VC-1 Bitplane decoding | |
| |
enum | Imode { IMODE_RAW, IMODE_NORM2, IMODE_DIFF2, IMODE_NORM6, IMODE_DIFF6, IMODE_ROWSKIP, IMODE_COLSKIP, IMODE_RAW, IMODE_NORM2, IMODE_DIFF2, IMODE_NORM6, IMODE_DIFF6, IMODE_ROWSKIP, IMODE_COLSKIP } |
Imode types. More... | |
Functions | |
static void | decode_rowskip (uint8_t *plane, int width, int height, int stride, GetBitContext *gb) |
Decode rows by checking if they are skipped. | |
static void | decode_colskip (uint8_t *plane, int width, int height, int stride, GetBitContext *gb) |
Decode columns by checking if they are skipped. | |
static int | bitplane_decoding (uint8_t *data, int *raw_flag, VC1Context *v) |
Decode a bitplane's bits. | |
static int | vop_dquant_decoding (VC1Context *v) |
VOP Dquant decoding. | |
static int | decode_sequence_header_adv (VC1Context *v, GetBitContext *gb) |
int | ff_vc1_decode_sequence_header (AVCodecContext *avctx, VC1Context *v, GetBitContext *gb) |
Decode Simple/Main Profiles sequence header. | |
int | ff_vc1_decode_entry_point (AVCodecContext *avctx, VC1Context *v, GetBitContext *gb) |
int | ff_vc1_parse_frame_header (VC1Context *v, GetBitContext *gb) |
int | ff_vc1_parse_frame_header_adv (VC1Context *v, GetBitContext *gb) |
int | ff_vc1_init_common (VC1Context *v) |
Init VC-1 specific tables and VC1Context members. | |
Variables | |
static const uint32_t | vc1_ac_tables [AC_MODES][186][2] |
static const uint16_t | vlc_offs [] |
VC-1 and WMV3 decoder common code.
Definition in file vc1.c.
#define INIT_LUT | ( | lumscale, | |
lumshift, | |||
luty, | |||
lutuv | |||
) |
Definition at line 812 of file vc1.c.
Referenced by ff_vc1_parse_frame_header_adv().
enum Imode |
|
static |
Decode rows by checking if they are skipped.
plane | Buffer to store decoded bits | |
[in] | width | Width of this buffer |
[in] | height | Height of this buffer |
[in] | stride | of this buffer |
Definition at line 70 of file vc1.c.
Referenced by bitplane_decoding().
|
static |
Decode columns by checking if they are skipped.
plane | Buffer to store decoded bits | |
[in] | width | Width of this buffer |
[in] | height | Height of this buffer |
[in] | stride | of this buffer |
Definition at line 92 of file vc1.c.
Referenced by bitplane_decoding().
|
static |
Decode a bitplane's bits.
data | bitplane where to store the decode bits | |
[out] | raw_flag | pointer to the flag indicating that this bitplane is not coded explicitly |
v | VC-1 context for bit reading and logging |
Definition at line 115 of file vc1.c.
Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().
|
static |
VOP Dquant decoding.
v | VC-1 Context |
Definition at line 244 of file vc1.c.
Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().
|
static |
Definition at line 416 of file vc1.c.
Referenced by ff_vc1_decode_sequence_header().
int ff_vc1_decode_sequence_header | ( | AVCodecContext * | avctx, |
VC1Context * | v, | ||
GetBitContext * | gb | ||
) |
Decode Simple/Main Profiles sequence header.
avctx | Codec context |
gb | GetBit context initialized from Codec context extra_data |
Definition at line 293 of file vc1.c.
Referenced by vc1_decode_init(), and vc1_extract_headers().
int ff_vc1_decode_entry_point | ( | AVCodecContext * | avctx, |
VC1Context * | v, | ||
GetBitContext * | gb | ||
) |
Definition at line 524 of file vc1.c.
Referenced by vc1_decode_frame(), vc1_decode_init(), and vc1_extract_headers().
int ff_vc1_parse_frame_header | ( | VC1Context * | v, |
GetBitContext * | gb | ||
) |
Definition at line 579 of file vc1.c.
Referenced by decode_wmv9(), vc1_decode_frame(), and vc1_extract_headers().
int ff_vc1_parse_frame_header_adv | ( | VC1Context * | v, |
GetBitContext * | gb | ||
) |
Definition at line 830 of file vc1.c.
Referenced by vc1_decode_frame(), and vc1_extract_headers().
int ff_vc1_init_common | ( | VC1Context * | v | ) |
Init VC-1 specific tables and VC1Context members.
v | The VC1Context to initialize |
Definition at line 1542 of file vc1.c.
Referenced by vc1_decode_init(), vc1_parse_init(), and wmv9_init().
|
static |
Definition at line 1306 of file vc1.c.
Referenced by ff_vc1_init_common().
|
static |
Definition at line 1527 of file vc1.c.
Referenced by ff_vc1_init_common().