Home | History | Annotate | Download | only in src_gcc
      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