xref: /aosp_15_r20/external/libavc/decoder/ih264d_tables.c (revision 495ae853bb871d1e5a258cb02c2cc13cde8ddb9a)
1*495ae853SAndroid Build Coastguard Worker /******************************************************************************
2*495ae853SAndroid Build Coastguard Worker  *
3*495ae853SAndroid Build Coastguard Worker  * Copyright (C) 2015 The Android Open Source Project
4*495ae853SAndroid Build Coastguard Worker  *
5*495ae853SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*495ae853SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*495ae853SAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*495ae853SAndroid Build Coastguard Worker  *
9*495ae853SAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*495ae853SAndroid Build Coastguard Worker  *
11*495ae853SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*495ae853SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*495ae853SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*495ae853SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*495ae853SAndroid Build Coastguard Worker  * limitations under the License.
16*495ae853SAndroid Build Coastguard Worker  *
17*495ae853SAndroid Build Coastguard Worker  *****************************************************************************
18*495ae853SAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*495ae853SAndroid Build Coastguard Worker */
20*495ae853SAndroid Build Coastguard Worker 
21*495ae853SAndroid Build Coastguard Worker /**
22*495ae853SAndroid Build Coastguard Worker  **************************************************************************
23*495ae853SAndroid Build Coastguard Worker  * \file ih264d_tables.c
24*495ae853SAndroid Build Coastguard Worker  *
25*495ae853SAndroid Build Coastguard Worker  * \brief
26*495ae853SAndroid Build Coastguard Worker  *    Defination of all tables used by h264 decoder
27*495ae853SAndroid Build Coastguard Worker  *
28*495ae853SAndroid Build Coastguard Worker  * \date
29*495ae853SAndroid Build Coastguard Worker  *    17/09/2004
30*495ae853SAndroid Build Coastguard Worker  *
31*495ae853SAndroid Build Coastguard Worker  * \author  MA
32*495ae853SAndroid Build Coastguard Worker  **************************************************************************
33*495ae853SAndroid Build Coastguard Worker  */
34*495ae853SAndroid Build Coastguard Worker #include "ih264_typedefs.h"
35*495ae853SAndroid Build Coastguard Worker #include "ih264_macros.h"
36*495ae853SAndroid Build Coastguard Worker #include "ih264_platform_macros.h"
37*495ae853SAndroid Build Coastguard Worker #include "ih264d_defs.h"
38*495ae853SAndroid Build Coastguard Worker #include "ih264d_tables.h"
39*495ae853SAndroid Build Coastguard Worker 
40*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_qp_scale_cr[] =
41*495ae853SAndroid Build Coastguard Worker     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
42*495ae853SAndroid Build Coastguard Worker       12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
43*495ae853SAndroid Build Coastguard Worker       29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37, 37, 38, 38, 38,
44*495ae853SAndroid Build Coastguard Worker       39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39 };
45*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_alpha_table[] =
46*495ae853SAndroid Build Coastguard Worker     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
47*495ae853SAndroid Build Coastguard Worker       0, 0, 0, 4, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 17, 20, 22, 25, 28, 32, 36,
48*495ae853SAndroid Build Coastguard Worker       40, 45, 50, 56, 63, 71, 80, 90, 101, 113, 127, 144, 162, 182, 203, 226,
49*495ae853SAndroid Build Coastguard Worker       255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
50*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_beta_table[] =
51*495ae853SAndroid Build Coastguard Worker     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
52*495ae853SAndroid Build Coastguard Worker       0, 0, 0, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11,
53*495ae853SAndroid Build Coastguard Worker       11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 18, 18, 18,
54*495ae853SAndroid Build Coastguard Worker       18, 18, 18, 18, 18, 18, 18, 18, 18 };
55*495ae853SAndroid Build Coastguard Worker 
56*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_clip_table[][4] =
57*495ae853SAndroid Build Coastguard Worker     {
58*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
59*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
60*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
61*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
62*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
63*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
64*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
65*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
66*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
67*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
68*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
69*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
70*495ae853SAndroid Build Coastguard Worker 
71*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
72*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
73*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
74*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
75*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
76*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
77*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
78*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
79*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
80*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
81*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
82*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
83*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
84*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
85*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
86*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
87*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 0 },
88*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 1 },
89*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 1 },
90*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 1 },
91*495ae853SAndroid Build Coastguard Worker           { 0, 0, 0, 1 },
92*495ae853SAndroid Build Coastguard Worker           { 0, 0, 1, 1 },
93*495ae853SAndroid Build Coastguard Worker           { 0, 0, 1, 1 },
94*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 1 },
95*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 1 },
96*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 1 },
97*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 1 },
98*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 2 },
99*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 2 },
100*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 2 },
101*495ae853SAndroid Build Coastguard Worker           { 0, 1, 1, 2 },
102*495ae853SAndroid Build Coastguard Worker           { 0, 1, 2, 3 },
103*495ae853SAndroid Build Coastguard Worker           { 0, 1, 2, 3 },
104*495ae853SAndroid Build Coastguard Worker           { 0, 2, 2, 3 },
105*495ae853SAndroid Build Coastguard Worker           { 0, 2, 2, 4 },
106*495ae853SAndroid Build Coastguard Worker           { 0, 2, 3, 4 },
107*495ae853SAndroid Build Coastguard Worker           { 0, 2, 3, 4 },
108*495ae853SAndroid Build Coastguard Worker           { 0, 3, 3, 5 },
109*495ae853SAndroid Build Coastguard Worker           { 0, 3, 4, 6 },
110*495ae853SAndroid Build Coastguard Worker           { 0, 3, 4, 6 },
111*495ae853SAndroid Build Coastguard Worker           { 0, 4, 5, 7 },
112*495ae853SAndroid Build Coastguard Worker           { 0, 4, 5, 8 },
113*495ae853SAndroid Build Coastguard Worker           { 0, 4, 6, 9 },
114*495ae853SAndroid Build Coastguard Worker           { 0, 5, 7, 10 },
115*495ae853SAndroid Build Coastguard Worker           { 0, 6, 8, 11 },
116*495ae853SAndroid Build Coastguard Worker           { 0, 6, 8, 13 },
117*495ae853SAndroid Build Coastguard Worker           { 0, 7, 10, 14 },
118*495ae853SAndroid Build Coastguard Worker           { 0, 8, 11, 16 },
119*495ae853SAndroid Build Coastguard Worker           { 0, 9, 12, 18 },
120*495ae853SAndroid Build Coastguard Worker           { 0, 10, 13, 20 },
121*495ae853SAndroid Build Coastguard Worker           { 0, 11, 15, 23 },
122*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
123*495ae853SAndroid Build Coastguard Worker 
124*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
125*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
126*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
127*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
128*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
129*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
130*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
131*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
132*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
133*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
134*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
135*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
136*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
137*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
138*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
139*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
140*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
141*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
142*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
143*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
144*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
145*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
146*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 },
147*495ae853SAndroid Build Coastguard Worker           { 0, 13, 17, 25 }
148*495ae853SAndroid Build Coastguard Worker 
149*495ae853SAndroid Build Coastguard Worker     };
150*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_clip_table_deblock[] =
151*495ae853SAndroid Build Coastguard Worker     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
152*495ae853SAndroid Build Coastguard Worker       12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
153*495ae853SAndroid Build Coastguard Worker       30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
154*495ae853SAndroid Build Coastguard Worker       48, 49, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 };
155*495ae853SAndroid Build Coastguard Worker 
156*495ae853SAndroid Build Coastguard Worker /****************DEBLOCKING TABLES ENDS*******************/
157*495ae853SAndroid Build Coastguard Worker 
158*495ae853SAndroid Build Coastguard Worker /*************************************************************/
159*495ae853SAndroid Build Coastguard Worker /* BS CALCULATION TABLES                                     */
160*495ae853SAndroid Build Coastguard Worker /*************************************************************/
161*495ae853SAndroid Build Coastguard Worker UWORD32 const gau4_ih264d_packed_bs2[32] =
162*495ae853SAndroid Build Coastguard Worker     {
163*495ae853SAndroid Build Coastguard Worker     /*************************************************************/
164*495ae853SAndroid Build Coastguard Worker     /* BS TABLES FOR NORMAL EDGES                                */
165*495ae853SAndroid Build Coastguard Worker     /*************************************************************/
166*495ae853SAndroid Build Coastguard Worker     0x00000000,
167*495ae853SAndroid Build Coastguard Worker       0x02000000, 0x00020000, 0x02020000, 0x00000200, 0x02000200, 0x00020200,
168*495ae853SAndroid Build Coastguard Worker       0x02020200, 0x00000002, 0x02000002, 0x00020002, 0x02020002, 0x00000202,
169*495ae853SAndroid Build Coastguard Worker       0x02000202, 0x00020202, 0x02020202,
170*495ae853SAndroid Build Coastguard Worker 
171*495ae853SAndroid Build Coastguard Worker       /*************************************************************/
172*495ae853SAndroid Build Coastguard Worker       /* BS TABLES FOR XTRA LEFT MB EDGES IN MBAFF CASE            */
173*495ae853SAndroid Build Coastguard Worker       /*************************************************************/
174*495ae853SAndroid Build Coastguard Worker       0x01010101,
175*495ae853SAndroid Build Coastguard Worker       0x02010101, 0x01020101, 0x02020101, 0x01010201, 0x02010201, 0x01020201,
176*495ae853SAndroid Build Coastguard Worker       0x02020201, 0x01010102, 0x02010102, 0x01020102, 0x02020102, 0x01010202,
177*495ae853SAndroid Build Coastguard Worker       0x02010202, 0x01020202, 0x02020202, };
178*495ae853SAndroid Build Coastguard Worker 
179*495ae853SAndroid Build Coastguard Worker UWORD16 const gau2_ih264d_4x4_v2h_reorder[16] =
180*495ae853SAndroid Build Coastguard Worker     { 0x0000, 0x0001, 0x0010, 0x0011, 0x0100, 0x0101, 0x0110, 0x0111, 0x1000,
181*495ae853SAndroid Build Coastguard Worker       0x1001, 0x1010, 0x1011, 0x1100, 0x1101, 0x1110, 0x1111 };
182*495ae853SAndroid Build Coastguard Worker 
183*495ae853SAndroid Build Coastguard Worker /****************SCALING TABLES STARTS *****************/
184*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_default_intra4x4[16] =
185*495ae853SAndroid Build Coastguard Worker     { 6, 13, 13, 20, 20, 20, 28, 28, 28, 28, 32, 32, 32, 37, 37, 42 };
186*495ae853SAndroid Build Coastguard Worker 
187*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_default_inter4x4[16] =
188*495ae853SAndroid Build Coastguard Worker     { 10, 14, 14, 20, 20, 20, 24, 24, 24, 24, 27, 27, 27, 30, 30, 34 };
189*495ae853SAndroid Build Coastguard Worker 
190*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_default_intra8x8[64] =
191*495ae853SAndroid Build Coastguard Worker     { 6, 10, 10, 13, 11, 13, 16, 16, 16, 16, 18, 18, 18, 18, 18, 23, 23, 23, 23,
192*495ae853SAndroid Build Coastguard Worker       23, 23, 25, 25, 25, 25, 25, 25, 25, 27, 27, 27, 27, 27, 27, 27, 27, 29,
193*495ae853SAndroid Build Coastguard Worker       29, 29, 29, 29, 29, 29, 31, 31, 31, 31, 31, 31, 33, 33, 33, 33, 33, 36,
194*495ae853SAndroid Build Coastguard Worker       36, 36, 36, 38, 38, 38, 40, 40, 42 };
195*495ae853SAndroid Build Coastguard Worker 
196*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_default_inter8x8[64] =
197*495ae853SAndroid Build Coastguard Worker     { 9, 13, 13, 15, 13, 15, 17, 17, 17, 17, 19, 19, 19, 19, 19, 21, 21, 21, 21,
198*495ae853SAndroid Build Coastguard Worker       21, 21, 22, 22, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 25,
199*495ae853SAndroid Build Coastguard Worker       25, 25, 25, 25, 25, 25, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 30,
200*495ae853SAndroid Build Coastguard Worker       30, 30, 30, 32, 32, 32, 33, 33, 35 };
201*495ae853SAndroid Build Coastguard Worker 
202*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_flat_4x4[16] =
203*495ae853SAndroid Build Coastguard Worker     { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 };
204*495ae853SAndroid Build Coastguard Worker 
205*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_flat_8x8[64] =
206*495ae853SAndroid Build Coastguard Worker     { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
207*495ae853SAndroid Build Coastguard Worker       16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
208*495ae853SAndroid Build Coastguard Worker       16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
209*495ae853SAndroid Build Coastguard Worker       16, 16, 16, 16, 16, 16, 16, 16, 16, 16 };
210*495ae853SAndroid Build Coastguard Worker 
211*495ae853SAndroid Build Coastguard Worker /****************SCALING TABLES ENDS *****************/
212*495ae853SAndroid Build Coastguard Worker 
213*495ae853SAndroid Build Coastguard Worker /*Inverse scan tables for individual 4x4 blocks of 8x8 transform coeffs of CAVLC */
214*495ae853SAndroid Build Coastguard Worker 
215*495ae853SAndroid Build Coastguard Worker /* progressive */
216*495ae853SAndroid Build Coastguard Worker 
217*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_inv_scan_prog8x8_cavlc[4][16] =
218*495ae853SAndroid Build Coastguard Worker     {
219*495ae853SAndroid Build Coastguard Worker         { 0, 9, 17, 18, 12, 40, 27, 7, 35, 57, 29, 30, 58, 38, 53, 47 }, /* for First subblock  */
220*495ae853SAndroid Build Coastguard Worker           { 1, 2, 24, 11, 19, 48, 20, 14, 42, 50, 22, 37, 59, 31, 60, 55 }, /* for second subblock */
221*495ae853SAndroid Build Coastguard Worker           { 8, 3, 32, 4, 26, 41, 13, 21, 49, 43, 15, 44, 52, 39, 61, 62 }, /* for third subblock  */
222*495ae853SAndroid Build Coastguard Worker           { 16, 10, 25, 5, 33, 34, 6, 28, 56, 36, 23, 51, 45, 46, 54, 63 } /* for fourth subblock */
223*495ae853SAndroid Build Coastguard Worker     };
224*495ae853SAndroid Build Coastguard Worker 
225*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_inv_scan_int8x8_cavlc[4][16] =
226*495ae853SAndroid Build Coastguard Worker     {
227*495ae853SAndroid Build Coastguard Worker         { 0, 9, 2, 56, 18, 26, 34, 27, 35, 28, 36, 29, 45, 7, 54, 39 }, /* for First subblock  */
228*495ae853SAndroid Build Coastguard Worker           { 8, 24, 25, 33, 41, 11, 42, 12, 43, 13, 44, 14, 53, 15, 62, 47 }, /* for second subblock */
229*495ae853SAndroid Build Coastguard Worker           { 16, 32, 40, 10, 49, 4, 50, 5, 51, 6, 52, 22, 61, 38, 23, 55 }, /* for third subblock  */
230*495ae853SAndroid Build Coastguard Worker           { 1, 17, 48, 3, 57, 19, 58, 20, 59, 21, 60, 37, 30, 46, 31, 63 } /* for fourth subblock */
231*495ae853SAndroid Build Coastguard Worker     };
232*495ae853SAndroid Build Coastguard Worker 
233*495ae853SAndroid Build Coastguard Worker /*Inverse scan tables for individual 8x8 blocks of 8x8 transform coeffs of CABAC */
234*495ae853SAndroid Build Coastguard Worker /* progressive */
235*495ae853SAndroid Build Coastguard Worker 
236*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_inv_scan_prog8x8_cabac[64] =
237*495ae853SAndroid Build Coastguard Worker     { 0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33,
238*495ae853SAndroid Build Coastguard Worker       40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43,
239*495ae853SAndroid Build Coastguard Worker       36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53,
240*495ae853SAndroid Build Coastguard Worker       60, 61, 54, 47, 55, 62, 63 };
241*495ae853SAndroid Build Coastguard Worker 
242*495ae853SAndroid Build Coastguard Worker /* interlace */
243*495ae853SAndroid Build Coastguard Worker 
244*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_inv_scan_int8x8_cabac[64] =
245*495ae853SAndroid Build Coastguard Worker     { 0, 8, 16, 1, 9, 24, 32, 17, 2, 25, 40, 48, 56, 33, 10, 3, 18, 41, 49, 57,
246*495ae853SAndroid Build Coastguard Worker       26, 11, 4, 19, 34, 42, 50, 58, 27, 12, 5, 20, 35, 43, 51, 59, 28, 13, 6,
247*495ae853SAndroid Build Coastguard Worker       21, 36, 44, 52, 60, 29, 14, 22, 37, 45, 53, 61, 30, 7, 15, 38, 46, 54, 62,
248*495ae853SAndroid Build Coastguard Worker       23, 31, 39, 47, 55, 63 };
249*495ae853SAndroid Build Coastguard Worker 
250*495ae853SAndroid Build Coastguard Worker /****************PARSING TABLES *******************/
251*495ae853SAndroid Build Coastguard Worker UWORD8 const gau1_ih264d_subblk_offset[16] =
252*495ae853SAndroid Build Coastguard Worker     { 8, 9, 12, 13, 10, 11, 14, 15, 16, 17, 20, 21, 18, 19, 22, 23 };
253*495ae853SAndroid Build Coastguard Worker 
254*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_cbp_tab[6] =
255*495ae853SAndroid Build Coastguard Worker     { 0, 16, 32, 15, 31, 47 };
256*495ae853SAndroid Build Coastguard Worker 
257*495ae853SAndroid Build Coastguard Worker /** gives CBP value from codeword number, both for intra and inter */
258*495ae853SAndroid Build Coastguard Worker 
259*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_cbp_table[48][2] =
260*495ae853SAndroid Build Coastguard Worker     {
261*495ae853SAndroid Build Coastguard Worker         { 47, 0 },
262*495ae853SAndroid Build Coastguard Worker           { 31, 16 },
263*495ae853SAndroid Build Coastguard Worker           { 15, 1 },
264*495ae853SAndroid Build Coastguard Worker           { 0, 2 },
265*495ae853SAndroid Build Coastguard Worker           { 23, 4 },
266*495ae853SAndroid Build Coastguard Worker           { 27, 8 },
267*495ae853SAndroid Build Coastguard Worker           { 29, 32 },
268*495ae853SAndroid Build Coastguard Worker           { 30, 3 },
269*495ae853SAndroid Build Coastguard Worker           { 7, 5 },
270*495ae853SAndroid Build Coastguard Worker           { 11, 10 },
271*495ae853SAndroid Build Coastguard Worker           { 13, 12 },
272*495ae853SAndroid Build Coastguard Worker           { 14, 15 },
273*495ae853SAndroid Build Coastguard Worker           { 39, 47 },
274*495ae853SAndroid Build Coastguard Worker           { 43, 7 },
275*495ae853SAndroid Build Coastguard Worker           { 45, 11 },
276*495ae853SAndroid Build Coastguard Worker           { 46, 13 },
277*495ae853SAndroid Build Coastguard Worker           { 16, 14 },
278*495ae853SAndroid Build Coastguard Worker           { 3, 6 },
279*495ae853SAndroid Build Coastguard Worker           { 5, 9 },
280*495ae853SAndroid Build Coastguard Worker           { 10, 31 },
281*495ae853SAndroid Build Coastguard Worker           { 12, 35 },
282*495ae853SAndroid Build Coastguard Worker           { 19, 37 },
283*495ae853SAndroid Build Coastguard Worker           { 21, 42 },
284*495ae853SAndroid Build Coastguard Worker           { 26, 44 },
285*495ae853SAndroid Build Coastguard Worker           { 28, 33 },
286*495ae853SAndroid Build Coastguard Worker           { 35, 34 },
287*495ae853SAndroid Build Coastguard Worker           { 37, 36 },
288*495ae853SAndroid Build Coastguard Worker           { 42, 40 },
289*495ae853SAndroid Build Coastguard Worker           { 44, 39 },
290*495ae853SAndroid Build Coastguard Worker           { 1, 43 },
291*495ae853SAndroid Build Coastguard Worker           { 2, 45 },
292*495ae853SAndroid Build Coastguard Worker           { 4, 46 },
293*495ae853SAndroid Build Coastguard Worker           { 8, 17 },
294*495ae853SAndroid Build Coastguard Worker           { 17, 18 },
295*495ae853SAndroid Build Coastguard Worker           { 18, 20 },
296*495ae853SAndroid Build Coastguard Worker           { 20, 24 },
297*495ae853SAndroid Build Coastguard Worker           { 24, 19 },
298*495ae853SAndroid Build Coastguard Worker           { 6, 21 },
299*495ae853SAndroid Build Coastguard Worker           { 9, 26 },
300*495ae853SAndroid Build Coastguard Worker           { 22, 28 },
301*495ae853SAndroid Build Coastguard Worker           { 25, 23 },
302*495ae853SAndroid Build Coastguard Worker           { 32, 27 },
303*495ae853SAndroid Build Coastguard Worker           { 33, 29 },
304*495ae853SAndroid Build Coastguard Worker           { 34, 30 },
305*495ae853SAndroid Build Coastguard Worker           { 36, 22 },
306*495ae853SAndroid Build Coastguard Worker           { 40, 25 },
307*495ae853SAndroid Build Coastguard Worker           { 38, 38 },
308*495ae853SAndroid Build Coastguard Worker           { 41, 41 }, };
309*495ae853SAndroid Build Coastguard Worker /****************PARSING TABLES ENDS *******************/
310*495ae853SAndroid Build Coastguard Worker 
311*495ae853SAndroid Build Coastguard Worker /****************DECODE SLICE TABLES STARTS *******************/
312*495ae853SAndroid Build Coastguard Worker /*Definition of Tables needed by functions of this file */
313*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_inv_scan[16] =
314*495ae853SAndroid Build Coastguard Worker     { 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 };
315*495ae853SAndroid Build Coastguard Worker 
316*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_inv_scan_fld[16] =
317*495ae853SAndroid Build Coastguard Worker     { 0, 4, 1, 8, 12, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15 };
318*495ae853SAndroid Build Coastguard Worker 
319*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_dequant_matrix[6][16] =
320*495ae853SAndroid Build Coastguard Worker {
321*495ae853SAndroid Build Coastguard Worker     {   10, 13, 10, 13, 13, 16, 13, 16, 10, 13, 10 ,13, 13, 16, 13, 16},
322*495ae853SAndroid Build Coastguard Worker     {   11, 14, 11, 14, 14, 18, 14, 18, 11, 14, 11 ,14, 14, 18, 14, 18},
323*495ae853SAndroid Build Coastguard Worker     {   13, 16, 13, 16, 16, 20, 16, 20, 13, 16, 13 ,16, 16, 20, 16, 20},
324*495ae853SAndroid Build Coastguard Worker     {   14, 18, 14, 18, 18, 23, 18, 23, 14, 18, 14, 18, 18, 23, 18, 23},
325*495ae853SAndroid Build Coastguard Worker     {   16, 20, 16, 20, 20, 25, 20, 25, 16, 20, 16, 20, 20, 25, 20, 25},
326*495ae853SAndroid Build Coastguard Worker     {   18, 23, 18, 23, 23, 29, 23, 29, 18, 23, 18, 23, 23, 29, 23, 29}
327*495ae853SAndroid Build Coastguard Worker };
328*495ae853SAndroid Build Coastguard Worker 
329*495ae853SAndroid Build Coastguard Worker const UWORD16 gau2_ih264_iquant_scale_4x4[6][16] =
330*495ae853SAndroid Build Coastguard Worker     {
331*495ae853SAndroid Build Coastguard Worker         { 10, 13, 10, 13, 13, 16, 13, 16, 10, 13, 10, 13, 13, 16, 13, 16 },
332*495ae853SAndroid Build Coastguard Worker           { 11, 14, 11, 14, 14, 18, 14, 18, 11, 14, 11, 14, 14, 18, 14, 18 },
333*495ae853SAndroid Build Coastguard Worker           { 13, 16, 13, 16, 16, 20, 16, 20, 13, 16, 13, 16, 16, 20, 16, 20 },
334*495ae853SAndroid Build Coastguard Worker           { 14, 18, 14, 18, 18, 23, 18, 23, 14, 18, 14, 18, 18, 23, 18, 23 },
335*495ae853SAndroid Build Coastguard Worker           { 16, 20, 16, 20, 20, 25, 20, 25, 16, 20, 16, 20, 20, 25, 20, 25 },
336*495ae853SAndroid Build Coastguard Worker           { 18, 23, 18, 23, 23, 29, 23, 29, 18, 23, 18, 23, 23, 29, 23, 29 } };
337*495ae853SAndroid Build Coastguard Worker 
338*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_dequant8x8_zigzag_cavlc[4][6][16] =
339*495ae853SAndroid Build Coastguard Worker                     {
340*495ae853SAndroid Build Coastguard Worker                         {
341*495ae853SAndroid Build Coastguard Worker                             { 20, 18, 24, 32, 19, 19, 18, 19, 19, 18, 18, 24,
342*495ae853SAndroid Build Coastguard Worker                               24, 25, 24, 18 }, /* for First subblock  */
343*495ae853SAndroid Build Coastguard Worker                               { 22, 19, 26, 35, 21, 21, 19, 21, 21, 19, 19, 26,
344*495ae853SAndroid Build Coastguard Worker                                 26, 28, 26, 19 },
345*495ae853SAndroid Build Coastguard Worker                               { 26, 23, 31, 42, 24, 24, 23, 24, 24, 23, 23, 31,
346*495ae853SAndroid Build Coastguard Worker                                 31, 33, 31, 23 },
347*495ae853SAndroid Build Coastguard Worker                               { 28, 25, 33, 45, 26, 26, 25, 26, 26, 25, 25, 33,
348*495ae853SAndroid Build Coastguard Worker                                 33, 35, 33, 25 },
349*495ae853SAndroid Build Coastguard Worker                               { 32, 28, 38, 51, 30, 30, 28, 30, 30, 28, 28, 38,
350*495ae853SAndroid Build Coastguard Worker                                 38, 40, 38, 28 },
351*495ae853SAndroid Build Coastguard Worker                               { 36, 32, 43, 58, 34, 34, 32, 34, 34, 32, 32, 43,
352*495ae853SAndroid Build Coastguard Worker                                 43, 46, 43, 32 } },
353*495ae853SAndroid Build Coastguard Worker                           {
354*495ae853SAndroid Build Coastguard Worker                               { 19, 25, 19, 18, 24, 25, 25, 24, 24, 32, 32, 19,
355*495ae853SAndroid Build Coastguard Worker                                 18, 18, 19, 24 }, /* for second subblock */
356*495ae853SAndroid Build Coastguard Worker                                 { 21, 28, 21, 19, 26, 28, 28, 26, 26, 35, 35,
357*495ae853SAndroid Build Coastguard Worker                                   21, 19, 19, 21, 26 },
358*495ae853SAndroid Build Coastguard Worker                                 { 24, 33, 24, 23, 31, 33, 33, 31, 31, 42, 42,
359*495ae853SAndroid Build Coastguard Worker                                   24, 23, 23, 24, 31 },
360*495ae853SAndroid Build Coastguard Worker                                 { 26, 35, 26, 25, 33, 35, 35, 33, 33, 45, 45,
361*495ae853SAndroid Build Coastguard Worker                                   26, 25, 25, 26, 33 },
362*495ae853SAndroid Build Coastguard Worker                                 { 30, 40, 30, 28, 38, 40, 40, 38, 38, 51, 51,
363*495ae853SAndroid Build Coastguard Worker                                   30, 28, 28, 30, 38 },
364*495ae853SAndroid Build Coastguard Worker                                 { 34, 46, 34, 32, 43, 46, 46, 43, 43, 58, 58,
365*495ae853SAndroid Build Coastguard Worker                                   34, 32, 32, 34, 43 } },
366*495ae853SAndroid Build Coastguard Worker                           {
367*495ae853SAndroid Build Coastguard Worker                               { 19, 19, 20, 20, 24, 18, 18, 24, 24, 18, 18, 19,
368*495ae853SAndroid Build Coastguard Worker                                 25, 19, 18, 24 }, /* for third subblock  */
369*495ae853SAndroid Build Coastguard Worker                                 { 21, 21, 22, 22, 26, 19, 19, 26, 26, 19, 19,
370*495ae853SAndroid Build Coastguard Worker                                   21, 28, 21, 19, 26 },
371*495ae853SAndroid Build Coastguard Worker                                 { 24, 24, 26, 26, 31, 23, 23, 31, 31, 23, 23,
372*495ae853SAndroid Build Coastguard Worker                                   24, 33, 24, 23, 31 },
373*495ae853SAndroid Build Coastguard Worker                                 { 26, 26, 28, 28, 33, 25, 25, 33, 33, 25, 25,
374*495ae853SAndroid Build Coastguard Worker                                   26, 35, 26, 25, 33 },
375*495ae853SAndroid Build Coastguard Worker                                 { 30, 30, 32, 32, 38, 28, 28, 38, 38, 28, 28,
376*495ae853SAndroid Build Coastguard Worker                                   30, 40, 30, 28, 38 },
377*495ae853SAndroid Build Coastguard Worker                                 { 34, 34, 36, 36, 43, 32, 32, 43, 43, 32, 32,
378*495ae853SAndroid Build Coastguard Worker                                   34, 46, 34, 32, 43 } },
379*495ae853SAndroid Build Coastguard Worker                           {
380*495ae853SAndroid Build Coastguard Worker                               { 25, 24, 18, 19, 19, 25, 25, 19, 19, 20, 24, 24,
381*495ae853SAndroid Build Coastguard Worker                                 18, 24, 32, 18 }, /* for fourth subblock */
382*495ae853SAndroid Build Coastguard Worker                                 { 28, 26, 19, 21, 21, 28, 28, 21, 21, 22, 26,
383*495ae853SAndroid Build Coastguard Worker                                   26, 19, 26, 35, 19 },
384*495ae853SAndroid Build Coastguard Worker                                 { 33, 31, 23, 24, 24, 33, 33, 24, 24, 26, 31,
385*495ae853SAndroid Build Coastguard Worker                                   31, 23, 31, 42, 23 },
386*495ae853SAndroid Build Coastguard Worker                                 { 35, 33, 25, 26, 26, 35, 35, 26, 26, 28, 33,
387*495ae853SAndroid Build Coastguard Worker                                   33, 25, 33, 45, 25 },
388*495ae853SAndroid Build Coastguard Worker                                 { 40, 38, 28, 30, 30, 40, 40, 30, 30, 32, 38,
389*495ae853SAndroid Build Coastguard Worker                                   38, 28, 38, 51, 28 },
390*495ae853SAndroid Build Coastguard Worker                                 { 46, 43, 32, 34, 34, 46, 46, 34, 34, 36, 43,
391*495ae853SAndroid Build Coastguard Worker                                   43, 32, 43, 58, 32 } }
392*495ae853SAndroid Build Coastguard Worker 
393*495ae853SAndroid Build Coastguard Worker                     };
394*495ae853SAndroid Build Coastguard Worker 
395*495ae853SAndroid Build Coastguard Worker const UWORD16 gau1_ih264d_dequant8x8_cavlc[6][64] =
396*495ae853SAndroid Build Coastguard Worker                     {
397*495ae853SAndroid Build Coastguard Worker                         { 20, 19, 25, 19, 20, 19, 25, 19, 19, 18, 24, 18, 19,
398*495ae853SAndroid Build Coastguard Worker                           18, 24, 18, 25, 24, 32, 24, 25, 24, 32, 24, 19, 18,
399*495ae853SAndroid Build Coastguard Worker                           24, 18, 19, 18, 24, 18, 20, 19, 25, 19, 20, 19, 25,
400*495ae853SAndroid Build Coastguard Worker                           19, 19, 18, 24, 18, 19, 18, 24, 18, 25, 24, 32, 24,
401*495ae853SAndroid Build Coastguard Worker                           25, 24, 32, 24, 19, 18, 24, 18, 19, 18, 24, 18 },
402*495ae853SAndroid Build Coastguard Worker                           { 22, 21, 28, 21, 22, 21, 28, 21, 21, 19, 26, 19, 21,
403*495ae853SAndroid Build Coastguard Worker                             19, 26, 19, 28, 26, 35, 26, 28, 26, 35, 26, 21, 19,
404*495ae853SAndroid Build Coastguard Worker                             26, 19, 21, 19, 26, 19, 22, 21, 28, 21, 22, 21, 28,
405*495ae853SAndroid Build Coastguard Worker                             21, 21, 19, 26, 19, 21, 19, 26, 19, 28, 26, 35, 26,
406*495ae853SAndroid Build Coastguard Worker                             28, 26, 35, 26, 21, 19, 26, 19, 21, 19, 26, 19 },
407*495ae853SAndroid Build Coastguard Worker                           { 26, 24, 33, 24, 26, 24, 33, 24, 24, 23, 31, 23, 24,
408*495ae853SAndroid Build Coastguard Worker                             23, 31, 23, 33, 31, 42, 31, 33, 31, 42, 31, 24, 23,
409*495ae853SAndroid Build Coastguard Worker                             31, 23, 24, 23, 31, 23, 26, 24, 33, 24, 26, 24, 33,
410*495ae853SAndroid Build Coastguard Worker                             24, 24, 23, 31, 23, 24, 23, 31, 23, 33, 31, 42, 31,
411*495ae853SAndroid Build Coastguard Worker                             33, 31, 42, 31, 24, 23, 31, 23, 24, 23, 31, 23 },
412*495ae853SAndroid Build Coastguard Worker                           { 28, 26, 35, 26, 28, 26, 35, 26, 26, 25, 33, 25, 26,
413*495ae853SAndroid Build Coastguard Worker                             25, 33, 25, 35, 33, 45, 33, 35, 33, 45, 33, 26, 25,
414*495ae853SAndroid Build Coastguard Worker                             33, 25, 26, 25, 33, 25, 28, 26, 35, 26, 28, 26, 35,
415*495ae853SAndroid Build Coastguard Worker                             26, 26, 25, 33, 25, 26, 25, 33, 25, 35, 33, 45, 33,
416*495ae853SAndroid Build Coastguard Worker                             35, 33, 45, 33, 26, 25, 33, 25, 26, 25, 33, 25 },
417*495ae853SAndroid Build Coastguard Worker                           { 32, 30, 40, 30, 32, 30, 40, 30, 30, 28, 38, 28, 30,
418*495ae853SAndroid Build Coastguard Worker                             28, 38, 28, 40, 38, 51, 38, 40, 38, 51, 38, 30, 28,
419*495ae853SAndroid Build Coastguard Worker                             38, 28, 30, 28, 38, 28, 32, 30, 40, 30, 32, 30, 40,
420*495ae853SAndroid Build Coastguard Worker                             30, 30, 28, 38, 28, 30, 28, 38, 28, 40, 38, 51, 38,
421*495ae853SAndroid Build Coastguard Worker                             40, 38, 51, 38, 30, 28, 38, 28, 30, 28, 38, 28 },
422*495ae853SAndroid Build Coastguard Worker                           { 36, 34, 46, 34, 36, 34, 46, 34, 34, 32, 43, 32, 34,
423*495ae853SAndroid Build Coastguard Worker                             32, 43, 32, 46, 43, 58, 43, 46, 43, 58, 43, 34, 32,
424*495ae853SAndroid Build Coastguard Worker                             43, 32, 34, 32, 43, 32, 36, 34, 46, 34, 36, 34, 46,
425*495ae853SAndroid Build Coastguard Worker                             34, 34, 32, 43, 32, 34, 32, 43, 32, 46, 43, 58, 43,
426*495ae853SAndroid Build Coastguard Worker                             46, 43, 58, 43, 34, 32, 43, 32, 34, 32, 43, 32 }, };
427*495ae853SAndroid Build Coastguard Worker 
428*495ae853SAndroid Build Coastguard Worker /****************DECODE SLICE TABLES ENDS *******************/
429*495ae853SAndroid Build Coastguard Worker 
430*495ae853SAndroid Build Coastguard Worker /****************MOTION VECTOR DECODING TABLES STARTS *******************/
431*495ae853SAndroid Build Coastguard Worker 
432*495ae853SAndroid Build Coastguard Worker /**
433*495ae853SAndroid Build Coastguard Worker  **************************************************************************
434*495ae853SAndroid Build Coastguard Worker  *   \brief   This array is used to evaluate the condition when only one of
435*495ae853SAndroid Build Coastguard Worker  *   predictor subMbs has a reference frame equal to that of E subMb.
436*495ae853SAndroid Build Coastguard Worker  **************************************************************************
437*495ae853SAndroid Build Coastguard Worker  */
438*495ae853SAndroid Build Coastguard Worker 
439*495ae853SAndroid Build Coastguard Worker const WORD8 gau1_ih264d_mv_pred_condition[] =
440*495ae853SAndroid Build Coastguard Worker     { -1, 0, 1, -1, 2, -1, -1, -1 };
441*495ae853SAndroid Build Coastguard Worker 
442*495ae853SAndroid Build Coastguard Worker /** Number of subMbs for the 8x8 prediction mode */
443*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_num_submb_part[] =
444*495ae853SAndroid Build Coastguard Worker     { 1, 2, 2, 4 };
445*495ae853SAndroid Build Coastguard Worker 
446*495ae853SAndroid Build Coastguard Worker /** Width of the 8x8 prediction mode in terms of subMbs */
447*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_submb_partw[] =
448*495ae853SAndroid Build Coastguard Worker     { 2, 2, 1, 1 };
449*495ae853SAndroid Build Coastguard Worker 
450*495ae853SAndroid Build Coastguard Worker /** Height of the 8x8 prediction mode in terms of subMbs */
451*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_submb_parth[] =
452*495ae853SAndroid Build Coastguard Worker     { 2, 1, 2, 1 };
453*495ae853SAndroid Build Coastguard Worker 
454*495ae853SAndroid Build Coastguard Worker /** Number of MB partitions for the MB prediction mode */
455*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_num_mb_part[] =
456*495ae853SAndroid Build Coastguard Worker     { 1, 2, 2, 4 };
457*495ae853SAndroid Build Coastguard Worker 
458*495ae853SAndroid Build Coastguard Worker /** Width of the MB partition in terms of subMbs */
459*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_mb_partw[] =
460*495ae853SAndroid Build Coastguard Worker     { 4, 4, 2, 2, 2 };
461*495ae853SAndroid Build Coastguard Worker 
462*495ae853SAndroid Build Coastguard Worker /** Height of the MB partition in terms of subMbs */
463*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_mb_parth[] =
464*495ae853SAndroid Build Coastguard Worker     { 4, 2, 4, 2, 2 };
465*495ae853SAndroid Build Coastguard Worker 
466*495ae853SAndroid Build Coastguard Worker /** MB partition information is packed into a UWORD32 {0,number,width,height} */
467*495ae853SAndroid Build Coastguard Worker const UWORD32 gau4_ih264d_submb_part[] =
468*495ae853SAndroid Build Coastguard Worker     { 0x00010202, 0x00020201, 0x00020102, 0x00040101 };
469*495ae853SAndroid Build Coastguard Worker 
470*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_submb_indx_mod[] =
471*495ae853SAndroid Build Coastguard Worker     { 0, 0, /* 16x16 */
472*495ae853SAndroid Build Coastguard Worker       0, 8, /* 16x8 */
473*495ae853SAndroid Build Coastguard Worker       0, 2, /* 8x16 */
474*495ae853SAndroid Build Coastguard Worker       0, 0, /* 8x8 */
475*495ae853SAndroid Build Coastguard Worker       0, 4, /* 8x4 */
476*495ae853SAndroid Build Coastguard Worker       0, 1, /* 4x8 */
477*495ae853SAndroid Build Coastguard Worker       0, 1, 3, 1 /* 4x4 */
478*495ae853SAndroid Build Coastguard Worker     };
479*495ae853SAndroid Build Coastguard Worker 
480*495ae853SAndroid Build Coastguard Worker /** This table is used to assign CBPs to Inter MBs. */
481*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_cbp_inter[] =
482*495ae853SAndroid Build Coastguard Worker     { 0, 16, 1, 2, 4, 8, 32, 3, 5, 10, 12, 15, 47, 7, 11, 13, 14, 6, 9, 31, 35,
483*495ae853SAndroid Build Coastguard Worker       37, 42, 44, 33, 34, 36, 40, 39, 43, 45, 46, 17, 18, 20, 24, 19, 21, 26,
484*495ae853SAndroid Build Coastguard Worker       28, 23, 27, 29, 30, 22, 25, 38, 41 };
485*495ae853SAndroid Build Coastguard Worker 
486*495ae853SAndroid Build Coastguard Worker /** Motion comp modes for P followed by B,
487*495ae853SAndroid Build Coastguard Worker  0 to 4   : P Mbs
488*495ae853SAndroid Build Coastguard Worker  5 to 27  : B Mbs
489*495ae853SAndroid Build Coastguard Worker  28 to 30 : DIRECT */
490*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_mb_mc_mode[] =
491*495ae853SAndroid Build Coastguard Worker     {
492*495ae853SAndroid Build Coastguard Worker     PRED_16x16,
493*495ae853SAndroid Build Coastguard Worker       PRED_16x8, PRED_8x16, PRED_8x8, PRED_8x8R0,
494*495ae853SAndroid Build Coastguard Worker       PRED_16x16,
495*495ae853SAndroid Build Coastguard Worker       PRED_16x16, PRED_16x16, PRED_16x16, PRED_16x8, PRED_8x16,
496*495ae853SAndroid Build Coastguard Worker       PRED_16x8,
497*495ae853SAndroid Build Coastguard Worker       PRED_8x16, PRED_16x8, PRED_8x16, PRED_16x8, PRED_8x16,
498*495ae853SAndroid Build Coastguard Worker       PRED_16x8,
499*495ae853SAndroid Build Coastguard Worker       PRED_8x16, PRED_16x8, PRED_8x16, PRED_16x8, PRED_8x16,
500*495ae853SAndroid Build Coastguard Worker       PRED_16x8,
501*495ae853SAndroid Build Coastguard Worker       PRED_8x16, PRED_16x8, PRED_8x16, PRED_8x8,
502*495ae853SAndroid Build Coastguard Worker       /* Self defined modes for B_SKIP and DIRECT16x16 */
503*495ae853SAndroid Build Coastguard Worker       PRED_8x8,
504*495ae853SAndroid Build Coastguard Worker       PRED_8x8, PRED_8x8 };
505*495ae853SAndroid Build Coastguard Worker 
506*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_submb_mc_mode[] =
507*495ae853SAndroid Build Coastguard Worker     { SUBMB_8x8, SUBMB_8x4, SUBMB_4x8, SUBMB_4x4,
508*495ae853SAndroid Build Coastguard Worker     SUBMB_8x8,
509*495ae853SAndroid Build Coastguard Worker       SUBMB_8x8, SUBMB_8x8, SUBMB_8x8, SUBMB_8x4, SUBMB_4x8,
510*495ae853SAndroid Build Coastguard Worker       SUBMB_8x4,
511*495ae853SAndroid Build Coastguard Worker       SUBMB_4x8, SUBMB_8x4, SUBMB_4x8, SUBMB_4x4, SUBMB_4x4, SUBMB_4x4,
512*495ae853SAndroid Build Coastguard Worker       /* Self defined modes B DIRECT8x8 */
513*495ae853SAndroid Build Coastguard Worker       SUBMB_4x4,
514*495ae853SAndroid Build Coastguard Worker       SUBMB_4x4, SUBMB_4x4 };
515*495ae853SAndroid Build Coastguard Worker 
516*495ae853SAndroid Build Coastguard Worker /** Sub MB pred modes for B slice */
517*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_submb_pred_modes[] =
518*495ae853SAndroid Build Coastguard Worker     {
519*495ae853SAndroid Build Coastguard Worker     PRED_L0,
520*495ae853SAndroid Build Coastguard Worker       PRED_L0, PRED_L0, PRED_L0,
521*495ae853SAndroid Build Coastguard Worker       B_DIRECT,
522*495ae853SAndroid Build Coastguard Worker       PRED_L0, PRED_L1, BI_PRED, PRED_L0, PRED_L0, PRED_L1,
523*495ae853SAndroid Build Coastguard Worker       PRED_L1,
524*495ae853SAndroid Build Coastguard Worker       BI_PRED, BI_PRED, PRED_L0, PRED_L1, BI_PRED,
525*495ae853SAndroid Build Coastguard Worker       /* Self defined modes for B DIRECT8x8 */
526*495ae853SAndroid Build Coastguard Worker       BI_PRED,
527*495ae853SAndroid Build Coastguard Worker       PRED_L0, PRED_L1, };
528*495ae853SAndroid Build Coastguard Worker 
529*495ae853SAndroid Build Coastguard Worker /** MB pred modes for P and B slice */
530*495ae853SAndroid Build Coastguard Worker const WORD8 gau1_ih264d_mb_pred_modes[2][32] =
531*495ae853SAndroid Build Coastguard Worker     {
532*495ae853SAndroid Build Coastguard Worker         { PRED_L0, PRED_L0, PRED_L0, PRED_INVALID, PRED_INVALID,
533*495ae853SAndroid Build Coastguard Worker         B_DIRECT,
534*495ae853SAndroid Build Coastguard Worker           PRED_L0, PRED_L1, BI_PRED, PRED_L0, PRED_L0, PRED_L1, PRED_L1,
535*495ae853SAndroid Build Coastguard Worker           PRED_L0,
536*495ae853SAndroid Build Coastguard Worker           PRED_L0, PRED_L1, PRED_L1, PRED_L0, PRED_L0, PRED_L1, PRED_L1,
537*495ae853SAndroid Build Coastguard Worker           BI_PRED,
538*495ae853SAndroid Build Coastguard Worker           BI_PRED, BI_PRED, BI_PRED, BI_PRED, BI_PRED, PRED_INVALID,
539*495ae853SAndroid Build Coastguard Worker           /* Self defined modes for B_SKIP and DIRECT16x16 */
540*495ae853SAndroid Build Coastguard Worker           BI_PRED,
541*495ae853SAndroid Build Coastguard Worker           PRED_L0, PRED_L1, },
542*495ae853SAndroid Build Coastguard Worker           { PRED_INVALID, PRED_L0, PRED_L0, PRED_INVALID, PRED_INVALID,
543*495ae853SAndroid Build Coastguard Worker           PRED_INVALID,
544*495ae853SAndroid Build Coastguard Worker             PRED_INVALID, PRED_INVALID, PRED_INVALID, PRED_L0, PRED_L0,
545*495ae853SAndroid Build Coastguard Worker             PRED_L1,
546*495ae853SAndroid Build Coastguard Worker             PRED_L1, PRED_L1, PRED_L1, PRED_L0, PRED_L0, BI_PRED, BI_PRED,
547*495ae853SAndroid Build Coastguard Worker             BI_PRED,
548*495ae853SAndroid Build Coastguard Worker             BI_PRED, PRED_L0, PRED_L0, PRED_L1, PRED_L1, BI_PRED, BI_PRED,
549*495ae853SAndroid Build Coastguard Worker             PRED_INVALID,
550*495ae853SAndroid Build Coastguard Worker             /* Self defined modes for B_SKIP and DIRECT16x16 */
551*495ae853SAndroid Build Coastguard Worker             PRED_INVALID,
552*495ae853SAndroid Build Coastguard Worker             PRED_INVALID, PRED_INVALID } };
553*495ae853SAndroid Build Coastguard Worker 
554*495ae853SAndroid Build Coastguard Worker /****************MOTION VECTOR DECODING TABLES ENDS *******************/
555*495ae853SAndroid Build Coastguard Worker 
556*495ae853SAndroid Build Coastguard Worker /****************CAVLC DECODING TABLES STARTS *******************/
557*495ae853SAndroid Build Coastguard Worker 
558*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
559*495ae853SAndroid Build Coastguard Worker /* 6 Bit table look for total zeros (totalcoeff = 2to10) as in Table 9.7     */
560*495ae853SAndroid Build Coastguard Worker /* of H264 standard. In each table entry, lower 4 bits represent total zeros */
561*495ae853SAndroid Build Coastguard Worker /* decoded while upper 4 bit represent the bits to be flushed from ps_bitstrm    */
562*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
563*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_table_total_zero_2to10[9][64] =
564*495ae853SAndroid Build Coastguard Worker     {
565*495ae853SAndroid Build Coastguard Worker     /* For total coeff = 2 */
566*495ae853SAndroid Build Coastguard Worker         { 0x6E, 0x6D, 0x6C, 0x6B, 0x5A, 0x5A, 0x59, 0x59, 0x48, 0x48, 0x48,
567*495ae853SAndroid Build Coastguard Worker           0x48, 0x47, 0x47, 0x47, 0x47, 0x46, 0x46, 0x46, 0x46, 0x45, 0x45,
568*495ae853SAndroid Build Coastguard Worker           0x45, 0x45, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x33,
569*495ae853SAndroid Build Coastguard Worker           0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x32, 0x32, 0x32,
570*495ae853SAndroid Build Coastguard Worker           0x32, 0x32, 0x32, 0x32, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
571*495ae853SAndroid Build Coastguard Worker           0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, },
572*495ae853SAndroid Build Coastguard Worker 
573*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 3 */
574*495ae853SAndroid Build Coastguard Worker           { 0x6D, 0x6B, 0x5C, 0x5C, 0x5A, 0x5A, 0x59, 0x59, 0x48, 0x48, 0x48,
575*495ae853SAndroid Build Coastguard Worker             0x48, 0x45, 0x45, 0x45, 0x45, 0x44, 0x44, 0x44, 0x44, 0x40, 0x40,
576*495ae853SAndroid Build Coastguard Worker             0x40, 0x40, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x36,
577*495ae853SAndroid Build Coastguard Worker             0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x33, 0x33, 0x33, 0x33,
578*495ae853SAndroid Build Coastguard Worker             0x33, 0x33, 0x33, 0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32,
579*495ae853SAndroid Build Coastguard Worker             0x32, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, },
580*495ae853SAndroid Build Coastguard Worker 
581*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 4 */
582*495ae853SAndroid Build Coastguard Worker           { 0x5C, 0x5C, 0x5B, 0x5B, 0x5A, 0x5A, 0x50, 0x50, 0x49, 0x49, 0x49,
583*495ae853SAndroid Build Coastguard Worker             0x49, 0x47, 0x47, 0x47, 0x47, 0x43, 0x43, 0x43, 0x43, 0x42, 0x42,
584*495ae853SAndroid Build Coastguard Worker             0x42, 0x42, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x36,
585*495ae853SAndroid Build Coastguard Worker             0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x35, 0x35, 0x35,
586*495ae853SAndroid Build Coastguard Worker             0x35, 0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
587*495ae853SAndroid Build Coastguard Worker             0x34, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, },
588*495ae853SAndroid Build Coastguard Worker 
589*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 5 */
590*495ae853SAndroid Build Coastguard Worker           { 0x5B, 0x5B, 0x59, 0x59, 0x4A, 0x4A, 0x4A, 0x4A, 0x48, 0x48, 0x48,
591*495ae853SAndroid Build Coastguard Worker             0x48, 0x42, 0x42, 0x42, 0x42, 0x41, 0x41, 0x41, 0x41, 0x40, 0x40,
592*495ae853SAndroid Build Coastguard Worker             0x40, 0x40, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37, 0x36,
593*495ae853SAndroid Build Coastguard Worker             0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35, 0x35, 0x35, 0x35,
594*495ae853SAndroid Build Coastguard Worker             0x35, 0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
595*495ae853SAndroid Build Coastguard Worker             0x34, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, },
596*495ae853SAndroid Build Coastguard Worker 
597*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 6 */
598*495ae853SAndroid Build Coastguard Worker           { 0x6A, 0x60, 0x51, 0x51, 0x48, 0x48, 0x48, 0x48, 0x39, 0x39, 0x39,
599*495ae853SAndroid Build Coastguard Worker             0x39, 0x39, 0x39, 0x39, 0x39, 0x37, 0x37, 0x37, 0x37, 0x37, 0x37,
600*495ae853SAndroid Build Coastguard Worker             0x37, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x35,
601*495ae853SAndroid Build Coastguard Worker             0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x34,
602*495ae853SAndroid Build Coastguard Worker             0x34, 0x34, 0x34, 0x34, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
603*495ae853SAndroid Build Coastguard Worker             0x33, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, 0x32, },
604*495ae853SAndroid Build Coastguard Worker 
605*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 7 */
606*495ae853SAndroid Build Coastguard Worker           { 0x69, 0x60, 0x51, 0x51, 0x47, 0x47, 0x47, 0x47, 0x38, 0x38, 0x38,
607*495ae853SAndroid Build Coastguard Worker             0x38, 0x38, 0x38, 0x38, 0x38, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
608*495ae853SAndroid Build Coastguard Worker             0x36, 0x36, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x33,
609*495ae853SAndroid Build Coastguard Worker             0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x32, 0x32, 0x32, 0x32,
610*495ae853SAndroid Build Coastguard Worker             0x32, 0x32, 0x32, 0x32, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
611*495ae853SAndroid Build Coastguard Worker             0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, },
612*495ae853SAndroid Build Coastguard Worker 
613*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 8 */
614*495ae853SAndroid Build Coastguard Worker           { 0x68, 0x60, 0x52, 0x52, 0x41, 0x41, 0x41, 0x41, 0x37, 0x37, 0x37,
615*495ae853SAndroid Build Coastguard Worker             0x37, 0x37, 0x37, 0x37, 0x37, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
616*495ae853SAndroid Build Coastguard Worker             0x36, 0x36, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x25,
617*495ae853SAndroid Build Coastguard Worker             0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
618*495ae853SAndroid Build Coastguard Worker             0x25, 0x25, 0x25, 0x25, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
619*495ae853SAndroid Build Coastguard Worker             0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, },
620*495ae853SAndroid Build Coastguard Worker 
621*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 9 */
622*495ae853SAndroid Build Coastguard Worker           { 0x61, 0x60, 0x57, 0x57, 0x42, 0x42, 0x42, 0x42, 0x35, 0x35, 0x35,
623*495ae853SAndroid Build Coastguard Worker             0x35, 0x35, 0x35, 0x35, 0x35, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26,
624*495ae853SAndroid Build Coastguard Worker             0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x24,
625*495ae853SAndroid Build Coastguard Worker             0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
626*495ae853SAndroid Build Coastguard Worker             0x24, 0x24, 0x24, 0x24, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
627*495ae853SAndroid Build Coastguard Worker             0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, },
628*495ae853SAndroid Build Coastguard Worker 
629*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 10 */
630*495ae853SAndroid Build Coastguard Worker           { 0x51, 0x51, 0x50, 0x50, 0x46, 0x46, 0x46, 0x46, 0x32, 0x32, 0x32,
631*495ae853SAndroid Build Coastguard Worker             0x32, 0x32, 0x32, 0x32, 0x32, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25,
632*495ae853SAndroid Build Coastguard Worker             0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x24,
633*495ae853SAndroid Build Coastguard Worker             0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
634*495ae853SAndroid Build Coastguard Worker             0x24, 0x24, 0x24, 0x24, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
635*495ae853SAndroid Build Coastguard Worker             0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, }
636*495ae853SAndroid Build Coastguard Worker 
637*495ae853SAndroid Build Coastguard Worker     };
638*495ae853SAndroid Build Coastguard Worker 
639*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
640*495ae853SAndroid Build Coastguard Worker /* 4 Bit table look for total zeros (totalcoeff = 11to15) as in Table 9.7    */
641*495ae853SAndroid Build Coastguard Worker /* of H264 standard. In each table entry, lower 4 bits represent total zeros */
642*495ae853SAndroid Build Coastguard Worker /* decoded while upper 4 bit represent the bits to be flushed from ps_bitstrm    */
643*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
644*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_table_total_zero_11to15[5][16] =
645*495ae853SAndroid Build Coastguard Worker     {
646*495ae853SAndroid Build Coastguard Worker     /* For total coeff = 11 */
647*495ae853SAndroid Build Coastguard Worker         { 0x40, 0x41, 0x32, 0x32, 0x33, 0x33, 0x35, 0x35, 0x14, 0x14, 0x14,
648*495ae853SAndroid Build Coastguard Worker           0x14, 0x14, 0x14, 0x14, 0x14, },
649*495ae853SAndroid Build Coastguard Worker 
650*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 12 */
651*495ae853SAndroid Build Coastguard Worker           { 0x40, 0x41, 0x34, 0x34, 0x22, 0x22, 0x22, 0x22, 0x13, 0x13, 0x13,
652*495ae853SAndroid Build Coastguard Worker             0x13, 0x13, 0x13, 0x13, 0x13, },
653*495ae853SAndroid Build Coastguard Worker 
654*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 13 */
655*495ae853SAndroid Build Coastguard Worker           { 0x30, 0x30, 0x31, 0x31, 0x23, 0x23, 0x23, 0x23, 0x12, 0x12, 0x12,
656*495ae853SAndroid Build Coastguard Worker             0x12, 0x12, 0x12, 0x12, 0x12, },
657*495ae853SAndroid Build Coastguard Worker 
658*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 14 */
659*495ae853SAndroid Build Coastguard Worker           { 0x20, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x21, 0x12, 0x12, 0x12,
660*495ae853SAndroid Build Coastguard Worker             0x12, 0x12, 0x12, 0x12, 0x12, },
661*495ae853SAndroid Build Coastguard Worker 
662*495ae853SAndroid Build Coastguard Worker       /* For total coeff = 15 */
663*495ae853SAndroid Build Coastguard Worker           { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11,
664*495ae853SAndroid Build Coastguard Worker             0x11, 0x11, 0x11, 0x11, 0x11, }, };
665*495ae853SAndroid Build Coastguard Worker 
666*495ae853SAndroid Build Coastguard Worker /** Tables used to read "Run Before", Below tables are packed to reduce lookups */
667*495ae853SAndroid Build Coastguard Worker /** (Base addess of Gx << 2)  + (Max code length for that Gx) */
668*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_table_run_before[64] =
669*495ae853SAndroid Build Coastguard Worker     { 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 1, 1, 1, 1, 10, 10, 6, 6, 1, 1, 1, 1,
670*495ae853SAndroid Build Coastguard Worker       14, 14, 10, 10, 6, 6, 2, 2, 19, 15, 10, 10, 6, 6, 2, 2, 23, 19, 15, 11, 6,
671*495ae853SAndroid Build Coastguard Worker       6, 2, 2, 7, 11, 19, 15, 27, 23, 2, 2, 27, 27, 23, 19, 15, 11, 7, 3 };
672*495ae853SAndroid Build Coastguard Worker 
673*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
674*495ae853SAndroid Build Coastguard Worker /* Lookup table for CAVLC 4x4  total_coeff,trailing_ones as pers Table 9-5   */
675*495ae853SAndroid Build Coastguard Worker /* in the standard. Starting form lsb first 2 bits=flushbits, next 2bits=    */
676*495ae853SAndroid Build Coastguard Worker /* trailing ones, next 5 bits=total_coeff. Total bits used = 9 out of 16     */
677*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
678*495ae853SAndroid Build Coastguard Worker const UWORD16 gau2_ih264d_code_gx[304] =
679*495ae853SAndroid Build Coastguard Worker     {
680*495ae853SAndroid Build Coastguard Worker     /* Lookup for 0 <= nC < 2 */
681*495ae853SAndroid Build Coastguard Worker     0x0000,
682*495ae853SAndroid Build Coastguard Worker       0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0014, 0x0014,
683*495ae853SAndroid Build Coastguard Worker       0x0014, 0x0014, 0x0014, 0x0014, 0x0014, 0x0014, 0x0028, 0x0028, 0x0028,
684*495ae853SAndroid Build Coastguard Worker       0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0026, 0x0026, 0x0012, 0x0012,
685*495ae853SAndroid Build Coastguard Worker       0x003D, 0x003D, 0x003D, 0x003D, 0x005E, 0x005E, 0x003A, 0x003A, 0x004D,
686*495ae853SAndroid Build Coastguard Worker       0x004D, 0x004D, 0x004D, 0x006E, 0x006E, 0x004A, 0x004A, 0x0036, 0x0036,
687*495ae853SAndroid Build Coastguard Worker       0x0022, 0x0022, 0x007E, 0x007E, 0x005A, 0x005A, 0x0046, 0x0046, 0x0032,
688*495ae853SAndroid Build Coastguard Worker       0x0032, 0x008E, 0x008E, 0x006A, 0x006A, 0x0056, 0x0056, 0x0042, 0x0042,
689*495ae853SAndroid Build Coastguard Worker       0x009E, 0x009E, 0x007A, 0x007A, 0x0066, 0x0066, 0x0052, 0x0052, 0x0083,
690*495ae853SAndroid Build Coastguard Worker       0x009B, 0x0087, 0x0073, 0x00AF, 0x008B, 0x0077, 0x0063, 0x00CF, 0x00BB,
691*495ae853SAndroid Build Coastguard Worker       0x00A7, 0x00A3, 0x00BF, 0x00AB, 0x0097, 0x0093, 0x00EF, 0x00DB, 0x00C7,
692*495ae853SAndroid Build Coastguard Worker       0x00C3, 0x00DF, 0x00CB, 0x00B7, 0x00B3, 0x010F, 0x00FB, 0x00F7, 0x00E3,
693*495ae853SAndroid Build Coastguard Worker       0x00FF, 0x00EB, 0x00E7, 0x00D3, 0x0102, 0x0102, 0x010A, 0x010A, 0x0106,
694*495ae853SAndroid Build Coastguard Worker       0x0106, 0x00F2, 0x00F2, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4, 0x00D4,
695*495ae853SAndroid Build Coastguard Worker       0x00D4, 0x00D4,
696*495ae853SAndroid Build Coastguard Worker 
697*495ae853SAndroid Build Coastguard Worker       /* Lookup for 2 <= nC < 4 */
698*495ae853SAndroid Build Coastguard Worker       0x0015,
699*495ae853SAndroid Build Coastguard Worker       0x0015, 0x0015, 0x0015, 0x0001, 0x0001, 0x0001, 0x0001, 0x004E, 0x004E,
700*495ae853SAndroid Build Coastguard Worker       0x003E, 0x003E, 0x0029, 0x0029, 0x0029, 0x0029, 0x006F, 0x003B, 0x0037,
701*495ae853SAndroid Build Coastguard Worker       0x0013, 0x005E, 0x005E, 0x0026, 0x0026, 0x007E, 0x007E, 0x004A, 0x004A,
702*495ae853SAndroid Build Coastguard Worker       0x0046, 0x0046, 0x0022, 0x0022, 0x008E, 0x008E, 0x005A, 0x005A, 0x0056,
703*495ae853SAndroid Build Coastguard Worker       0x0056, 0x0032, 0x0032, 0x0052, 0x0052, 0x006A, 0x006A, 0x0066, 0x0066,
704*495ae853SAndroid Build Coastguard Worker       0x0042, 0x0042, 0x009E, 0x009E, 0x007A, 0x007A, 0x0076, 0x0076, 0x0062,
705*495ae853SAndroid Build Coastguard Worker       0x0062, 0x00BF, 0x009B, 0x0097, 0x0083, 0x00AF, 0x008B, 0x0087, 0x0073,
706*495ae853SAndroid Build Coastguard Worker       0x00B3, 0x00BB, 0x00B7, 0x00A3, 0x00CF, 0x00AB, 0x00A7, 0x0093, 0x00EF,
707*495ae853SAndroid Build Coastguard Worker       0x00DB, 0x00D7, 0x00D3, 0x00DF, 0x00CB, 0x00C7, 0x00C3, 0x00F7, 0x00F3,
708*495ae853SAndroid Build Coastguard Worker       0x00FB, 0x00E7, 0x00EA, 0x00EA, 0x00E2, 0x00E2, 0x010E, 0x010E, 0x010A,
709*495ae853SAndroid Build Coastguard Worker       0x010A, 0x0106, 0x0106, 0x0102, 0x0102, 0x00FC, 0x00FC, 0x00FC, 0x00FC,
710*495ae853SAndroid Build Coastguard Worker       0x00FC, 0x00FC, 0x00FC, 0x00FC,
711*495ae853SAndroid Build Coastguard Worker 
712*495ae853SAndroid Build Coastguard Worker       /* Lookup for 4 <= nC < 8 */
713*495ae853SAndroid Build Coastguard Worker       0x007F,
714*495ae853SAndroid Build Coastguard Worker       0x006F, 0x005F, 0x004F, 0x003F, 0x002B, 0x0017, 0x0003, 0x0057, 0x005B,
715*495ae853SAndroid Build Coastguard Worker       0x0047, 0x004B, 0x0037, 0x008F, 0x003B, 0x0027, 0x0033, 0x007B, 0x0077,
716*495ae853SAndroid Build Coastguard Worker       0x0023, 0x009F, 0x006B, 0x0067, 0x0013, 0x0073, 0x0063, 0x009B, 0x0053,
717*495ae853SAndroid Build Coastguard Worker       0x00AF, 0x008B, 0x0087, 0x0043, 0x00CF, 0x00BB, 0x00A7, 0x0093, 0x00BF,
718*495ae853SAndroid Build Coastguard Worker       0x00AB, 0x0097, 0x0083, 0x00C3, 0x00DB, 0x00C7, 0x00B3, 0x00DF, 0x00CB,
719*495ae853SAndroid Build Coastguard Worker       0x00B7, 0x00A3, 0x00F7, 0x00E3, 0x00EF, 0x00EB, 0x00E7, 0x00D3, 0x00D6,
720*495ae853SAndroid Build Coastguard Worker       0x00D6, 0x0106, 0x0106, 0x00F2, 0x00F2, 0x00FE, 0x00FE, 0x00FA, 0x00FA,
721*495ae853SAndroid Build Coastguard Worker       0x010D, 0x010D, 0x010D, 0x010D, 0x0109, 0x0109, 0x0109, 0x0109, 0x0100,
722*495ae853SAndroid Build Coastguard Worker       0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100 };
723*495ae853SAndroid Build Coastguard Worker 
724*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
725*495ae853SAndroid Build Coastguard Worker /* Lookup table for CAVLC ChromaDC total_coeff,trailing_ones parsing as per  */
726*495ae853SAndroid Build Coastguard Worker /* Table 9-5 in the standard. Starting from msb, First 4bits=total_coeff,    */
727*495ae853SAndroid Build Coastguard Worker /* next 2bits=trailing_ones and last 2bits=flushbits-1                       */
728*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
729*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_cav_chromdc_vld[256] =
730*495ae853SAndroid Build Coastguard Worker     { 0x9E, 0x9E, 0x97, 0x8F, 0x76, 0x76, 0x6E, 0x6E, 0x85, 0x85, 0x85, 0x85,
731*495ae853SAndroid Build Coastguard Worker       0x65, 0x65, 0x65, 0x65, 0x45, 0x45, 0x45, 0x45, 0x7D, 0x7D, 0x7D, 0x7D,
732*495ae853SAndroid Build Coastguard Worker       0x4D, 0x4D, 0x4D, 0x4D, 0x25, 0x25, 0x25, 0x25,
733*495ae853SAndroid Build Coastguard Worker 
734*495ae853SAndroid Build Coastguard Worker       0x52,
735*495ae853SAndroid Build Coastguard Worker       0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
736*495ae853SAndroid Build Coastguard Worker       0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
737*495ae853SAndroid Build Coastguard Worker       0x52, 0x52, 0x52, 0x52, 0x52, 0x52, 0x52,
738*495ae853SAndroid Build Coastguard Worker 
739*495ae853SAndroid Build Coastguard Worker       0x01,
740*495ae853SAndroid Build Coastguard Worker       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
741*495ae853SAndroid Build Coastguard Worker       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
742*495ae853SAndroid Build Coastguard Worker       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
743*495ae853SAndroid Build Coastguard Worker       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
744*495ae853SAndroid Build Coastguard Worker       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
745*495ae853SAndroid Build Coastguard Worker       0x01, 0x01, 0x01,
746*495ae853SAndroid Build Coastguard Worker 
747*495ae853SAndroid Build Coastguard Worker       0x28,
748*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
749*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
750*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
751*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
752*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
753*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
754*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
755*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
756*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
757*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
758*495ae853SAndroid Build Coastguard Worker       0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, };
759*495ae853SAndroid Build Coastguard Worker 
760*495ae853SAndroid Build Coastguard Worker const UWORD16 gau2_ih264d_offset_num_vlc_tab[9] =
761*495ae853SAndroid Build Coastguard Worker     { 0, 0, 120, 120, 224, 224, 224, 224, 224 };
762*495ae853SAndroid Build Coastguard Worker 
763*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
764*495ae853SAndroid Build Coastguard Worker /* Function pointer u4_ofst table lookup for parsing 4x4 residual blocks in   */
765*495ae853SAndroid Build Coastguard Worker /* CAVLC. The u4_ofst is dependent on total coeffs coded                      */
766*495ae853SAndroid Build Coastguard Worker /*****************************************************************************/
767*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_total_coeff_fn_ptr_offset[16] =
768*495ae853SAndroid Build Coastguard Worker     { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2 };
769*495ae853SAndroid Build Coastguard Worker 
770*495ae853SAndroid Build Coastguard Worker /****************************************************************************/
771*495ae853SAndroid Build Coastguard Worker /*  gai2_ih264d_trailing_one_level lookup tables based on trailing one bits        */
772*495ae853SAndroid Build Coastguard Worker /*  All zeroes are u2_dummy in the table are u2_dummy to keep 3 uniform elements  */
773*495ae853SAndroid Build Coastguard Worker /****************************************************************************/
774*495ae853SAndroid Build Coastguard Worker const WORD16 gai2_ih264d_trailing_one_level[14][3] =
775*495ae853SAndroid Build Coastguard Worker     {
776*495ae853SAndroid Build Coastguard Worker     /* All zeroes are u2_dummy */
777*495ae853SAndroid Build Coastguard Worker     /**********************************************************************/
778*495ae853SAndroid Build Coastguard Worker     /* Levels for trailing ones = 1, bits read can be 0 or 1              */
779*495ae853SAndroid Build Coastguard Worker     /**********************************************************************/
780*495ae853SAndroid Build Coastguard Worker         { 1, 0, 0 }, /* 0 */
781*495ae853SAndroid Build Coastguard Worker           { -1, 0, 0 }, /* 1 */
782*495ae853SAndroid Build Coastguard Worker 
783*495ae853SAndroid Build Coastguard Worker       /**********************************************************************/
784*495ae853SAndroid Build Coastguard Worker       /* Levels for trailing ones = 2, bits read can be 00, 01, 10 ,11      */
785*495ae853SAndroid Build Coastguard Worker       /**********************************************************************/
786*495ae853SAndroid Build Coastguard Worker           { 1, 1, 0 }, /* 00 */
787*495ae853SAndroid Build Coastguard Worker           { 1, -1, 0 }, /* 01 */
788*495ae853SAndroid Build Coastguard Worker           { -1, 1, 0 }, /* 10 */
789*495ae853SAndroid Build Coastguard Worker           { -1, -1, 0 }, /* 11 */
790*495ae853SAndroid Build Coastguard Worker 
791*495ae853SAndroid Build Coastguard Worker       /**********************************************************************/
792*495ae853SAndroid Build Coastguard Worker       /* Levels for trailing ones = 3, bits read can be 000 - 111           */
793*495ae853SAndroid Build Coastguard Worker       /**********************************************************************/
794*495ae853SAndroid Build Coastguard Worker           { 1, 1, 1 }, /* 000 */
795*495ae853SAndroid Build Coastguard Worker           { 1, 1, -1 }, /* 001 */
796*495ae853SAndroid Build Coastguard Worker           { 1, -1, 1 }, /* 010 */
797*495ae853SAndroid Build Coastguard Worker           { 1, -1, -1 }, /* 011 */
798*495ae853SAndroid Build Coastguard Worker           { -1, 1, 1 }, /* 100 */
799*495ae853SAndroid Build Coastguard Worker           { -1, 1, -1 }, /* 101 */
800*495ae853SAndroid Build Coastguard Worker           { -1, -1, 1 }, /* 110 */
801*495ae853SAndroid Build Coastguard Worker           { -1, -1, -1 }, /* 111 */
802*495ae853SAndroid Build Coastguard Worker     };
803*495ae853SAndroid Build Coastguard Worker /****************CAVLC DECODING TABLES ENDS *******************/
804*495ae853SAndroid Build Coastguard Worker 
805*495ae853SAndroid Build Coastguard Worker /****************************************************************************/
806*495ae853SAndroid Build Coastguard Worker /* These are the codes used for error detection in intra pred4x4 modes      */
807*495ae853SAndroid Build Coastguard Worker /****************************************************************************/
808*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_intra_pred_err_code[9] =
809*495ae853SAndroid Build Coastguard Worker     { 2, 1, 0, 2, 3, 3, 3, 2, 1 };
810*495ae853SAndroid Build Coastguard Worker 
811*495ae853SAndroid Build Coastguard Worker /* Number of users for top field , bottom field, which field needs to be     */
812*495ae853SAndroid Build Coastguard Worker /* displayed first                                                           */
813*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_sei_fld_usage[9][3] =
814*495ae853SAndroid Build Coastguard Worker     {
815*495ae853SAndroid Build Coastguard Worker         { 1, 1, DISP_FLD_FIRST_UNDEF },
816*495ae853SAndroid Build Coastguard Worker           { 1, 0, DISP_TOP_FLD_FIRST },
817*495ae853SAndroid Build Coastguard Worker           { 0, 1, DISP_BOT_FLD_FIRST },
818*495ae853SAndroid Build Coastguard Worker           { 1, 1, DISP_TOP_FLD_FIRST },
819*495ae853SAndroid Build Coastguard Worker           { 1, 1, DISP_BOT_FLD_FIRST },
820*495ae853SAndroid Build Coastguard Worker           { 2, 1, DISP_TOP_FLD_FIRST },
821*495ae853SAndroid Build Coastguard Worker           { 1, 2, DISP_BOT_FLD_FIRST },
822*495ae853SAndroid Build Coastguard Worker           { 2, 2, DISP_FLD_FIRST_UNDEF },
823*495ae853SAndroid Build Coastguard Worker           { 3, 3, DISP_FLD_FIRST_UNDEF } };
824*495ae853SAndroid Build Coastguard Worker 
825*495ae853SAndroid Build Coastguard Worker /*****************************************************************/
826*495ae853SAndroid Build Coastguard Worker /* Context increment for significant coefficient(CABAC)          */
827*495ae853SAndroid Build Coastguard Worker /* Requires only 63 elements. But the last element with value -1 */
828*495ae853SAndroid Build Coastguard Worker /* is kept to make it 64                                         */
829*495ae853SAndroid Build Coastguard Worker /*****************************************************************/
830*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_sigcoeff_context_inc_frame[64] =
831*495ae853SAndroid Build Coastguard Worker     { 0, 1, 2, 3, 4, 5, 5, 4, 4, 3, 3, 4, 4, 4, 5, 5, 4, 4, 4, 4, 3, 3, 6, 7, 7,
832*495ae853SAndroid Build Coastguard Worker       7, 8, 9, 10, 9, 8, 7, 7, 6, 11, 12, 13, 11, 6, 7, 8, 9, 14, 10, 9, 8, 6,
833*495ae853SAndroid Build Coastguard Worker       11, 12, 13, 11, 6, 9, 14, 10, 9, 11, 12, 13, 11, 14, 10, 12, -1 };
834*495ae853SAndroid Build Coastguard Worker 
835*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_sigcoeff_context_inc_field[64] =
836*495ae853SAndroid Build Coastguard Worker     { 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 4, 5, 6, 9, 10, 10, 8, 11, 12,
837*495ae853SAndroid Build Coastguard Worker       11, 9, 9, 10, 10, 8, 11, 12, 11, 9, 9, 10, 10, 8, 11, 12, 11, 9, 9, 10,
838*495ae853SAndroid Build Coastguard Worker       10, 8, 13, 13, 9, 9, 10, 10, 8, 13, 13, 9, 9, 10, 10, 14, 14, 14, 14, 14,
839*495ae853SAndroid Build Coastguard Worker       -1 };
840*495ae853SAndroid Build Coastguard Worker 
841*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_lastcoeff_context_inc[64] =
842*495ae853SAndroid Build Coastguard Worker     { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
843*495ae853SAndroid Build Coastguard Worker       2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5,
844*495ae853SAndroid Build Coastguard Worker       5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, -1 };
845*495ae853SAndroid Build Coastguard Worker 
846*495ae853SAndroid Build Coastguard Worker /*!
847*495ae853SAndroid Build Coastguard Worker  **************************************************************************
848*495ae853SAndroid Build Coastguard Worker  *   \brief   gau1_ih264d_top_left_mb_part_indx_mod
849*495ae853SAndroid Build Coastguard Worker  *
850*495ae853SAndroid Build Coastguard Worker  *   SubBlk number of the top left subBlk in each of the MB partition
851*495ae853SAndroid Build Coastguard Worker  *   (16x16, 16x8, 8x16, 8x8)
852*495ae853SAndroid Build Coastguard Worker  **************************************************************************
853*495ae853SAndroid Build Coastguard Worker  */
854*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_top_left_mb_part_indx_mod[] =
855*495ae853SAndroid Build Coastguard Worker     { 0, 0 /* Junk */, /* 16x16 */
856*495ae853SAndroid Build Coastguard Worker       0, 8, /* 16x8 */
857*495ae853SAndroid Build Coastguard Worker       0, 2, /* 8x16 */
858*495ae853SAndroid Build Coastguard Worker       0, 2, 8, 10 /* 8x8 */,
859*495ae853SAndroid Build Coastguard Worker       0 /* One extra entry is read at the end of loop, but not used */
860*495ae853SAndroid Build Coastguard Worker     };
861*495ae853SAndroid Build Coastguard Worker 
862*495ae853SAndroid Build Coastguard Worker /*!
863*495ae853SAndroid Build Coastguard Worker  **************************************************************************
864*495ae853SAndroid Build Coastguard Worker  *   \brief   gau1_ih264d_submb_indx_mod_sp_drct
865*495ae853SAndroid Build Coastguard Worker  *
866*495ae853SAndroid Build Coastguard Worker  *   Contains increments to the subBlk num in a given subMb partition.
867*495ae853SAndroid Build Coastguard Worker  **************************************************************************
868*495ae853SAndroid Build Coastguard Worker  */
869*495ae853SAndroid Build Coastguard Worker const UWORD8 gau1_ih264d_submb_indx_mod_sp_drct[] =
870*495ae853SAndroid Build Coastguard Worker     { 0, 0 /* Junk */, /* 8x8 */
871*495ae853SAndroid Build Coastguard Worker       0, 4, /* 8x4 */
872*495ae853SAndroid Build Coastguard Worker       0, 1, /* 4x8 */
873*495ae853SAndroid Build Coastguard Worker       0, 1, 3, 1 /* 4x4 */
874*495ae853SAndroid Build Coastguard Worker     };
875