armVCM4P10_DequantTables_s.S revision e17bb5cafdbc6089716d8e8c5afbb00f207a59bb
1/*
2 * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved.
3 *
4 */
5
6    .eabi_attribute 24, 1
7    .eabi_attribute 25, 1
8
9    .arm
10    .fpu neon
11    .section .rodata
12    .align 4
13
14
15    .global armVCM4P10_QPDivTable
16    .global armVCM4P10_VMatrixQPModTable
17    .global armVCM4P10_PosToVCol4x4
18    .global armVCM4P10_PosToVCol2x2
19    .global armVCM4P10_VMatrix
20    .global armVCM4P10_QPModuloTable
21    .global armVCM4P10_VMatrixU16
22
23    .hidden armVCM4P10_QPDivTable
24    .hidden armVCM4P10_VMatrixQPModTable
25    .hidden armVCM4P10_PosToVCol4x4
26    .hidden armVCM4P10_PosToVCol2x2
27    .hidden armVCM4P10_VMatrix
28    .hidden armVCM4P10_QPModuloTable
29    .hidden armVCM4P10_VMatrixU16
30
31armVCM4P10_PosToVCol4x4:
32    .byte  0, 2, 0, 2
33    .byte  2, 1, 2, 1
34    .byte  0, 2, 0, 2
35    .byte  2, 1, 2, 1
36
37armVCM4P10_PosToVCol2x2:
38    .byte  0, 2
39    .byte  2, 1
40
41armVCM4P10_VMatrix:
42    .byte  10, 16, 13
43    .byte  11, 18, 14
44    .byte  13, 20, 16
45    .byte  14, 23, 18
46    .byte  16, 25, 20
47    .byte  18, 29, 23
48
49;//-------------------------------------------------------
50;// This table evaluates the expression [(INT)(QP/6)],
51;// for values of QP from 0 to 51 (inclusive).
52;//-------------------------------------------------------
53
54armVCM4P10_QPDivTable:
55    .byte  0,  0,  0,  0,  0,  0
56    .byte  1,  1,  1,  1,  1,  1
57    .byte  2,  2,  2,  2,  2,  2
58    .byte  3,  3,  3,  3,  3,  3
59    .byte  4,  4,  4,  4,  4,  4
60    .byte  5,  5,  5,  5,  5,  5
61    .byte  6,  6,  6,  6,  6,  6
62    .byte  7,  7,  7,  7,  7,  7
63    .byte  8,  8,  8,  8,  8,  8
64
65;//----------------------------------------------------
66;// This table contains armVCM4P10_VMatrix[QP%6][0] entires,
67;// for values of QP from 0 to 51 (inclusive).
68;//----------------------------------------------------
69
70armVCM4P10_VMatrixQPModTable:
71    .byte 10, 11, 13, 14, 16, 18
72    .byte 10, 11, 13, 14, 16, 18
73    .byte 10, 11, 13, 14, 16, 18
74    .byte 10, 11, 13, 14, 16, 18
75    .byte 10, 11, 13, 14, 16, 18
76    .byte 10, 11, 13, 14, 16, 18
77    .byte 10, 11, 13, 14, 16, 18
78    .byte 10, 11, 13, 14, 16, 18
79    .byte 10, 11, 13, 14, 16, 18
80
81;//-------------------------------------------------------
82;// This table evaluates the modulus expression [QP%6]*6,
83;// for values of QP from 0 to 51 (inclusive).
84;//-------------------------------------------------------
85
86armVCM4P10_QPModuloTable:
87    .byte 0, 6, 12, 18, 24, 30
88    .byte 0, 6, 12, 18, 24, 30
89    .byte 0, 6, 12, 18, 24, 30
90    .byte 0, 6, 12, 18, 24, 30
91    .byte 0, 6, 12, 18, 24, 30
92    .byte 0, 6, 12, 18, 24, 30
93    .byte 0, 6, 12, 18, 24, 30
94    .byte 0, 6, 12, 18, 24, 30
95    .byte 0, 6, 12, 18, 24, 30
96
97;//-------------------------------------------------------
98;// This table contains the invidual byte values stored as
99;// halfwords. This avoids unpacking inside the function
100;//-------------------------------------------------------
101
102armVCM4P10_VMatrixU16:
103    .hword 10, 16, 13
104    .hword 11, 18, 14
105    .hword 13, 20, 16
106    .hword 14, 23, 18
107    .hword 16, 25, 20
108    .hword 18, 29, 23
109
110    .end
111
112