10c1bc742181ded4930842b46e9507372f0b1b963James Dong /**
20c1bc742181ded4930842b46e9507372f0b1b963James Dong *
30c1bc742181ded4930842b46e9507372f0b1b963James Dong * File Name:  armVCM4P2_Lookup_Tables.c
40c1bc742181ded4930842b46e9507372f0b1b963James Dong * OpenMAX DL: v1.0.2
50c1bc742181ded4930842b46e9507372f0b1b963James Dong * Revision:   9641
60c1bc742181ded4930842b46e9507372f0b1b963James Dong * Date:       Thursday, February 7, 2008
70c1bc742181ded4930842b46e9507372f0b1b963James Dong *
80c1bc742181ded4930842b46e9507372f0b1b963James Dong * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
90c1bc742181ded4930842b46e9507372f0b1b963James Dong *
100c1bc742181ded4930842b46e9507372f0b1b963James Dong *
110c1bc742181ded4930842b46e9507372f0b1b963James Dong *
120c1bc742181ded4930842b46e9507372f0b1b963James Dong * File:        armVCM4P2_Lookup_Tables.c
130c1bc742181ded4930842b46e9507372f0b1b963James Dong * Description: Contains all the Lookup tables used in MPEG4 codec
140c1bc742181ded4930842b46e9507372f0b1b963James Dong *
150c1bc742181ded4930842b46e9507372f0b1b963James Dong */
160c1bc742181ded4930842b46e9507372f0b1b963James Dong
170c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "omxtypes.h"
180c1bc742181ded4930842b46e9507372f0b1b963James Dong#include "armOMX.h"
190c1bc742181ded4930842b46e9507372f0b1b963James Dong
200c1bc742181ded4930842b46e9507372f0b1b963James Dong    /* * Table Entries contain Dc Scaler values
210c1bc742181ded4930842b46e9507372f0b1b963James Dong       * armVCM4P2_DCScaler[i]= 8           for i=1  to  4 and i=33 to 36
220c1bc742181ded4930842b46e9507372f0b1b963James Dong       *                      = 2*i         for i=5  to  8
230c1bc742181ded4930842b46e9507372f0b1b963James Dong       *                      = i+8         for i=9  to  25
240c1bc742181ded4930842b46e9507372f0b1b963James Dong       *                      = 2*i-16      for i=26 to  31
250c1bc742181ded4930842b46e9507372f0b1b963James Dong       *                      = (i-32+13)/2 for i=37 to  59
260c1bc742181ded4930842b46e9507372f0b1b963James Dong       *                      = i-6-32      for i=60 to  63
270c1bc742181ded4930842b46e9507372f0b1b963James Dong       *                      = 255         for i=0 and i=32
280c1bc742181ded4930842b46e9507372f0b1b963James Dong       */
290c1bc742181ded4930842b46e9507372f0b1b963James Dong
300c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_U8 armVCM4P2_DCScaler[64]={
310c1bc742181ded4930842b46e9507372f0b1b963James Dong	0xff, 0x8,  0x8,  0x8,  0x8,  0xa,  0xc,  0xe,
320c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
330c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
340c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e,
350c1bc742181ded4930842b46e9507372f0b1b963James Dong    0xff, 0x8,  0x8,  0x8,  0x8,  0x9,  0x9,  0xa,
360c1bc742181ded4930842b46e9507372f0b1b963James Dong    0xa,  0xb,  0xb,  0xc,  0xc,  0xd,  0xd,  0xe,
370c1bc742181ded4930842b46e9507372f0b1b963James Dong    0xe,  0xf,  0xf,  0x10, 0x10, 0x11, 0x11, 0x12,
380c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
390c1bc742181ded4930842b46e9507372f0b1b963James Dong
400c1bc742181ded4930842b46e9507372f0b1b963James Dong};
410c1bc742181ded4930842b46e9507372f0b1b963James Dong
420c1bc742181ded4930842b46e9507372f0b1b963James Dong
430c1bc742181ded4930842b46e9507372f0b1b963James Dong     /*  Table Entries Contain reciprocal of 1 to 63
440c1bc742181ded4930842b46e9507372f0b1b963James Dong      *  armVCM4P2_Reciprocal_QP_S16[i]=round(32767/i)
450c1bc742181ded4930842b46e9507372f0b1b963James Dong      *  armVCM4P2_Reciprocal_QP_S16[0]= 0
460c1bc742181ded4930842b46e9507372f0b1b963James Dong      */
470c1bc742181ded4930842b46e9507372f0b1b963James Dong
480c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_S16 armVCM4P2_Reciprocal_QP_S16[64]={
490c1bc742181ded4930842b46e9507372f0b1b963James Dong	0x0000,0x7fff,0x4000,0x2aaa,0x2000,0x1999,0x1555,0x1249,
500c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x1000,0x0e39,0x0ccd,0x0ba3,0x0aab,0x09d9,0x0925,0x0888,
510c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0800,0x0787,0x071c,0x06bd,0x0666,0x0618,0x05d1,0x0591,
520c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0555,0x051f,0x04ec,0x04be,0x0492,0x046a,0x0444,0x0421,
530c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0400,0x03e1,0x03c4,0x03a8,0x038e,0x0376,0x035e,0x0348,
540c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0333,0x031f,0x030c,0x02fa,0x02e9,0x02d8,0x02c8,0x02b9,
550c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x02ab,0x029d,0x028f,0x0282,0x0276,0x026a,0x025f,0x0254,
560c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x0249,0x023f,0x0235,0x022b,0x0222,0x0219,0x0211,0x0208
570c1bc742181ded4930842b46e9507372f0b1b963James Dong
580c1bc742181ded4930842b46e9507372f0b1b963James Dong};
590c1bc742181ded4930842b46e9507372f0b1b963James Dong
600c1bc742181ded4930842b46e9507372f0b1b963James Dong      /* Table Entries Contain reciprocal of 1 to 63
610c1bc742181ded4930842b46e9507372f0b1b963James Dong       * armVCM4P2_Reciprocal_QP_S32[i]=round(131071/i)
620c1bc742181ded4930842b46e9507372f0b1b963James Dong       * armVCM4P2_Reciprocal_QP_S32[0]= 0
630c1bc742181ded4930842b46e9507372f0b1b963James Dong       */
640c1bc742181ded4930842b46e9507372f0b1b963James Dong
650c1bc742181ded4930842b46e9507372f0b1b963James Dongconst OMX_S32 armVCM4P2_Reciprocal_QP_S32[64]={
660c1bc742181ded4930842b46e9507372f0b1b963James Dong	0x00000000,0x0001ffff,0x00010000,0x0000aaaa, 0x00008000, 0x00006666, 0x00005555, 0x00004924,
670c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00004000,0x000038e3,0x00003333,0x00002e8c, 0x00002aab, 0x00002762, 0x00002492, 0x00002222,
680c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00002000,0x00001e1e,0x00001c72,0x00001af2, 0x0000199a, 0x00001861, 0x00001746, 0x00001643,
690c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00001555,0x0000147b,0x000013b1,0x000012f6, 0x00001249, 0x000011a8, 0x00001111, 0x00001084,
700c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00001000,0x00000f84,0x00000f0f,0x00000ea1, 0x00000e39, 0x00000dd6, 0x00000d79, 0x00000d21,
710c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00000ccd,0x00000c7d,0x00000c31,0x00000be8, 0x00000ba3, 0x00000b61, 0x00000b21, 0x00000ae5,
720c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00000aab,0x00000a73,0x00000a3d,0x00000a0a, 0x000009d9, 0x000009a9, 0x0000097b, 0x0000094f,
730c1bc742181ded4930842b46e9507372f0b1b963James Dong    0x00000925,0x000008fb,0x000008d4,0x000008ae, 0x00000889, 0x00000865, 0x00000842, 0x00000820
740c1bc742181ded4930842b46e9507372f0b1b963James Dong
750c1bc742181ded4930842b46e9507372f0b1b963James Dong};
76