vc1data.h File Reference

VC-1 tables. More...

#include <stdint.h>
#include "libavutil/rational.h"
#include "get_bits.h"
Include dependency graph for vc1data.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define B_FRACTION_DEN   256
 
#define AC_MODES   8
 

Variables

const int ff_vc1_ttblk_to_tt [3][8]
 Table for conversion between TTBLK and TTMB. More...
 
const int ff_vc1_ttfrm_to_tt [4]
 
const uint8_t ff_vc1_mv_pmode_table [2][5]
 MV P mode - the 5th element is only used for mode 1. More...
 
const uint8_t ff_vc1_mv_pmode_table2 [2][4]
 
const int ff_vc1_fps_nr [7]
 
const int ff_vc1_fps_dr [2]
 
const uint8_t ff_vc1_pquant_table [3][32]
 
const uint8_t ff_vc1_mbmode_intfrp [2][15][4]
 
const int16_t ff_vc1_bfraction_lut [23]
 
const uint8_t ff_vc1_bfraction_bits [23]
 
const uint8_t ff_vc1_bfraction_codes [23]
 
const AVRational ff_vc1_pixel_aspect [16]
 
const uint8_t ff_vc1_imode_codes [7]
 
const uint8_t ff_vc1_imode_bits [7]
 
const uint8_t ff_vc1_norm2_codes [4]
 
const uint8_t ff_vc1_norm2_bits [4]
 
const uint16_t ff_vc1_norm6_codes [64]
 
const uint8_t ff_vc1_norm6_bits [64]
 
const uint8_t ff_vc1_norm6_spec [64][5]
 
const uint8_t ff_vc1_4mv_block_pattern_codes [4][16]
 
const uint8_t ff_vc1_4mv_block_pattern_bits [4][16]
 
const uint8_t ff_vc1_2mv_block_pattern_codes [4][4]
 
const uint8_t ff_vc1_2mv_block_pattern_bits [4][4]
 
const uint8_t ff_wmv3_dc_scale_table [32]
 
const uint16_t ff_vc1_cbpcy_p_codes [4][64]
 
const uint8_t ff_vc1_cbpcy_p_bits [4][64]
 
const uint16_t ff_vc1_icbpcy_p_codes [8][63]
 
const uint8_t ff_vc1_icbpcy_p_bits [8][63]
 
const uint16_t ff_vc1_ttmb_codes [3][16]
 
const uint8_t ff_vc1_ttmb_bits [3][16]
 
const uint8_t ff_vc1_ttblk_codes [3][8]
 
const uint8_t ff_vc1_ttblk_bits [3][8]
 
const uint8_t ff_vc1_subblkpat_codes [3][15]
 
const uint8_t ff_vc1_subblkpat_bits [3][15]
 
const uint16_t ff_vc1_mv_diff_codes [4][73]
 
const uint8_t ff_vc1_mv_diff_bits [4][73]
 
const uint16_t ff_vc1_intfr_4mv_mbmode_codes [4][15]
 
const uint8_t ff_vc1_intfr_4mv_mbmode_bits [4][15]
 
const uint8_t ff_vc1_intfr_non4mv_mbmode_codes [4][9]
 
const uint8_t ff_vc1_intfr_non4mv_mbmode_bits [4][9]
 
const uint8_t ff_vc1_if_mmv_mbmode_codes [8][8]
 
const uint8_t ff_vc1_if_mmv_mbmode_bits [8][8]
 
const uint8_t ff_vc1_if_1mv_mbmode_codes [8][6]
 
const uint8_t ff_vc1_if_1mv_mbmode_bits [8][6]
 
const uint32_t ff_vc1_1ref_mvdata_codes [4][72]
 
const uint8_t ff_vc1_1ref_mvdata_bits [4][72]
 
const uint32_t ff_vc1_2ref_mvdata_codes [8][126]
 
const uint8_t ff_vc1_2ref_mvdata_bits [8][126]
 
const uint8_t ff_vc1_simple_progressive_4x4_zz [16]
 
const uint8_t ff_vc1_adv_progressive_8x4_zz [32]
 
const uint8_t ff_vc1_adv_progressive_4x8_zz [32]
 
const uint8_t ff_vc1_adv_interlaced_8x8_zz [64]
 
const uint8_t ff_vc1_adv_interlaced_8x4_zz [32]
 
const uint8_t ff_vc1_adv_interlaced_4x8_zz [32]
 
const uint8_t ff_vc1_adv_interlaced_4x4_zz [16]
 
const uint8_t ff_vc1_intra_horz_8x8_zz [64]
 
const uint8_t ff_vc1_intra_vert_8x8_zz [64]
 
const int32_t ff_vc1_dqscale [63]
 
const uint16_t ff_vc1_field_mvpred_scales [2][7][4]
 
const uint16_t ff_vc1_b_field_mvpred_scales [7][4]
 
const int ff_vc1_ac_sizes [AC_MODES]
 

VC-1 VLC tables and defines

Todo:
TODO move this into the context
#define VC1_BFRACTION_VLC_BITS   7
 
#define VC1_IMODE_VLC_BITS   4
 
#define VC1_NORM2_VLC_BITS   3
 
#define VC1_NORM6_VLC_BITS   9
 
#define VC1_TTMB_VLC_BITS   9
 
#define VC1_MV_DIFF_VLC_BITS   9
 
#define VC1_CBPCY_P_VLC_BITS   9
 
#define VC1_ICBPCY_VLC_BITS   9
 
#define VC1_4MV_BLOCK_PATTERN_VLC_BITS   6
 
#define VC1_2MV_BLOCK_PATTERN_VLC_BITS   3
 
#define VC1_TTBLK_VLC_BITS   5
 
#define VC1_SUBBLKPAT_VLC_BITS   6
 
#define VC1_INTFR_4MV_MBMODE_VLC_BITS   9
 
#define VC1_INTFR_NON4MV_MBMODE_VLC_BITS   6
 
#define VC1_IF_MMV_MBMODE_VLC_BITS   5
 
#define VC1_IF_1MV_MBMODE_VLC_BITS   5
 
#define VC1_1REF_MVDATA_VLC_BITS   9
 
#define VC1_2REF_MVDATA_VLC_BITS   9
 
#define VC1_IF_MBMODE_VLC_BITS   5
 
VLC ff_vc1_bfraction_vlc
 
VLC ff_vc1_imode_vlc
 
VLC ff_vc1_norm2_vlc
 
VLC ff_vc1_norm6_vlc
 
VLC ff_vc1_ttmb_vlc [3]
 
VLC ff_vc1_mv_diff_vlc [4]
 
VLC ff_vc1_cbpcy_p_vlc [4]
 
VLC ff_vc1_icbpcy_vlc [8]
 
VLC ff_vc1_4mv_block_pattern_vlc [4]
 
VLC ff_vc1_2mv_block_pattern_vlc [4]
 
VLC ff_vc1_ttblk_vlc [3]
 
VLC ff_vc1_subblkpat_vlc [3]
 
VLC ff_vc1_intfr_4mv_mbmode_vlc [4]
 
VLC ff_vc1_intfr_non4mv_mbmode_vlc [4]
 
VLC ff_vc1_if_mmv_mbmode_vlc [8]
 
VLC ff_vc1_if_1mv_mbmode_vlc [8]
 
VLC ff_vc1_1ref_mvdata_vlc [4]
 
VLC ff_vc1_2ref_mvdata_vlc [8]
 
VLC ff_vc1_ac_coeff_table [8]
 

Detailed Description

VC-1 tables.

Definition in file vc1data.h.

Macro Definition Documentation

#define AC_MODES   8

Definition at line 204 of file vc1data.h.

#define B_FRACTION_DEN   256

Definition at line 99 of file vc1data.h.

Referenced by scale_mv(), vc1_decode_b_mb(), and vc1_decode_b_mb_intfr().

#define VC1_1REF_MVDATA_VLC_BITS   9

Definition at line 87 of file vc1data.h.

#define VC1_2MV_BLOCK_PATTERN_VLC_BITS   3

Definition at line 73 of file vc1data.h.

#define VC1_2REF_MVDATA_VLC_BITS   9

Definition at line 89 of file vc1data.h.

#define VC1_4MV_BLOCK_PATTERN_VLC_BITS   6

Definition at line 71 of file vc1data.h.

#define VC1_BFRACTION_VLC_BITS   7

Definition at line 54 of file vc1data.h.

#define VC1_CBPCY_P_VLC_BITS   9

Definition at line 67 of file vc1data.h.

#define VC1_ICBPCY_VLC_BITS   9

Definition at line 69 of file vc1data.h.

#define VC1_IF_1MV_MBMODE_VLC_BITS   5

Definition at line 85 of file vc1data.h.

#define VC1_IF_MBMODE_VLC_BITS   5

Definition at line 94 of file vc1data.h.

#define VC1_IF_MMV_MBMODE_VLC_BITS   5

Definition at line 83 of file vc1data.h.

#define VC1_IMODE_VLC_BITS   4

Definition at line 56 of file vc1data.h.

#define VC1_INTFR_4MV_MBMODE_VLC_BITS   9

Definition at line 79 of file vc1data.h.

#define VC1_INTFR_NON4MV_MBMODE_VLC_BITS   6

Definition at line 81 of file vc1data.h.

#define VC1_MV_DIFF_VLC_BITS   9

Definition at line 65 of file vc1data.h.

#define VC1_NORM2_VLC_BITS   3

Definition at line 58 of file vc1data.h.

#define VC1_NORM6_VLC_BITS   9

Definition at line 60 of file vc1data.h.

#define VC1_SUBBLKPAT_VLC_BITS   6

Definition at line 77 of file vc1data.h.

#define VC1_TTBLK_VLC_BITS   5

Definition at line 75 of file vc1data.h.

#define VC1_TTMB_VLC_BITS   9

Definition at line 63 of file vc1data.h.

Variable Documentation

const uint8_t ff_vc1_1ref_mvdata_bits[4][72]

Definition at line 390 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint32_t ff_vc1_1ref_mvdata_codes[4][72]

Definition at line 343 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_1ref_mvdata_vlc[4]

Definition at line 139 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_2mv_block_pattern_bits[4][4]

Definition at line 262 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_2mv_block_pattern_codes[4][4]

Definition at line 258 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_2mv_block_pattern_vlc[4]

Definition at line 125 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_2ref_mvdata_bits[8][126]

Definition at line 565 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint32_t ff_vc1_2ref_mvdata_codes[8][126]

Definition at line 418 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_2ref_mvdata_vlc[8]

Definition at line 141 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_4mv_block_pattern_bits[4][16]

Definition at line 250 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_4mv_block_pattern_codes[4][16]

Definition at line 244 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_4mv_block_pattern_vlc[4]

Definition at line 123 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

VLC ff_vc1_ac_coeff_table[8]

Definition at line 143 of file vc1data.c.

Referenced by ff_vc1_init_common(), and vc1_decode_ac_coeff().

const int ff_vc1_ac_sizes[AC_MODES]

Definition at line 1133 of file vc1data.c.

Referenced by ff_vc1_init_common(), and vc1_decode_ac_coeff().

const uint8_t ff_vc1_adv_interlaced_4x4_zz[16]

Definition at line 1076 of file vc1data.c.

Referenced by vc1_decode_p_block().

const uint8_t ff_vc1_adv_interlaced_4x8_zz[32]

Definition at line 1065 of file vc1data.c.

Referenced by vc1_decode_p_block().

const uint8_t ff_vc1_adv_interlaced_8x4_zz[32]

Definition at line 1058 of file vc1data.c.

Referenced by vc1_decode_p_block().

const uint8_t ff_vc1_adv_interlaced_8x8_zz[64]

Definition at line 1047 of file vc1data.c.

Referenced by ff_vc1_init_transposed_scantables().

const uint8_t ff_vc1_adv_progressive_4x8_zz[32]

Definition at line 1036 of file vc1data.c.

Referenced by ff_vc1_decode_sequence_header().

const uint8_t ff_vc1_adv_progressive_8x4_zz[32]

Definition at line 1029 of file vc1data.c.

Referenced by ff_vc1_decode_sequence_header().

const uint16_t ff_vc1_b_field_mvpred_scales[7][4]

Definition at line 1121 of file vc1data.c.

Referenced by scaleforopp_x(), scaleforopp_y(), and scaleforsame().

const uint8_t ff_vc1_bfraction_bits[23]

Definition at line 174 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_bfraction_codes[23]

Definition at line 183 of file vc1data.c.

Referenced by ff_vc1_init_common().

const int16_t ff_vc1_bfraction_lut[23]

Definition at line 163 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

VLC ff_vc1_bfraction_vlc
const uint8_t ff_vc1_cbpcy_p_bits[4][64]

Definition at line 682 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint16_t ff_vc1_cbpcy_p_codes[4][64]

Definition at line 655 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_cbpcy_p_vlc[4]
const int32_t ff_vc1_dqscale[63]

Definition at line 1085 of file vc1data.c.

Referenced by vc1_decode_i_block_adv(), vc1_decode_intra_block(), and vc1_pred_dc().

const uint16_t ff_vc1_field_mvpred_scales[2][7][4]

Definition at line 1097 of file vc1data.c.

Referenced by scaleforopp(), scaleforsame_x(), and scaleforsame_y().

const int ff_vc1_fps_dr[2]

Definition at line 88 of file vc1data.c.

Referenced by decode_sequence_header_adv().

const int ff_vc1_fps_nr[7]

Definition at line 87 of file vc1data.c.

Referenced by decode_sequence_header_adv().

const uint8_t ff_vc1_icbpcy_p_bits[8][63]

Definition at line 793 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint16_t ff_vc1_icbpcy_p_codes[8][63]

Definition at line 710 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_icbpcy_vlc[8]

Definition at line 121 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_if_1mv_mbmode_bits[8][6]

Definition at line 329 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_if_1mv_mbmode_codes[8][6]

Definition at line 319 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_if_1mv_mbmode_vlc[8]

Definition at line 137 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_if_mmv_mbmode_bits[8][8]

Definition at line 308 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_if_mmv_mbmode_codes[8][8]

Definition at line 298 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_if_mmv_mbmode_vlc[8]

Definition at line 135 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_imode_bits[7]

Definition at line 217 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_imode_codes[7]

Definition at line 214 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_imode_vlc

Definition at line 108 of file vc1data.c.

Referenced by bitplane_decoding(), and ff_vc1_init_common().

const uint8_t ff_vc1_intfr_4mv_mbmode_bits[4][15]

Definition at line 274 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint16_t ff_vc1_intfr_4mv_mbmode_codes[4][15]

Definition at line 267 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_intfr_4mv_mbmode_vlc[4]

Definition at line 131 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_intfr_non4mv_mbmode_bits[4][9]

Definition at line 289 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_intfr_non4mv_mbmode_codes[4][9]

Definition at line 282 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_intfr_non4mv_mbmode_vlc[4]

Definition at line 133 of file vc1data.c.

Referenced by ff_vc1_init_common(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_intra_horz_8x8_zz[64]
const uint8_t ff_vc1_intra_vert_8x8_zz[64]
const uint8_t ff_vc1_mbmode_intfrp[2][15][4]

Definition at line 53 of file vc1data.c.

Referenced by vc1_decode_b_mb_intfr(), and vc1_decode_p_mb_intfr().

const uint8_t ff_vc1_mv_diff_bits[4][73]

Definition at line 987 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint16_t ff_vc1_mv_diff_codes[4][73]

Definition at line 937 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_mv_diff_vlc[4]

Definition at line 117 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_mv_pmode_table[2][5]

MV P mode - the 5th element is only used for mode 1.

Definition at line 43 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_mv_pmode_table2[2][4]

Definition at line 47 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_norm2_bits[4]

Definition at line 225 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_norm2_codes[4]

Definition at line 222 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_norm2_vlc

Definition at line 110 of file vc1data.c.

Referenced by bitplane_decoding(), and ff_vc1_init_common().

const uint8_t ff_vc1_norm6_bits[64]

Definition at line 236 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint16_t ff_vc1_norm6_codes[64]

Definition at line 229 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_norm6_spec[64][5]
VLC ff_vc1_norm6_vlc

Definition at line 112 of file vc1data.c.

Referenced by bitplane_decoding(), and ff_vc1_init_common().

const AVRational ff_vc1_pixel_aspect[16]

Definition at line 194 of file vc1data.c.

Referenced by decode_sequence_header_adv().

const uint8_t ff_vc1_pquant_table[3][32]

Definition at line 89 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_simple_progressive_4x4_zz[16]

Definition at line 1022 of file vc1data.c.

Referenced by vc1_decode_p_block().

const uint8_t ff_vc1_subblkpat_bits[3][15]

Definition at line 930 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_subblkpat_codes[3][15]

Definition at line 925 of file vc1data.c.

Referenced by ff_vc1_init_common().

VLC ff_vc1_subblkpat_vlc[3]

Definition at line 129 of file vc1data.c.

Referenced by ff_vc1_init_common(), and vc1_decode_p_block().

const uint8_t ff_vc1_ttblk_bits[3][8]

Definition at line 918 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_vc1_ttblk_codes[3][8]

Definition at line 913 of file vc1data.c.

Referenced by ff_vc1_init_common().

const int ff_vc1_ttblk_to_tt[3][8]

Table for conversion between TTBLK and TTMB.

Definition at line 34 of file vc1data.c.

Referenced by vc1_decode_p_block().

VLC ff_vc1_ttblk_vlc[3]

Definition at line 127 of file vc1data.c.

Referenced by ff_vc1_init_common(), and vc1_decode_p_block().

const int ff_vc1_ttfrm_to_tt[4]

Definition at line 40 of file vc1data.c.

Referenced by ff_vc1_parse_frame_header(), and ff_vc1_parse_frame_header_adv().

const uint8_t ff_vc1_ttmb_bits[3][16]

Definition at line 882 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint16_t ff_vc1_ttmb_codes[3][16]

Definition at line 852 of file vc1data.c.

Referenced by ff_vc1_init_common().

const uint8_t ff_wmv3_dc_scale_table[32]

Definition at line 648 of file vc1data.c.

Referenced by ff_msmpeg4_common_init().