source: 3DVCSoftware/trunk/source/Lib/TLibCommon/ContextTables.h @ 239

Last change on this file since 239 was 189, checked in by tech, 12 years ago

Reintegrated branch 4.1-dev0 Rev. 188.

  • Property svn:eol-style set to native
File size: 33.1 KB
RevLine 
[5]1/* The copyright in this software is being made available under the BSD
2 * License, included below. This software may be subject to other third party
3 * and contributor rights, including patent rights, and no such rights are
[56]4 * granted under this license. 
[5]5 *
[56]6 * Copyright (c) 2010-2012, ITU/ISO/IEC
[5]7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are met:
11 *
12 *  * Redistributions of source code must retain the above copyright notice,
13 *    this list of conditions and the following disclaimer.
14 *  * Redistributions in binary form must reproduce the above copyright notice,
15 *    this list of conditions and the following disclaimer in the documentation
16 *    and/or other materials provided with the distribution.
[56]17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
[5]18 *    be used to endorse or promote products derived from this software without
19 *    specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31 * THE POSSIBILITY OF SUCH DAMAGE.
32 */
[2]33
34/** \file     ContextTables.h
35    \brief    Defines constants and tables for SBAC
36    \todo     number of context models is not matched to actual use, should be fixed
37*/
38
39#ifndef __CONTEXTTABLES__
40#define __CONTEXTTABLES__
41
[56]42//! \ingroup TLibCommon
43//! \{
44
[2]45// ====================================================================================================================
46// Constants
47// ====================================================================================================================
48
[56]49#define MAX_NUM_CTX_MOD             512       ///< maximum number of supported contexts
50
[2]51#define NUM_SPLIT_FLAG_CTX            3       ///< number of context models for split flag
52#define NUM_SKIP_FLAG_CTX             3       ///< number of context models for skip flag
53
[189]54#if LGE_ILLUCOMP_B0045
55#define NUM_IC_FLAG_CTX               3       ///< number of context models for illumination compensation flag
56#endif
57
[56]58#define NUM_MERGE_FLAG_EXT_CTX        1       ///< number of context models for merge flag of merge extended
59#if MRG_IDX_CTX_RED
60#define NUM_MERGE_IDX_EXT_CTX         1       ///< number of context models for merge index of merge extended
61#else
[2]62#define NUM_MERGE_IDX_EXT_CTX         4       ///< number of context models for merge index of merge extended
[56]63#endif
[2]64
[56]65#if HHI_INTER_VIEW_RESIDUAL_PRED
66#define NUM_RES_PRED_FLAG_CTX         4       ///< number of context for residual prediction flag
67#endif
68
69#define NUM_ALF_CTRL_FLAG_CTX         1       ///< number of context models for ALF control flag
70#define NUM_PART_SIZE_CTX             4       ///< number of context models for partition size
71#if AMP_CTX
72#define NUM_CU_AMP_CTX                1       ///< number of context models for partition size (AMP)
[2]73#else
[56]74#define NUM_CU_X_POS_CTX              2       ///< number of context models for partition size (AMP)
75#define NUM_CU_Y_POS_CTX              2       ///< number of context models for partition size (AMP)
[2]76#endif
[56]77#define NUM_PRED_MODE_CTX             1       ///< number of context models for prediction mode
[2]78
[56]79#define NUM_ADI_CTX                   1       ///< number of context models for intra prediction
80
81#define NUM_CHROMA_PRED_CTX           2       ///< number of context models for intra prediction (chroma)
[2]82#define NUM_INTER_DIR_CTX             4       ///< number of context models for inter prediction direction
[56]83#define NUM_MV_RES_CTX                2       ///< number of context models for motion vector difference
[2]84
[56]85#define NUM_REF_NO_CTX                4       ///< number of context models for reference index
[2]86#define NUM_TRANS_SUBDIV_FLAG_CTX     10      ///< number of context models for transform subdivision flags
[56]87#define NUM_QT_CBF_CTX                5       ///< number of context models for QT CBF
88#define NUM_QT_ROOT_CBF_CTX           1       ///< number of context models for QT ROOT CBF
89#define NUM_DELTA_QP_CTX              3       ///< number of context models for dQP
[2]90
[56]91#define NUM_SIG_CG_FLAG_CTX           2       ///< number of context models for MULTI_LEVEL_SIGNIFICANCE
92
93#define NUM_SIG_FLAG_CTX              48      ///< number of context models for sig flag
94
95#define NUM_SIG_FLAG_CTX_LUMA         27      ///< number of context models for luma sig flag
96#define NUM_SIG_FLAG_CTX_CHROMA       21      ///< number of context models for chroma sig flag
97#if LAST_CTX_REDUCTION
98#define NUM_CTX_LAST_FLAG_XY          15      ///< number of context models for last coefficient position
[2]99#else
[56]100#define NUM_CTX_LAST_FLAG_XY          18      ///< number of context models for last coefficient position
[2]101#endif
102
[56]103#if LEVEL_CTX_LUMA_RED
104#define NUM_ONE_FLAG_CTX              24      ///< number of context models for greater than 1 flag
105#define NUM_ONE_FLAG_CTX_LUMA         16      ///< number of context models for greater than 1 flag of luma
106#define NUM_ONE_FLAG_CTX_CHROMA        8      ///< number of context models for greater than 1 flag of chroma
107#if RESTRICT_GR1GR2FLAG_NUMBER
108#define NUM_ABS_FLAG_CTX               6      ///< number of context models for greater than 2 flag
109#define NUM_ABS_FLAG_CTX_LUMA          4      ///< number of context models for greater than 2 flag of luma
110#define NUM_ABS_FLAG_CTX_CHROMA        2      ///< number of context models for greater than 2 flag of chroma
111#else
112#define NUM_ABS_FLAG_CTX              18      ///< number of context models for greater than 2 flag
113#define NUM_ABS_FLAG_CTX_LUMA         12      ///< number of context models for greater than 2 flag of luma
114#define NUM_ABS_FLAG_CTX_CHROMA        6      ///< number of context models for greater than 2 flag of chroma
115#endif
116#else
117#define NUM_ONE_FLAG_CTX              32      ///< number of context models for greater than 1 flag
118#define NUM_ONE_FLAG_CTX_LUMA         24      ///< number of context models for greater than 1 flag of luma
119#define NUM_ONE_FLAG_CTX_CHROMA        8      ///< number of context models for greater than 1 flag of chroma
120#if RESTRICT_GR1GR2FLAG_NUMBER
121#define NUM_ABS_FLAG_CTX               8      ///< number of context models for greater than 2 flag
122#define NUM_ABS_FLAG_CTX_LUMA          6      ///< number of context models for greater than 2 flag of luma
123#define NUM_ABS_FLAG_CTX_CHROMA        2      ///< number of context models for greater than 2 flag of chroma
124#else
125#define NUM_ABS_FLAG_CTX              24      ///< number of context models for greater than 2 flag
126#define NUM_ABS_FLAG_CTX_LUMA         18      ///< number of context models for greater than 2 flag of luma
127#define NUM_ABS_FLAG_CTX_CHROMA        6      ///< number of context models for greater than 2 flag of chroma
128#endif
129#endif
130
[2]131#define NUM_MVP_IDX_CTX               2       ///< number of context models for MVP index
132
133#define NUM_ALF_FLAG_CTX              1       ///< number of context models for ALF flag
134#define NUM_ALF_UVLC_CTX              2       ///< number of context models for ALF UVLC (filter length)
135#define NUM_ALF_SVLC_CTX              3       ///< number of context models for ALF SVLC (filter coeff.)
136
[56]137#define NUM_SAO_FLAG_CTX              1       ///< number of context models for SAO flag
138#define NUM_SAO_UVLC_CTX              2       ///< number of context models for SAO UVLC
139#define NUM_SAO_SVLC_CTX              3       ///< number of context models for SAO SVLC
140#if SAO_UNIT_INTERLEAVING
141#define NUM_SAO_RUN_CTX               3       ///< number of context models for AO SVLC (filter coeff.)
142#define NUM_SAO_MERGE_LEFT_FLAG_CTX   3       ///< number of context models for AO SVLC (filter coeff.)
143#define NUM_SAO_MERGE_UP_FLAG_CTX     1       ///< number of context models for AO SVLC (filter coeff.)
144#define NUM_SAO_TYPE_IDX_CTX          2       ///< number of context models for AO SVLC (filter coeff.)
[2]145#endif
[56]146#if CABAC_LINEAR_INIT
147#define CNU                          154      ///< dummy initialization value for unused context models 'Context model Not Used'
148#else
149#define CNU                          119      ///< dummy initialization value for unused context models 'Context model Not Used'
150#endif
[2]151
[5]152#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
[56]153#define NUM_DMM_FLAG_CTX              1       ///< number of context models for DMM flag
154#define NUM_DMM_MODE_CTX              1       ///< number of context models for DMM mode
155#define NUM_DMM_DATA_CTX              3       ///< number of context models for DMM data
[2]156#endif
157
[189]158#if LGE_EDGE_INTRA_A0070
[100]159#define NUM_EDGE_INTRA_CTX            1
160#if LGE_EDGE_INTRA_DELTA_DC
161#define NUM_EDGE_INTRA_DELTA_DC_CTX   2 // one for Delta_DC flag, another for Delta_DC value
162#endif
163#endif
164
[189]165#if RWTH_SDC_DLT_B0036
166#define SDC_NUM_FLAG_CTX                 3
167#define SDC_NUM_RESIDUAL_FLAG_CTX        1
168#define SDC_NUM_SIGN_FLAG_CTX            1
169#define SDC_NUM_RESIDUAL_CTX             10
170
171#define SDC_NUM_PRED_MODE_CTX            5
172#endif
173
[2]174// ====================================================================================================================
175// Tables
176// ====================================================================================================================
177
[56]178// initial probability for split flag
179#if CABAC_LINEAR_INIT
180static const UChar
181INIT_SPLIT_FLAG[3][NUM_SPLIT_FLAG_CTX] = 
[2]182{
[56]183  { 139,  141,  157, }, 
184  { 107,  139,  126, }, 
185  { 107,  139,  126, }, 
[2]186};
187
[56]188static const UChar
189INIT_SKIP_FLAG[3][NUM_SKIP_FLAG_CTX] = 
[2]190{
[56]191  { CNU,  CNU,  CNU, }, 
192  { 197,  185,  201, }, 
193  { 197,  185,  201, }, 
[2]194};
195
[189]196#if LGE_ILLUCOMP_B0045
[56]197static const UChar
[189]198INIT_IC_FLAG[3][NUM_IC_FLAG_CTX] = 
199{
200  { CNU,  CNU,  CNU, }, 
201  { 197,  185,  201, }, 
202  { 197,  185,  201, }, 
203};
204#endif
205
206static const UChar
[56]207INIT_ALF_CTRL_FLAG[3][NUM_ALF_CTRL_FLAG_CTX] = 
[2]208{
[56]209  { 200, }, 
210  { 139, }, 
211  { 169, }, 
[2]212};
213
[56]214static const UChar
215INIT_MERGE_FLAG_EXT[3][NUM_MERGE_FLAG_EXT_CTX] = 
216{
217  { CNU, }, 
218  { 110, }, 
219  { 154, }, 
220};
[2]221
[56]222static const UChar
223INIT_MERGE_IDX_EXT[3][NUM_MERGE_IDX_EXT_CTX] = 
[2]224{
[56]225#if MRG_IDX_CTX_RED
226  { CNU, }, 
227  { 122, }, 
228  { 137, }, 
229#else
230  { CNU,  CNU,  CNU,  CNU, }, 
231  { 122,  138,  153,  182, }, 
232  { 137,  139,  154,  139, }, 
233#endif
234};
235
236#if HHI_INTER_VIEW_RESIDUAL_PRED
237static const UChar
238INIT_RES_PRED_FLAG[3][NUM_RES_PRED_FLAG_CTX] =
239{
240    { CNU, CNU, CNU, CNU },
241    { 154, 154, 154, 154 },
242    { 154, 154, 154, 154 },
243};
244#endif
245
246static const UChar
247INIT_PART_SIZE[3][NUM_PART_SIZE_CTX] = 
248{
249  { 184,  CNU,  CNU,  CNU, }, 
250  { 154,  139,  CNU,  CNU, }, 
251  { 154,  139,  CNU,  CNU, }, 
252};
253
254#if AMP_CTX
255static const UChar
256INIT_CU_AMP_POS[3][NUM_CU_AMP_CTX] = 
257{
258  { CNU, }, 
259  { 154, }, 
260  { 154, }, 
261};
262#else
263static const UChar
264INIT_CU_X_POS[3][NUM_CU_X_POS_CTX] = 
265{
266  { CNU,  CNU, }, 
267  { 154,  139, }, 
268  { 154,  139, }, 
269};
270
271static const UChar
272INIT_CU_Y_POS[3][NUM_CU_Y_POS_CTX] = 
273{
274  { CNU,  CNU, }, 
275  { 154,  154, }, 
276  { 154,  139, }, 
277};
278#endif
279
280static const UChar
281INIT_PRED_MODE[3][NUM_PRED_MODE_CTX] = 
282{
283  { CNU, }, 
284  { 149, }, 
285  { 134, }, 
286};
287
288static const UChar
289INIT_INTRA_PRED_MODE[3][NUM_ADI_CTX] = 
290{
291  { 184, }, 
292  { 154, }, 
293  { 183, }, 
294};
295
296static const UChar
297INIT_CHROMA_PRED_MODE[3][NUM_CHROMA_PRED_CTX] = 
298{
299  {  63,  139, }, 
300  { 152,  139, }, 
301  { 152,  139, }, 
302};
303
304static const UChar
305INIT_INTER_DIR[3][NUM_INTER_DIR_CTX] = 
306{
307  { CNU,  CNU,  CNU,  CNU, }, 
308#if CABAC_INIT_FLAG
309  {  95,   79,   63,   31, }, 
310#else
311  { CNU,  CNU,  CNU,  CNU, }, 
312#endif
313  {  95,   79,   63,   31, }, 
314};
315
316static const UChar
317INIT_MVD[3][NUM_MV_RES_CTX] = 
318{
319  { CNU,  CNU, }, 
320  { 140,  198, }, 
321  { 169,  198, }, 
322};
323
324static const UChar
325INIT_REF_PIC[3][NUM_REF_NO_CTX] = 
326{
327  { CNU,  CNU,  CNU,  CNU, }, 
328  { 153,  153,  139,  CNU, }, 
329  { 153,  153,  168,  CNU, }, 
330};
331
332static const UChar
333INIT_DQP[3][NUM_DELTA_QP_CTX] = 
334{
335  { 154,  154,  154, }, 
336  { 154,  154,  154, }, 
337  { 154,  154,  154, }, 
338};
339
340static const UChar
341INIT_QT_CBF[3][2*NUM_QT_CBF_CTX] = 
342{
343  { 111,  141,  CNU,  CNU,  CNU,   94,  138,  182,  CNU,  CNU, }, 
344  { 153,  111,  CNU,  CNU,  CNU,  149,  107,  167,  CNU,  CNU, }, 
345  { 153,  111,  CNU,  CNU,  CNU,  149,   92,  167,  CNU,  CNU, }, 
346};
347
348static const UChar
349INIT_QT_ROOT_CBF[3][NUM_QT_ROOT_CBF_CTX] = 
350{
351  { CNU, }, 
352  {  79, }, 
353  {  79, }, 
354};
355
356#if LAST_CTX_REDUCTION
357static const UChar
358INIT_LAST[3][2*NUM_CTX_LAST_FLAG_XY] = 
359{
360  { 110,  110,  124,  110,  140,  111,  125,  111,  127,  111,  111,  156,  127,  127,  111, 
361    108,  123,   63,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, 
362  }, 
363  { 125,  110,   94,  110,  125,  110,  125,  111,  111,  110,  139,  111,  111,  111,  125, 
364    108,  123,  108,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,
365  }, 
366  { 125,  110,  124,  110,  125,  110,  125,  111,  111,  110,  139,  111,  111,  111,  125, 
367    108,  123,   93,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, 
368  }, 
369};
370#else
371static const UChar
372INIT_LAST[3][2*NUM_CTX_LAST_FLAG_XY] = 
373{
374  { 110,  110,  124,  110,  140,  111,  124,  125,  111,  127,  111,  138,  111,  156,  127,  127,  111,   94,
375    108,  123,   63,   63,  139,  124,   93,  108,  125,  111,  110,   63,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, 
376  }, 
377  { 125,  110,  124,  110,  125,  110,  153,  125,  111,  111,  110,  153,  139,  111,  111,  111,  125,  139, 
378    108,  123,  108,  152,  124,   94,  123,  137,  139,  110,  110,  154,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, 
379  }, 
380  { 125,  110,  124,  110,  125,  110,  153,  125,  111,  111,  110,  153,  139,  111,  111,  111,  125,  139, 
381    108,  123,   93,  152,  124,   94,  123,  152,  139,  110,  110,  154,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, 
382  }, 
383};
384#endif
385
386static const UChar
387INIT_SIG_CG_FLAG[3][2 * NUM_SIG_CG_FLAG_CTX] = 
388{
389  {  91,  171, 
390    134,  141, 
391  }, 
392  { 121,  140, 
393    61,  154, 
394  }, 
395  { 121,  140, 
396    61,  154, 
397  }, 
398};
399
400static const UChar
401INIT_SIG_FLAG[3][NUM_SIG_FLAG_CTX] = 
402{
403  { 141,  111,  125,  110,  110,   94,  124,  108,  124,  125,  139,  124,   63,  139,  168,  138,  107,  123,   92,  111,  141,  107,  125,  141,  179,  153,  125,  140,  139,  182,  123,   47,  153,  182,  137,  149,  192,  152,  224,  136,   31,  136,   74,  140,  141,  136,  139,  111, }, 
404  { 170,  154,  139,  153,  139,  123,  123,   63,  153,  168,  153,  152,   92,  152,  152,  137,  122,   92,   61,  155,  185,  166,  183,  140,  136,  153,  154,  155,  153,  123,   63,   61,  167,  153,  167,  136,  149,  107,  136,  121,  122,   91,  149,  170,  185,  151,  183,  140, }, 
405  { 170,  154,  139,  153,  139,  123,  123,   63,  124,  139,  153,  152,   92,  152,  152,  137,  137,   92,   61,  170,  185,  166,  183,  140,  136,  153,  154,  155,  153,  138,  107,   61,  167,  153,  167,  136,  121,  122,  136,  121,  122,   91,  149,  170,  170,  151,  183,  140, }, 
406};
407
408#if LEVEL_CTX_LUMA_RED
409static const UChar
410INIT_ONE_FLAG[3][NUM_ONE_FLAG_CTX] = 
411{
412  { 140,   92,  137,  138,  140,  152,  138,  139,  153,   74,  149,   92,  139,  107,  122,  152,  140,  179,  166,  182,  140,  227,  122,  197, }, 
413  { 154,  196,  196,  167,  154,  152,  167,  182,  182,  134,  149,  136,  153,  121,  136,  137,  169,  194,  166,  167,  154,  167,  137,  182, }, 
414  { 154,  196,  167,  167,  154,  152,  167,  182,  182,  134,  149,  136,  153,  121,  136,  122,  169,  208,  166,  167,  154,  152,  167,  182, }, 
415};
416
417#if RESTRICT_GR1GR2FLAG_NUMBER
418static const UChar
419INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] = 
420{
421  { 138,  153,  136,  167,  152,  152, }, 
422  { 107,  167,   91,  122,  107,  167, }, 
423  { 107,  167,   91,  107,  107,  167, }, 
424};
425#else
426static const UChar
427INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] = 
428{
429  { 138,  139,  111,  153,  139,  111,  136,  167,  139,  167,  153,  139,  152,  139,  140,  152,  184,  141, }, 
430  { 107,  153,  125,  167,  153,  140,   91,  137,  153,  122,  167,  139,  107,  153,  140,  167,  183,  140, }, 
431  { 107,  153,  125,  167,  153,  140,   91,  137,  153,  107,  167,  139,  107,  153,  140,  167,  183,  140, }, 
432};
433#endif
434#else
435static const UChar
436INIT_ONE_FLAG[3][NUM_ONE_FLAG_CTX] = 
437{
438  { 140,   92,  137,  138,  140,  152,  138,  139,  126,  168,  139,  139,  153,   74,  149,   92,  139,  107,  122,  152,  110,   93,  152,  138,  140,  179,  166,  182,  140,  227,  122,  197, }, 
439  { 154,  196,  196,  167,  154,  152,  167,  182,  155,  139,  139,  139,  182,  134,  149,  136,  153,  121,  136,  137,  139,  122,  152,  167,  169,  194,  166,  167,  154,  167,  137,  182, }, 
440  { 154,  196,  167,  167,  154,  152,  167,  182,  155,  139,  139,  139,  182,  134,  149,  136,  153,  121,  136,  122,  139,  107,  152,  152,  169,  208,  166,  167,  154,  152,  167,  182, }, 
441};
442
443#if RESTRICT_GR1GR2FLAG_NUMBER
444static const UChar
445INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] = 
446{
447  { 138,  153,  139,  136,  167,  153,  152,  152, }, 
448  { 107,  167,  139,   91,  122,  152,  107,  167, }, 
449  { 107,  167,  139,   91,  107,   93,  107,  167, }, 
450};
451#else
452static const UChar
453INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] = 
454{
455  { 138,  139,  111,  153,  139,  111,  139,  125,  111,  136,  167,  139,  167,  153,  139,  153,  139,  110,  152,  139,  140,  152,  184,  141, }, 
456  { 107,  153,  125,  167,  153,  140,  139,  154,  155,   91,  137,  153,  122,  167,  139,  152,  138,  139,  107,  153,  140,  167,  183,  140, }, 
457  { 107,  153,  125,  167,  153,  140,  139,  154,  155,   91,  137,  153,  107,  167,  139,   93,  138,  139,  107,  153,  140,  167,  183,  140, }, 
458};
459#endif
460#endif
461
462static const UChar
463INIT_MVP_IDX[3][NUM_MVP_IDX_CTX] = 
464{
465  { CNU,  CNU, }, 
466  { 168,  CNU, }, 
467  { 168,  CNU, }, 
468};
469
470static const UChar
471INIT_ALF_FLAG[3][NUM_ALF_FLAG_CTX] = 
472{
473  { 153, }, 
474  { 153, }, 
475  { 153, }, 
476};
477
478static const UChar
479INIT_ALF_UVLC[3][NUM_ALF_UVLC_CTX] = 
480{
481  { 140,  154, }, 
482  { 154,  154, }, 
483  { 154,  154, }, 
484};
485
486static const UChar
487INIT_ALF_SVLC[3][NUM_ALF_SVLC_CTX] = 
488{
489  { 187,  154,  159, }, 
490  { 141,  154,  189, }, 
491  { 141,  154,  159, }, 
492};
493
494static const UChar
495INIT_SAO_FLAG[3][NUM_SAO_FLAG_CTX] = 
496{
497  { 154, }, 
498  { 153, }, 
499  { 153, }, 
500};
501
502static const UChar
503INIT_SAO_UVLC[3][NUM_SAO_UVLC_CTX] = 
504{
505  { 143,  140, }, 
506  { 185,  140, }, 
507  { 200,  140, }, 
508};
509
510static const UChar
511INIT_SAO_SVLC[3][NUM_SAO_SVLC_CTX] = 
512{
513  { 247,  154,  244, }, 
514  { 215,  154,  169, }, 
515  { 215,  154,  169, }, 
516};
517
518#if SAO_UNIT_INTERLEAVING
519static const UChar
520INIT_SAO_MERGE_LEFT_FLAG[3][NUM_SAO_MERGE_LEFT_FLAG_CTX] = 
521{
522  { 153,  153,  153, }, 
523  { 153,  153,  153, }, 
524  { 153,  153,  153, }, 
525};
526
527static const UChar
528INIT_SAO_MERGE_UP_FLAG[3][NUM_SAO_MERGE_UP_FLAG_CTX] = 
529{
530  { 175, }, 
531  { 153, }, 
532  { 153, }, 
533};
534
535static const UChar
536INIT_SAO_TYPE_IDX[3][NUM_SAO_TYPE_IDX_CTX] = 
537{
538  { 160,  140, }, 
539  { 185,  140, }, 
540  { 200,  140, }, 
541};
542#endif
543
544static const UChar
545INIT_TRANS_SUBDIV_FLAG[3][NUM_TRANS_SUBDIV_FLAG_CTX] = 
546{
547{ CNU,  224,  167,  122,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, }, 
548{ CNU,  124,  138,   94,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, }, 
549{ CNU,  153,  138,  138,  CNU,  CNU,  CNU,  CNU,  CNU,  CNU, }, 
550};
551#else
552static const UChar
553INIT_SPLIT_FLAG[3][NUM_SPLIT_FLAG_CTX] =
554{
[2]555  {
[56]556     87,  74, 107,
557   
[2]558  },
559  {
[56]560     84, 103, 105,
561   
[2]562  },
563  {
[56]564     84, 103, 105,
565   
566  },
[2]567};
568
569// initial probability for skip flag
[56]570static const UChar
571INIT_SKIP_FLAG[3][NUM_SKIP_FLAG_CTX] =
[2]572{
573  {
[56]574    CNU, CNU, CNU,
575   
[2]576  },
577  {
[56]578    165, 168, 154,
579   
[2]580  },
581  {
[56]582    165, 168, 154,
583   
584  },
[2]585};
586
587// initial probability for skip flag
[56]588static const UChar
589INIT_ALF_CTRL_FLAG[3][NUM_ALF_CTRL_FLAG_CTX] =
[2]590{
591  {
[56]592    153,
593   
[2]594  },
595  {
[56]596     87,
597   
[2]598  },
599  {
[56]600    135,
601   
602  },
[2]603};
604
605// initial probability for merge flag
[56]606static const UChar
607INIT_MERGE_FLAG_EXT[3][NUM_MERGE_FLAG_EXT_CTX] =
[2]608{
609  {
[56]610    CNU,
611   
[2]612  },
613  {
[56]614    72,
615   
[2]616  },
617  {
[56]618    119,
619   
620  },
[2]621};
622
[56]623static const UChar
624INIT_MERGE_IDX_EXT[3][NUM_MERGE_IDX_EXT_CTX] =
[2]625{
[56]626#if MRG_IDX_CTX_RED
[2]627  {
[56]628    CNU,
629   
[2]630  },
631  {
[56]632    100,
633   
[2]634  },
635  {
[56]636    116,
637  },
638#else
639  {
640    CNU, CNU, CNU, CNU,
641   
642  },
643  {
644    100,  86, 102, 133,
645   
646  },
647  {
648    116,  87, 119, 103,
649   
650  },
651#endif
[2]652};
653
[56]654// initial probability for PU size
655static const UChar
656INIT_PART_SIZE[3][NUM_PART_SIZE_CTX] =
[2]657{
658  {
[56]659    167, CNU, CNU, CNU,
660   
[2]661  },
662  {
[56]663    119,  87, CNU, CNU,
664   
[2]665  },
666  {
[56]667    119,  87, CNU, CNU,
668   
669  },
[2]670};
[56]671#if AMP_CTX
672static const UChar
673INIT_CU_AMP_POS[3][NUM_CU_AMP_CTX] =
[2]674{
675  {
[56]676    CNU, 
[2]677  },
678  {
[56]679    119, 
[2]680  },
681  {
[56]682    119, 
683  },
[2]684};
[56]685#else
686// initial probability for AMP split position (X)
687static const UChar
688INIT_CU_X_POS[3][NUM_CU_X_POS_CTX] =
689{
690  {
691    CNU, CNU,
692   
693  },
694  {
695    119, 103,
696   
697  },
698  {
699    119, 103,
700   
701  },
702};
[2]703
[56]704// initial probability for AMP split position (Y)
705static const UChar
706INIT_CU_Y_POS[3][NUM_CU_Y_POS_CTX] =
[2]707{
708  {
[56]709    CNU, CNU,
710   
[2]711  },
712  {
[56]713    119, 119,
714   
[2]715  },
716  {
[56]717    119, 103,
718   
719  },
[2]720};
[56]721#endif
[2]722// initial probability for prediction mode
[56]723static const UChar
724INIT_PRED_MODE[3][NUM_PRED_MODE_CTX] =
[2]725{
726  {
[56]727    CNU,
728   
[2]729  },
730  {
[56]731    114,
732   
[2]733  },
734  {
[56]735    98,
736   
737  },
[2]738};
739
740// initial probability for intra direction of luma
[56]741static const UChar
742INIT_INTRA_PRED_MODE[3][NUM_ADI_CTX] =
[2]743{
744  {
[56]745    167,
746   
[2]747  },
748  {
[56]749    119,
750   
[2]751  },
752  {
[56]753    150,
754   
755  },
[2]756};
[56]757
758// initial probability for intra direction of chroma
759static const UChar
760INIT_CHROMA_PRED_MODE[3][NUM_CHROMA_PRED_CTX] =
[2]761{
762  {
[56]763    53, 103,
764   
[2]765  },
766  {
[56]767    85,  87,
768   
[2]769  },
770  {
[56]771    101,  87,
772   
773  },
[2]774};
775
[56]776// initial probability for temporal direction
777static const UChar
778INIT_INTER_DIR[3][NUM_INTER_DIR_CTX] =
[2]779{
780  {
[56]781    CNU, CNU, CNU, CNU,
782   
[2]783  },
784  {
[56]785    CNU, CNU, CNU, CNU,
786   
[2]787  },
788  {
[56]789    41,  39,  38,  36,
790   
791  },
[2]792};
793
[56]794// initial probability for motion vector difference
795static const UChar
796INIT_MVD[3][NUM_MV_RES_CTX] =
[2]797{
798  {
[56]799    CNU, CNU,
800   
[2]801  },
802  {
[56]803    120, 166,
804   
[2]805  },
806  {
[56]807    135, 166,
808   
809  },
810};
811
812// initial probability for reference frame index
813static const UChar
814INIT_REF_PIC[3][NUM_REF_NO_CTX] =
815{
[2]816  {
[56]817    CNU, CNU, CNU, CNU,
818   
[2]819  },
820  {
[56]821    102, 118, 103, CNU,
822   
[2]823  },
824  {
[56]825    118, 118, 134, CNU,
826   
827  },
[2]828};
829
[56]830// initial probability for dQP
831static const UChar
832INIT_DQP[3][NUM_DELTA_QP_CTX] =
[2]833{
834  {
[56]835    CNU, CNU, CNU, 
836   
[2]837  },
838  {
[56]839    CNU, CNU, CNU, 
840   
[2]841  },
842  {
[56]843    CNU, CNU, CNU, 
844   
845  },
[2]846};
847
[56]848static const UChar
849INIT_QT_CBF[3][2*NUM_QT_CBF_CTX] =
[2]850{
851  {
[56]852     73,  74, CNU, CNU, CNU,
853     55,  86, 133, CNU, CNU,
854   
[2]855  },
856  {
[56]857    102,  89, CNU, CNU, CNU,
858    114,  84, 117, CNU, CNU,
859   
[2]860  },
861  {
[56]862    102,  89, CNU, CNU, CNU,
863    114,  68, 117, CNU, CNU,
864   
865  },
[2]866};
867
[56]868static const UChar
869INIT_QT_ROOT_CBF[3][NUM_QT_ROOT_CBF_CTX] =
[2]870{
871  {
[56]872    CNU,
873   
[2]874  },
875  {
[56]876    39,
877   
[2]878  },
879  {
[56]880    39,
881   
882  },
[2]883};
884
[56]885#if LAST_CTX_REDUCTION
886static const UChar
887INIT_LAST[3][2*NUM_CTX_LAST_FLAG_XY] =
[2]888{
[56]889  {
890    72,  72,  71,  72, 104,  89,  88,  89,  59,  73,  89, 106,  60,  59,  43,   
891    54,  70,  53,  CNU, CNU, CNU,  CNU, CNU, CNU,  CNU, CNU, CNU, CNU, CNU, CNU,
892  },
893  {
894    57,  72,  55,  72,  57,  72,   88,  73,  73,  72,  103,  73,  89,  73,  57, 
895    54,  70,  54,  CNU, CNU, CNU,  CNU, CNU, CNU,  CNU, CNU, CNU, CNU, CNU, CNU,
896  },
897  {
898    88,  72,  71,  72,  57,  72,  88,  73,  73,  72,   103,  73,  89,  73,  57,   
899    54,  70,  69,   CNU, CNU, CNU,  CNU, CNU, CNU,  CNU, CNU, CNU, CNU, CNU, CNU,
900  },
[2]901};
[56]902#else
903static const UChar
904INIT_LAST[3][2*NUM_CTX_LAST_FLAG_XY] =
[2]905{
906  {
[56]907    72,  72,  71,  72, 104,  89,  71,  88,  89,  59,  73,  86,  89, 106,  60,  59,  43,  55,
908    54,  70,  53,  53,  87,  71,  69,  54,  88,  73,  72,  53, CNU, CNU, CNU, CNU, CNU, CNU,
909   
[2]910  },
911  {
[56]912    57,  72,  71,  72,  57,  72, 102,  88,  73,  73,  72, 102, 103,  73,  89,  73,  57,  87,
913    54,  70,  54, 101,  71,  55,  70, 116, 103,  72,  72, 119, CNU, CNU, CNU, CNU, CNU, CNU,
914   
[2]915  },
916  {
[56]917    88,  72,  71,  72,  57,  72, 102,  88,  73,  73,  72, 118, 103,  73,  89,  73,  57,  87,
918    54,  70,  69,  85,  71,  55,  70,  85, 103,  72,  72, 119, CNU, CNU, CNU, CNU, CNU, CNU,
919   
920  },
[2]921};
[56]922#endif
[2]923
[56]924static const UChar
925INIT_SIG_CG_FLAG[3][2 * NUM_SIG_CG_FLAG_CTX] = 
[2]926{
927  {
[56]928    83, 122,
929    98, 121,
930   
[2]931  },
932  {
[56]933    99, 120,
934    67, 119,
935   
[2]936  },
937  {
[56]938    99, 120,
939    67, 119,
940   
941  },
[2]942};
943
[56]944static const UChar
945INIT_SIG_FLAG[3][NUM_SIG_FLAG_CTX] =
[2]946{
947  {
[56]948    74,  73,  88,  72,  72,  55,  71,  54,  71,  88, 103,  71,  53,  87, 134,  86,  84,  70,  68,  89,  90,  84,  88,  74, 130, 118,  88,
949    120,  87, 149,  70,  52, 118, 133, 116, 114, 129, 132, 162, 115,  51, 115,  66, 120,  74, 115,  87,  89,
[2]950  },
951  {
[56]952    152, 119, 103, 118,  87,  70,  70,  53, 118, 134, 118, 101,  68,  85, 101, 116, 100,  68,  67, 136, 168, 147, 150, 120, 115, 118, 119,
953    136, 102,  70,  53,  67, 117, 102, 117, 115, 114,  84, 115,  99, 100,  83, 114, 152, 168, 131, 150, 120,
[2]954  },
955  {
[56]956    152, 119, 103, 118,  87,  70,  70,  53,  71, 103, 118, 101,  68,  85, 101, 116, 116,  68,  67, 152, 168, 147, 150, 120, 115, 118, 119,
957    136, 102,  86,  84,  67, 117, 102, 117, 115,  99, 100, 115,  99, 100,  83, 114, 152, 152, 131, 150, 120,
958  },
[2]959};
960
[56]961#if LEVEL_CTX_LUMA_RED
962static const UChar
963INIT_ONE_FLAG[3][NUM_ONE_FLAG_CTX] =
[2]964{
965  {
[56]966    104,  68, 116,  86, 104, 132,  86,  87, 102,  66, 114,  68,  87,  84, 100, 101, 
967      104, 130, 147, 149, 104, 196, 100, 165,
[2]968  },
969  {
[56]970    119, 179, 179, 164, 119,  85, 117, 149, 133,  98, 114, 115, 118,  99, 115, 116,
971      135, 146, 147, 164, 119, 148, 116, 133,
[2]972  },
973  {
[56]974    119, 179, 148, 164, 119,  85, 117, 149, 133,  98, 114, 115, 118,  99, 115, 100,
975      135, 177, 147, 164, 119, 132, 148, 149,
976  },
[2]977};
978
[56]979#if RESTRICT_GR1GR2FLAG_NUMBER
980static const UChar
981INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] =
[2]982{
983  {
[56]984    86, 102, 115, 117, 101, 101,
[2]985  },
986  {
[56]987    84, 117, 83, 100, 84, 117,
[2]988  },
989  {
[56]990    84, 117, 83,  84, 84, 117,
991  },
[2]992};
[56]993#else
994static const UChar
995INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] =
996{
997  {
998    86, 103,  73, 102, 103,  73, 115, 117, 103, 117, 118, 103,
999      101, 103, 104, 101, 167, 121,
1000  },
1001  {
1002    84, 102,  88, 117, 118, 104, 83, 116, 118, 100, 117,  87,
1003      84, 118, 120, 117, 150, 120,
1004    },
1005    {
1006      84, 102,  88, 117, 118, 104, 83, 116, 118,  84, 117,  87,
1007        84, 118, 120, 117, 150, 120,
1008    },
1009};
[2]1010#endif
[56]1011#else
1012static const UChar
1013INIT_ONE_FLAG[3][NUM_ONE_FLAG_CTX] =
1014{
1015  {
1016    104,  68, 116,  86, 104, 132,  86,  87, 105, 134,  87, 103, 102,  66, 114,  68,  87,  84, 100, 101,  72,  69, 101,  86,
1017    104, 130, 147, 149, 104, 196, 100, 165,
1018  },
1019  {
1020    119, 179, 179, 164, 119,  85, 117, 149, 136, 103, 103, 103, 133,  98, 114, 115, 118,  99, 115, 116,  87, 100,  85, 117,
1021    135, 146, 147, 164, 119, 148, 116, 133,
1022  },
1023  {
1024    119, 179, 148, 164, 119,  85, 117, 149, 136,  87, 103, 103, 133,  98, 114, 115, 118,  99, 115, 100,  87,  84,  85,  85,
1025    135, 177, 147, 164, 119, 132, 148, 149,
1026  },
1027};
[2]1028
[56]1029#if RESTRICT_GR1GR2FLAG_NUMBER
1030static const UChar
1031INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] =
[2]1032{
1033  {
[56]1034    86, 102, 103, 115, 117, 102, 101, 101,
[2]1035  },
1036  {
[56]1037    84, 117, 103, 83, 100, 85, 84, 117, 
[2]1038  },
1039  {
[56]1040    84, 117, 87, 83, 84, 69, 84, 117,
1041  },
[2]1042};
1043#else
[56]1044static const UChar
1045INIT_ABS_FLAG[3][NUM_ABS_FLAG_CTX] =
[2]1046{
1047  {
[56]1048    86, 103,  73, 102, 103,  73, 103,  88,  89, 115, 117, 103, 117, 118, 103, 102, 103,  72,
1049    101, 103, 104, 101, 167, 121,
[2]1050  },
1051  {
[56]1052    84, 102,  88, 117, 118, 104, 103, 119, 136,  83, 116, 118, 100, 117,  87,  85,  86, 103,
1053    84, 118, 120, 117, 150, 120,
[2]1054  },
1055  {
[56]1056    84, 102,  88, 117, 118, 104,  87, 119, 136,  83, 116, 118,  84, 117,  87,  69,  86,  87,
1057    84, 118, 120, 117, 150, 120,
1058  },
[2]1059};
1060#endif
[56]1061#endif
1062// initial probability for motion vector predictor index
1063static const UChar
1064INIT_MVP_IDX[3][NUM_MVP_IDX_CTX] =
[2]1065{
1066  {
[56]1067    CNU, CNU,
1068   
[2]1069  },
1070  {
[56]1071    134, CNU,
1072   
[2]1073  },
1074  {
[56]1075    134, CNU,
1076   
1077  },
[2]1078};
1079
[56]1080// initial probability for ALF flag
1081static const UChar
1082INIT_ALF_FLAG[3][NUM_ALF_FLAG_CTX] =
[2]1083{
1084  {
[56]1085    118,
1086   
[2]1087  },
1088  {
[56]1089    102,
1090   
[2]1091  },
1092  {
[56]1093    102,
1094   
1095  },
[2]1096};
1097
[56]1098// initial probability for ALF side information (unsigned)
1099static const UChar
1100INIT_ALF_UVLC[3][NUM_ALF_UVLC_CTX] =
[2]1101{
1102  {
[56]1103    120, 119,
1104   
[2]1105  },
1106  {
[56]1107    119, 119,
1108   
[2]1109  },
1110  {
[56]1111    119, 119,
1112   
1113  },
[2]1114};
1115
[56]1116// initial probability for ALF side information (signed)
1117static const UChar
1118INIT_ALF_SVLC[3][NUM_ALF_SVLC_CTX] =
[2]1119{
1120  {
[56]1121    139, 119, 124,
1122   
[2]1123  },
1124  {
[56]1125     90, 119, 140,
1126   
[2]1127  },
1128  {
[56]1129     90, 119, 124,
1130   
1131  },
[2]1132};
1133
[56]1134// initial probability for SAO flag
1135static const UChar
1136INIT_SAO_FLAG[3][NUM_SAO_FLAG_CTX] =
[2]1137{
1138  {
[56]1139    119,
1140   
[2]1141  },
1142  {
[56]1143    102,
1144   
[2]1145  },
1146  {
[56]1147    102,
1148   
1149  },
[2]1150};
1151
[56]1152// initial probability for SAO side information (unsigned)
1153static const UChar
1154INIT_SAO_UVLC[3][NUM_SAO_UVLC_CTX] =
[2]1155{
1156  {
[56]1157     61, 104,
1158   
[2]1159  },
1160  {
[56]1161    168, 120,
1162   
[2]1163  },
1164  {
[56]1165    184, 120,
1166   
1167  },
[2]1168};
1169
[56]1170// initial probability for SAO side information (signed)
1171static const UChar
1172INIT_SAO_SVLC[3][NUM_SAO_SVLC_CTX] =
[2]1173{
1174  {
[56]1175    171, 119, 199,
1176   
[2]1177  },
1178  {
[56]1179    169, 119, 151,
1180   
[2]1181  },
1182  {
[56]1183    169, 119, 151,
1184   
1185  },
[2]1186};
[56]1187
1188#if SAO_UNIT_INTERLEAVING
1189static const UChar
1190INIT_SAO_MERGE_LEFT_FLAG[3][NUM_SAO_MERGE_LEFT_FLAG_CTX] =
[2]1191{
1192  {
[56]1193    118, 118, 118,
[2]1194  },
1195  {
[56]1196    102, 102, 102,
1197    },
1198    {
1199      102, 102, 102,
1200    },
1201};
1202
1203static const UChar
1204INIT_SAO_MERGE_UP_FLAG[3][NUM_SAO_MERGE_UP_FLAG_CTX] =
1205{
1206  {
1207    109, 
[2]1208  },
1209  {
[56]1210    102,
1211  },
1212  {
1213    102,
1214  },
[2]1215};
[56]1216static const UChar
1217INIT_SAO_TYPE_IDX[3][NUM_SAO_TYPE_IDX_CTX] =
[2]1218{
1219  {
[56]1220    64, 104 
[2]1221  },
1222  {
[56]1223  168, 120
[2]1224  },
1225  {
[56]1226    184, 120
1227  },
[2]1228};
1229static const Short
[56]1230INIT_SAO_RUN[3][NUM_SAO_RUN_CTX][2] =
[2]1231{
1232  {
1233    {   11,   57 }, {   -1,   62 }, {    0,   64 }
1234  },
1235  {
1236    {    6,   66 }, {   -1,   64 }, {    0,   64 }
1237  },
1238  {
1239    {    1,   73 }, {    2,   61 }, {    0,   64 }
1240  }
1241};
1242#endif
1243
[56]1244static const UChar
1245INIT_TRANS_SUBDIV_FLAG[3][NUM_TRANS_SUBDIV_FLAG_CTX] =
1246{
1247  {
1248    CNU, 162, 148, 100, CNU, CNU, CNU, CNU, CNU, CNU,
1249   
1250  },
1251  {
1252    CNU,  71,  86,  55, CNU, CNU, CNU, CNU, CNU, CNU,
1253   
1254  },
1255  {
1256    CNU, 102,  86,  86, CNU, CNU, CNU, CNU, CNU, CNU,
1257   
1258  },
1259};
1260#endif
1261
1262#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
[2]1263static const Short
[56]1264INIT_DMM_FLAG[3][NUM_DMM_FLAG_CTX] =
[2]1265{
1266  {
[56]1267    CNU
[2]1268  },
1269  {
[56]1270    CNU
[2]1271  },
1272  {
[56]1273    CNU
[2]1274  }
1275};
1276
1277static const Short
[56]1278INIT_DMM_MODE[3][NUM_DMM_MODE_CTX] =
[2]1279{
[56]1280  {
1281    CNU
1282  },
1283  {
1284    CNU
1285  },
1286  {
1287    CNU
1288  }
[2]1289};
1290
1291static const Short
[56]1292INIT_DMM_DATA[3][NUM_DMM_DATA_CTX] = 
[2]1293{
1294  {
[56]1295    CNU, CNU, CNU
[2]1296  },
1297  {
[56]1298    CNU, CNU, CNU
[2]1299  },
1300  {
[56]1301    CNU, CNU, CNU
[2]1302  }
1303};
[100]1304
[189]1305#if LGE_EDGE_INTRA_A0070
[100]1306static const Short
1307INIT_EDGE_INTRA[3][NUM_EDGE_INTRA_CTX] =
1308{
1309  {
1310    CNU
1311  },
1312  {
1313    CNU
1314  },
1315  {
1316    CNU
1317  }
1318};
1319
1320#if LGE_EDGE_INTRA_DELTA_DC
1321static const Short
1322INIT_EDGE_INTRA_DELTA_DC[3][NUM_EDGE_INTRA_DELTA_DC_CTX] =
1323{
1324  {
1325    CNU, CNU
1326  },
1327  {
1328    CNU, CNU
1329  },
1330  {
1331    CNU, CNU
1332  }
1333};
[2]1334#endif
[100]1335#endif
[56]1336
[100]1337#endif
1338
[189]1339#if RWTH_SDC_DLT_B0036
1340static const Short INIT_SDC_FLAG[3][SDC_NUM_FLAG_CTX][2] =
1341{
1342  {
1343    {    0,   64 }, {    0,   64 }, {    0,   64 }
1344  },
1345  {
1346    {    0,   64 }, {    0,   64 }, {    0,   64 }
1347  },
1348  {
1349    {    0,   64 }, {    0,   64 }, {    0,   64 }
1350  }
1351};
1352
1353static const Short INIT_SDC_RESIDUAL_FLAG[3][3*SDC_NUM_RESIDUAL_FLAG_CTX][2] =
1354{
1355  {
1356    { -5, 35 },
1357    { -0, 56 },
1358    { -0, 56 }
1359   
1360  },
1361  {
1362    { -5, 35 },
1363    { -0, 56 },
1364    { -0, 56 }
1365  },
1366  {
1367    { -5, 35 },
1368    { -0, 56 },
1369    { -0, 56 }
1370  }
1371};
1372
1373static const Short INIT_SDC_SIGN_FLAG[3][3*SDC_NUM_SIGN_FLAG_CTX][2] =
1374{
1375  {
1376    { -1, 56 },
1377    { -4, 55 },
1378    { -4, 55 }
1379  },
1380  {
1381    { -1, 56 },
1382    { -4, 55 },
1383    { -4, 55 }
1384  },
1385  {
1386    { -1, 56 },
1387    { -4, 55 },
1388    { -4, 55 }
1389  }
1390};
1391
1392static const Short INIT_SDC_RESIDUAL[3][3*SDC_NUM_RESIDUAL_CTX][2] =
1393{
1394  {
1395    { -1, 64 }, {  2, 64 }, {  6, 67 }, {  8, 61 }, {  7, 47 }, { 10, 33 }, { 12, 14 }, { 33, -13 }, { 12, 14 }, { 33, -13 },
1396    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 },
1397    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 }
1398  },
1399  {
1400    { -1, 64 }, {  2, 64 }, {  6, 67 }, {  8, 61 }, {  7, 47 }, { 10, 33 }, { 12, 14 }, { 33, -13 }, { 12, 14 }, { 33, -13 },
1401    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 },
1402    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 }
1403  },
1404  {
1405    { -1, 64 }, {  2, 64 }, {  6, 67 }, {  8, 61 }, {  7, 47 }, { 10, 33 }, { 12, 14 }, { 33, -13 }, { 12, 14 }, { 33, -13 },
1406    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 },
1407    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 }
1408  }
1409};
1410
1411static const Short INIT_SDC_PRED_MODE[3][3*SDC_NUM_PRED_MODE_CTX][2] =
1412{
1413  {
1414    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
1415    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
1416    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 }
1417  },
1418  {
1419    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
1420    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
1421    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 }
1422  },
1423  {
1424    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
1425    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
1426    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 }
1427  }
1428};
1429#endif
1430
[56]1431//! \}
1432
[2]1433#endif
1434
Note: See TracBrowser for help on using the repository browser.