10c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
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;// File Name:  armVCM4P10_DequantTables_s.s
190c1bc742181ded4930842b46e9507372f0b1b963James Dong;// OpenMAX DL: v1.0.2
200c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Revision:   9641
210c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Date:       Thursday, February 7, 2008
220c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
230c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
240c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
250c1bc742181ded4930842b46e9507372f0b1b963James Dong;//
260c1bc742181ded4930842b46e9507372f0b1b963James Dong
270c1bc742181ded4930842b46e9507372f0b1b963James Dong
280c1bc742181ded4930842b46e9507372f0b1b963James Dong
290c1bc742181ded4930842b46e9507372f0b1b963James Dong         INCLUDE omxtypes_s.h
300c1bc742181ded4930842b46e9507372f0b1b963James Dong         INCLUDE armCOMM_s.h
310c1bc742181ded4930842b46e9507372f0b1b963James Dong
320c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_QPDivTable
330c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_VMatrixQPModTable
340c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_PosToVCol4x4
350c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_PosToVCol2x2
360c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_VMatrix
370c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_QPModuloTable
380c1bc742181ded4930842b46e9507372f0b1b963James Dong         EXPORT armVCM4P10_VMatrixU16
390c1bc742181ded4930842b46e9507372f0b1b963James Dong
400c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Define the processor variants supported by this file
410c1bc742181ded4930842b46e9507372f0b1b963James Dong
420c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_VARIANTS ARM1136JS
430c1bc742181ded4930842b46e9507372f0b1b963James Dong
440c1bc742181ded4930842b46e9507372f0b1b963James Dong
450c1bc742181ded4930842b46e9507372f0b1b963James Dong;// Guarding implementation by the processor name
460c1bc742181ded4930842b46e9507372f0b1b963James Dong
470c1bc742181ded4930842b46e9507372f0b1b963James Dong
480c1bc742181ded4930842b46e9507372f0b1b963James Dong    IF ARM1136JS :LOR: CortexA8
490c1bc742181ded4930842b46e9507372f0b1b963James Dong
500c1bc742181ded4930842b46e9507372f0b1b963James Dong
510c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_PosToVCol4x4
520c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0, 2, 0, 2
530c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2, 1, 2, 1
540c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0, 2, 0, 2
550c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2, 1, 2, 1
560c1bc742181ded4930842b46e9507372f0b1b963James Dong
570c1bc742181ded4930842b46e9507372f0b1b963James Dong
580c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_PosToVCol2x2
590c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0, 2
600c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2, 1
610c1bc742181ded4930842b46e9507372f0b1b963James Dong
620c1bc742181ded4930842b46e9507372f0b1b963James Dong
630c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_VMatrix
640c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  10, 16, 13
650c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  11, 18, 14
660c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  13, 20, 16
670c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  14, 23, 18
680c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  16, 25, 20
690c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  18, 29, 23
700c1bc742181ded4930842b46e9507372f0b1b963James Dong
710c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
720c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table evaluates the expression [(INT)(QP/6)],
730c1bc742181ded4930842b46e9507372f0b1b963James Dong;// for values of QP from 0 to 51 (inclusive).
740c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
750c1bc742181ded4930842b46e9507372f0b1b963James Dong
760c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_QPDivTable
770c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  0,  0,  0,  0,  0,  0
780c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  1,  1,  1,  1,  1,  1
790c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  2,  2,  2,  2,  2,  2
800c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  3,  3,  3,  3,  3,  3
810c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  4,  4,  4,  4,  4,  4
820c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  5,  5,  5,  5,  5,  5
830c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  6,  6,  6,  6,  6,  6
840c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  7,  7,  7,  7,  7,  7
850c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB  8,  8,  8,  8,  8,  8
860c1bc742181ded4930842b46e9507372f0b1b963James Dong
870c1bc742181ded4930842b46e9507372f0b1b963James Dong;//----------------------------------------------------
880c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table contains armVCM4P10_VMatrix[QP%6][0] entires,
890c1bc742181ded4930842b46e9507372f0b1b963James Dong;// for values of QP from 0 to 51 (inclusive).
900c1bc742181ded4930842b46e9507372f0b1b963James Dong;//----------------------------------------------------
910c1bc742181ded4930842b46e9507372f0b1b963James Dong
920c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_VMatrixQPModTable
930c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
940c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
950c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
960c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
970c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
980c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
990c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
1000c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
1010c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 10, 11, 13, 14, 16, 18
1020c1bc742181ded4930842b46e9507372f0b1b963James Dong
1030c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
1040c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table evaluates the modulus expression [QP%6]*6,
1050c1bc742181ded4930842b46e9507372f0b1b963James Dong;// for values of QP from 0 to 51 (inclusive).
1060c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
1070c1bc742181ded4930842b46e9507372f0b1b963James Dong
1080c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_QPModuloTable
1090c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1100c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1110c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1120c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1130c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1140c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1150c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1160c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1170c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCB 0, 6, 12, 18, 24, 30
1180c1bc742181ded4930842b46e9507372f0b1b963James Dong
1190c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
1200c1bc742181ded4930842b46e9507372f0b1b963James Dong;// This table contains the invidual byte values stored as
1210c1bc742181ded4930842b46e9507372f0b1b963James Dong;// halfwords. This avoids unpacking inside the function
1220c1bc742181ded4930842b46e9507372f0b1b963James Dong;//-------------------------------------------------------
1230c1bc742181ded4930842b46e9507372f0b1b963James Dong
1240c1bc742181ded4930842b46e9507372f0b1b963James Dong         M_TABLE armVCM4P10_VMatrixU16
1250c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 10, 16, 13
1260c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 11, 18, 14
1270c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 13, 20, 16
1280c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 14, 23, 18
1290c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 16, 25, 20
1300c1bc742181ded4930842b46e9507372f0b1b963James Dong         DCW 18, 29, 23
1310c1bc742181ded4930842b46e9507372f0b1b963James Dong
1320c1bc742181ded4930842b46e9507372f0b1b963James Dong    ENDIF                                                           ;//ARM1136JS
1330c1bc742181ded4930842b46e9507372f0b1b963James Dong
1340c1bc742181ded4930842b46e9507372f0b1b963James Dong
1350c1bc742181ded4930842b46e9507372f0b1b963James Dong
1360c1bc742181ded4930842b46e9507372f0b1b963James Dong
13778e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar         END
138