FFmpeg
|
IntraX8 (J-Frame) subdecoder, used by WMV2 and VC-1. More...
#include "libavutil/avassert.h"
#include "avcodec.h"
#include "error_resilience.h"
#include "get_bits.h"
#include "mpegvideo.h"
#include "msmpeg4data.h"
#include "intrax8huf.h"
#include "intrax8.h"
#include "intrax8dsp.h"
Go to the source code of this file.
Macros | |
#define | MAX_TABLE_DEPTH(table_bits, max_bits) ((max_bits+table_bits-1)/table_bits) |
#define | DC_VLC_BITS 9 |
#define | AC_VLC_BITS 9 |
#define | OR_VLC_BITS 7 |
#define | DC_VLC_MTD MAX_TABLE_DEPTH(DC_VLC_BITS, MAX_DC_VLC_BITS) |
#define | AC_VLC_MTD MAX_TABLE_DEPTH(AC_VLC_BITS, MAX_AC_VLC_BITS) |
#define | OR_VLC_MTD MAX_TABLE_DEPTH(OR_VLC_BITS, MAX_OR_VLC_BITS) |
#define | init_ac_vlc(dst, src) |
#define | init_dc_vlc(dst, src) |
#define | init_or_vlc(dst, src) |
#define | extra_bits(eb) (eb) |
#define | extra_run (0xFF<<8) |
#define | extra_level (0x00<<8) |
#define | run_offset(r) ((r)<<16) |
#define | level_offset(l) ((l)<<24) |
#define | B(x, y) s->block[0][s->dsp.idct_permutation[(x)+(y)*8]] |
#define | T(x) ((x) * dc_level + 0x8000) >> 16; |
Variables | |
static VLC | j_ac_vlc [2][2][8] |
static VLC | j_dc_vlc [2][8] |
static VLC | j_orient_vlc [2][4] |
static const uint32_t | ac_decode_table [] |
static const uint8_t | dc_index_offset [] ={ 0, 1,2, 3,4, 5,7, 9,13, 17,25, 33,49, 65,97, 129,193} |
static const int16_t | quant_table [64] |
Detailed Description
IntraX8 (J-Frame) subdecoder, used by WMV2 and VC-1.
Definition in file intrax8.c.
Macro Definition Documentation
#define AC_VLC_BITS 9 |
Definition at line 37 of file intrax8.c.
Referenced by ff_vc1_init_common(), vc1_decode_ac_coeff(), and x8_get_ac_rlf().
#define AC_VLC_MTD MAX_TABLE_DEPTH(AC_VLC_BITS, MAX_AC_VLC_BITS) |
Definition at line 41 of file intrax8.c.
Referenced by x8_get_ac_rlf().
Referenced by x8_ac_compensation().
#define DC_VLC_BITS 9 |
Definition at line 36 of file intrax8.c.
Referenced by ff_mpeg12_init_vlcs(), and x8_get_dc_rlf().
#define DC_VLC_MTD MAX_TABLE_DEPTH(DC_VLC_BITS, MAX_DC_VLC_BITS) |
Definition at line 40 of file intrax8.c.
Referenced by x8_get_dc_rlf().
Referenced by x8_vlc_init().
Referenced by x8_vlc_init().
Referenced by x8_vlc_init().
#define MAX_TABLE_DEPTH | ( | table_bits, | |
max_bits | |||
) | ((max_bits+table_bits-1)/table_bits) |
#define OR_VLC_BITS 7 |
Definition at line 38 of file intrax8.c.
Referenced by x8_get_orient_vlc().
#define OR_VLC_MTD MAX_TABLE_DEPTH(OR_VLC_BITS, MAX_OR_VLC_BITS) |
Definition at line 42 of file intrax8.c.
Referenced by x8_get_orient_vlc().
Referenced by x8_ac_compensation().
Function Documentation
Definition at line 507 of file intrax8.c.
Referenced by x8_decode_intra_mb().
av_cold void ff_intrax8_common_end | ( | IntraX8Context * | w | ) |
Destroy IntraX8 frame structure.
- Parameters
-
w pointer to IntraX8Context
Definition at line 709 of file intrax8.c.
Referenced by ff_vc1_decode_end(), and wmv2_decode_end().
av_cold void ff_intrax8_common_init | ( | IntraX8Context * | w, |
MpegEncContext *const | s | ||
) |
Initialize IntraX8 frame decoder.
Requires valid MpegEncContext with valid s->mb_width before calling.
- Parameters
-
w pointer to IntraX8Context s pointer to MpegEncContext of the parent codec
Definition at line 691 of file intrax8.c.
Referenced by ff_vc1_decode_init_alloc_tables(), and wmv2_decode_init().
int ff_intrax8_decode_picture | ( | IntraX8Context *const | w, |
int | dquant, | ||
int | quant_offset | ||
) |
Decode single IntraX8 frame.
The parent codec must fill s->loopfilter and s->gb (bitstream). The parent codec must call MPV_frame_start(), ff_er_frame_start() before calling this function. The parent codec must call ff_er_frame_end(), MPV_frame_end() after calling this function. This function does not use MPV_decode_mb(). lowres decoding is theoretically impossible.
- Parameters
-
w pointer to IntraX8Context dquant doubled quantizer, it would be odd in case of VC-1 halfpq==1. quant_offset offset away from zero
Definition at line 726 of file intrax8.c.
Referenced by ff_vc1_decode_blocks(), and ff_wmv2_decode_secondary_picture_header().
|
static |
Definition at line 437 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 526 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 199 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 264 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
inlinestatic |
Definition at line 139 of file intrax8.c.
Referenced by x8_setup_spatial_predictor().
|
static |
Definition at line 375 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 360 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 670 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 120 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
inlinestatic |
Definition at line 126 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 299 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 351 of file intrax8.c.
Referenced by x8_decode_intra_mb().
Definition at line 48 of file intrax8.c.
Referenced by ff_intrax8_common_init().
Variable Documentation
|
static |
Definition at line 156 of file intrax8.c.
Referenced by x8_get_ac_rlf().
|
static |
Definition at line 262 of file intrax8.c.
Referenced by x8_get_dc_rlf().
|
static |
Definition at line 515 of file intrax8.c.
Referenced by x8_decode_intra_mb().
Generated on Mon Nov 18 2024 06:52:07 for FFmpeg by 1.8.11