annotate h264data.h @ 2967:ef2149182f1c libavcodec

COSMETICS: Remove all trailing whitespace.
author diego
date Sat, 17 Dec 2005 18:14:38 +0000
parents 71ca5ed04789
children 0b546eab515d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
1 /*
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
2 * H26L/H264/AVC/JVT/14496-10/... encoder/decoder
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
3 * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
4 *
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
5 * This library is free software; you can redistribute it and/or
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
6 * modify it under the terms of the GNU Lesser General Public
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
7 * License as published by the Free Software Foundation; either
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
8 * version 2 of the License, or (at your option) any later version.
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
9 *
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
10 * This library is distributed in the hope that it will be useful,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
13 * Lesser General Public License for more details.
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
14 *
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
15 * You should have received a copy of the GNU Lesser General Public
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
16 * License along with this library; if not, write to the Free Software
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
18 *
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
19 */
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
20
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
21 /**
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
22 * @file h264data.h
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
23 * @brief
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
24 * H264 / AVC / MPEG4 part10 codec data table
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
25 * @author Michael Niedermayer <michaelni@gmx.at>
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
26 */
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
27
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
28 #define VERT_PRED 0
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
29 #define HOR_PRED 1
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
30 #define DC_PRED 2
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
31 #define DIAG_DOWN_LEFT_PRED 3
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
32 #define DIAG_DOWN_RIGHT_PRED 4
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
33 #define VERT_RIGHT_PRED 5
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
34 #define HOR_DOWN_PRED 6
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
35 #define VERT_LEFT_PRED 7
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
36 #define HOR_UP_PRED 8
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
37
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
38 #define LEFT_DC_PRED 9
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
39 #define TOP_DC_PRED 10
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
40 #define DC_128_PRED 11
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
41
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
42
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
43 #define DC_PRED8x8 0
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
44 #define HOR_PRED8x8 1
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
45 #define VERT_PRED8x8 2
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
46 #define PLANE_PRED8x8 3
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
47
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
48 #define LEFT_DC_PRED8x8 4
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
49 #define TOP_DC_PRED8x8 5
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
50 #define DC_128_PRED8x8 6
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
51
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
52 #define EXTENDED_SAR 255
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
53
1548
dd544554ed42 AVRational
michael
parents: 1178
diff changeset
54 static const AVRational pixel_aspect[14]={
dd544554ed42 AVRational
michael
parents: 1178
diff changeset
55 {0, 1},
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
56 {1, 1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
57 {12, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
58 {10, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
59 {16, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
60 {40, 33},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
61 {24, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
62 {20, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
63 {32, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
64 {80, 33},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
65 {18, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
66 {15, 11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
67 {64, 33},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
68 {160,99},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
69 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
70
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
71 static const uint8_t golomb_to_pict_type[5]=
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
72 {P_TYPE, B_TYPE, I_TYPE, SP_TYPE, SI_TYPE};
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
73
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
74 static const uint8_t pict_type_to_golomb[7]=
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
75 {-1, 2, 0, 1, -1, 4, 3};
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
76
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
77 static const uint8_t chroma_qp[52]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
78 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
79 12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
80 28,29,29,30,31,32,32,33,34,34,35,35,36,36,37,37,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
81 37,38,38,38,39,39,39,39
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
82
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
83 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
84
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
85 static const uint8_t golomb_to_intra4x4_cbp[48]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
86 47, 31, 15, 0, 23, 27, 29, 30, 7, 11, 13, 14, 39, 43, 45, 46,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
87 16, 3, 5, 10, 12, 19, 21, 26, 28, 35, 37, 42, 44, 1, 2, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
88 8, 17, 18, 20, 24, 6, 9, 22, 25, 32, 33, 34, 36, 40, 38, 41
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
89 };
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
90
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
91 static const uint8_t golomb_to_inter_cbp[48]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
92 0, 16, 1, 2, 4, 8, 32, 3, 5, 10, 12, 15, 47, 7, 11, 13,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
93 14, 6, 9, 31, 35, 37, 42, 44, 33, 34, 36, 40, 39, 43, 45, 46,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
94 17, 18, 20, 24, 19, 21, 26, 28, 23, 27, 29, 30, 22, 25, 38, 41
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
95 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
96
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
97 static const uint8_t intra4x4_cbp_to_golomb[48]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
98 3, 29, 30, 17, 31, 18, 37, 8, 32, 38, 19, 9, 20, 10, 11, 2,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
99 16, 33, 34, 21, 35, 22, 39, 4, 36, 40, 23, 5, 24, 6, 7, 1,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
100 41, 42, 43, 25, 44, 26, 46, 12, 45, 47, 27, 13, 28, 14, 15, 0
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
101 };
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
102
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
103 static const uint8_t inter_cbp_to_golomb[48]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
104 0, 2, 3, 7, 4, 8, 17, 13, 5, 18, 9, 14, 10, 15, 16, 11,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
105 1, 32, 33, 36, 34, 37, 44, 40, 35, 45, 38, 41, 39, 42, 43, 19,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
106 6, 24, 25, 20, 26, 21, 46, 28, 27, 47, 22, 29, 23, 30, 31, 12
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
107 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
108
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
109 static const uint8_t chroma_dc_coeff_token_len[4*5]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
110 2, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
111 6, 1, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
112 6, 6, 3, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
113 6, 7, 7, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
114 6, 8, 8, 7,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
115 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
116
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
117 static const uint8_t chroma_dc_coeff_token_bits[4*5]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
118 1, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
119 7, 1, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
120 4, 6, 1, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
121 3, 3, 2, 5,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
122 2, 3, 2, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
123 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
124
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
125 static const uint8_t coeff_token_len[4][4*17]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
126 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
127 1, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
128 6, 2, 0, 0, 8, 6, 3, 0, 9, 8, 7, 5, 10, 9, 8, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
129 11,10, 9, 7, 13,11,10, 8, 13,13,11, 9, 13,13,13,10,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
130 14,14,13,11, 14,14,14,13, 15,15,14,14, 15,15,15,14,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
131 16,15,15,15, 16,16,16,15, 16,16,16,16, 16,16,16,16,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
132 },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
133 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
134 2, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
135 6, 2, 0, 0, 6, 5, 3, 0, 7, 6, 6, 4, 8, 6, 6, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
136 8, 7, 7, 5, 9, 8, 8, 6, 11, 9, 9, 6, 11,11,11, 7,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
137 12,11,11, 9, 12,12,12,11, 12,12,12,11, 13,13,13,12,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
138 13,13,13,13, 13,14,13,13, 14,14,14,13, 14,14,14,14,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
139 },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
140 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
141 4, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
142 6, 4, 0, 0, 6, 5, 4, 0, 6, 5, 5, 4, 7, 5, 5, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
143 7, 5, 5, 4, 7, 6, 6, 4, 7, 6, 6, 4, 8, 7, 7, 5,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
144 8, 8, 7, 6, 9, 8, 8, 7, 9, 9, 8, 8, 9, 9, 9, 8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
145 10, 9, 9, 9, 10,10,10,10, 10,10,10,10, 10,10,10,10,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
146 },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
147 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
148 6, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
149 6, 6, 0, 0, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
150 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
151 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
152 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
153 }
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
154 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
155
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
156 static const uint8_t coeff_token_bits[4][4*17]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
157 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
158 1, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
159 5, 1, 0, 0, 7, 4, 1, 0, 7, 6, 5, 3, 7, 6, 5, 3,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
160 7, 6, 5, 4, 15, 6, 5, 4, 11,14, 5, 4, 8,10,13, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
161 15,14, 9, 4, 11,10,13,12, 15,14, 9,12, 11,10,13, 8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
162 15, 1, 9,12, 11,14,13, 8, 7,10, 9,12, 4, 6, 5, 8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
163 },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
164 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
165 3, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
166 11, 2, 0, 0, 7, 7, 3, 0, 7,10, 9, 5, 7, 6, 5, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
167 4, 6, 5, 6, 7, 6, 5, 8, 15, 6, 5, 4, 11,14,13, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
168 15,10, 9, 4, 11,14,13,12, 8,10, 9, 8, 15,14,13,12,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
169 11,10, 9,12, 7,11, 6, 8, 9, 8,10, 1, 7, 6, 5, 4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
170 },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
171 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
172 15, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
173 15,14, 0, 0, 11,15,13, 0, 8,12,14,12, 15,10,11,11,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
174 11, 8, 9,10, 9,14,13, 9, 8,10, 9, 8, 15,14,13,13,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
175 11,14,10,12, 15,10,13,12, 11,14, 9,12, 8,10,13, 8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
176 13, 7, 9,12, 9,12,11,10, 5, 8, 7, 6, 1, 4, 3, 2,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
177 },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
178 {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
179 3, 0, 0, 0,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
180 0, 1, 0, 0, 4, 5, 6, 0, 8, 9,10,11, 12,13,14,15,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
181 16,17,18,19, 20,21,22,23, 24,25,26,27, 28,29,30,31,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
182 32,33,34,35, 36,37,38,39, 40,41,42,43, 44,45,46,47,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
183 48,49,50,51, 52,53,54,55, 56,57,58,59, 60,61,62,63,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
184 }
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
185 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
186
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
187 static const uint8_t total_zeros_len[16][16]= {
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
188 {1,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
189 {3,3,3,3,3,4,4,4,4,5,5,6,6,6,6},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
190 {4,3,3,3,4,4,3,3,4,5,5,6,5,6},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
191 {5,3,4,4,3,3,3,4,3,4,5,5,5},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
192 {4,4,4,3,3,3,3,3,4,5,4,5},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
193 {6,5,3,3,3,3,3,3,4,3,6},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
194 {6,5,3,3,3,2,3,4,3,6},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
195 {6,4,5,3,2,2,3,3,6},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
196 {6,6,4,2,2,3,2,5},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
197 {5,5,3,2,2,2,4},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
198 {4,4,3,3,1,3},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
199 {4,4,2,1,3},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
200 {3,3,1,2},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
201 {2,2,1},
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
202 {1,1},
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
203 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
204
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
205 static const uint8_t total_zeros_bits[16][16]= {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
206 {1,3,2,3,2,3,2,3,2,3,2,3,2,3,2,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
207 {7,6,5,4,3,5,4,3,2,3,2,3,2,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
208 {5,7,6,5,4,3,4,3,2,3,2,1,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
209 {3,7,5,4,6,5,4,3,3,2,2,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
210 {5,4,3,7,6,5,4,3,2,1,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
211 {1,1,7,6,5,4,3,2,1,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
212 {1,1,5,4,3,3,2,1,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
213 {1,1,1,3,3,2,2,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
214 {1,0,1,3,2,1,1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
215 {1,0,1,3,2,1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
216 {0,1,1,2,1,3},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
217 {0,1,1,1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
218 {0,1,1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
219 {0,1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
220 {0,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
221 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
222
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
223 static const uint8_t chroma_dc_total_zeros_len[3][4]= {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
224 { 1, 2, 3, 3,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
225 { 1, 2, 2, 0,},
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
226 { 1, 1, 0, 0,},
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
227 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
228
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
229 static const uint8_t chroma_dc_total_zeros_bits[3][4]= {
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
230 { 1, 1, 1, 0,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
231 { 1, 1, 0, 0,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
232 { 1, 0, 0, 0,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
233 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
234
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
235 static const uint8_t run_len[7][16]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
236 {1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
237 {1,2,2},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
238 {2,2,2,2},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
239 {2,2,2,3,3},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
240 {2,2,3,3,3,3},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
241 {2,3,3,3,3,3,3},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
242 {3,3,3,3,3,3,3,4,5,6,7,8,9,10,11},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
243 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
244
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
245 static const uint8_t run_bits[7][16]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
246 {1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
247 {1,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
248 {3,2,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
249 {3,2,1,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
250 {3,2,3,2,1,0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
251 {3,0,1,3,2,5,4},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
252 {7,6,5,4,3,2,1,1,1,1,1,1,1,1,1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
253 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
254
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
255 /*
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
256 o-o o-o
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
257 / / /
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
258 o-o o-o
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
259 ,---'
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
260 o-o o-o
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
261 / / /
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
262 o-o o-o
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
263 */
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
264
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
265 static const uint8_t scan8[16 + 2*4]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
266 4+1*8, 5+1*8, 4+2*8, 5+2*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
267 6+1*8, 7+1*8, 6+2*8, 7+2*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
268 4+3*8, 5+3*8, 4+4*8, 5+4*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
269 6+3*8, 7+3*8, 6+4*8, 7+4*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
270 1+1*8, 2+1*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
271 1+2*8, 2+2*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
272 1+4*8, 2+4*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
273 1+5*8, 2+5*8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
274 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
275
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
276 static const uint8_t zigzag_scan[16]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
277 0+0*4, 1+0*4, 0+1*4, 0+2*4,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
278 1+1*4, 2+0*4, 3+0*4, 2+1*4,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
279 1+2*4, 0+3*4, 1+3*4, 2+2*4,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
280 3+1*4, 3+2*4, 2+3*4, 3+3*4,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
281 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
282
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
283 static const uint8_t field_scan[16]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
284 0+0*4, 0+1*4, 1+0*4, 0+2*4,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
285 0+3*4, 1+1*4, 1+2*4, 1+3*4,
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
286 2+0*4, 2+1*4, 2+2*4, 2+3*4,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
287 3+0*4, 3+1*4, 3+2*4, 3+3*4,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
288 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
289
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
290 static const uint8_t luma_dc_zigzag_scan[16]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
291 0*16 + 0*64, 1*16 + 0*64, 2*16 + 0*64, 0*16 + 2*64,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
292 3*16 + 0*64, 0*16 + 1*64, 1*16 + 1*64, 2*16 + 1*64,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
293 1*16 + 2*64, 2*16 + 2*64, 3*16 + 2*64, 0*16 + 3*64,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
294 3*16 + 1*64, 1*16 + 3*64, 2*16 + 3*64, 3*16 + 3*64,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
295 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
296
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
297 static const uint8_t luma_dc_field_scan[16]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
298 0*16 + 0*64, 2*16 + 0*64, 1*16 + 0*64, 0*16 + 2*64,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
299 2*16 + 2*64, 3*16 + 0*64, 1*16 + 2*64, 3*16 + 2*64,
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
300 0*16 + 1*64, 2*16 + 1*64, 0*16 + 3*64, 2*16 + 3*64,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
301 1*16 + 1*64, 3*16 + 1*64, 1*16 + 3*64, 3*16 + 3*64,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
302 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
303
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
304 static const uint8_t chroma_dc_scan[4]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
305 (0+0*2)*16, (1+0*2)*16,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
306 (0+1*2)*16, (1+1*2)*16, //FIXME
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
307 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
308
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
309 static const uint8_t zigzag_scan8x8[64]={
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
310 0+0*8, 1+0*8, 0+1*8, 0+2*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
311 1+1*8, 2+0*8, 3+0*8, 2+1*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
312 1+2*8, 0+3*8, 0+4*8, 1+3*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
313 2+2*8, 3+1*8, 4+0*8, 5+0*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
314 4+1*8, 3+2*8, 2+3*8, 1+4*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
315 0+5*8, 0+6*8, 1+5*8, 2+4*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
316 3+3*8, 4+2*8, 5+1*8, 6+0*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
317 7+0*8, 6+1*8, 5+2*8, 4+3*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
318 3+4*8, 2+5*8, 1+6*8, 0+7*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
319 1+7*8, 2+6*8, 3+5*8, 4+4*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
320 5+3*8, 6+2*8, 7+1*8, 7+2*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
321 6+3*8, 5+4*8, 4+5*8, 3+6*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
322 2+7*8, 3+7*8, 4+6*8, 5+5*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
323 6+4*8, 7+3*8, 7+4*8, 6+5*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
324 5+6*8, 4+7*8, 5+7*8, 6+6*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
325 7+5*8, 7+6*8, 6+7*8, 7+7*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
326 };
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
327
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
328 // zigzag_scan8x8_cavlc[i] = zigzag_scan8x8[(i/4) + 16*(i%4)]
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
329 static const uint8_t zigzag_scan8x8_cavlc[64]={
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
330 0+0*8, 1+1*8, 1+2*8, 2+2*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
331 4+1*8, 0+5*8, 3+3*8, 7+0*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
332 3+4*8, 1+7*8, 5+3*8, 6+3*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
333 2+7*8, 6+4*8, 5+6*8, 7+5*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
334 1+0*8, 2+0*8, 0+3*8, 3+1*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
335 3+2*8, 0+6*8, 4+2*8, 6+1*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
336 2+5*8, 2+6*8, 6+2*8, 5+4*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
337 3+7*8, 7+3*8, 4+7*8, 7+6*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
338 0+1*8, 3+0*8, 0+4*8, 4+0*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
339 2+3*8, 1+5*8, 5+1*8, 5+2*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
340 1+6*8, 3+5*8, 7+1*8, 4+5*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
341 4+6*8, 7+4*8, 5+7*8, 6+7*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
342 0+2*8, 2+1*8, 1+3*8, 5+0*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
343 1+4*8, 2+4*8, 6+0*8, 4+3*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
344 0+7*8, 4+4*8, 7+2*8, 3+6*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
345 5+5*8, 6+5*8, 6+6*8, 7+7*8,
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
346 };
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
347
1178
michaelni
parents: 1177
diff changeset
348 #define MB_TYPE_REF0 MB_TYPE_ACPRED //dirty but it fits in 16bit
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
349 #define MB_TYPE_8x8DCT 0x01000000
1177
fea03d2c4946 simplified adressing of most mb based arrays (mb_x + mb_y*s->mb_stride) now instead of mb_x + mb_y*mb_width and 1+mb_x + (1+mb_y)*(mb_width+2) and ... mixture
michaelni
parents: 1168
diff changeset
350 #define IS_REF0(a) ((a)&MB_TYPE_REF0)
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
351 #define IS_8x8DCT(a) ((a)&MB_TYPE_8x8DCT)
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
352
1177
fea03d2c4946 simplified adressing of most mb based arrays (mb_x + mb_y*s->mb_stride) now instead of mb_x + mb_y*mb_width and 1+mb_x + (1+mb_y)*(mb_width+2) and ... mixture
michaelni
parents: 1168
diff changeset
353
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
354 typedef struct IMbInfo{
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
355 uint16_t type;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
356 uint8_t pred_mode;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
357 uint8_t cbp;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
358 } IMbInfo;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
359
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
360 static const IMbInfo i_mb_type_info[26]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
361 {MB_TYPE_INTRA4x4 , -1, -1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
362 {MB_TYPE_INTRA16x16, 2, 0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
363 {MB_TYPE_INTRA16x16, 1, 0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
364 {MB_TYPE_INTRA16x16, 0, 0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
365 {MB_TYPE_INTRA16x16, 3, 0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
366 {MB_TYPE_INTRA16x16, 2, 16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
367 {MB_TYPE_INTRA16x16, 1, 16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
368 {MB_TYPE_INTRA16x16, 0, 16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
369 {MB_TYPE_INTRA16x16, 3, 16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
370 {MB_TYPE_INTRA16x16, 2, 32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
371 {MB_TYPE_INTRA16x16, 1, 32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
372 {MB_TYPE_INTRA16x16, 0, 32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
373 {MB_TYPE_INTRA16x16, 3, 32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
374 {MB_TYPE_INTRA16x16, 2, 15+0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
375 {MB_TYPE_INTRA16x16, 1, 15+0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
376 {MB_TYPE_INTRA16x16, 0, 15+0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
377 {MB_TYPE_INTRA16x16, 3, 15+0},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
378 {MB_TYPE_INTRA16x16, 2, 15+16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
379 {MB_TYPE_INTRA16x16, 1, 15+16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
380 {MB_TYPE_INTRA16x16, 0, 15+16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
381 {MB_TYPE_INTRA16x16, 3, 15+16},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
382 {MB_TYPE_INTRA16x16, 2, 15+32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
383 {MB_TYPE_INTRA16x16, 1, 15+32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
384 {MB_TYPE_INTRA16x16, 0, 15+32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
385 {MB_TYPE_INTRA16x16, 3, 15+32},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
386 {MB_TYPE_INTRA_PCM , -1, -1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
387 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
388
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
389 typedef struct PMbInfo{
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
390 uint16_t type;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
391 uint8_t partition_count;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
392 } PMbInfo;
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
393
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
394 static const PMbInfo p_mb_type_info[5]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
395 {MB_TYPE_16x16|MB_TYPE_P0L0 , 1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
396 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P1L0, 2},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
397 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P1L0, 2},
2535
e0bf024629cf vismv didn't display 8x8 mvs in H.264
lorenm
parents: 1908
diff changeset
398 {MB_TYPE_8x8 |MB_TYPE_P0L0|MB_TYPE_P1L0, 4},
e0bf024629cf vismv didn't display 8x8 mvs in H.264
lorenm
parents: 1908
diff changeset
399 {MB_TYPE_8x8 |MB_TYPE_P0L0|MB_TYPE_P1L0|MB_TYPE_REF0, 4},
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
400 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
401
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
402 static const PMbInfo p_sub_mb_type_info[4]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
403 {MB_TYPE_16x16|MB_TYPE_P0L0 , 1},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
404 {MB_TYPE_16x8 |MB_TYPE_P0L0 , 2},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
405 {MB_TYPE_8x16 |MB_TYPE_P0L0 , 2},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
406 {MB_TYPE_8x8 |MB_TYPE_P0L0 , 4},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
407 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
408
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
409 static const PMbInfo b_mb_type_info[23]={
1177
fea03d2c4946 simplified adressing of most mb based arrays (mb_x + mb_y*s->mb_stride) now instead of mb_x + mb_y*mb_width and 1+mb_x + (1+mb_y)*(mb_width+2) and ... mixture
michaelni
parents: 1168
diff changeset
410 {MB_TYPE_DIRECT2 , 1, },
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
411 {MB_TYPE_16x16|MB_TYPE_P0L0 , 1, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
412 {MB_TYPE_16x16 |MB_TYPE_P0L1 , 1, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
413 {MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1 , 1, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
414 {MB_TYPE_16x8 |MB_TYPE_P0L0 |MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
415 {MB_TYPE_8x16 |MB_TYPE_P0L0 |MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
416 {MB_TYPE_16x8 |MB_TYPE_P0L1 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
417 {MB_TYPE_8x16 |MB_TYPE_P0L1 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
418 {MB_TYPE_16x8 |MB_TYPE_P0L0 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
419 {MB_TYPE_8x16 |MB_TYPE_P0L0 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
420 {MB_TYPE_16x8 |MB_TYPE_P0L1|MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
421 {MB_TYPE_8x16 |MB_TYPE_P0L1|MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
422 {MB_TYPE_16x8 |MB_TYPE_P0L0 |MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
423 {MB_TYPE_8x16 |MB_TYPE_P0L0 |MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
424 {MB_TYPE_16x8 |MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
425 {MB_TYPE_8x16 |MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
426 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
427 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
428 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
429 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
430 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
431 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
2535
e0bf024629cf vismv didn't display 8x8 mvs in H.264
lorenm
parents: 1908
diff changeset
432 {MB_TYPE_8x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 4, },
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
433 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
434
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
435 static const PMbInfo b_sub_mb_type_info[13]={
1177
fea03d2c4946 simplified adressing of most mb based arrays (mb_x + mb_y*s->mb_stride) now instead of mb_x + mb_y*mb_width and 1+mb_x + (1+mb_y)*(mb_width+2) and ... mixture
michaelni
parents: 1168
diff changeset
436 {MB_TYPE_DIRECT2 , 1, },
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
437 {MB_TYPE_16x16|MB_TYPE_P0L0 , 1, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
438 {MB_TYPE_16x16 |MB_TYPE_P0L1 , 1, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
439 {MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1 , 1, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
440 {MB_TYPE_16x8 |MB_TYPE_P0L0 |MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
441 {MB_TYPE_8x16 |MB_TYPE_P0L0 |MB_TYPE_P1L0 , 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
442 {MB_TYPE_16x8 |MB_TYPE_P0L1 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
443 {MB_TYPE_8x16 |MB_TYPE_P0L1 |MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
444 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
445 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
446 {MB_TYPE_8x8 |MB_TYPE_P0L0 |MB_TYPE_P1L0 , 4, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
447 {MB_TYPE_8x8 |MB_TYPE_P0L1 |MB_TYPE_P1L1, 4, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
448 {MB_TYPE_8x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 4, },
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
449 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
450
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
451
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
452 static const uint8_t rem6[52]={
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2919
diff changeset
453 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3,
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
454 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
455
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
456 static const uint8_t div6[52]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
457 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
458 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
459
2919
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
460 static const uint8_t default_scaling4[2][16]={
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
461 { 6,13,20,28,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
462 13,20,28,32,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
463 20,28,32,37,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
464 28,32,37,42
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
465 },{
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
466 10,14,20,24,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
467 14,20,24,27,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
468 20,24,27,30,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
469 24,27,30,34
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
470 }};
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
471
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
472 static const uint8_t default_scaling8[2][64]={
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
473 { 6,10,13,16,18,23,25,27,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
474 10,11,16,18,23,25,27,29,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
475 13,16,18,23,25,27,29,31,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
476 16,18,23,25,27,29,31,33,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
477 18,23,25,27,29,31,33,36,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
478 23,25,27,29,31,33,36,38,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
479 25,27,29,31,33,36,38,40,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
480 27,29,31,33,36,38,40,42
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
481 },{
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
482 9,13,15,17,19,21,22,24,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
483 13,13,17,19,21,22,24,25,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
484 15,17,19,21,22,24,25,27,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
485 17,19,21,22,24,25,27,28,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
486 19,21,22,24,25,27,28,30,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
487 21,22,24,25,27,28,30,32,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
488 22,24,25,27,28,30,32,33,
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
489 24,25,27,28,30,32,33,35
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
490 }};
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
491
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
492 static const int dequant4_coeff_init[6][3]={
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
493 {10,13,16},
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
494 {11,14,18},
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
495 {13,16,20},
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
496 {14,18,23},
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
497 {16,20,25},
71ca5ed04789 decode custom quant matrices.
lorenm
parents: 2761
diff changeset
498 {18,23,29},
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
499 };
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
500
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
501 static const int dequant8_coeff_init_scan[16] = {
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
502 0,3,4,3, 3,1,5,1, 4,5,2,5, 3,1,5,1
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
503 };
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
504 static const int dequant8_coeff_init[6][6]={
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
505 {20,18,32,19,25,24},
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
506 {22,19,35,21,28,26},
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
507 {26,23,42,24,33,31},
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
508 {28,25,45,26,35,33},
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
509 {32,28,51,30,40,38},
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
510 {36,32,58,34,46,43},
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
511 };
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
512
1168
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
513 #define QUANT_SHIFT 22
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
514
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
515 static const int quant_coeff[52][16]={
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
516 { 419430,258111,419430,258111,258111,167772,258111,167772,419430,258111,419430,258111,258111,167772,258111,167772,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
517 { 381300,239675,381300,239675,239675,149131,239675,149131,381300,239675,381300,239675,239675,149131,239675,149131,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
518 { 322639,209715,322639,209715,209715,134218,209715,134218,322639,209715,322639,209715,209715,134218,209715,134218,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
519 { 299593,186414,299593,186414,186414,116711,186414,116711,299593,186414,299593,186414,186414,116711,186414,116711,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
520 { 262144,167772,262144,167772,167772,107374,167772,107374,262144,167772,262144,167772,167772,107374,167772,107374,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
521 { 233017,145889,233017,145889,145889, 92564,145889, 92564,233017,145889,233017,145889,145889, 92564,145889, 92564,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
522 { 209715,129056,209715,129056,129056, 83886,129056, 83886,209715,129056,209715,129056,129056, 83886,129056, 83886,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
523 { 190650,119837,190650,119837,119837, 74565,119837, 74565,190650,119837,190650,119837,119837, 74565,119837, 74565,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
524 { 161319,104858,161319,104858,104858, 67109,104858, 67109,161319,104858,161319,104858,104858, 67109,104858, 67109,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
525 { 149797, 93207,149797, 93207, 93207, 58356, 93207, 58356,149797, 93207,149797, 93207, 93207, 58356, 93207, 58356,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
526 { 131072, 83886,131072, 83886, 83886, 53687, 83886, 53687,131072, 83886,131072, 83886, 83886, 53687, 83886, 53687,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
527 { 116508, 72944,116508, 72944, 72944, 46282, 72944, 46282,116508, 72944,116508, 72944, 72944, 46282, 72944, 46282,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
528 { 104858, 64528,104858, 64528, 64528, 41943, 64528, 41943,104858, 64528,104858, 64528, 64528, 41943, 64528, 41943,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
529 { 95325, 59919, 95325, 59919, 59919, 37283, 59919, 37283, 95325, 59919, 95325, 59919, 59919, 37283, 59919, 37283,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
530 { 80660, 52429, 80660, 52429, 52429, 33554, 52429, 33554, 80660, 52429, 80660, 52429, 52429, 33554, 52429, 33554,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
531 { 74898, 46603, 74898, 46603, 46603, 29178, 46603, 29178, 74898, 46603, 74898, 46603, 46603, 29178, 46603, 29178,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
532 { 65536, 41943, 65536, 41943, 41943, 26844, 41943, 26844, 65536, 41943, 65536, 41943, 41943, 26844, 41943, 26844,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
533 { 58254, 36472, 58254, 36472, 36472, 23141, 36472, 23141, 58254, 36472, 58254, 36472, 36472, 23141, 36472, 23141,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
534 { 52429, 32264, 52429, 32264, 32264, 20972, 32264, 20972, 52429, 32264, 52429, 32264, 32264, 20972, 32264, 20972,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
535 { 47663, 29959, 47663, 29959, 29959, 18641, 29959, 18641, 47663, 29959, 47663, 29959, 29959, 18641, 29959, 18641,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
536 { 40330, 26214, 40330, 26214, 26214, 16777, 26214, 16777, 40330, 26214, 40330, 26214, 26214, 16777, 26214, 16777,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
537 { 37449, 23302, 37449, 23302, 23302, 14589, 23302, 14589, 37449, 23302, 37449, 23302, 23302, 14589, 23302, 14589,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
538 { 32768, 20972, 32768, 20972, 20972, 13422, 20972, 13422, 32768, 20972, 32768, 20972, 20972, 13422, 20972, 13422,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
539 { 29127, 18236, 29127, 18236, 18236, 11570, 18236, 11570, 29127, 18236, 29127, 18236, 18236, 11570, 18236, 11570,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
540 { 26214, 16132, 26214, 16132, 16132, 10486, 16132, 10486, 26214, 16132, 26214, 16132, 16132, 10486, 16132, 10486,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
541 { 23831, 14980, 23831, 14980, 14980, 9321, 14980, 9321, 23831, 14980, 23831, 14980, 14980, 9321, 14980, 9321,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
542 { 20165, 13107, 20165, 13107, 13107, 8389, 13107, 8389, 20165, 13107, 20165, 13107, 13107, 8389, 13107, 8389,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
543 { 18725, 11651, 18725, 11651, 11651, 7294, 11651, 7294, 18725, 11651, 18725, 11651, 11651, 7294, 11651, 7294,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
544 { 16384, 10486, 16384, 10486, 10486, 6711, 10486, 6711, 16384, 10486, 16384, 10486, 10486, 6711, 10486, 6711,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
545 { 14564, 9118, 14564, 9118, 9118, 5785, 9118, 5785, 14564, 9118, 14564, 9118, 9118, 5785, 9118, 5785,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
546 { 13107, 8066, 13107, 8066, 8066, 5243, 8066, 5243, 13107, 8066, 13107, 8066, 8066, 5243, 8066, 5243,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
547 { 11916, 7490, 11916, 7490, 7490, 4660, 7490, 4660, 11916, 7490, 11916, 7490, 7490, 4660, 7490, 4660,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
548 { 10082, 6554, 10082, 6554, 6554, 4194, 6554, 4194, 10082, 6554, 10082, 6554, 6554, 4194, 6554, 4194,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
549 { 9362, 5825, 9362, 5825, 5825, 3647, 5825, 3647, 9362, 5825, 9362, 5825, 5825, 3647, 5825, 3647,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
550 { 8192, 5243, 8192, 5243, 5243, 3355, 5243, 3355, 8192, 5243, 8192, 5243, 5243, 3355, 5243, 3355,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
551 { 7282, 4559, 7282, 4559, 4559, 2893, 4559, 2893, 7282, 4559, 7282, 4559, 4559, 2893, 4559, 2893,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
552 { 6554, 4033, 6554, 4033, 4033, 2621, 4033, 2621, 6554, 4033, 6554, 4033, 4033, 2621, 4033, 2621,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
553 { 5958, 3745, 5958, 3745, 3745, 2330, 3745, 2330, 5958, 3745, 5958, 3745, 3745, 2330, 3745, 2330,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
554 { 5041, 3277, 5041, 3277, 3277, 2097, 3277, 2097, 5041, 3277, 5041, 3277, 3277, 2097, 3277, 2097,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
555 { 4681, 2913, 4681, 2913, 2913, 1824, 2913, 1824, 4681, 2913, 4681, 2913, 2913, 1824, 2913, 1824,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
556 { 4096, 2621, 4096, 2621, 2621, 1678, 2621, 1678, 4096, 2621, 4096, 2621, 2621, 1678, 2621, 1678,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
557 { 3641, 2280, 3641, 2280, 2280, 1446, 2280, 1446, 3641, 2280, 3641, 2280, 2280, 1446, 2280, 1446,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
558 { 3277, 2016, 3277, 2016, 2016, 1311, 2016, 1311, 3277, 2016, 3277, 2016, 2016, 1311, 2016, 1311,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
559 { 2979, 1872, 2979, 1872, 1872, 1165, 1872, 1165, 2979, 1872, 2979, 1872, 1872, 1165, 1872, 1165,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
560 { 2521, 1638, 2521, 1638, 1638, 1049, 1638, 1049, 2521, 1638, 2521, 1638, 1638, 1049, 1638, 1049,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
561 { 2341, 1456, 2341, 1456, 1456, 912, 1456, 912, 2341, 1456, 2341, 1456, 1456, 912, 1456, 912,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
562 { 2048, 1311, 2048, 1311, 1311, 839, 1311, 839, 2048, 1311, 2048, 1311, 1311, 839, 1311, 839,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
563 { 1820, 1140, 1820, 1140, 1140, 723, 1140, 723, 1820, 1140, 1820, 1140, 1140, 723, 1140, 723,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
564 { 1638, 1008, 1638, 1008, 1008, 655, 1008, 655, 1638, 1008, 1638, 1008, 1008, 655, 1008, 655,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
565 { 1489, 936, 1489, 936, 936, 583, 936, 583, 1489, 936, 1489, 936, 936, 583, 936, 583,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
566 { 1260, 819, 1260, 819, 819, 524, 819, 524, 1260, 819, 1260, 819, 819, 524, 819, 524,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
567 { 1170, 728, 1170, 728, 728, 456, 728, 456, 1170, 728, 1170, 728, 728, 456, 728, 456,},
5af9aeadbdc3 H264 decoder & demuxer
michaelni
parents:
diff changeset
568 };
1897
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
569
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
570
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
571 /* Deblocking filter (p153) */
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
572 static const int alpha_table[52] = {
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
574 0, 0, 0, 0, 0, 0, 4, 4, 5, 6,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
575 7, 8, 9, 10, 12, 13, 15, 17, 20, 22,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
576 25, 28, 32, 36, 40, 45, 50, 56, 63, 71,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
577 80, 90,101,113,127,144,162,182,203,226,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
578 255, 255
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
579 };
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
580 static const int beta_table[52] = {
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
582 0, 0, 0, 0, 0, 0, 2, 2, 2, 3,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
583 3, 3, 3, 4, 4, 4, 6, 6, 7, 7,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
584 8, 8, 9, 9, 10, 10, 11, 11, 12, 12,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
585 13, 13, 14, 14, 15, 15, 16, 16, 17, 17,
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
586 18, 18
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
587 };
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
588 static const int tc0_table[52][3] = {
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
589 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
590 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
591 { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 1 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
592 { 0, 0, 1 }, { 0, 0, 1 }, { 0, 0, 1 }, { 0, 1, 1 }, { 0, 1, 1 }, { 1, 1, 1 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
593 { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 2 }, { 1, 1, 2 }, { 1, 1, 2 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
594 { 1, 1, 2 }, { 1, 2, 3 }, { 1, 2, 3 }, { 2, 2, 3 }, { 2, 2, 4 }, { 2, 3, 4 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
595 { 2, 3, 4 }, { 3, 3, 5 }, { 3, 4, 6 }, { 3, 4, 6 }, { 4, 5, 7 }, { 4, 5, 8 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
596 { 4, 6, 9 }, { 5, 7,10 }, { 6, 8,11 }, { 6, 8,13 }, { 7,10,14 }, { 8,11,16 },
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
597 { 9,12,18 }, {10,13,20 }, {11,15,23 }, {13,17,25 }
4e8ed93524f6 h264 loop filter for progressive I&P frames by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1548
diff changeset
598 };
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
599
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
600 /* Cabac pre state table */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
601
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
602 static const int cabac_context_init_I[460][2] =
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
603 {
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
604 /* 0 - 10 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
605 { 20, -15 }, { 2, 54 }, { 3, 74 }, { 20, -15 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
606 { 2, 54 }, { 3, 74 }, { -28,127 }, { -23, 104 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
607 { -6, 53 }, { -1, 54 }, { 7, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
608
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
609 /* 11 - 23 unsused for I */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
610 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
611 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
612 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
613 { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
614
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
615 /* 24- 39 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
616 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
617 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
618 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
619 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
620
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
621 /* 40 - 53 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
622 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
623 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
624 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
625 { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
626
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
627 /* 54 - 59 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
628 { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
629 { 0, 0 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
630
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
631 /* 60 - 69 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
632 { 0, 41 }, { 0, 63 }, { 0, 63 }, { 0, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
633 { -9, 83 }, { 4, 86 }, { 0, 97 }, { -7, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
634 { 13, 41 }, { 3, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
635
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
636 /* 70 -> 87 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
637 { 0, 11 }, { 1, 55 }, { 0, 69 }, { -17, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
638 { -13, 102 },{ 0, 82 }, { -7, 74 }, { -21, 107 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
639 { -27, 127 },{ -31, 127 },{ -24, 127 }, { -18, 95 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
640 { -27, 127 },{ -21, 114 },{ -30, 127 }, { -17, 123 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
641 { -12, 115 },{ -16, 122 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
642
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
643 /* 88 -> 104 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
644 { -11, 115 },{ -12, 63 }, { -2, 68 }, { -15, 84 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
645 { -13, 104 },{ -3, 70 }, { -8, 93 }, { -10, 90 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
646 { -30, 127 },{ -1, 74 }, { -6, 97 }, { -7, 91 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
647 { -20, 127 },{ -4, 56 }, { -5, 82 }, { -7, 76 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
648 { -22, 125 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
649
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
650 /* 105 -> 135 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
651 { -7, 93 }, { -11, 87 }, { -3, 77 }, { -5, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
652 { -4, 63 }, { -4, 68 }, { -12, 84 }, { -7, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
653 { -7, 65 }, { 8, 61 }, { 5, 56 }, { -2, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
654 { 1, 64 }, { 0, 61 }, { -2, 78 }, { 1, 50 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
655 { 7, 52 }, { 10, 35 }, { 0, 44 }, { 11, 38 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
656 { 1, 45 }, { 0, 46 }, { 5, 44 }, { 31, 17 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
657 { 1, 51 }, { 7, 50 }, { 28, 19 }, { 16, 33 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
658 { 14, 62 }, { -13, 108 },{ -15, 100 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
659
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
660 /* 136 -> 165 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
661 { -13, 101 },{ -13, 91 }, { -12, 94 }, { -10, 88 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
662 { -16, 84 }, { -10, 86 }, { -7, 83 }, { -13, 87 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
663 { -19, 94 }, { 1, 70 }, { 0, 72 }, { -5, 74 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
664 { 18, 59 }, { -8, 102 }, { -15, 100 }, { 0, 95 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
665 { -4, 75 }, { 2, 72 }, { -11, 75 }, { -3, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
666 { 15, 46 }, { -13, 69 }, { 0, 62 }, { 0, 65 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
667 { 21, 37 }, { -15, 72 }, { 9, 57 }, { 16, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
668 { 0, 62 }, { 12, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
669
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
670 /* 166 -> 196 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
671 { 24, 0 }, { 15, 9 }, { 8, 25 }, { 13, 18 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
672 { 15, 9 }, { 13, 19 }, { 10, 37 }, { 12, 18 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
673 { 6, 29 }, { 20, 33 }, { 15, 30 }, { 4, 45 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
674 { 1, 58 }, { 0, 62 }, { 7, 61 }, { 12, 38 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
675 { 11, 45 }, { 15, 39 }, { 11, 42 }, { 13, 44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
676 { 16, 45 }, { 12, 41 }, { 10, 49 }, { 30, 34 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
677 { 18, 42 }, { 10, 55 }, { 17, 51 }, { 17, 46 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
678 { 0, 89 }, { 26, -19 }, { 22, -17 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
679
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
680 /* 197 -> 226 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
681 { 26, -17 }, { 30, -25 }, { 28, -20 }, { 33, -23 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
682 { 37, -27 }, { 33, -23 }, { 40, -28 }, { 38, -17 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
683 { 33, -11 }, { 40, -15 }, { 41, -6 }, { 38, 1 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
684 { 41, 17 }, { 30, -6 }, { 27, 3 }, { 26, 22 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
685 { 37, -16 }, { 35, -4 }, { 38, -8 }, { 38, -3 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
686 { 37, 3 }, { 38, 5 }, { 42, 0 }, { 35, 16 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
687 { 39, 22 }, { 14, 48 }, { 27, 37 }, { 21, 60 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
688 { 12, 68 }, { 2, 97 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
689
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
690 /* 227 -> 251 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
691 { -3, 71 }, { -6, 42 }, { -5, 50 }, { -3, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
692 { -2, 62 }, { 0, 58 }, { 1, 63 }, { -2, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
693 { -1, 74 }, { -9, 91 }, { -5, 67 }, { -5, 27 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
694 { -3, 39 }, { -2, 44 }, { 0, 46 }, { -16, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
695 { -8, 68 }, { -10, 78 }, { -6, 77 }, { -10, 86 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
696 { -12, 92 }, { -15, 55 }, { -10, 60 }, { -6, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
697 { -4, 65 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
698
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
699 /* 252 -> 275 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
700 { -12, 73 }, { -8, 76 }, { -7, 80 }, { -9, 88 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
701 { -17, 110 },{ -11, 97 }, { -20, 84 }, { -11, 79 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
702 { -6, 73 }, { -4, 74 }, { -13, 86 }, { -13, 96 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
703 { -11, 97 }, { -19, 117 },{ -8, 78 }, { -5, 33 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
704 { -4, 48 }, { -2, 53 }, { -3, 62 }, { -13, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
705 { -10, 79 }, { -12, 86 }, { -13, 90 }, { -14, 97 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
706
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
707 /* 276 a bit special (not used, bypass is used instead) */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
708 { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
709
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
710 /* 277 -> 307 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
711 { -6, 93 }, { -6, 84 }, { -8, 79 }, { 0, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
712 { -1, 71 }, { 0, 62 }, { -2, 60 }, { -2, 59 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
713 { -5, 75 }, { -3, 62 }, { -4, 58 }, { -9, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
714 { -1, 79 }, { 0, 71 }, { 3, 68 }, { 10, 44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
715 { -7, 62 }, { 15, 36 }, { 14, 40 }, { 16, 27 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
716 { 12, 29 }, { 1, 44 }, { 20, 36 }, { 18, 32 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
717 { 5, 42 }, { 1, 48 }, { 10, 62 }, { 17, 46 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
718 { 9, 64 }, { -12, 104 },{ -11, 97 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
719
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
720 /* 308 -> 337 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
721 { -16, 96 }, { -7, 88 }, { -8, 85 }, { -7, 85 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
722 { -9, 85 }, { -13, 88 }, { 4, 66 }, { -3, 77 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
723 { -3, 76 }, { -6, 76 }, { 10, 58 }, { -1, 76 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
724 { -1, 83 }, { -7, 99 }, { -14, 95 }, { 2, 95 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
725 { 0, 76 }, { -5, 74 }, { 0, 70 }, { -11, 75 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
726 { 1, 68 }, { 0, 65 }, { -14, 73 }, { 3, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
727 { 4, 62 }, { -1, 68 }, { -13, 75 }, { 11, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
728 { 5, 64 }, { 12, 70 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
729
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
730 /* 338 -> 368 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
731 { 15, 6 }, { 6, 19 }, { 7, 16 }, { 12, 14 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
732 { 18, 13 }, { 13, 11 }, { 13, 15 }, { 15, 16 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
733 { 12, 23 }, { 13, 23 }, { 15, 20 }, { 14, 26 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
734 { 14, 44 }, { 17, 40 }, { 17, 47 }, { 24, 17 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
735 { 21, 21 }, { 25, 22 }, { 31, 27 }, { 22, 29 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
736 { 19, 35 }, { 14, 50 }, { 10, 57 }, { 7, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
737 { -2, 77 }, { -4, 82 }, { -3, 94 }, { 9, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
738 { -12, 109 },{ 36, -35 }, { 36, -34 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
739
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
740 /* 369 -> 398 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
741 { 32, -26 }, { 37, -30 }, { 44, -32 }, { 34, -18 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
742 { 34, -15 }, { 40, -15 }, { 33, -7 }, { 35, -5 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
743 { 33, 0 }, { 38, 2 }, { 33, 13 }, { 23, 35 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
744 { 13, 58 }, { 29, -3 }, { 26, 0 }, { 22, 30 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
745 { 31, -7 }, { 35, -15 }, { 34, -3 }, { 34, 3 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
746 { 36, -1 }, { 34, 5 }, { 32, 11 }, { 35, 5 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
747 { 34, 12 }, { 39, 11 }, { 30, 29 }, { 34, 26 },
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
748 { 29, 39 }, { 19, 66 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
749
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
750 /* 399 -> 435 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
751 { 31, 21 }, { 31, 31 }, { 25, 50 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
752 { -17, 120 }, { -20, 112 }, { -18, 114 }, { -11, 85 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
753 { -15, 92 }, { -14, 89 }, { -26, 71 }, { -15, 81 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
754 { -14, 80 }, { 0, 68 }, { -14, 70 }, { -24, 56 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
755 { -23, 68 }, { -24, 50 }, { -11, 74 }, { 23, -13 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
756 { 26, -13 }, { 40, -15 }, { 49, -14 }, { 44, 3 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
757 { 45, 6 }, { 44, 34 }, { 33, 54 }, { 19, 82 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
758 { -3, 75 }, { -1, 23 }, { 1, 34 }, { 1, 43 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
759 { 0, 54 }, { -2, 55 }, { 0, 61 }, { 1, 64 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
760 { 0, 68 }, { -9, 92 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
761
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
762 /* 436 -> 459 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
763 { -14, 106 }, { -13, 97 }, { -15, 90 }, { -12, 90 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
764 { -18, 88 }, { -10, 73 }, { -9, 79 }, { -14, 86 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
765 { -10, 73 }, { -10, 70 }, { -10, 69 }, { -5, 66 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
766 { -9, 64 }, { -5, 58 }, { 2, 59 }, { 21, -10 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
767 { 24, -11 }, { 28, -8 }, { 28, -1 }, { 29, 3 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
768 { 29, 9 }, { 35, 20 }, { 29, 36 }, { 14, 67 }
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
769 };
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
770
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
771 static const int cabac_context_init_PB[3][460][2] =
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
772 {
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
773 /* i_cabac_init_idc == 0 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
774 {
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
775 /* 0 - 10 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
776 { 20, -15 }, { 2, 54 }, { 3, 74 }, { 20, -15 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
777 { 2, 54 }, { 3, 74 }, { -28, 127 }, { -23, 104 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
778 { -6, 53 }, { -1, 54 }, { 7, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
779
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
780 /* 11 - 23 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
781 { 23, 33 }, { 23, 2 }, { 21, 0 }, { 1, 9 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
782 { 0, 49 }, { -37, 118 }, { 5, 57 }, { -13, 78 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
783 { -11, 65 }, { 1, 62 }, { 12, 49 }, { -4, 73 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
784 { 17, 50 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
785
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
786 /* 24 - 39 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
787 { 18, 64 }, { 9, 43 }, { 29, 0 }, { 26, 67 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
788 { 16, 90 }, { 9, 104 }, { -46, 127 }, { -20, 104 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
789 { 1, 67 }, { -13, 78 }, { -11, 65 }, { 1, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
790 { -6, 86 }, { -17, 95 }, { -6, 61 }, { 9, 45 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
791
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
792 /* 40 - 53 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
793 { -3, 69 }, { -6, 81 }, { -11, 96 }, { 6, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
794 { 7, 67 }, { -5, 86 }, { 2, 88 }, { 0, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
795 { -3, 76 }, { -10, 94 }, { 5, 54 }, { 4, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
796 { -3, 81 }, { 0, 88 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
797
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
798 /* 54 - 59 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
799 { -7, 67 }, { -5, 74 }, { -4, 74 }, { -5, 80 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
800 { -7, 72 }, { 1, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
801
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
802 /* 60 - 69 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
803 { 0, 41 }, { 0, 63 }, { 0, 63 }, { 0, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
804 { -9, 83 }, { 4, 86 }, { 0, 97 }, { -7, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
805 { 13, 41 }, { 3, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
806
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
807 /* 70 - 87 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
808 { 0, 45 }, { -4, 78 }, { -3, 96 }, { -27, 126 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
809 { -28, 98 }, { -25, 101 }, { -23, 67 }, { -28, 82 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
810 { -20, 94 }, { -16, 83 }, { -22, 110 }, { -21, 91 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
811 { -18, 102 }, { -13, 93 }, { -29, 127 }, { -7, 92 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
812 { -5, 89 }, { -7, 96 }, { -13, 108 }, { -3, 46 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
813 { -1, 65 }, { -1, 57 }, { -9, 93 }, { -3, 74 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
814 { -9, 92 }, { -8, 87 }, { -23, 126 }, { 5, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
815 { 6, 60 }, { 6, 59 }, { 6, 69 }, { -1, 48 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
816 { 0, 68 }, { -4, 69 }, { -8, 88 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
817
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
818 /* 105 -> 165 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
819 { -2, 85 }, { -6, 78 }, { -1, 75 }, { -7, 77 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
820 { 2, 54 }, { 5, 50 }, { -3, 68 }, { 1, 50 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
821 { 6, 42 }, { -4, 81 }, { 1, 63 }, { -4, 70 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
822 { 0, 67 }, { 2, 57 }, { -2, 76 }, { 11, 35 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
823 { 4, 64 }, { 1, 61 }, { 11, 35 }, { 18, 25 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
824 { 12, 24 }, { 13, 29 }, { 13, 36 }, { -10, 93 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
825 { -7, 73 }, { -2, 73 }, { 13, 46 }, { 9, 49 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
826 { -7, 100 }, { 9, 53 }, { 2, 53 }, { 5, 53 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
827 { -2, 61 }, { 0, 56 }, { 0, 56 }, { -13, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
828 { -5, 60 }, { -1, 62 }, { 4, 57 }, { -6, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
829 { 4, 57 }, { 14, 39 }, { 4, 51 }, { 13, 68 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
830 { 3, 64 }, { 1, 61 }, { 9, 63 }, { 7, 50 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
831 { 16, 39 }, { 5, 44 }, { 4, 52 }, { 11, 48 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
832 { -5, 60 }, { -1, 59 }, { 0, 59 }, { 22, 33 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
833 { 5, 44 }, { 14, 43 }, { -1, 78 }, { 0, 60 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
834 { 9, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
835
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
836 /* 166 - 226 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
837 { 11, 28 }, { 2, 40 }, { 3, 44 }, { 0, 49 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
838 { 0, 46 }, { 2, 44 }, { 2, 51 }, { 0, 47 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
839 { 4, 39 }, { 2, 62 }, { 6, 46 }, { 0, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
840 { 3, 54 }, { 2, 58 }, { 4, 63 }, { 6, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
841 { 6, 57 }, { 7, 53 }, { 6, 52 }, { 6, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
842 { 11, 45 }, { 14, 36 }, { 8, 53 }, { -1, 82 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
843 { 7, 55 }, { -3, 78 }, { 15, 46 }, { 22, 31 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
844 { -1, 84 }, { 25, 7 }, { 30, -7 }, { 28, 3 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
845 { 28, 4 }, { 32, 0 }, { 34, -1 }, { 30, 6 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
846 { 30, 6 }, { 32, 9 }, { 31, 19 }, { 26, 27 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
847 { 26, 30 }, { 37, 20 }, { 28, 34 }, { 17, 70 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
848 { 1, 67 }, { 5, 59 }, { 9, 67 }, { 16, 30 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
849 { 18, 32 }, { 18, 35 }, { 22, 29 }, { 24, 31 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
850 { 23, 38 }, { 18, 43 }, { 20, 41 }, { 11, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
851 { 9, 59 }, { 9, 64 }, { -1, 94 }, { -2, 89 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
852 { -9, 108 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
853
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
854 /* 227 - 275 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
855 { -6, 76 }, { -2, 44 }, { 0, 45 }, { 0, 52 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
856 { -3, 64 }, { -2, 59 }, { -4, 70 }, { -4, 75 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
857 { -8, 82 }, { -17, 102 }, { -9, 77 }, { 3, 24 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
858 { 0, 42 }, { 0, 48 }, { 0, 55 }, { -6, 59 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
859 { -7, 71 }, { -12, 83 }, { -11, 87 }, { -30, 119 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
860 { 1, 58 }, { -3, 29 }, { -1, 36 }, { 1, 38 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
861 { 2, 43 }, { -6, 55 }, { 0, 58 }, { 0, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
862 { -3, 74 }, { -10, 90 }, { 0, 70 }, { -4, 29 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
863 { 5, 31 }, { 7, 42 }, { 1, 59 }, { -2, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
864 { -3, 72 }, { -3, 81 }, { -11, 97 }, { 0, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
865 { 8, 5 }, { 10, 14 }, { 14, 18 }, { 13, 27 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
866 { 2, 40 }, { 0, 58 }, { -3, 70 }, { -6, 79 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
867 { -8, 85 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
868
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
869 /* 276 a bit special (not used, bypass is used instead) */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
870 { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
871
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
872 /* 277 - 337 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
873 { -13, 106 }, { -16, 106 }, { -10, 87 }, { -21, 114 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
874 { -18, 110 }, { -14, 98 }, { -22, 110 }, { -21, 106 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
875 { -18, 103 }, { -21, 107 }, { -23, 108 }, { -26, 112 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
876 { -10, 96 }, { -12, 95 }, { -5, 91 }, { -9, 93 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
877 { -22, 94 }, { -5, 86 }, { 9, 67 }, { -4, 80 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
878 { -10, 85 }, { -1, 70 }, { 7, 60 }, { 9, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
879 { 5, 61 }, { 12, 50 }, { 15, 50 }, { 18, 49 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
880 { 17, 54 }, { 10, 41 }, { 7, 46 }, { -1, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
881 { 7, 49 }, { 8, 52 }, { 9, 41 }, { 6, 47 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
882 { 2, 55 }, { 13, 41 }, { 10, 44 }, { 6, 50 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
883 { 5, 53 }, { 13, 49 }, { 4, 63 }, { 6, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
884 { -2, 69 }, { -2, 59 }, { 6, 70 }, { 10, 44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
885 { 9, 31 }, { 12, 43 }, { 3, 53 }, { 14, 34 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
886 { 10, 38 }, { -3, 52 }, { 13, 40 }, { 17, 32 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
887 { 7, 44 }, { 7, 38 }, { 13, 50 }, { 10, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
888 { 26, 43 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
889
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
890 /* 338 - 398 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
891 { 14, 11 }, { 11, 14 }, { 9, 11 }, { 18, 11 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
892 { 21, 9 }, { 23, -2 }, { 32, -15 }, { 32, -15 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
893 { 34, -21 }, { 39, -23 }, { 42, -33 }, { 41, -31 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
894 { 46, -28 }, { 38, -12 }, { 21, 29 }, { 45, -24 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
895 { 53, -45 }, { 48, -26 }, { 65, -43 }, { 43, -19 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
896 { 39, -10 }, { 30, 9 }, { 18, 26 }, { 20, 27 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
897 { 0, 57 }, { -14, 82 }, { -5, 75 }, { -19, 97 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
898 { -35, 125 }, { 27, 0 }, { 28, 0 }, { 31, -4 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
899 { 27, 6 }, { 34, 8 }, { 30, 10 }, { 24, 22 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
900 { 33, 19 }, { 22, 32 }, { 26, 31 }, { 21, 41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
901 { 26, 44 }, { 23, 47 }, { 16, 65 }, { 14, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
902 { 8, 60 }, { 6, 63 }, { 17, 65 }, { 21, 24 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
903 { 23, 20 }, { 26, 23 }, { 27, 32 }, { 28, 23 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
904 { 28, 24 }, { 23, 40 }, { 24, 32 }, { 28, 29 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
905 { 23, 42 }, { 19, 57 }, { 22, 53 }, { 22, 61 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
906 { 11, 86 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
907
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
908 /* 399 - 435 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
909 { 12, 40 }, { 11, 51 }, { 14, 59 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
910 { -4, 79 }, { -7, 71 }, { -5, 69 }, { -9, 70 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
911 { -8, 66 }, { -10, 68 }, { -19, 73 }, { -12, 69 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
912 { -16, 70 }, { -15, 67 }, { -20, 62 }, { -19, 70 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
913 { -16, 66 }, { -22, 65 }, { -20, 63 }, { 9, -2 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
914 { 26, -9 }, { 33, -9 }, { 39, -7 }, { 41, -2 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
915 { 45, 3 }, { 49, 9 }, { 45, 27 }, { 36, 59 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
916 { -6, 66 }, { -7, 35 }, { -7, 42 }, { -8, 45 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
917 { -5, 48 }, { -12, 56 }, { -6, 60 }, { -5, 62 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
918 { -8, 66 }, { -8, 76 },
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
919
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
920 /* 436 - 459 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
921 { -5, 85 }, { -6, 81 }, { -10, 77 }, { -7, 81 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
922 { -17, 80 }, { -18, 73 }, { -4, 74 }, { -10, 83 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
923 { -9, 71 }, { -9, 67 }, { -1, 61 }, { -8, 66 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
924 { -14, 66 }, { 0, 59 }, { 2, 59 }, { 21, -13 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
925 { 33, -14 }, { 39, -7 }, { 46, -2 }, { 51, 2 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
926 { 60, 6 }, { 61, 17 }, { 55, 34 }, { 42, 62 },
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
927 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
928
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
929 /* i_cabac_init_idc == 1 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
930 {
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
931 /* 0 - 10 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
932 { 20, -15 }, { 2, 54 }, { 3, 74 }, { 20, -15 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
933 { 2, 54 }, { 3, 74 }, { -28, 127 }, { -23, 104 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
934 { -6, 53 }, { -1, 54 }, { 7, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
935
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
936 /* 11 - 23 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
937 { 22, 25 }, { 34, 0 }, { 16, 0 }, { -2, 9 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
938 { 4, 41 }, { -29, 118 }, { 2, 65 }, { -6, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
939 { -13, 79 }, { 5, 52 }, { 9, 50 }, { -3, 70 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
940 { 10, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
941
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
942 /* 24 - 39 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
943 { 26, 34 }, { 19, 22 }, { 40, 0 }, { 57, 2 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
944 { 41, 36 }, { 26, 69 }, { -45, 127 }, { -15, 101 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
945 { -4, 76 }, { -6, 71 }, { -13, 79 }, { 5, 52 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
946 { 6, 69 }, { -13, 90 }, { 0, 52 }, { 8, 43 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
947
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
948 /* 40 - 53 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
949 { -2, 69 },{ -5, 82 },{ -10, 96 },{ 2, 59 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
950 { 2, 75 },{ -3, 87 },{ -3, 100 },{ 1, 56 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
951 { -3, 74 },{ -6, 85 },{ 0, 59 },{ -3, 81 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
952 { -7, 86 },{ -5, 95 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
953
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
954 /* 54 - 59 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
955 { -1, 66 },{ -1, 77 },{ 1, 70 },{ -2, 86 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
956 { -5, 72 },{ 0, 61 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
957
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
958 /* 60 - 69 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
959 { 0, 41 }, { 0, 63 }, { 0, 63 }, { 0, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
960 { -9, 83 }, { 4, 86 }, { 0, 97 }, { -7, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
961 { 13, 41 }, { 3, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
962
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
963 /* 70 - 104 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
964 { 13, 15 }, { 7, 51 }, { 2, 80 }, { -39, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
965 { -18, 91 }, { -17, 96 }, { -26, 81 }, { -35, 98 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
966 { -24, 102 }, { -23, 97 }, { -27, 119 }, { -24, 99 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
967 { -21, 110 }, { -18, 102 }, { -36, 127 }, { 0, 80 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
968 { -5, 89 }, { -7, 94 }, { -4, 92 }, { 0, 39 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
969 { 0, 65 }, { -15, 84 }, { -35, 127 }, { -2, 73 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
970 { -12, 104 }, { -9, 91 }, { -31, 127 }, { 3, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
971 { 7, 56 }, { 7, 55 }, { 8, 61 }, { -3, 53 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
972 { 0, 68 }, { -7, 74 }, { -9, 88 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
973
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
974 /* 105 -> 165 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
975 { -13, 103 }, { -13, 91 }, { -9, 89 }, { -14, 92 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
976 { -8, 76 }, { -12, 87 }, { -23, 110 }, { -24, 105 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
977 { -10, 78 }, { -20, 112 }, { -17, 99 }, { -78, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
978 { -70, 127 }, { -50, 127 }, { -46, 127 }, { -4, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
979 { -5, 78 }, { -4, 71 }, { -8, 72 }, { 2, 59 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
980 { -1, 55 }, { -7, 70 }, { -6, 75 }, { -8, 89 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
981 { -34, 119 }, { -3, 75 }, { 32, 20 }, { 30, 22 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
982 { -44, 127 }, { 0, 54 }, { -5, 61 }, { 0, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
983 { -1, 60 }, { -3, 61 }, { -8, 67 }, { -25, 84 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
984 { -14, 74 }, { -5, 65 }, { 5, 52 }, { 2, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
985 { 0, 61 }, { -9, 69 }, { -11, 70 }, { 18, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
986 { -4, 71 }, { 0, 58 }, { 7, 61 }, { 9, 41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
987 { 18, 25 }, { 9, 32 }, { 5, 43 }, { 9, 47 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
988 { 0, 44 }, { 0, 51 }, { 2, 46 }, { 19, 38 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
989 { -4, 66 }, { 15, 38 }, { 12, 42 }, { 9, 34 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
990 { 0, 89 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
991
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
992 /* 166 - 226 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
993 { 4, 45 }, { 10, 28 }, { 10, 31 }, { 33, -11 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
994 { 52, -43 }, { 18, 15 }, { 28, 0 }, { 35, -22 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
995 { 38, -25 }, { 34, 0 }, { 39, -18 }, { 32, -12 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
996 { 102, -94 }, { 0, 0 }, { 56, -15 }, { 33, -4 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
997 { 29, 10 }, { 37, -5 }, { 51, -29 }, { 39, -9 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
998 { 52, -34 }, { 69, -58 }, { 67, -63 }, { 44, -5 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
999 { 32, 7 }, { 55, -29 }, { 32, 1 }, { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1000 { 27, 36 }, { 33, -25 }, { 34, -30 }, { 36, -28 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1001 { 38, -28 }, { 38, -27 }, { 34, -18 }, { 35, -16 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1002 { 34, -14 }, { 32, -8 }, { 37, -6 }, { 35, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1003 { 30, 10 }, { 28, 18 }, { 26, 25 }, { 29, 41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1004 { 0, 75 }, { 2, 72 }, { 8, 77 }, { 14, 35 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1005 { 18, 31 }, { 17, 35 }, { 21, 30 }, { 17, 45 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1006 { 20, 42 }, { 18, 45 }, { 27, 26 }, { 16, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1007 { 7, 66 }, { 16, 56 }, { 11, 73 }, { 10, 67 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1008 { -10, 116 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1009
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1010 /* 227 - 275 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1011 { -23, 112 }, { -15, 71 }, { -7, 61 }, { 0, 53 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1012 { -5, 66 }, { -11, 77 }, { -9, 80 }, { -9, 84 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1013 { -10, 87 }, { -34, 127 }, { -21, 101 }, { -3, 39 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1014 { -5, 53 }, { -7, 61 }, { -11, 75 }, { -15, 77 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1015 { -17, 91 }, { -25, 107 }, { -25, 111 }, { -28, 122 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1016 { -11, 76 }, { -10, 44 }, { -10, 52 }, { -10, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1017 { -9, 58 }, { -16, 72 }, { -7, 69 }, { -4, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1018 { -5, 74 }, { -9, 86 }, { 2, 66 }, { -9, 34 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1019 { 1, 32 }, { 11, 31 }, { 5, 52 }, { -2, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1020 { -2, 67 }, { 0, 73 }, { -8, 89 }, { 3, 52 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1021 { 7, 4 }, { 10, 8 }, { 17, 8 }, { 16, 19 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1022 { 3, 37 }, { -1, 61 }, { -5, 73 }, { -1, 70 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1023 { -4, 78 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1024
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1025 /* 276 a bit special (not used, bypass is used instead) */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1026 { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1027
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1028 /* 277 - 337 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1029 { -21, 126 }, { -23, 124 }, { -20, 110 }, { -26, 126 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1030 { -25, 124 }, { -17, 105 }, { -27, 121 }, { -27, 117 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1031 { -17, 102 }, { -26, 117 }, { -27, 116 }, { -33, 122 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1032 { -10, 95 }, { -14, 100 }, { -8, 95 }, { -17, 111 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1033 { -28, 114 }, { -6, 89 }, { -2, 80 }, { -4, 82 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1034 { -9, 85 }, { -8, 81 }, { -1, 72 }, { 5, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1035 { 1, 67 }, { 9, 56 }, { 0, 69 }, { 1, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1036 { 7, 69 }, { -7, 69 }, { -6, 67 }, { -16, 77 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1037 { -2, 64 }, { 2, 61 }, { -6, 67 }, { -3, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1038 { 2, 57 }, { -3, 65 }, { -3, 66 }, { 0, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1039 { 9, 51 }, { -1, 66 }, { -2, 71 }, { -2, 75 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1040 { -1, 70 }, { -9, 72 }, { 14, 60 }, { 16, 37 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1041 { 0, 47 }, { 18, 35 }, { 11, 37 }, { 12, 41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1042 { 10, 41 }, { 2, 48 }, { 12, 41 }, { 13, 41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1043 { 0, 59 }, { 3, 50 }, { 19, 40 }, { 3, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1044 { 18, 50 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1045
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1046 /* 338 - 398 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1047 { 19, -6 }, { 18, -6 }, { 14, 0 }, { 26, -12 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1048 { 31, -16 }, { 33, -25 }, { 33, -22 }, { 37, -28 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1049 { 39, -30 }, { 42, -30 }, { 47, -42 }, { 45, -36 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1050 { 49, -34 }, { 41, -17 }, { 32, 9 }, { 69, -71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1051 { 63, -63 }, { 66, -64 }, { 77, -74 }, { 54, -39 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1052 { 52, -35 }, { 41, -10 }, { 36, 0 }, { 40, -1 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1053 { 30, 14 }, { 28, 26 }, { 23, 37 }, { 12, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1054 { 11, 65 }, { 37, -33 }, { 39, -36 }, { 40, -37 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1055 { 38, -30 }, { 46, -33 }, { 42, -30 }, { 40, -24 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1056 { 49, -29 }, { 38, -12 }, { 40, -10 }, { 38, -3 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1057 { 46, -5 }, { 31, 20 }, { 29, 30 }, { 25, 44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1058 { 12, 48 }, { 11, 49 }, { 26, 45 }, { 22, 22 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1059 { 23, 22 }, { 27, 21 }, { 33, 20 }, { 26, 28 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1060 { 30, 24 }, { 27, 34 }, { 18, 42 }, { 25, 39 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1061 { 18, 50 }, { 12, 70 }, { 21, 54 }, { 14, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1062 { 11, 83 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1063
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1064 /* 399 - 435 */
2761
a1f71e17054c typo in cabac tables
lorenm
parents: 2755
diff changeset
1065 { 25, 32 }, { 21, 49 }, { 21, 54 },
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1066 { -5, 85 }, { -6, 81 }, { -10, 77 }, { -7, 81 },
2761
a1f71e17054c typo in cabac tables
lorenm
parents: 2755
diff changeset
1067 { -17, 80 }, { -18, 73 }, { -4, 74 }, { -10, 83 },
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1068 { -9, 71 }, { -9, 67 }, { -1, 61 }, { -8, 66 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1069 { -14, 66 }, { 0, 59 }, { 2, 59 }, { 17, -10 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1070 { 32, -13 }, { 42, -9 }, { 49, -5 }, { 53, 0 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1071 { 64, 3 }, { 68, 10 }, { 66, 27 }, { 47, 57 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1072 { -5, 71 }, { 0, 24 }, { -1, 36 }, { -2, 42 },
2761
a1f71e17054c typo in cabac tables
lorenm
parents: 2755
diff changeset
1073 { -2, 52 }, { -9, 57 }, { -6, 63 }, { -4, 65 },
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1074 { -4, 67 }, { -7, 82 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1075
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1076 /* 436 - 459 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1077 { -3, 81 }, { -3, 76 }, { -7, 72 }, { -6, 78 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1078 { -12, 72 }, { -14, 68 }, { -3, 70 }, { -6, 76 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1079 { -5, 66 }, { -5, 62 }, { 0, 57 }, { -4, 61 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1080 { -9, 60 }, { 1, 54 }, { 2, 58 }, { 17, -10 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1081 { 32, -13 }, { 42, -9 }, { 49, -5 }, { 53, 0 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1082 { 64, 3 }, { 68, 10 }, { 66, 27 }, { 47, 57 },
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1083 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1084
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1085 /* i_cabac_init_idc == 2 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1086 {
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1087 /* 0 - 10 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1088 { 20, -15 }, { 2, 54 }, { 3, 74 }, { 20, -15 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1089 { 2, 54 }, { 3, 74 }, { -28, 127 }, { -23, 104 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1090 { -6, 53 }, { -1, 54 }, { 7, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1091
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1092 /* 11 - 23 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1093 { 29, 16 }, { 25, 0 }, { 14, 0 }, { -10, 51 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1094 { -3, 62 }, { -27, 99 }, { 26, 16 }, { -4, 85 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1095 { -24, 102 }, { 5, 57 }, { 6, 57 }, { -17, 73 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1096 { 14, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1097
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1098 /* 24 - 39 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1099 { 20, 40 }, { 20, 10 }, { 29, 0 }, { 54, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1100 { 37, 42 }, { 12, 97 }, { -32, 127 }, { -22, 117 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1101 { -2, 74 }, { -4, 85 }, { -24, 102 }, { 5, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1102 { -6, 93 }, { -14, 88 }, { -6, 44 }, { 4, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1103
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1104 /* 40 - 53 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1105 { -11, 89 },{ -15, 103 },{ -21, 116 },{ 19, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1106 { 20, 58 },{ 4, 84 },{ 6, 96 },{ 1, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1107 { -5, 85 },{ -13, 106 },{ 5, 63 },{ 6, 75 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1108 { -3, 90 },{ -1, 101 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1109
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1110 /* 54 - 59 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1111 { 3, 55 },{ -4, 79 },{ -2, 75 },{ -12, 97 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1112 { -7, 50 },{ 1, 60 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1113
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1114 /* 60 - 69 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1115 { 0, 41 }, { 0, 63 }, { 0, 63 }, { 0, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1116 { -9, 83 }, { 4, 86 }, { 0, 97 }, { -7, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1117 { 13, 41 }, { 3, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1118
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1119 /* 70 - 104 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1120 { 7, 34 }, { -9, 88 }, { -20, 127 }, { -36, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1121 { -17, 91 }, { -14, 95 }, { -25, 84 }, { -25, 86 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1122 { -12, 89 }, { -17, 91 }, { -31, 127 }, { -14, 76 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1123 { -18, 103 }, { -13, 90 }, { -37, 127 }, { 11, 80 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1124 { 5, 76 }, { 2, 84 }, { 5, 78 }, { -6, 55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1125 { 4, 61 }, { -14, 83 }, { -37, 127 }, { -5, 79 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1126 { -11, 104 }, { -11, 91 }, { -30, 127 }, { 0, 65 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1127 { -2, 79 }, { 0, 72 }, { -4, 92 }, { -6, 56 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1128 { 3, 68 }, { -8, 71 }, { -13, 98 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1129
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1130 /* 105 -> 165 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1131 { -4, 86 }, { -12, 88 }, { -5, 82 }, { -3, 72 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1132 { -4, 67 }, { -8, 72 }, { -16, 89 }, { -9, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1133 { -1, 59 }, { 5, 66 }, { 4, 57 }, { -4, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1134 { -2, 71 }, { 2, 58 }, { -1, 74 }, { -4, 44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1135 { -1, 69 }, { 0, 62 }, { -7, 51 }, { -4, 47 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1136 { -6, 42 }, { -3, 41 }, { -6, 53 }, { 8, 76 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1137 { -9, 78 }, { -11, 83 }, { 9, 52 }, { 0, 67 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1138 { -5, 90 }, { 1, 67 }, { -15, 72 }, { -5, 75 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1139 { -8, 80 }, { -21, 83 }, { -21, 64 }, { -13, 31 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1140 { -25, 64 }, { -29, 94 }, { 9, 75 }, { 17, 63 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1141 { -8, 74 }, { -5, 35 }, { -2, 27 }, { 13, 91 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1142 { 3, 65 }, { -7, 69 }, { 8, 77 }, { -10, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1143 { 3, 62 }, { -3, 68 }, { -20, 81 }, { 0, 30 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1144 { 1, 7 }, { -3, 23 }, { -21, 74 }, { 16, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1145 { -23, 124 }, { 17, 37 }, { 44, -18 }, { 50, -34 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1146 { -22, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1147
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1148 /* 166 - 226 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1149 { 4, 39 }, { 0, 42 }, { 7, 34 }, { 11, 29 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1150 { 8, 31 }, { 6, 37 }, { 7, 42 }, { 3, 40 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1151 { 8, 33 }, { 13, 43 }, { 13, 36 }, { 4, 47 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1152 { 3, 55 }, { 2, 58 }, { 6, 60 }, { 8, 44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1153 { 11, 44 }, { 14, 42 }, { 7, 48 }, { 4, 56 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1154 { 4, 52 }, { 13, 37 }, { 9, 49 }, { 19, 58 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1155 { 10, 48 }, { 12, 45 }, { 0, 69 }, { 20, 33 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1156 { 8, 63 }, { 35, -18 }, { 33, -25 }, { 28, -3 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1157 { 24, 10 }, { 27, 0 }, { 34, -14 }, { 52, -44 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1158 { 39, -24 }, { 19, 17 }, { 31, 25 }, { 36, 29 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1159 { 24, 33 }, { 34, 15 }, { 30, 20 }, { 22, 73 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1160 { 20, 34 }, { 19, 31 }, { 27, 44 }, { 19, 16 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1161 { 15, 36 }, { 15, 36 }, { 21, 28 }, { 25, 21 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1162 { 30, 20 }, { 31, 12 }, { 27, 16 }, { 24, 42 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1163 { 0, 93 }, { 14, 56 }, { 15, 57 }, { 26, 38 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1164 { -24, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1165
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1166 /* 227 - 275 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1167 { -24, 115 }, { -22, 82 }, { -9, 62 }, { 0, 53 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1168 { 0, 59 }, { -14, 85 }, { -13, 89 }, { -13, 94 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1169 { -11, 92 }, { -29, 127 }, { -21, 100 }, { -14, 57 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1170 { -12, 67 }, { -11, 71 }, { -10, 77 }, { -21, 85 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1171 { -16, 88 }, { -23, 104 }, { -15, 98 }, { -37, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1172 { -10, 82 }, { -8, 48 }, { -8, 61 }, { -8, 66 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1173 { -7, 70 }, { -14, 75 }, { -10, 79 }, { -9, 83 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1174 { -12, 92 }, { -18, 108 }, { -4, 79 }, { -22, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1175 { -16, 75 }, { -2, 58 }, { 1, 58 }, { -13, 78 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1176 { -9, 83 }, { -4, 81 }, { -13, 99 }, { -13, 81 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1177 { -6, 38 }, { -13, 62 }, { -6, 58 }, { -2, 59 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1178 { -16, 73 }, { -10, 76 }, { -13, 86 }, { -9, 83 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1179 { -10, 87 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1180
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1181 /* 276 a bit special (not used, bypass is used instead) */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1182 { 0, 0 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1183
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1184 /* 277 - 337 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1185 { -22, 127 }, { -25, 127 }, { -25, 120 }, { -27, 127 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1186 { -19, 114 }, { -23, 117 }, { -25, 118 }, { -26, 117 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1187 { -24, 113 }, { -28, 118 }, { -31, 120 }, { -37, 124 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1188 { -10, 94 }, { -15, 102 }, { -10, 99 }, { -13, 106 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1189 { -50, 127 }, { -5, 92 }, { 17, 57 }, { -5, 86 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1190 { -13, 94 }, { -12, 91 }, { -2, 77 }, { 0, 71 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1191 { -1, 73 }, { 4, 64 }, { -7, 81 }, { 5, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1192 { 15, 57 }, { 1, 67 }, { 0, 68 }, { -10, 67 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1193 { 1, 68 }, { 0, 77 }, { 2, 64 }, { 0, 68 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1194 { -5, 78 }, { 7, 55 }, { 5, 59 }, { 2, 65 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1195 { 14, 54 }, { 15, 44 }, { 5, 60 }, { 2, 70 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1196 { -2, 76 }, { -18, 86 }, { 12, 70 }, { 5, 64 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1197 { -12, 70 }, { 11, 55 }, { 5, 56 }, { 0, 69 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1198 { 2, 65 }, { -6, 74 }, { 5, 54 }, { 7, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1199 { -6, 76 }, { -11, 82 }, { -2, 77 }, { -2, 77 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1200 { 25, 42 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1201
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1202 /* 338 - 398 */
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1203 { 17, -13 }, { 16, -9 }, { 17, -12 }, { 27, -21 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1204 { 37, -30 }, { 41, -40 }, { 42, -41 }, { 48, -47 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1205 { 39, -32 }, { 46, -40 }, { 52, -51 }, { 46, -41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1206 { 52, -39 }, { 43, -19 }, { 32, 11 }, { 61, -55 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1207 { 56, -46 }, { 62, -50 }, { 81, -67 }, { 45, -20 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1208 { 35, -2 }, { 28, 15 }, { 34, 1 }, { 39, 1 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1209 { 30, 17 }, { 20, 38 }, { 18, 45 }, { 15, 54 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1210 { 0, 79 }, { 36, -16 }, { 37, -14 }, { 37, -17 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1211 { 32, 1 }, { 34, 15 }, { 29, 15 }, { 24, 25 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1212 { 34, 22 }, { 31, 16 }, { 35, 18 }, { 31, 28 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1213 { 33, 41 }, { 36, 28 }, { 27, 47 }, { 21, 62 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1214 { 18, 31 }, { 19, 26 }, { 36, 24 }, { 24, 23 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1215 { 27, 16 }, { 24, 30 }, { 31, 29 }, { 22, 41 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1216 { 22, 42 }, { 16, 60 }, { 15, 52 }, { 14, 60 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1217 { 3, 78 }, { -16, 123 }, { 21, 53 }, { 22, 56 },
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1218 { 25, 61 },
2755
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1219
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1220 /* 399 - 435 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1221 { 21, 33 }, { 19, 50 }, { 17, 61 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1222 { -3, 78 }, { -8, 74 }, { -9, 72 }, { -10, 72 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1223 { -18, 75 }, { -12, 71 }, { -11, 63 }, { -5, 70 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1224 { -17, 75 }, { -14, 72 }, { -16, 67 }, { -8, 53 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1225 { -14, 59 }, { -9, 52 }, { -11, 68 }, { 9, -2 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1226 { 30, -10 }, { 31, -4 }, { 33, -1 }, { 33, 7 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1227 { 31, 12 }, { 37, 23 }, { 31, 38 }, { 20, 64 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1228 { -9, 71 }, { -7, 37 }, { -8, 44 }, { -11, 49 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1229 { -10, 56 }, { -12, 59 }, { -8, 63 }, { -9, 67 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1230 { -6, 68 }, { -10, 79 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1231
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1232 /* 436 - 459 */
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1233 { -3, 78 }, { -8, 74 }, { -9, 72 }, { -10, 72 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1234 { -18, 75 }, { -12, 71 }, { -11, 63 }, { -5, 70 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1235 { -17, 75 }, { -14, 72 }, { -16, 67 }, { -8, 53 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1236 { -14, 59 }, { -9, 52 }, { -11, 68 }, { 9, -2 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1237 { 30, -10 }, { 31, -4 }, { 33, -1 }, { 33, 7 },
975074f04b95 decode H.264 with 8x8 transform.
lorenm
parents: 2535
diff changeset
1238 { 31, 12 }, { 37, 23 }, { 31, 38 }, { 20, 64 },
1908
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1239 }
e20fd60b215c h264 - progressive I frame CABAC support patch by (Laurent Aimar <fenrir at via dot ecp dot fr>)
michael
parents: 1897
diff changeset
1240 };