|
FFmpeg
|
IntraX8 (J-Frame) subdecoder, used by WMV2 and VC-1. More...
#include "libavutil/avassert.h"#include "avcodec.h"#include "get_bits.h"#include "idctdsp.h"#include "msmpeg4data.h"#include "intrax8huf.h"#include "intrax8.h"#include "intrax8dsp.h"#include "mpegutils.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) w->block[0][w->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 [] |
| static const int16_t | quant_table [64] |
IntraX8 (J-Frame) subdecoder, used by WMV2 and VC-1.
Definition in file intrax8.c.
| #define MAX_TABLE_DEPTH | ( | table_bits, | |
| max_bits | |||
| ) | ((max_bits + table_bits - 1) / table_bits) |
| #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 T | ( | x | ) | ((x) * dc_level + 0x8000) >> 16; |
Definition at line 49 of file intrax8.c.
Referenced by ff_intrax8_common_init().
|
static |
Definition at line 127 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
inlinestatic |
Definition at line 134 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
inlinestatic |
Definition at line 149 of file intrax8.c.
Referenced by x8_setup_spatial_predictor().
|
static |
Definition at line 206 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 286 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 322 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 380 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 390 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 406 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 475 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 546 of file intrax8.c.
Referenced by x8_decode_intra_mb().
|
static |
Definition at line 567 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
|
static |
Definition at line 711 of file intrax8.c.
Referenced by ff_intrax8_decode_picture().
| av_cold int ff_intrax8_common_init | ( | AVCodecContext * | avctx, |
| IntraX8Context * | w, | ||
| IDCTDSPContext * | idsp, | ||
| int16_t(*) | block[64], | ||
| int | block_last_index[12], | ||
| int | mb_width, | ||
| int | mb_height | ||
| ) |
Initialize IntraX8 frame decoder.
| avctx | pointer to AVCodecContext |
| w | pointer to IntraX8Context |
| idsp | pointer to IDCTDSPContext |
| block | pointer to block array |
| block_last_index | pointer to index array |
| mb_width | macroblock width |
| mb_height | macroblock height |
Definition at line 728 of file intrax8.c.
Referenced by ff_vc1_decode_init_alloc_tables(), and wmv2_decode_init().
| av_cold void ff_intrax8_common_end | ( | IntraX8Context * | w | ) |
Destroy IntraX8 frame structure.
| w | pointer to IntraX8Context |
Definition at line 768 of file intrax8.c.
Referenced by ff_vc1_decode_end(), and wmv2_decode_end().
| int ff_intrax8_decode_picture | ( | IntraX8Context * | w, |
| Picture * | pict, | ||
| GetBitContext * | gb, | ||
| int * | mb_x, | ||
| int * | mb_y, | ||
| int | quant, | ||
| int | halfpq, | ||
| int | loopfilter, | ||
| int | lowdelay | ||
| ) |
Decode single IntraX8 frame.
lowres decoding is theoretically impossible.
| w | pointer to IntraX8Context |
| pict | the output Picture containing an AVFrame |
| gb | open bitstream reader |
| mb_x | pointer to the x coordinate of the current macroblock |
| mb_y | pointer to the y coordinate of the current macroblock |
| dquant | doubled quantizer, it would be odd in case of VC-1 halfpq==1. |
| quant_offset | offset away from zero |
| loopfilter | enable filter after decoding a block |
Definition at line 773 of file intrax8.c.
Referenced by ff_vc1_decode_blocks(), and ff_wmv2_decode_secondary_picture_header().
|
static |
Definition at line 45 of file intrax8.c.
Referenced by x8_select_ac_table(), and x8_vlc_init().
|
static |
Definition at line 46 of file intrax8.c.
Referenced by x8_get_dc_rlf(), and x8_vlc_init().
|
static |
Definition at line 47 of file intrax8.c.
Referenced by x8_get_orient_vlc(), and x8_vlc_init().
|
static |
Definition at line 164 of file intrax8.c.
Referenced by x8_get_ac_rlf().
|
static |
Definition at line 282 of file intrax8.c.
Referenced by x8_get_dc_rlf().
|
static |
Definition at line 556 of file intrax8.c.
Referenced by x8_decode_intra_mb().
1.8.17