comparison vc1data.h @ 4949:845386be542c libavcodec

Add ff_ prefix to (externally) visible variables
author kostya
date Wed, 09 May 2007 16:59:46 +0000
parents 67975429cb40
children 4394344397d8
comparison
equal deleted inserted replaced
4948:74caff45a271 4949:845386be542c
27 27
28 #ifndef VC1DATA_H 28 #ifndef VC1DATA_H
29 #define VC1DATA_H 29 #define VC1DATA_H
30 30
31 /** Table for conversion between TTBLK and TTMB */ 31 /** Table for conversion between TTBLK and TTMB */
32 extern const int vc1_ttblk_to_tt[3][8]; 32 extern const int ff_vc1_ttblk_to_tt[3][8];
33 33
34 extern const int vc1_ttfrm_to_tt[4]; 34 extern const int ff_vc1_ttfrm_to_tt[4];
35 35
36 /** MV P mode - the 5th element is only used for mode 1 */ 36 /** MV P mode - the 5th element is only used for mode 1 */
37 extern const uint8_t vc1_mv_pmode_table[2][5]; 37 extern const uint8_t ff_vc1_mv_pmode_table[2][5];
38 extern const uint8_t vc1_mv_pmode_table2[2][4]; 38 extern const uint8_t ff_vc1_mv_pmode_table2[2][4];
39 39
40 extern const int vc1_fps_nr[5], vc1_fps_dr[2]; 40 extern const int ff_vc1_fps_nr[5], ff_vc1_fps_dr[2];
41 extern const uint8_t vc1_pquant_table[3][32]; 41 extern const uint8_t ff_vc1_pquant_table[3][32];
42 42
43 /** @name VC-1 VLC tables and defines 43 /** @name VC-1 VLC tables and defines
44 * @todo TODO move this into the context 44 * @todo TODO move this into the context
45 */ 45 */
46 //@{ 46 //@{
47 #define VC1_BFRACTION_VLC_BITS 7 47 #define VC1_BFRACTION_VLC_BITS 7
48 extern VLC vc1_bfraction_vlc; 48 extern VLC ff_vc1_bfraction_vlc;
49 #define VC1_IMODE_VLC_BITS 4 49 #define VC1_IMODE_VLC_BITS 4
50 extern VLC vc1_imode_vlc; 50 extern VLC ff_vc1_imode_vlc;
51 #define VC1_NORM2_VLC_BITS 3 51 #define VC1_NORM2_VLC_BITS 3
52 extern VLC vc1_norm2_vlc; 52 extern VLC ff_vc1_norm2_vlc;
53 #define VC1_NORM6_VLC_BITS 9 53 #define VC1_NORM6_VLC_BITS 9
54 extern VLC vc1_norm6_vlc; 54 extern VLC ff_vc1_norm6_vlc;
55 /* Could be optimized, one table only needs 8 bits */ 55 /* Could be optimized, one table only needs 8 bits */
56 #define VC1_TTMB_VLC_BITS 9 //12 56 #define VC1_TTMB_VLC_BITS 9 //12
57 extern VLC vc1_ttmb_vlc[3]; 57 extern VLC ff_vc1_ttmb_vlc[3];
58 #define VC1_MV_DIFF_VLC_BITS 9 //15 58 #define VC1_MV_DIFF_VLC_BITS 9 //15
59 extern VLC vc1_mv_diff_vlc[4]; 59 extern VLC ff_vc1_mv_diff_vlc[4];
60 #define VC1_CBPCY_P_VLC_BITS 9 //14 60 #define VC1_CBPCY_P_VLC_BITS 9 //14
61 extern VLC vc1_cbpcy_p_vlc[4]; 61 extern VLC ff_vc1_cbpcy_p_vlc[4];
62 #define VC1_4MV_BLOCK_PATTERN_VLC_BITS 6 62 #define VC1_4MV_BLOCK_PATTERN_VLC_BITS 6
63 extern VLC vc1_4mv_block_pattern_vlc[4]; 63 extern VLC ff_vc1_4mv_block_pattern_vlc[4];
64 #define VC1_TTBLK_VLC_BITS 5 64 #define VC1_TTBLK_VLC_BITS 5
65 extern VLC vc1_ttblk_vlc[3]; 65 extern VLC ff_vc1_ttblk_vlc[3];
66 #define VC1_SUBBLKPAT_VLC_BITS 6 66 #define VC1_SUBBLKPAT_VLC_BITS 6
67 extern VLC vc1_subblkpat_vlc[3]; 67 extern VLC ff_vc1_subblkpat_vlc[3];
68 68
69 extern VLC vc1_ac_coeff_table[8]; 69 extern VLC ff_vc1_ac_coeff_table[8];
70 //@} 70 //@}
71 71
72 72
73 #if 0 //original bfraction from vc9data.h, not conforming to standard 73 #if 0 //original bfraction from vc9data.h, not conforming to standard
74 /* Denominator used for vc1_bfraction_lut */ 74 /* Denominator used for ff_vc1_bfraction_lut */
75 #define B_FRACTION_DEN 840 75 #define B_FRACTION_DEN 840
76 76
77 /* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */ 77 /* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */
78 extern const int16_t vc1_bfraction_lut[23]; 78 extern const int16_t ff_vc1_bfraction_lut[23];
79 #else 79 #else
80 /* Denominator used for vc1_bfraction_lut */ 80 /* Denominator used for ff_vc1_bfraction_lut */
81 #define B_FRACTION_DEN 256 81 #define B_FRACTION_DEN 256
82 82
83 /* pre-computed scales for all bfractions and base=256 */ 83 /* pre-computed scales for all bfractions and base=256 */
84 extern const int16_t vc1_bfraction_lut[23]; 84 extern const int16_t ff_vc1_bfraction_lut[23];
85 #endif 85 #endif
86 86
87 extern const uint8_t vc1_bfraction_bits[23]; 87 extern const uint8_t ff_vc1_bfraction_bits[23];
88 extern const uint8_t vc1_bfraction_codes[23]; 88 extern const uint8_t ff_vc1_bfraction_codes[23];
89 89
90 //Same as H.264 90 //Same as H.264
91 extern const AVRational vc1_pixel_aspect[16]; 91 extern const AVRational ff_vc1_pixel_aspect[16];
92 92
93 /* BitPlane IMODE - such a small table... */ 93 /* BitPlane IMODE - such a small table... */
94 extern const uint8_t vc1_imode_codes[7]; 94 extern const uint8_t ff_vc1_imode_codes[7];
95 extern const uint8_t vc1_imode_bits[7]; 95 extern const uint8_t ff_vc1_imode_bits[7];
96 96
97 /* Normal-2 imode */ 97 /* Normal-2 imode */
98 extern const uint8_t vc1_norm2_codes[4]; 98 extern const uint8_t ff_vc1_norm2_codes[4];
99 extern const uint8_t vc1_norm2_bits[4]; 99 extern const uint8_t ff_vc1_norm2_bits[4];
100 extern const uint16_t vc1_norm6_codes[64]; 100 extern const uint16_t ff_vc1_norm6_codes[64];
101 extern const uint8_t vc1_norm6_bits[64]; 101 extern const uint8_t ff_vc1_norm6_bits[64];
102 /* Normal-6 imode */ 102 /* Normal-6 imode */
103 extern const uint8_t vc1_norm6_spec[64][5]; 103 extern const uint8_t ff_vc1_norm6_spec[64][5];
104 104
105 /* 4MV Block pattern VLC tables */ 105 /* 4MV Block pattern VLC tables */
106 extern const uint8_t vc1_4mv_block_pattern_codes[4][16]; 106 extern const uint8_t ff_vc1_4mv_block_pattern_codes[4][16];
107 extern const uint8_t vc1_4mv_block_pattern_bits[4][16]; 107 extern const uint8_t ff_vc1_4mv_block_pattern_bits[4][16];
108 108
109 extern const uint8_t wmv3_dc_scale_table[32]; 109 extern const uint8_t wmv3_dc_scale_table[32];
110 110
111 /* P-Picture CBPCY VLC tables */ 111 /* P-Picture CBPCY VLC tables */
112 extern const uint16_t vc1_cbpcy_p_codes[4][64]; 112 extern const uint16_t ff_vc1_cbpcy_p_codes[4][64];
113 extern const uint8_t vc1_cbpcy_p_bits[4][64]; 113 extern const uint8_t ff_vc1_cbpcy_p_bits[4][64];
114 114
115 /* MacroBlock Transform Type: 7.1.3.11, p89 115 /* MacroBlock Transform Type: 7.1.3.11, p89
116 * 8x8:B 116 * 8x8:B
117 * 8x4:B:btm 8x4:B:top 8x4:B:both, 117 * 8x4:B:btm 8x4:B:top 8x4:B:both,
118 * 4x8:B:right 4x8:B:left 4x8:B:both 118 * 4x8:B:right 4x8:B:left 4x8:B:both
119 * 4x4:B 8x8:MB 119 * 4x4:B 8x8:MB
120 * 8x4:MB:btm 8x4:MB:top 8x4,MB,both 120 * 8x4:MB:btm 8x4:MB:top 8x4,MB,both
121 * 4x8,MB,right 4x8,MB,left 121 * 4x8,MB,right 4x8,MB,left
122 * 4x4,MB */ 122 * 4x4,MB */
123 extern const uint16_t vc1_ttmb_codes[3][16]; 123 extern const uint16_t ff_vc1_ttmb_codes[3][16];
124 124
125 extern const uint8_t vc1_ttmb_bits[3][16]; 125 extern const uint8_t ff_vc1_ttmb_bits[3][16];
126 126
127 /* TTBLK (Transform Type per Block) tables */ 127 /* TTBLK (Transform Type per Block) tables */
128 extern const uint8_t vc1_ttblk_codes[3][8]; 128 extern const uint8_t ff_vc1_ttblk_codes[3][8];
129 extern const uint8_t vc1_ttblk_bits[3][8]; 129 extern const uint8_t ff_vc1_ttblk_bits[3][8];
130 130
131 /* SUBBLKPAT tables, p93-94, reordered */ 131 /* SUBBLKPAT tables, p93-94, reordered */
132 extern const uint8_t vc1_subblkpat_codes[3][15]; 132 extern const uint8_t ff_vc1_subblkpat_codes[3][15];
133 extern const uint8_t vc1_subblkpat_bits[3][15]; 133 extern const uint8_t ff_vc1_subblkpat_bits[3][15];
134 134
135 /* MV differential tables, p265 */ 135 /* MV differential tables, p265 */
136 extern const uint16_t vc1_mv_diff_codes[4][73]; 136 extern const uint16_t ff_vc1_mv_diff_codes[4][73];
137 extern const uint8_t vc1_mv_diff_bits[4][73]; 137 extern const uint8_t ff_vc1_mv_diff_bits[4][73];
138 138
139 /* DC differentials low+hi-mo, p217 are the same as in msmpeg4data .h */ 139 /* DC differentials low+hi-mo, p217 are the same as in msmpeg4data .h */
140 140
141 /* Scantables/ZZ scan are at 11.9 (p262) and 8.1.1.12 (p10) */ 141 /* Scantables/ZZ scan are at 11.9 (p262) and 8.1.1.12 (p10) */
142 extern const int8_t vc1_normal_zz[64]; 142 extern const int8_t ff_vc1_normal_zz[64];
143 extern const int8_t vc1_horizontal_zz [64]; 143 extern const int8_t ff_vc1_horizontal_zz [64];
144 extern const int8_t vc1_vertical_zz [64]; 144 extern const int8_t ff_vc1_vertical_zz [64];
145 extern const int8_t vc1_simple_progressive_8x8_zz [64]; 145 extern const int8_t ff_vc1_simple_progressive_8x8_zz [64];
146 extern const int8_t vc1_simple_progressive_8x4_zz [32]; 146 extern const int8_t ff_vc1_simple_progressive_8x4_zz [32];
147 extern const int8_t vc1_simple_progressive_4x8_zz [32]; 147 extern const int8_t ff_vc1_simple_progressive_4x8_zz [32];
148 extern const int8_t vc1_simple_progressive_4x4_zz [16]; 148 extern const int8_t ff_vc1_simple_progressive_4x4_zz [16];
149 extern const int8_t vc1_adv_progressive_8x4_zz [32]; 149 extern const int8_t ff_vc1_adv_progressive_8x4_zz [32];
150 extern const int8_t vc1_adv_progressive_4x8_zz [32]; 150 extern const int8_t ff_vc1_adv_progressive_4x8_zz [32];
151 extern const int8_t vc1_adv_interlaced_8x8_zz [64]; 151 extern const int8_t ff_vc1_adv_interlaced_8x8_zz [64];
152 extern const int8_t vc1_adv_interlaced_8x4_zz [32]; 152 extern const int8_t ff_vc1_adv_interlaced_8x4_zz [32];
153 extern const int8_t vc1_adv_interlaced_4x8_zz [32]; 153 extern const int8_t ff_vc1_adv_interlaced_4x8_zz [32];
154 extern const int8_t vc1_adv_interlaced_4x4_zz [16]; 154 extern const int8_t ff_vc1_adv_interlaced_4x4_zz [16];
155 155
156 /* DQScale as specified in 8.1.3.9 - almost identical to 0x40000/i */ 156 /* DQScale as specified in 8.1.3.9 - almost identical to 0x40000/i */
157 extern const int32_t vc1_dqscale[63]; 157 extern const int32_t ff_vc1_dqscale[63];
158 158
159 #endif /* VC1DATA_H */ 159 #endif /* VC1DATA_H */