10c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
20c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
30c1bc742181ded4930842b46e9507372f0b1b963James Dong;// File Name:  armVCM4P10_DequantTables_s.s
40c1bc742181ded4930842b46e9507372f0b1b963James Dong;// OpenMAX DL: v1.0.2
50c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Revision:   12290
60c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Date:       Wednesday, April 9, 2008
70c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
80c1bc742181ded4930842b46e9507372f0b1b963James Dong;// (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
90c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
100c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
110c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
120c1bc742181ded4930842b46e9507372f0b1b963James Dong
130c1bc742181ded4930842b46e9507372f0b1b963James Dong
140c1bc742181ded4930842b46e9507372f0b1b963James Dong
150c1bc742181ded4930842b46e9507372f0b1b963James Dong         INCLUDE omxtypes_s.h
160c1bc742181ded4930842b46e9507372f0b1b963James Dong         INCLUDE armCOMM_s.h
170c1bc742181ded4930842b46e9507372f0b1b963James Dong
180c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_QPDivTable
190c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_VMatrixQPModTable
200c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_PosToVCol4x4
210c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_PosToVCol2x2
220c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_VMatrix
230c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_QPModuloTable
240c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_VMatrixU16
250c1bc742181ded4930842b46e9507372f0b1b963James Dong
260c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Define the processor variants supported by this file
270c1bc742181ded4930842b46e9507372f0b1b963James Dong
280c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_VARIANTS CortexA8
290c1bc742181ded4930842b46e9507372f0b1b963James Dong
300c1bc742181ded4930842b46e9507372f0b1b963James Dong
310c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Guarding implementation by the processor name
320c1bc742181ded4930842b46e9507372f0b1b963James Dong
330c1bc742181ded4930842b46e9507372f0b1b963James Dong
340c1bc742181ded4930842b46e9507372f0b1b963James Dong    IF CortexA8
350c1bc742181ded4930842b46e9507372f0b1b963James Dong
360c1bc742181ded4930842b46e9507372f0b1b963James Dong
370c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_PosToVCol4x4
380c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0, 2, 0, 2
390c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2, 1, 2, 1
400c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0, 2, 0, 2
410c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2, 1, 2, 1
420c1bc742181ded4930842b46e9507372f0b1b963James Dong
430c1bc742181ded4930842b46e9507372f0b1b963James Dong
440c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_PosToVCol2x2
450c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0, 2
460c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2, 1
470c1bc742181ded4930842b46e9507372f0b1b963James Dong
480c1bc742181ded4930842b46e9507372f0b1b963James Dong
490c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_VMatrix
500c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  10, 16, 13
510c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  11, 18, 14
520c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  13, 20, 16
530c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  14, 23, 18
540c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  16, 25, 20
550c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  18, 29, 23
560c1bc742181ded4930842b46e9507372f0b1b963James Dong
570c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
580c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table evaluates the expression [(INT)(QP/6)],
590c1bc742181ded4930842b46e9507372f0b1b963James Dong;// for values of QP from 0 to 51 (inclusive).
600c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
610c1bc742181ded4930842b46e9507372f0b1b963James Dong
620c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_QPDivTable
630c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0,  0,  0,  0,  0,  0
640c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  1,  1,  1,  1,  1,  1
650c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2,  2,  2,  2,  2,  2
660c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  3,  3,  3,  3,  3,  3
670c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  4,  4,  4,  4,  4,  4
680c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  5,  5,  5,  5,  5,  5
690c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  6,  6,  6,  6,  6,  6
700c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  7,  7,  7,  7,  7,  7
710c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  8,  8,  8,  8,  8,  8
720c1bc742181ded4930842b46e9507372f0b1b963James Dong
730c1bc742181ded4930842b46e9507372f0b1b963James Dong;//----------------------------------------------------
740c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table contains armVCM4P10_VMatrix[QP%6][0] entires,
750c1bc742181ded4930842b46e9507372f0b1b963James Dong;// for values of QP from 0 to 51 (inclusive).
760c1bc742181ded4930842b46e9507372f0b1b963James Dong;//----------------------------------------------------
770c1bc742181ded4930842b46e9507372f0b1b963James Dong
780c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_VMatrixQPModTable
790c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
800c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
810c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
820c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
830c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
840c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
850c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
860c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
870c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
880c1bc742181ded4930842b46e9507372f0b1b963James Dong
890c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
900c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table evaluates the modulus expression [QP%6]*6,
910c1bc742181ded4930842b46e9507372f0b1b963James Dong;// for values of QP from 0 to 51 (inclusive).
920c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
930c1bc742181ded4930842b46e9507372f0b1b963James Dong
940c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_QPModuloTable
950c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
960c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
970c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
980c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
990c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1000c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1010c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1020c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1030c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1040c1bc742181ded4930842b46e9507372f0b1b963James Dong
1050c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
1060c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table contains the invidual byte values stored as
1070c1bc742181ded4930842b46e9507372f0b1b963James Dong;// halfwords. This avoids unpacking inside the function
1080c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
1090c1bc742181ded4930842b46e9507372f0b1b963James Dong
1100c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_VMatrixU16
1110c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 10, 16, 13
1120c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 11, 18, 14
1130c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 13, 20, 16
1140c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 14, 23, 18
1150c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 16, 25, 20
1160c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 18, 29, 23
1170c1bc742181ded4930842b46e9507372f0b1b963James Dong
1180c1bc742181ded4930842b46e9507372f0b1b963James Dong    ENDIF                                                           ;//ARM1136JS
1190c1bc742181ded4930842b46e9507372f0b1b963James Dong
1200c1bc742181ded4930842b46e9507372f0b1b963James Dong
1210c1bc742181ded4930842b46e9507372f0b1b963James Dong
1220c1bc742181ded4930842b46e9507372f0b1b963James Dong
1230c1bc742181ded4930842b46e9507372f0b1b963James Dong         END