Mercurial > libavcodec.hg
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 */ |