178e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar/*
278e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Copyright (C) 2007-2008 ARM Limited
378e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
478e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Licensed under the Apache License, Version 2.0 (the "License");
578e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * you may not use this file except in compliance with the License.
678e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * You may obtain a copy of the License at
778e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
878e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *      http://www.apache.org/licenses/LICENSE-2.0
978e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
1078e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Unless required by applicable law or agreed to in writing, software
1178e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * distributed under the License is distributed on an "AS IS" BASIS,
1278e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1378e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * See the License for the specific language governing permissions and
1478e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * limitations under the License.
1578e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
1678e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar */
170c1bc742181ded4930842b46e9507372f0b1b963James Dong /**
180c1bc742181ded4930842b46e9507372f0b1b963James Dong *
190c1bc742181ded4930842b46e9507372f0b1b963James Dong * File Name:  armVCM4P2_Huff_Tables_VLC.c
200c1bc742181ded4930842b46e9507372f0b1b963James Dong * OpenMAX DL: v1.0.2
210c1bc742181ded4930842b46e9507372f0b1b963James Dong * Revision:   9641
220c1bc742181ded4930842b46e9507372f0b1b963James Dong * Date:       Thursday, February 7, 2008
230c1bc742181ded4930842b46e9507372f0b1b963James Dong *
240c1bc742181ded4930842b46e9507372f0b1b963James Dong *
250c1bc742181ded4930842b46e9507372f0b1b963James Dong *
260c1bc742181ded4930842b46e9507372f0b1b963James Dong *
270c1bc742181ded4930842b46e9507372f0b1b963James Dong * File:        armVCM4P2_Huff_Tables_VLC.c
280c1bc742181ded4930842b46e9507372f0b1b963James Dong * Description: Contains all the Huffman tables used in MPEG4 codec
290c1bc742181ded4930842b46e9507372f0b1b963James Dong *
300c1bc742181ded4930842b46e9507372f0b1b963James Dong */
310c1bc742181ded4930842b46e9507372f0b1b963James Dong
320c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "omxtypes.h"
330c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "armOMX.h"
340c1bc742181ded4930842b46e9507372f0b1b963James Dong
350c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "armCOMM_Bitstream.h"
360c1bc742181ded4930842b46e9507372f0b1b963James Dong
370c1bc742181ded4930842b46e9507372f0b1b963James Dong
380c1bc742181ded4930842b46e9507372f0b1b963James Dong
390c1bc742181ded4930842b46e9507372f0b1b963James Dong
400c1bc742181ded4930842b46e9507372f0b1b963James Dong// Contains optimized and Packed VLC tables with Last=0 and Last=1
410c1bc742181ded4930842b46e9507372f0b1b963James Dong
420c1bc742181ded4930842b46e9507372f0b1b963James Dong//              optimized Packed VLC table Entry Format
430c1bc742181ded4930842b46e9507372f0b1b963James Dong//              ---------------------------------------
440c1bc742181ded4930842b46e9507372f0b1b963James Dong//
450c1bc742181ded4930842b46e9507372f0b1b963James Dong//        15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
460c1bc742181ded4930842b46e9507372f0b1b963James Dong//       +------------------------------------------------+
470c1bc742181ded4930842b46e9507372f0b1b963James Dong//       |  Len   |       Run       |     Level    |L | 1 |
480c1bc742181ded4930842b46e9507372f0b1b963James Dong//       +------------------------------------------------+
490c1bc742181ded4930842b46e9507372f0b1b963James Dong//       |                Offset                      | 0 |
500c1bc742181ded4930842b46e9507372f0b1b963James Dong//       +------------------------------------------------+
510c1bc742181ded4930842b46e9507372f0b1b963James Dong// If the table entry is a leaf entry then bit 0 set:
520c1bc742181ded4930842b46e9507372f0b1b963James Dong//    Len    = Number of bits overread  (0 to 7)  3 bits
530c1bc742181ded4930842b46e9507372f0b1b963James Dong//    Run    = RunLength of the Symbol  (0 to 63) 6 bits
540c1bc742181ded4930842b46e9507372f0b1b963James Dong//    Level  = Level of the Symbol      (0 to 31) 5 bits
550c1bc742181ded4930842b46e9507372f0b1b963James Dong//    L      = Last Value of the Symbol (0 or 1)  1 bit
560c1bc742181ded4930842b46e9507372f0b1b963James Dong//
570c1bc742181ded4930842b46e9507372f0b1b963James Dong// If the table entry is an internal node then bit 0 is clear:
580c1bc742181ded4930842b46e9507372f0b1b963James Dong//    Offset = Number of (16-bit) half words from the table
590c1bc742181ded4930842b46e9507372f0b1b963James Dong//             start to the next table node
600c1bc742181ded4930842b46e9507372f0b1b963James Dong//
610c1bc742181ded4930842b46e9507372f0b1b963James Dong// The table is accessed by successive lookup up on the
620c1bc742181ded4930842b46e9507372f0b1b963James Dong// next Step bits of the input bitstream until a leaf node
630c1bc742181ded4930842b46e9507372f0b1b963James Dong// is obtained. The Step sizes are supplied to the VLD macro.
640c1bc742181ded4930842b46e9507372f0b1b963James Dong
650c1bc742181ded4930842b46e9507372f0b1b963James Dong// The VLC tables used for Intra and non inta coefficients in non Escape mode
660c1bc742181ded4930842b46e9507372f0b1b963James Dong// contains symbols with both Last=0 and Last=1.
670c1bc742181ded4930842b46e9507372f0b1b963James Dong// If a symbol is not found in the table it will be coded as 0xFFF
680c1bc742181ded4930842b46e9507372f0b1b963James Dong
690c1bc742181ded4930842b46e9507372f0b1b963James Dong
700c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U16 armVCM4P2_InterVlcL0L1[200] = {
710c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0020, 0x0108, 0x0148, 0x0170, 0x0178, 0x0180, 0x0188, 0x1b09,
720c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x4009, 0x4009, 0x4009, 0x4009, 0x2109, 0x2109, 0x0209, 0x0011,
730c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0028, 0x0060, 0x00b8, 0x00e0, 0x0030, 0x0048, 0x0050, 0x0058,
740c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x3fff, 0x3fff, 0x0038, 0x0040, 0x2115, 0x2115, 0x201d, 0x201d,
750c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2059, 0x2059, 0x2051, 0x2051, 0x1c0d, 0x1b0d, 0x1a0d, 0x190d,
760c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0911, 0x0811, 0x0711, 0x0611, 0x0511, 0x0319, 0x0219, 0x0121,
770c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0068, 0x0090, 0x3fff, 0x3fff, 0x0070, 0x0078, 0x0080, 0x0088,
780c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2061, 0x2061, 0x2129, 0x2129, 0x3709, 0x3709, 0x3809, 0x3809,
790c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x3d0d, 0x3d0d, 0x3e0d, 0x3e0d, 0x3f0d, 0x3f0d, 0x200d, 0x200d,
800c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0098, 0x00a0, 0x00a8, 0x00b0, 0x0131, 0x0221, 0x0419, 0x0519,
810c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0619, 0x0a11, 0x1909, 0x1a09, 0x210d, 0x220d, 0x230d, 0x240d,
820c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x250d, 0x260d, 0x270d, 0x280d, 0x00c0, 0x00c8, 0x00d0, 0x00d8,
830c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0049, 0x0041, 0x380d, 0x380d, 0x370d, 0x370d, 0x360d, 0x360d,
840c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x350d, 0x350d, 0x340d, 0x340d, 0x330d, 0x330d, 0x320d, 0x320d,
850c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00e8, 0x00f0, 0x00f8, 0x0100, 0x310d, 0x310d, 0x2015, 0x2015,
860c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x3609, 0x3609, 0x3509, 0x3509, 0x3409, 0x3409, 0x3309, 0x3309,
870c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x3209, 0x3209, 0x3109, 0x3109, 0x0110, 0x0130, 0x0138, 0x0140,
880c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0118, 0x0120, 0x0128, 0x100d, 0x3009, 0x3009, 0x2f09, 0x2f09,
890c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2411, 0x2411, 0x2311, 0x2311, 0x2039, 0x2039, 0x2031, 0x2031,
900c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0f0d, 0x0e0d, 0x0d0d, 0x0c0d, 0x0b0d, 0x0a0d, 0x090d, 0x0e09,
910c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0d09, 0x0211, 0x0119, 0x0029, 0x0150, 0x0158, 0x0160, 0x0168,
920c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x280d, 0x280d, 0x270d, 0x270d, 0x260d, 0x260d, 0x250d, 0x250d,
930c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2c09, 0x2c09, 0xb759, 0xb759, 0x2a09, 0x2a09, 0x2021, 0x2021,
940c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x040d, 0x030d, 0x0b35, 0x010d, 0x0909, 0x0809, 0x0709, 0x0609,
950c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0111, 0x0019, 0x2509, 0x2509, 0x2409, 0x2409, 0x2309, 0x2309
960c1bc742181ded4930842b46e9507372f0b1b963James Dong};
970c1bc742181ded4930842b46e9507372f0b1b963James Dong
980c1bc742181ded4930842b46e9507372f0b1b963James Dong
990c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U16 armVCM4P2_IntraVlcL0L1[200] = {
1000c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0020, 0x0108, 0x0148, 0x0170, 0x0178, 0x0180, 0x0188, 0x0f09,
1010c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x4009, 0x4009, 0x4009, 0x4009, 0x2011, 0x2011, 0x0109, 0x0019,
1020c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0028, 0x0060, 0x00b8, 0x00e0, 0x0030, 0x0048, 0x0050, 0x0058,
1030c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x3fff, 0x3fff, 0x0038, 0x0040, 0x203d, 0x203d, 0x2035, 0x2035,
1040c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x20b1, 0x20b1, 0x20a9, 0x20a9, 0x0215, 0x011d, 0x002d, 0x0d09,
1050c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0519, 0x0811, 0x0419, 0x0321, 0x0221, 0x0139, 0x00a1, 0x0099,
1060c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0068, 0x0090, 0x3fff, 0x3fff, 0x0070, 0x0078, 0x0080, 0x0088,
1070c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x20b9, 0x20b9, 0x20c1, 0x20c1, 0x2141, 0x2141, 0x2911, 0x2911,
1080c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2315, 0x2315, 0x2415, 0x2415, 0x2f0d, 0x2f0d, 0x300d, 0x300d,
1090c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0098, 0x00a0, 0x00a8, 0x00b0, 0x00c9, 0x00d1, 0x00d9, 0x0149,
1100c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0619, 0x0151, 0x0229, 0x0719, 0x0e09, 0x0045, 0x0515, 0x0615,
1110c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x110d, 0x120d, 0x130d, 0x140d, 0x00c0, 0x00c8, 0x00d0, 0x00d8,
1120c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0091, 0x0089, 0x2e0d, 0x2e0d, 0x2d0d, 0x2d0d, 0x2c0d, 0x2c0d,
1130c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2b0d, 0x2b0d, 0x2a0d, 0x2a0d, 0x2115, 0x2115, 0x2025, 0x2025,
1140c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00e8, 0x00f0, 0x00f8, 0x0100, 0x2c09, 0x2c09, 0x2b09, 0x2b09,
1150c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2711, 0x2711, 0x2611, 0x2611, 0x2511, 0x2511, 0x2319, 0x2319,
1160c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2219, 0x2219, 0x2131, 0x2131, 0x0110, 0x0130, 0x0138, 0x0140,
1170c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0118, 0x0120, 0x0128, 0x080d, 0x2129, 0x2129, 0x2081, 0x2081,
1180c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2411, 0x2411, 0x2079, 0x2079, 0x2071, 0x2071, 0x2069, 0x2069,
1190c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x1bb5, 0x060d, 0x001d, 0xd3f9, 0x0909, 0x0809, 0x090d, 0x0311,
1200c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0121, 0x0061, 0x0059, 0x0051, 0x0150, 0x0158, 0x0160, 0x0168,
1210c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x240d, 0x240d, 0x230d, 0x230d, 0x2609, 0x2609, 0x250d, 0x250d,
1220c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2709, 0x2709, 0x2211, 0x2211, 0x2119, 0x2119, 0x2049, 0x2049,
1230c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0015, 0x0509, 0x020d, 0x010d, 0x0409, 0x0309, 0x0041, 0x0039,
1240c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0111, 0x0031, 0x2209, 0x2209, 0x2029, 0x2029, 0x2021, 0x2021
1250c1bc742181ded4930842b46e9507372f0b1b963James Dong};
1260c1bc742181ded4930842b46e9507372f0b1b963James Dong
1270c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U16 armVCM4P2_aIntraDCLumaChromaIndex[64] = {
1280c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0020, 0x000b, 0x2009, 0x2009, 0x2007, 0x2007, 0x2001, 0x2001,
1290c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x4005, 0x4005, 0x4005, 0x4005, 0x4003, 0x4003, 0x4003, 0x4003,
1300c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0028, 0x000f, 0x200d, 0x200d, 0x0030, 0x0013, 0x2011, 0x2011,
1310c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0038, 0x0017, 0x2015, 0x2015, 0x3fff, 0x3fff, 0x2019, 0x2019,
1320c1bc742181ded4930842b46e9507372f0b1b963James Dong
1330c1bc742181ded4930842b46e9507372f0b1b963James Dong	0x0020, 0x0009, 0x2007, 0x2007, 0x4005, 0x4005, 0x4005, 0x4005,
1340c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x4003, 0x4003, 0x4003, 0x4003, 0x4001, 0x4001, 0x4001, 0x4001,
1350c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0028, 0x000d, 0x200b, 0x200b, 0x0030, 0x0011, 0x200f, 0x200f,
1360c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0038, 0x0015, 0x2013, 0x2013, 0x1fff, 0x0019, 0x2017, 0x2017
1370c1bc742181ded4930842b46e9507372f0b1b963James Dong};
1380c1bc742181ded4930842b46e9507372f0b1b963James Dong
1390c1bc742181ded4930842b46e9507372f0b1b963James Dong
1400c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U16 armVCM4P2_aVlcMVD[124] = {
1410c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0010, 0x00f0, 0x0043, 0x003f, 0x4041, 0x4041, 0x4041, 0x4041,
1420c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0018, 0x00d8, 0x0047, 0x003b, 0x0020, 0x0080, 0x00a8, 0x00d0,
1430c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0028, 0x0048, 0x0070, 0x0078, 0x1fff, 0x0030, 0x0038, 0x0040,
1440c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0081, 0x0001, 0x007f, 0x0003, 0x207d, 0x207d, 0x2005, 0x2005,
1450c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x207b, 0x207b, 0x2007, 0x2007, 0x0050, 0x0058, 0x0060, 0x0068,
1460c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2079, 0x2079, 0x2009, 0x2009, 0x2077, 0x2077, 0x200b, 0x200b,
1470c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2075, 0x2075, 0x200d, 0x200d, 0x2073, 0x2073, 0x200f, 0x200f,
1480c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0071, 0x0011, 0x006f, 0x0013, 0x006d, 0x0015, 0x006b, 0x0017,
1490c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0088, 0x0090, 0x0098, 0x00a0, 0x0069, 0x0019, 0x0067, 0x001b,
1500c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0065, 0x001d, 0x0063, 0x001f, 0x0061, 0x0021, 0x005f, 0x0023,
1510c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x005d, 0x0025, 0x005b, 0x0027, 0x00b0, 0x00b8, 0x00c0, 0x00c8,
1520c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0059, 0x0029, 0x0057, 0x002b, 0x2055, 0x2055, 0x202d, 0x202d,
1530c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2053, 0x2053, 0x202f, 0x202f, 0x2051, 0x2051, 0x2031, 0x2031,
1540c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x204f, 0x204f, 0x2033, 0x2033, 0x00e0, 0x00e8, 0x0049, 0x0039,
1550c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x204d, 0x204d, 0x2035, 0x2035, 0x204b, 0x204b, 0x2037, 0x2037,
1560c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x2045, 0x2045, 0x203d, 0x203d
1570c1bc742181ded4930842b46e9507372f0b1b963James Dong};
1580c1bc742181ded4930842b46e9507372f0b1b963James Dong
1590c1bc742181ded4930842b46e9507372f0b1b963James Dong/* LMAX table for non Inter (Last == 0 and Last=1)
1600c1bc742181ded4930842b46e9507372f0b1b963James Dong   Level - 1 Indexed
1610c1bc742181ded4930842b46e9507372f0b1b963James Dong   padded armVCM4P2_InterL0L1LMAX[27-31] with zeros to acess entries for Last=1 effectively
1620c1bc742181ded4930842b46e9507372f0b1b963James Dong
1630c1bc742181ded4930842b46e9507372f0b1b963James Dong*/
1640c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U8 armVCM4P2_InterL0L1LMAX[73] =
1650c1bc742181ded4930842b46e9507372f0b1b963James Dong{
1660c1bc742181ded4930842b46e9507372f0b1b963James Dong   12,  6,  4,  3,  3,  3,  3,  2,
1670c1bc742181ded4930842b46e9507372f0b1b963James Dong    2,  2,  2,  1,  1,  1,  1,  1,
1680c1bc742181ded4930842b46e9507372f0b1b963James Dong    1,  1,  1,  1,  1,  1,  1,  1,
1690c1bc742181ded4930842b46e9507372f0b1b963James Dong    1,  1,  1,  0,  0,  0,  0,  0,
1700c1bc742181ded4930842b46e9507372f0b1b963James Dong    3,  2,  1,  1,  1,  1,  1,  1,
1710c1bc742181ded4930842b46e9507372f0b1b963James Dong	1,  1,  1,  1,  1,  1,  1,  1,
1720c1bc742181ded4930842b46e9507372f0b1b963James Dong	1,  1,  1,  1,  1,  1,  1,  1,
1730c1bc742181ded4930842b46e9507372f0b1b963James Dong	1,  1,  1,  1,  1,  1,  1,  1,
1740c1bc742181ded4930842b46e9507372f0b1b963James Dong	1,  1,  1,  1,  1,  1,  1,  1,
1750c1bc742181ded4930842b46e9507372f0b1b963James Dong	1
1760c1bc742181ded4930842b46e9507372f0b1b963James Dong};
1770c1bc742181ded4930842b46e9507372f0b1b963James Dong
1780c1bc742181ded4930842b46e9507372f0b1b963James Dong/* RMAX table for non Inter (Last == 0 and Last=1)
1790c1bc742181ded4930842b46e9507372f0b1b963James Dong   Level - 1 Indexed
1800c1bc742181ded4930842b46e9507372f0b1b963James Dong padded armVCM4P2_InterL0L1RMAX[12-31] with zeros to access entries for Last=1 table effectively */
1810c1bc742181ded4930842b46e9507372f0b1b963James Dong
1820c1bc742181ded4930842b46e9507372f0b1b963James Dong
1830c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U8 armVCM4P2_InterL0L1RMAX[35] =
1840c1bc742181ded4930842b46e9507372f0b1b963James Dong{
1850c1bc742181ded4930842b46e9507372f0b1b963James Dong   26, 10,  6,  2,  1,  1,
1860c1bc742181ded4930842b46e9507372f0b1b963James Dong    0,  0,  0,  0,  0,  0,
1870c1bc742181ded4930842b46e9507372f0b1b963James Dong	0,	0,	0,	0,	0,	0,
1880c1bc742181ded4930842b46e9507372f0b1b963James Dong	0,	0,	0,	0,	0,	0,
1890c1bc742181ded4930842b46e9507372f0b1b963James Dong	0,	0,	0,	0,
1900c1bc742181ded4930842b46e9507372f0b1b963James Dong    0,  0,  0,  0,  40,  1,  0
1910c1bc742181ded4930842b46e9507372f0b1b963James Dong};
1920c1bc742181ded4930842b46e9507372f0b1b963James Dong
1930c1bc742181ded4930842b46e9507372f0b1b963James Dong/* LMAX table for non Intra (Last == 0 and Last=1)
1940c1bc742181ded4930842b46e9507372f0b1b963James Dong   Level - 1 Indexed
1950c1bc742181ded4930842b46e9507372f0b1b963James Dong   padded armVCM4P2_IntraL0L1LMAX[15-31] with zeros to acess entries for Last=1 effectively
1960c1bc742181ded4930842b46e9507372f0b1b963James Dong
1970c1bc742181ded4930842b46e9507372f0b1b963James Dong*/
1980c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U8 armVCM4P2_IntraL0L1LMAX[53] =
1990c1bc742181ded4930842b46e9507372f0b1b963James Dong{
2000c1bc742181ded4930842b46e9507372f0b1b963James Dong   27, 10,  5,  4,  3,  3,  3,
2010c1bc742181ded4930842b46e9507372f0b1b963James Dong    3,  2,  2,  1,  1,  1,  1,  1,	0,
2020c1bc742181ded4930842b46e9507372f0b1b963James Dong	0,	0,	0,	0,	0,	0,	0,	0,
2030c1bc742181ded4930842b46e9507372f0b1b963James Dong	0,	0,	0,	0,	0,	0,	0,	0,
2040c1bc742181ded4930842b46e9507372f0b1b963James Dong
2050c1bc742181ded4930842b46e9507372f0b1b963James Dong	8,  3,  2,  2,  2,  2,  2,  1,
2060c1bc742181ded4930842b46e9507372f0b1b963James Dong	1,  1,  1,  1,  1,  1,  1,  1,
2070c1bc742181ded4930842b46e9507372f0b1b963James Dong	1,  1,  1,  1,  1
2080c1bc742181ded4930842b46e9507372f0b1b963James Dong};
2090c1bc742181ded4930842b46e9507372f0b1b963James Dong
2100c1bc742181ded4930842b46e9507372f0b1b963James Dong
2110c1bc742181ded4930842b46e9507372f0b1b963James Dong/* RMAX table for non Inter (Last == 0 and Last=1)
2120c1bc742181ded4930842b46e9507372f0b1b963James Dong   Level - 1 Indexed
2130c1bc742181ded4930842b46e9507372f0b1b963James Dong padded armVCM4P2_IntraL0L1RMAX[27-31] with zeros to access entries for Last=1 table effectively */
2140c1bc742181ded4930842b46e9507372f0b1b963James Dong
2150c1bc742181ded4930842b46e9507372f0b1b963James Dong
2160c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U8 armVCM4P2_IntraL0L1RMAX[40] =
2170c1bc742181ded4930842b46e9507372f0b1b963James Dong{
2180c1bc742181ded4930842b46e9507372f0b1b963James Dong   14,  9,  7,  3,  2,  1,	1,
2190c1bc742181ded4930842b46e9507372f0b1b963James Dong    1,  1,  1,  0,  0,  0, 	0,
2200c1bc742181ded4930842b46e9507372f0b1b963James Dong    0,  0,  0,  0,  0,  0,  0,
2210c1bc742181ded4930842b46e9507372f0b1b963James Dong    0,  0,  0,  0,  0,  0,  0,
2220c1bc742181ded4930842b46e9507372f0b1b963James Dong	0,	0,	0,	0,
2230c1bc742181ded4930842b46e9507372f0b1b963James Dong
2240c1bc742181ded4930842b46e9507372f0b1b963James Dong	20,  6,  1,  0,  0,  0,  0,  0
2250c1bc742181ded4930842b46e9507372f0b1b963James Dong
2260c1bc742181ded4930842b46e9507372f0b1b963James Dong};
227