1 ;// 2 ;// Copyright (C) 2007-2008 ARM Limited 3 ;// 4 ;// Licensed under the Apache License, Version 2.0 (the "License"); 5 ;// you may not use this file except in compliance with the License. 6 ;// You may obtain a copy of the License at 7 ;// 8 ;// http://www.apache.org/licenses/LICENSE-2.0 9 ;// 10 ;// Unless required by applicable law or agreed to in writing, software 11 ;// distributed under the License is distributed on an "AS IS" BASIS, 12 ;// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 ;// See the License for the specific language governing permissions and 14 ;// limitations under the License. 15 ;// 16 /* 17 * 18 */ 19 20 .eabi_attribute 24, 1 21 .eabi_attribute 25, 1 22 23 .arm 24 .fpu neon 25 .section .rodata 26 .align 4 27 28 29 .global armVCM4P10_QPDivTable 30 .global armVCM4P10_VMatrixQPModTable 31 .global armVCM4P10_PosToVCol4x4 32 .global armVCM4P10_PosToVCol2x2 33 .global armVCM4P10_VMatrix 34 .global armVCM4P10_QPModuloTable 35 .global armVCM4P10_VMatrixU16 36 37 .hidden armVCM4P10_QPDivTable 38 .hidden armVCM4P10_VMatrixQPModTable 39 .hidden armVCM4P10_PosToVCol4x4 40 .hidden armVCM4P10_PosToVCol2x2 41 .hidden armVCM4P10_VMatrix 42 .hidden armVCM4P10_QPModuloTable 43 .hidden armVCM4P10_VMatrixU16 44 45 armVCM4P10_PosToVCol4x4: 46 .byte 0, 2, 0, 2 47 .byte 2, 1, 2, 1 48 .byte 0, 2, 0, 2 49 .byte 2, 1, 2, 1 50 51 armVCM4P10_PosToVCol2x2: 52 .byte 0, 2 53 .byte 2, 1 54 55 armVCM4P10_VMatrix: 56 .byte 10, 16, 13 57 .byte 11, 18, 14 58 .byte 13, 20, 16 59 .byte 14, 23, 18 60 .byte 16, 25, 20 61 .byte 18, 29, 23 62 63 ;//------------------------------------------------------- 64 ;// This table evaluates the expression [(INT)(QP/6)], 65 ;// for values of QP from 0 to 51 (inclusive). 66 ;//------------------------------------------------------- 67 68 armVCM4P10_QPDivTable: 69 .byte 0, 0, 0, 0, 0, 0 70 .byte 1, 1, 1, 1, 1, 1 71 .byte 2, 2, 2, 2, 2, 2 72 .byte 3, 3, 3, 3, 3, 3 73 .byte 4, 4, 4, 4, 4, 4 74 .byte 5, 5, 5, 5, 5, 5 75 .byte 6, 6, 6, 6, 6, 6 76 .byte 7, 7, 7, 7, 7, 7 77 .byte 8, 8, 8, 8, 8, 8 78 79 ;//---------------------------------------------------- 80 ;// This table contains armVCM4P10_VMatrix[QP%6][0] entires, 81 ;// for values of QP from 0 to 51 (inclusive). 82 ;//---------------------------------------------------- 83 84 armVCM4P10_VMatrixQPModTable: 85 .byte 10, 11, 13, 14, 16, 18 86 .byte 10, 11, 13, 14, 16, 18 87 .byte 10, 11, 13, 14, 16, 18 88 .byte 10, 11, 13, 14, 16, 18 89 .byte 10, 11, 13, 14, 16, 18 90 .byte 10, 11, 13, 14, 16, 18 91 .byte 10, 11, 13, 14, 16, 18 92 .byte 10, 11, 13, 14, 16, 18 93 .byte 10, 11, 13, 14, 16, 18 94 95 ;//------------------------------------------------------- 96 ;// This table evaluates the modulus expression [QP%6]*6, 97 ;// for values of QP from 0 to 51 (inclusive). 98 ;//------------------------------------------------------- 99 100 armVCM4P10_QPModuloTable: 101 .byte 0, 6, 12, 18, 24, 30 102 .byte 0, 6, 12, 18, 24, 30 103 .byte 0, 6, 12, 18, 24, 30 104 .byte 0, 6, 12, 18, 24, 30 105 .byte 0, 6, 12, 18, 24, 30 106 .byte 0, 6, 12, 18, 24, 30 107 .byte 0, 6, 12, 18, 24, 30 108 .byte 0, 6, 12, 18, 24, 30 109 .byte 0, 6, 12, 18, 24, 30 110 111 ;//------------------------------------------------------- 112 ;// This table contains the invidual byte values stored as 113 ;// halfwords. This avoids unpacking inside the function 114 ;//------------------------------------------------------- 115 116 armVCM4P10_VMatrixU16: 117 .hword 10, 16, 13 118 .hword 11, 18, 14 119 .hword 13, 20, 16 120 .hword 14, 23, 18 121 .hword 16, 25, 20 122 .hword 18, 29, 23 123 124 .end 125 126