annotate vc1data.c @ 12530:63edd10ad4bc libavcodec tip

Try to fix crashes introduced by r25218 r25218 made assumptions about the existence of past reference frames that weren't necessarily true.
author darkshikari
date Tue, 28 Sep 2010 09:06:22 +0000
parents 7dd2a45249a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
1 /*
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
2 * VC-1 and WMV3 decoder
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
3 * copyright (c) 2006 Konstantin Shishkov
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
4 * (c) 2005 anonymous, Alex Beregszaszi, Michael Niedermayer
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
5 *
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
6 * This file is part of FFmpeg.
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
7 *
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
8 * FFmpeg is free software; you can redistribute it and/or
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
9 * modify it under the terms of the GNU Lesser General Public
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
10 * License as published by the Free Software Foundation; either
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
11 * version 2.1 of the License, or (at your option) any later version.
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
12 *
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
13 * FFmpeg is distributed in the hope that it will be useful,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
16 * Lesser General Public License for more details.
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
17 *
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
18 * You should have received a copy of the GNU Lesser General Public
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
19 * License along with FFmpeg; if not, write to the Free Software
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
21 */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
22
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
23 /**
11644
7dd2a45249a9 Remove explicit filename from Doxygen @file commands.
diego
parents: 8718
diff changeset
24 * @file
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
25 * VC-1 tables.
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
26 */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
27
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
28 #include "avcodec.h"
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
29 #include "vc1.h"
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
30 #include "vc1data.h"
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
32 /** Table for conversion between TTBLK and TTMB */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
33 const int ff_vc1_ttblk_to_tt[3][8] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
34 { TT_8X4, TT_4X8, TT_8X8, TT_4X4, TT_8X4_TOP, TT_8X4_BOTTOM, TT_4X8_RIGHT, TT_4X8_LEFT },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
35 { TT_8X8, TT_4X8_RIGHT, TT_4X8_LEFT, TT_4X4, TT_8X4, TT_4X8, TT_8X4_BOTTOM, TT_8X4_TOP },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
36 { TT_8X8, TT_4X8, TT_4X4, TT_8X4_BOTTOM, TT_4X8_RIGHT, TT_4X8_LEFT, TT_8X4, TT_8X4_TOP }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
37 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
38
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
39 const int ff_vc1_ttfrm_to_tt[4] = { TT_8X8, TT_8X4, TT_4X8, TT_4X4 };
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
40
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
41 /** MV P mode - the 5th element is only used for mode 1 */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
42 const uint8_t ff_vc1_mv_pmode_table[2][5] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
43 { MV_PMODE_1MV_HPEL_BILIN, MV_PMODE_1MV, MV_PMODE_1MV_HPEL, MV_PMODE_INTENSITY_COMP, MV_PMODE_MIXED_MV },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
44 { MV_PMODE_1MV, MV_PMODE_MIXED_MV, MV_PMODE_1MV_HPEL, MV_PMODE_INTENSITY_COMP, MV_PMODE_1MV_HPEL_BILIN }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
45 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
46 const uint8_t ff_vc1_mv_pmode_table2[2][4] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
47 { MV_PMODE_1MV_HPEL_BILIN, MV_PMODE_1MV, MV_PMODE_1MV_HPEL, MV_PMODE_MIXED_MV },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
48 { MV_PMODE_1MV, MV_PMODE_MIXED_MV, MV_PMODE_1MV_HPEL, MV_PMODE_1MV_HPEL_BILIN }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
49 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
50
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
51 const int ff_vc1_fps_nr[5] = { 24, 25, 30, 50, 60 },
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
52 ff_vc1_fps_dr[2] = { 1000, 1001 };
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
53 const uint8_t ff_vc1_pquant_table[3][32] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
54 { /* Implicit quantizer */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
55 0, 1, 2, 3, 4, 5, 6, 7, 8, 6, 7, 8, 9, 10, 11, 12,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
56 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
57 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
58 { /* Explicit quantizer, pquantizer uniform */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
59 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
60 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
61 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
62 { /* Explicit quantizer, pquantizer non-uniform */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
63 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
64 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
65 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
66 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
67
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
68 /** @name VC-1 VLC tables and defines
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
69 * @todo TODO move this into the context
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
70 */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
71 //@{
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
72 #define VC1_BFRACTION_VLC_BITS 7
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
73 VLC ff_vc1_bfraction_vlc;
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
74 #define VC1_IMODE_VLC_BITS 4
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
75 VLC ff_vc1_imode_vlc;
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
76 #define VC1_NORM2_VLC_BITS 3
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
77 VLC ff_vc1_norm2_vlc;
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
78 #define VC1_NORM6_VLC_BITS 9
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
79 VLC ff_vc1_norm6_vlc;
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
80 /* Could be optimized, one table only needs 8 bits */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
81 #define VC1_TTMB_VLC_BITS 9 //12
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
82 VLC ff_vc1_ttmb_vlc[3];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
83 #define VC1_MV_DIFF_VLC_BITS 9 //15
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
84 VLC ff_vc1_mv_diff_vlc[4];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
85 #define VC1_CBPCY_P_VLC_BITS 9 //14
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
86 VLC ff_vc1_cbpcy_p_vlc[4];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
87 #define VC1_4MV_BLOCK_PATTERN_VLC_BITS 6
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
88 VLC ff_vc1_4mv_block_pattern_vlc[4];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
89 #define VC1_TTBLK_VLC_BITS 5
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
90 VLC ff_vc1_ttblk_vlc[3];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
91 #define VC1_SUBBLKPAT_VLC_BITS 6
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
92 VLC ff_vc1_subblkpat_vlc[3];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
93
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
94 VLC ff_vc1_ac_coeff_table[8];
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
95 //@}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
96
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
97
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
98 #if B_FRACTION_DEN==840 //original bfraction from vc9data.h, not conforming to standard
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
99 /* bfraction is fractional, we scale to the GCD 3*5*7*8 = 840 */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
100 const int16_t ff_vc1_bfraction_lut[23] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
101 420 /*1/2*/, 280 /*1/3*/, 560 /*2/3*/, 210 /*1/4*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
102 630 /*3/4*/, 168 /*1/5*/, 336 /*2/5*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
103 504 /*3/5*/, 672 /*4/5*/, 140 /*1/6*/, 700 /*5/6*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
104 120 /*1/7*/, 240 /*2/7*/, 360 /*3/7*/, 480 /*4/7*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
105 600 /*5/7*/, 720 /*6/7*/, 105 /*1/8*/, 315 /*3/8*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
106 525 /*5/8*/, 735 /*7/8*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
107 -1 /*inv.*/, 0 /*BI fm*/
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
108 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
109 #else
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
110 /* pre-computed scales for all bfractions and base=256 */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
111 const int16_t ff_vc1_bfraction_lut[23] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
112 128 /*1/2*/, 85 /*1/3*/, 170 /*2/3*/, 64 /*1/4*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
113 192 /*3/4*/, 51 /*1/5*/, 102 /*2/5*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
114 153 /*3/5*/, 204 /*4/5*/, 43 /*1/6*/, 215 /*5/6*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
115 37 /*1/7*/, 74 /*2/7*/, 111 /*3/7*/, 148 /*4/7*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
116 185 /*5/7*/, 222 /*6/7*/, 32 /*1/8*/, 96 /*3/8*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
117 160 /*5/8*/, 224 /*7/8*/,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
118 -1 /*inv.*/, 0 /*BI fm*/
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
119 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
120 #endif
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
121
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
122 const uint8_t ff_vc1_bfraction_bits[23] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
123 3, 3, 3, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
124 3, 3, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
125 7, 7, 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
126 7, 7, 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
127 7, 7, 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
128 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
129 7, 7
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
130 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
131 const uint8_t ff_vc1_bfraction_codes[23] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
132 0, 1, 2, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
133 4, 5, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
134 112, 113, 114, 115,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
135 116, 117, 118, 119,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
136 120, 121, 122, 123,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
137 124, 125,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
138 126, 127
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
139 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
140
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
141 //Same as H.264
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
142 const AVRational ff_vc1_pixel_aspect[16]={
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
143 {0, 1},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
144 {1, 1},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
145 {12, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
146 {10, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
147 {16, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
148 {40, 33},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
149 {24, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
150 {20, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
151 {32, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
152 {80, 33},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
153 {18, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
154 {15, 11},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
155 {64, 33},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
156 {160, 99},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
157 {0, 1},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
158 {0, 1}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
159 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
160
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
161 /* BitPlane IMODE - such a small table... */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
162 const uint8_t ff_vc1_imode_codes[7] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
163 0, 2, 1, 3, 1, 2, 3
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
164 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
165 const uint8_t ff_vc1_imode_bits[7] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
166 4, 2, 3, 2, 4, 3, 3
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
167 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
168
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
169 /* Normal-2 imode */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
170 const uint8_t ff_vc1_norm2_codes[4] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
171 0, 4, 5, 3
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
172 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
173 const uint8_t ff_vc1_norm2_bits[4] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
174 1, 3, 3, 2
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
175 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
176
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
177 const uint16_t ff_vc1_norm6_codes[64] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
178 0x001, 0x002, 0x003, 0x000, 0x004, 0x001, 0x002, 0x047, 0x005, 0x003, 0x004, 0x04B, 0x005, 0x04D, 0x04E, 0x30E,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
179 0x006, 0x006, 0x007, 0x053, 0x008, 0x055, 0x056, 0x30D, 0x009, 0x059, 0x05A, 0x30C, 0x05C, 0x30B, 0x30A, 0x037,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
180 0x007, 0x00A, 0x00B, 0x043, 0x00C, 0x045, 0x046, 0x309, 0x00D, 0x049, 0x04A, 0x308, 0x04C, 0x307, 0x306, 0x036,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
181 0x00E, 0x051, 0x052, 0x305, 0x054, 0x304, 0x303, 0x035, 0x058, 0x302, 0x301, 0x034, 0x300, 0x033, 0x032, 0x007,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
182 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
183
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
184 const uint8_t ff_vc1_norm6_bits[64] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
185 1, 4, 4, 8, 4, 8, 8, 10, 4, 8, 8, 10, 8, 10, 10, 13,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
186 4, 8, 8, 10, 8, 10, 10, 13, 8, 10, 10, 13, 10, 13, 13, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
187 4, 8, 8, 10, 8, 10, 10, 13, 8, 10, 10, 13, 10, 13, 13, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
188 8, 10, 10, 13, 10, 13, 13, 9, 10, 13, 13, 9, 13, 9, 9, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
189 };
6724
4c47bb2a0c8b Comment out unused ff_vc1_norm6_spec table.
diego
parents: 4949
diff changeset
190 #if 0
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
191 /* Normal-6 imode */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
192 const uint8_t ff_vc1_norm6_spec[64][5] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
193 { 0, 1, 1 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
194 { 1, 2, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
195 { 2, 3, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
196 { 3, 0, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
197 { 4, 4, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
198 { 5, 1, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
199 { 6, 2, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
200 { 7, 2, 5, 7, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
201 { 8, 5, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
202 { 9, 3, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
203 {10, 4, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
204 {11, 2, 5, 11, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
205 {12, 5, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
206 {13, 2, 5, 13, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
207 {14, 2, 5, 14, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
208 {15, 3, 5, 14, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
209 {16, 6, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
210 {17, 6, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
211 {18, 7, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
212 {19, 2, 5, 19, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
213 {20, 8, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
214 {21, 2, 5, 21, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
215 {22, 2, 5, 22, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
216 {23, 3, 5, 13, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
217 {24, 9, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
218 {25, 2, 5, 25, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
219 {26, 2, 5, 26, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
220 {27, 3, 5, 12, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
221 {28, 2, 5, 28, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
222 {29, 3, 5, 11, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
223 {30, 3, 5, 10, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
224 {31, 3, 5, 7, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
225 {32, 7, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
226 {33, 10, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
227 {34, 11, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
228 {35, 2, 5, 3, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
229 {36, 12, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
230 {37, 2, 5, 5, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
231 {38, 2, 5, 6, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
232 {39, 3, 5, 9, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
233 {40, 13, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
234 {41, 2, 5, 9, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
235 {42, 2, 5, 10, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
236 {43, 3, 5, 8, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
237 {44, 2, 5, 12, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
238 {45, 3, 5, 7, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
239 {46, 3, 5, 6, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
240 {47, 3, 5, 6, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
241 {48, 14, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
242 {49, 2, 5, 17, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
243 {50, 2, 5, 18, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
244 {51, 3, 5, 5, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
245 {52, 2, 5, 20, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
246 {53, 3, 5, 4, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
247 {54, 3, 5, 3, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
248 {55, 3, 5, 5, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
249 {56, 2, 5, 24, 5 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
250 {57, 3, 5, 2, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
251 {58, 3, 5, 1, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
252 {59, 3, 5, 4, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
253 {60, 3, 5, 0, 8 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
254 {61, 3, 5, 3, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
255 {62, 3, 5, 2, 4 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
256 {63, 3, 5, 1, 1 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
257 };
6724
4c47bb2a0c8b Comment out unused ff_vc1_norm6_spec table.
diego
parents: 4949
diff changeset
258 #endif
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
259
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
260 /* 4MV Block pattern VLC tables */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
261 const uint8_t ff_vc1_4mv_block_pattern_codes[4][16] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
262 { 14, 58, 59, 25, 12, 26, 15, 15, 13, 24, 27, 0, 28, 1, 2, 2},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
263 { 8, 18, 19, 4, 20, 5, 30, 11, 21, 31, 6, 12, 7, 13, 14, 0},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
264 { 15, 6, 7, 2, 8, 3, 28, 9, 10, 29, 4, 11, 5, 12, 13, 0},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
265 { 0, 11, 12, 4, 13, 5, 30, 16, 14, 31, 6, 17, 7, 18, 19, 10}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
266 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
267 const uint8_t ff_vc1_4mv_block_pattern_bits[4][16] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
268 { 5, 6, 6, 5, 5, 5, 5, 4, 5, 5, 5, 3, 5, 3, 3, 2},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
269 { 4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 4, 4, 4, 4, 4, 2},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
270 { 4, 4, 4, 4, 4, 4, 5, 4, 4, 5, 4, 4, 4, 4, 4, 3},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
271 { 2, 4, 4, 4, 4, 4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 4}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
272 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
273
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
274 const uint8_t wmv3_dc_scale_table[32]={
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
275 0, 2, 4, 8, 8, 8, 9, 9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
276 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
277
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
278 /* P-Picture CBPCY VLC tables */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
279 #if 1 // Looks like original tables are not conforming to standard at all. Are they used for old WMV?
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
280 const uint16_t ff_vc1_cbpcy_p_codes[4][64] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
281 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
282 0, 6, 15, 13, 13, 11, 3, 13, 5, 8, 49, 10, 12, 114, 102, 119,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
283 1, 54, 96, 8, 10, 111, 5, 15, 12, 10, 2, 12, 13, 115, 53, 63,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
284 1, 7, 1, 7, 14, 12, 4, 14, 1, 9, 97, 11, 7, 58, 52, 62,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
285 4, 103, 1, 9, 11, 56, 101, 118, 4, 110, 100, 30, 2, 5, 4, 3
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
286 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
287 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
288 0, 9, 1, 18, 5, 14, 237, 26, 3, 121, 3, 22, 13, 16, 6, 30,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
289 2, 10, 1, 20, 12, 241, 5, 28, 16, 12, 3, 24, 28, 124, 239, 247,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
290 1, 240, 1, 19, 18, 15, 4, 27, 1, 122, 2, 23, 1, 17, 7, 31,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
291 1, 11, 2, 21, 19, 246, 238, 29, 17, 13, 236, 25, 58, 63, 8, 125
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
292 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
293 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
294 0, 201, 25, 231, 5, 221, 1, 3, 2, 414, 2, 241, 16, 225, 195, 492,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
295 2, 412, 1, 240, 7, 224, 98, 245, 1, 220, 96, 5, 9, 230, 101, 247,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
296 1, 102, 1, 415, 24, 3, 2, 244, 3, 54, 3, 484, 17, 114, 200, 493,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
297 3, 413, 1, 4, 13, 113, 99, 485, 4, 111, 194, 243, 5, 29, 26, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
298 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
299 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
300 0, 28, 12, 44, 3, 36, 20, 52, 2, 32, 16, 48, 8, 40, 24, 28,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
301 1, 30, 14, 46, 6, 38, 22, 54, 3, 34, 18, 50, 10, 42, 26, 30,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
302 1, 29, 13, 45, 5, 37, 21, 53, 2, 33, 17, 49, 9, 41, 25, 29,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
303 1, 31, 15, 47, 7, 39, 23, 55, 4, 35, 19, 51, 11, 43, 27, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
304 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
305 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
306
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
307 const uint8_t ff_vc1_cbpcy_p_bits[4][64] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
308 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
309 13, 13, 7, 13, 7, 13, 13, 12, 6, 13, 7, 12, 6, 8, 8, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
310 5, 7, 8, 12, 6, 8, 13, 12, 7, 13, 13, 12, 6, 8, 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
311 6, 13, 8, 12, 7, 13, 13, 12, 7, 13, 8, 12, 5, 7, 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
312 6, 8, 13, 12, 6, 7, 8, 8, 5, 8, 8, 6, 3, 3, 3, 2
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
313 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
314 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
315 14, 13, 8, 13, 3, 13, 8, 13, 3, 7, 8, 13, 4, 13, 13, 13,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
316 3, 13, 13, 13, 4, 8, 13, 13, 5, 13, 13, 13, 5, 7, 8, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
317 3, 8, 14, 13, 5, 13, 13, 13, 4, 7, 13, 13, 6, 13, 13, 13,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
318 5, 13, 8, 13, 5, 8, 8, 13, 5, 13, 8, 13, 6, 6, 13, 7
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
319 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
320 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
321 13, 8, 6, 8, 4, 8, 13, 12, 4, 9, 8, 8, 5, 8, 8, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
322 5, 9, 10, 8, 4, 8, 7, 8, 6, 8, 7, 13, 4, 8, 7, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
323 5, 7, 8, 9, 6, 13, 13, 8, 4, 6, 8, 9, 5, 7, 8, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
324 5, 9, 9, 13, 5, 7, 7, 9, 4, 7, 8, 8, 3, 5, 5, 5
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
325 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
326 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
327 9, 9, 9, 9, 2, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
328 3, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
329 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
330 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
331 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
332 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
333 #else
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
334 const uint16_t ff_vc1_cbpcy_p_codes[4][64] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
335 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
336 0, 1, 1, 4, 5, 1, 12, 4, 13, 14, 10, 11, 12, 7, 13, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
337 15, 1, 96, 1, 49, 97, 2, 100, 3, 4, 5, 101, 102, 52, 53, 4,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
338 6, 7, 54, 103, 8, 9, 10, 110, 11, 12, 111, 56, 114, 58, 115, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
339 13, 7, 8, 9, 10, 11, 12, 30, 13, 14, 15, 118, 119, 62, 63, 3
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
340 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
341 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
342 0, 1, 2, 1, 3, 1, 16, 17, 5, 18, 12, 19, 13, 1, 28, 58,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
343 1, 1, 1, 2, 3, 2, 3, 236, 237, 4, 5, 238, 6, 7, 239, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
344 9, 240, 10, 11, 121, 122, 12, 13, 14, 15, 241, 246, 16, 17, 124, 63,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
345 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 247, 125
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
346 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
347 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
348 0, 1, 2, 3, 2, 3, 1, 4, 5, 24, 7, 13, 16, 17, 9, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
349 25, 1, 1, 1, 2, 3, 96, 194, 1, 2, 98, 99, 195, 200, 101, 26,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
350 201, 102, 412, 413, 414, 54, 220, 111, 221, 3, 224, 113, 225, 114, 230, 29,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
351 231, 415, 240, 4, 241, 484, 5, 243, 3, 244, 245, 485, 492, 493, 247, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
352 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
353 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
354 0, 1, 1, 1, 2, 2, 3, 4, 3, 5, 6, 7, 8, 9, 10, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
355 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
356 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
357 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 28, 29, 30, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
358 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
359 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
360 const uint8_t ff_vc1_cbpcy_p_bits[4][64] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
361 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
362 13, 6, 5, 6, 6, 7, 7, 5, 7, 7, 6, 6, 6, 5, 6, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
363 7, 8, 8, 13, 7, 8, 13, 8, 13, 13, 13, 8, 8, 7, 7, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
364 13, 13, 7, 8, 13, 13, 13, 8, 13, 13, 8, 7, 8, 7, 8, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
365 13, 12, 12, 12, 12, 12, 12, 6, 12, 12, 12, 8, 8, 7, 7, 2
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
366 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
367 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
368 14, 3, 3, 5, 3, 4, 5, 5, 3, 5, 4, 5, 4, 6, 5, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
369 8, 14, 13, 8, 8, 13, 13, 8, 8, 13, 13, 8, 13, 13, 8, 13,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
370 13, 8, 13, 13, 7, 7, 13, 13, 13, 13, 8, 8, 13, 13, 7, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
371 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 8, 7
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
372 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
373 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
374 13, 5, 5, 5, 4, 4, 6, 4, 4, 6, 4, 5, 5, 5, 4, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
375 6, 8, 10, 9, 8, 8, 7, 8, 13, 13, 7, 7, 8, 8, 7, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
376 8, 7, 9, 9, 9, 6, 8, 7, 8, 13, 8, 7, 8, 7, 8, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
377 8, 9, 8, 13, 8, 9, 13, 8, 12, 8, 8, 9, 9, 9, 8, 5
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
378 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
379 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
380 9, 2, 3, 9, 2, 9, 9, 9, 2, 9, 9, 9, 9, 9, 9, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
381 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
382 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
383 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
384 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
385 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
386 #endif
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
387
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
388 /* MacroBlock Transform Type: 7.1.3.11, p89
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
389 * 8x8:B
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
390 * 8x4:B:btm 8x4:B:top 8x4:B:both,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
391 * 4x8:B:right 4x8:B:left 4x8:B:both
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
392 * 4x4:B 8x8:MB
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
393 * 8x4:MB:btm 8x4:MB:top 8x4,MB,both
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
394 * 4x8,MB,right 4x8,MB,left
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
395 * 4x4,MB */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
396 const uint16_t ff_vc1_ttmb_codes[3][16] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
397 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
398 0x0003,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
399 0x002E, 0x005F, 0x0000,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
400 0x0016, 0x0015, 0x0001,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
401 0x0004, 0x0014,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
402 0x02F1, 0x0179, 0x017B,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
403 0x0BC0, 0x0BC1, 0x05E1,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
404 0x017A
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
405 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
406 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
407 0x0006,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
408 0x0006, 0x0003, 0x0007,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
409 0x000F, 0x000E, 0x0000,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
410 0x0002, 0x0002,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
411 0x0014, 0x0011, 0x000B,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
412 0x0009, 0x0021, 0x0015,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
413 0x0020
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
414 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
415 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
416 0x0006,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
417 0x0000, 0x000E, 0x0005,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
418 0x0002, 0x0003, 0x0003,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
419 0x000F, 0x0002,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
420 0x0081, 0x0021, 0x0009,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
421 0x0101, 0x0041, 0x0011,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
422 0x0100
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
423 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
424 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
425
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
426 const uint8_t ff_vc1_ttmb_bits[3][16] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
427 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
428 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
429 6, 7, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
430 5, 5, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
431 3, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
432 10, 9, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
433 12, 12, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
434 9
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
435 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
436 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
437 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
438 4, 4, 4,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
439 4, 4, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
440 3, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
441 7, 7, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
442 6, 8, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
443 8
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
444 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
445 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
446 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
447 3, 4, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
448 3, 3, 4,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
449 4, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
450 10, 8, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
451 11, 9, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
452 11
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
453 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
454 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
455
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
456 /* TTBLK (Transform Type per Block) tables */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
457 const uint8_t ff_vc1_ttblk_codes[3][8] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
458 { 0, 1, 3, 5, 16, 17, 18, 19},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
459 { 3, 0, 1, 2, 3, 5, 8, 9},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
460 { 1, 0, 1, 4, 6, 7, 10, 11}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
461 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
462 const uint8_t ff_vc1_ttblk_bits[3][8] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
463 { 2, 2, 2, 3, 5, 5, 5, 5},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
464 { 2, 3, 3, 3, 3, 3, 4, 4},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
465 { 2, 3, 3, 3, 3, 3, 4, 4}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
466 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
467
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
468 /* SUBBLKPAT tables, p93-94, reordered */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
469 const uint8_t ff_vc1_subblkpat_codes[3][15] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
470 { 14, 12, 7, 11, 9, 26, 2, 10, 27, 8, 0, 6, 1, 15, 1},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
471 { 14, 0, 8, 15, 10, 4, 23, 13, 5, 9, 25, 3, 24, 22, 1},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
472 { 5, 6, 2, 2, 8, 0, 28, 3, 1, 3, 29, 1, 19, 18, 15}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
473 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
474 const uint8_t ff_vc1_subblkpat_bits[3][15] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
475 { 5, 5, 5, 5, 5, 6, 4, 5, 6, 5, 4, 5, 4, 5, 1},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
476 { 4, 3, 4, 4, 4, 5, 5, 4, 5, 4, 5, 4, 5, 5, 2},
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
477 { 3, 3, 4, 3, 4, 5, 5, 3, 5, 4, 5, 4, 5, 5, 4}
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
478 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
479
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
480 /* MV differential tables, p265 */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
481 const uint16_t ff_vc1_mv_diff_codes[4][73] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
482 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
483 0, 2, 3, 8, 576, 3, 2, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
484 5, 577, 578, 7, 8, 9, 40, 19,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
485 37, 82, 21, 22, 23, 579, 580, 166,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
486 96, 167, 49, 194, 195, 581, 582, 583,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
487 292, 293, 294, 13, 2, 7, 24, 50,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
488 102, 295, 13, 7, 8, 18, 50, 103,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
489 38, 20, 21, 22, 39, 204, 103, 23,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
490 24, 25, 104, 410, 105, 106, 107, 108,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
491 109, 220, 411, 442, 222, 443, 446, 447,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
492 7 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
493 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
494 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
495 0, 4, 5, 3, 4, 3, 4, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
496 20, 6, 21, 44, 45, 46, 3008, 95,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
497 112, 113, 57, 3009, 3010, 116, 117, 3011,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
498 118, 3012, 3013, 3014, 3015, 3016, 3017, 3018,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
499 3019, 3020, 3021, 3022, 1, 4, 15, 160,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
500 161, 41, 6, 11, 42, 162, 43, 119,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
501 56, 57, 58, 163, 236, 237, 3023, 119,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
502 120, 242, 122, 486, 1512, 487, 246, 494,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
503 1513, 495, 1514, 1515, 1516, 1517, 1518, 1519,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
504 31 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
505 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
506 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
507 0, 512, 513, 514, 515, 2, 3, 258,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
508 259, 260, 261, 262, 263, 264, 265, 266,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
509 267, 268, 269, 270, 271, 272, 273, 274,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
510 275, 276, 277, 278, 279, 280, 281, 282,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
511 283, 284, 285, 286, 1, 5, 287, 288,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
512 289, 290, 6, 7, 291, 292, 293, 294,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
513 295, 296, 297, 298, 299, 300, 301, 302,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
514 303, 304, 305, 306, 307, 308, 309, 310,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
515 311, 312, 313, 314, 315, 316, 317, 318,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
516 319 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
517 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
518 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
519 0, 1, 1, 2, 3, 4, 1, 5,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
520 4, 3, 5, 8, 6, 9, 10, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
521 12, 7, 104, 14, 105, 4, 10, 15,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
522 11, 6, 14, 8, 106, 107, 108, 15,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
523 109, 9, 55, 10, 1, 2, 1, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
524 3, 12, 6, 2, 6, 7, 28, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
525 15, 8, 5, 18, 29, 152, 77, 24,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
526 25, 26, 39, 108, 13, 109, 55, 56,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
527 57, 116, 11, 153, 234, 235, 118, 119,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
528 15 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
529 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
530 };
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
531 const uint8_t ff_vc1_mv_diff_bits[4][73] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
532 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
533 6, 7, 7, 8, 14, 6, 5, 6, 7, 14, 14, 6, 6, 6, 8, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
534 10, 9, 7, 7, 7, 14, 14, 10, 9, 10, 8, 10, 10, 14, 14, 14,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
535 13, 13, 13, 6, 3, 5, 6, 8, 9, 13, 5, 4, 4, 5, 7, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
536 6, 5, 5, 5, 6, 9, 8, 5, 5, 5, 7, 10, 7, 7, 7, 7,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
537 7, 8, 10, 9, 8, 9, 9, 9, 3 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
538 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
539 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
540 5, 7, 7, 6, 6, 5, 5, 6, 7, 5, 7, 8, 8, 8, 14, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
541 9, 9, 8, 14, 14, 9, 9, 14, 9, 14, 14, 14, 14, 14, 14, 14,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
542 14, 14, 14, 14, 2, 3, 6, 8, 8, 6, 3, 4, 6, 8, 6, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
543 6, 6, 6, 8, 8, 8, 14, 7, 7, 8, 7, 9, 13, 9, 8, 9,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
544 13, 9, 13, 13, 13, 13, 13, 13, 5 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
545
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
546 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
547 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
548 3, 12, 12, 12, 12, 3, 4, 11, 11, 11, 11, 11, 11, 11, 11, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
549 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
550 11, 11, 11, 11, 1, 5, 11, 11, 11, 11, 4, 4, 11, 11, 11, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
551 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
552 11, 11, 11, 11, 11, 11, 11, 11, 11 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
553 },
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
554 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
555 15, 11, 15, 15, 15, 15, 12, 15, 12, 11, 12, 12, 15, 12, 12, 12,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
556 12, 15, 15, 12, 15, 10, 11, 12, 11, 10, 11, 10, 15, 15, 15, 11,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
557 15, 10, 14, 10, 4, 4, 5, 7, 8, 9, 5, 3, 4, 5, 6, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
558 5, 4, 3, 5, 6, 8, 7, 5, 5, 5, 6, 7, 9, 7, 6, 6,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
559 6, 7, 10, 8, 8, 8, 7, 7, 4 /* 73 elements */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
560 }
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
561 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
562
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
563 /* DC differentials low+hi-mo, p217 are the same as in msmpeg4data .h */
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
564
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
565 /* Table 232 */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
566 const int8_t ff_vc1_simple_progressive_4x4_zz [16] =
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
567 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
568 0, 8, 16, 1,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
569 9, 24, 17, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
570 10, 18, 25, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
571 11, 26, 19, 27
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
572 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
573
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
574 const int8_t ff_vc1_adv_progressive_8x4_zz [32] = /* Table 233 */
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
575 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
576 0, 8, 1, 16, 2, 9, 10, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
577 24, 17, 4, 11, 18, 12, 5, 19,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
578 25, 13, 20, 26, 27, 6, 21, 28,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
579 14, 22, 29, 7, 30, 15, 23, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
580 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
581
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
582 const int8_t ff_vc1_adv_progressive_4x8_zz [32] = /* Table 234 */
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
583 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
584 0, 1, 8, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
585 9, 16, 17, 24,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
586 10, 32, 25, 18,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
587 40, 3, 33, 26,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
588 48, 11, 56, 41,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
589 34, 49, 57, 42,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
590 19, 50, 27, 58,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
591 35, 43, 51, 59
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
592 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
593
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
594 const int8_t ff_vc1_adv_interlaced_8x8_zz [64] = /* Table 235 */
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
595 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
596 0, 8, 1, 16, 24, 9, 2, 32,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
597 40, 48, 56, 17, 10, 3, 25, 18,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
598 11, 4, 33, 41, 49, 57, 26, 34,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
599 42, 50, 58, 19, 12, 5, 27, 20,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
600 13, 6, 35, 28, 21, 14, 7, 15,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
601 22, 29, 36, 43, 51, 59, 60, 52,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
602 44, 37, 30, 23, 31, 38, 45, 53,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
603 61, 62, 54, 46, 39, 47, 55, 63
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
604 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
605
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
606 const int8_t ff_vc1_adv_interlaced_8x4_zz [32] = /* Table 236 */
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
607 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
608 0, 8, 16, 24, 1, 9, 2, 17,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
609 25, 10, 3, 18, 26, 4, 11, 19,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
610 12, 5, 13, 20, 27, 6, 21, 28,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
611 14, 22, 29, 7, 30, 15, 23, 31
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
612 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
613
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
614 const int8_t ff_vc1_adv_interlaced_4x8_zz [32] = /* Table 237 */
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
615 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
616 0, 1, 2, 8,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
617 16, 9, 24, 17,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
618 10, 3, 32, 40,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
619 48, 56, 25, 18,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
620 33, 26, 41, 34,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
621 49, 57, 11, 42,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
622 19, 50, 27, 58,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
623 35, 43, 51, 59
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
624 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
625
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
626 const int8_t ff_vc1_adv_interlaced_4x4_zz [16] = /* Table 238 */
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
627 {
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
628 0, 8, 16, 24,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
629 1, 9, 17, 2,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
630 25, 10, 18, 3,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
631 26, 11, 19, 27
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
632 };
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
633
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
634
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
635 /* DQScale as specified in 8.1.3.9 - almost identical to 0x40000/i */
4949
845386be542c Add ff_ prefix to (externally) visible variables
kostya
parents: 4929
diff changeset
636 const int32_t ff_vc1_dqscale[63] = {
4928
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
637 0x40000, 0x20000, 0x15555, 0x10000, 0xCCCD, 0xAAAB, 0x9249, 0x8000,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
638 0x71C7, 0x6666, 0x5D17, 0x5555, 0x4EC5, 0x4925, 0x4444, 0x4000,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
639 0x3C3C, 0x38E4, 0x35E5, 0x3333, 0x30C3, 0x2E8C, 0x2C86, 0x2AAB,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
640 0x28F6, 0x2762, 0x25ED, 0x2492, 0x234F, 0x2222, 0x2108, 0x2000,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
641 0x1F08, 0x1E1E, 0x1D42, 0x1C72, 0x1BAD, 0x1AF3, 0x1A42, 0x199A,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
642 0x18FA, 0x1862, 0x17D0, 0x1746, 0x16C1, 0x1643, 0x15CA, 0x1555,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
643 0x14E6, 0x147B, 0x1414, 0x13B1, 0x1352, 0x12F7, 0x129E, 0x1249,
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
644 0x11F7, 0x11A8, 0x115B, 0x1111, 0x10C9, 0x1084, 0x1000
7ec5c2e20271 Move VC-1 data to .c file
kostya
parents:
diff changeset
645 };