Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6147 serge 1
/*
2
 * This file is part of FFmpeg.
3
 *
4
 * FFmpeg is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Lesser General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2.1 of the License, or (at your option) any later version.
8
 *
9
 * FFmpeg is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Lesser General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Lesser General Public
15
 * License along with FFmpeg; if not, write to the Free Software
16
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
 */
18
 
19
.macro  transpose_8x8B  r0, r1, r2, r3, r4, r5, r6, r7, r8, r9
20
        trn1            \r8\().8B,  \r0\().8B,  \r1\().8B
21
        trn2            \r9\().8B,  \r0\().8B,  \r1\().8B
22
        trn1            \r1\().8B,  \r2\().8B,  \r3\().8B
23
        trn2            \r3\().8B,  \r2\().8B,  \r3\().8B
24
        trn1            \r0\().8B,  \r4\().8B,  \r5\().8B
25
        trn2            \r5\().8B,  \r4\().8B,  \r5\().8B
26
        trn1            \r2\().8B,  \r6\().8B,  \r7\().8B
27
        trn2            \r7\().8B,  \r6\().8B,  \r7\().8B
28
 
29
        trn1            \r4\().4H,  \r0\().4H,  \r2\().4H
30
        trn2            \r2\().4H,  \r0\().4H,  \r2\().4H
31
        trn1            \r6\().4H,  \r5\().4H,  \r7\().4H
32
        trn2            \r7\().4H,  \r5\().4H,  \r7\().4H
33
        trn1            \r5\().4H,  \r9\().4H,  \r3\().4H
34
        trn2            \r9\().4H,  \r9\().4H,  \r3\().4H
35
        trn1            \r3\().4H,  \r8\().4H,  \r1\().4H
36
        trn2            \r8\().4H,  \r8\().4H,  \r1\().4H
37
 
38
        trn1            \r0\().2S,  \r3\().2S,  \r4\().2S
39
        trn2            \r4\().2S,  \r3\().2S,  \r4\().2S
40
 
41
        trn1            \r1\().2S,  \r5\().2S,  \r6\().2S
42
        trn2            \r5\().2S,  \r5\().2S,  \r6\().2S
43
 
44
        trn2            \r6\().2S,  \r8\().2S,  \r2\().2S
45
        trn1            \r2\().2S,  \r8\().2S,  \r2\().2S
46
 
47
        trn1            \r3\().2S,  \r9\().2S,  \r7\().2S
48
        trn2            \r7\().2S,  \r9\().2S,  \r7\().2S
49
.endm
50
 
51
.macro  transpose_8x16B r0, r1, r2, r3, r4, r5, r6, r7, t0, t1
52
        trn1            \t0\().16B, \r0\().16B, \r1\().16B
53
        trn2            \t1\().16B, \r0\().16B, \r1\().16B
54
        trn1            \r1\().16B, \r2\().16B, \r3\().16B
55
        trn2            \r3\().16B, \r2\().16B, \r3\().16B
56
        trn1            \r0\().16B, \r4\().16B, \r5\().16B
57
        trn2            \r5\().16B, \r4\().16B, \r5\().16B
58
        trn1            \r2\().16B, \r6\().16B, \r7\().16B
59
        trn2            \r7\().16B, \r6\().16B, \r7\().16B
60
 
61
        trn1            \r4\().8H,  \r0\().8H,  \r2\().8H
62
        trn2            \r2\().8H,  \r0\().8H,  \r2\().8H
63
        trn1            \r6\().8H,  \r5\().8H,  \r7\().8H
64
        trn2            \r7\().8H,  \r5\().8H,  \r7\().8H
65
        trn1            \r5\().8H,  \t1\().8H,  \r3\().8H
66
        trn2            \t1\().8H,  \t1\().8H,  \r3\().8H
67
        trn1            \r3\().8H,  \t0\().8H,  \r1\().8H
68
        trn2            \t0\().8H,  \t0\().8H,  \r1\().8H
69
 
70
        trn1            \r0\().4S,  \r3\().4S,  \r4\().4S
71
        trn2            \r4\().4S,  \r3\().4S,  \r4\().4S
72
 
73
        trn1            \r1\().4S,  \r5\().4S,  \r6\().4S
74
        trn2            \r5\().4S,  \r5\().4S,  \r6\().4S
75
 
76
        trn2            \r6\().4S,  \t0\().4S,  \r2\().4S
77
        trn1            \r2\().4S,  \t0\().4S,  \r2\().4S
78
 
79
        trn1            \r3\().4S,  \t1\().4S,  \r7\().4S
80
        trn2            \r7\().4S,  \t1\().4S,  \r7\().4S
81
.endm
82
 
83
.macro  transpose_4x16B r0, r1, r2, r3, t4, t5, t6, t7
84
        trn1            \t4\().16B, \r0\().16B,  \r1\().16B
85
        trn2            \t5\().16B, \r0\().16B,  \r1\().16B
86
        trn1            \t6\().16B, \r2\().16B,  \r3\().16B
87
        trn2            \t7\().16B, \r2\().16B,  \r3\().16B
88
 
89
        trn1            \r0\().8H,  \t4\().8H,  \t6\().8H
90
        trn2            \r2\().8H,  \t4\().8H,  \t6\().8H
91
        trn1            \r1\().8H,  \t5\().8H,  \t7\().8H
92
        trn2            \r3\().8H,  \t5\().8H,  \t7\().8H
93
.endm
94
 
95
.macro  transpose_4x8B  r0, r1, r2, r3, t4, t5, t6, t7
96
        trn1            \t4\().8B,  \r0\().8B,  \r1\().8B
97
        trn2            \t5\().8B,  \r0\().8B,  \r1\().8B
98
        trn1            \t6\().8B,  \r2\().8B,  \r3\().8B
99
        trn2            \t7\().8B,  \r2\().8B,  \r3\().8B
100
 
101
        trn1            \r0\().4H,  \t4\().4H,  \t6\().4H
102
        trn2            \r2\().4H,  \t4\().4H,  \t6\().4H
103
        trn1            \r1\().4H,  \t5\().4H,  \t7\().4H
104
        trn2            \r3\().4H,  \t5\().4H,  \t7\().4H
105
.endm
106
 
107
.macro  transpose_4x4H  r0, r1, r2, r3, r4, r5, r6, r7
108
        trn1            \r4\().4H,  \r0\().4H,  \r1\().4H
109
        trn2            \r5\().4H,  \r0\().4H,  \r1\().4H
110
        trn1            \r7\().4H,  \r3\().4H,  \r2\().4H
111
        trn2            \r6\().4H,  \r3\().4H,  \r2\().4H
112
        trn1            \r0\().2S,  \r4\().2S,  \r7\().2S
113
        trn2            \r3\().2S,  \r4\().2S,  \r7\().2S
114
        trn1            \r1\().2S,  \r5\().2S,  \r6\().2S
115
        trn2            \r2\().2S,  \r5\().2S,  \r6\().2S
116
.endm
117
 
118
.macro  transpose_8x8H  r0, r1, r2, r3, r4, r5, r6, r7, r8, r9
119
        trn1            \r8\().8H,  \r0\().8H,  \r1\().8H
120
        trn2            \r9\().8H,  \r0\().8H,  \r1\().8H
121
        trn1            \r1\().8H,  \r2\().8H,  \r3\().8H
122
        trn2            \r3\().8H,  \r2\().8H,  \r3\().8H
123
        trn1            \r0\().8H,  \r4\().8H,  \r5\().8H
124
        trn2            \r5\().8H,  \r4\().8H,  \r5\().8H
125
        trn1            \r2\().8H,  \r6\().8H,  \r7\().8H
126
        trn2            \r7\().8H,  \r6\().8H,  \r7\().8H
127
 
128
        trn1            \r4\().4S,  \r0\().4S,  \r2\().4S
129
        trn2            \r2\().4S,  \r0\().4S,  \r2\().4S
130
        trn1            \r6\().4S,  \r5\().4S,  \r7\().4S
131
        trn2            \r7\().4S,  \r5\().4S,  \r7\().4S
132
        trn1            \r5\().4S,  \r9\().4S,  \r3\().4S
133
        trn2            \r9\().4S,  \r9\().4S,  \r3\().4S
134
        trn1            \r3\().4S,  \r8\().4S,  \r1\().4S
135
        trn2            \r8\().4S,  \r8\().4S,  \r1\().4S
136
 
137
        trn1            \r0\().2D,  \r3\().2D,  \r4\().2D
138
        trn2            \r4\().2D,  \r3\().2D,  \r4\().2D
139
 
140
        trn1            \r1\().2D,  \r5\().2D,  \r6\().2D
141
        trn2            \r5\().2D,  \r5\().2D,  \r6\().2D
142
 
143
        trn2            \r6\().2D,  \r8\().2D,  \r2\().2D
144
        trn1            \r2\().2D,  \r8\().2D,  \r2\().2D
145
 
146
        trn1            \r3\().2D,  \r9\().2D,  \r7\().2D
147
        trn2            \r7\().2D,  \r9\().2D,  \r7\().2D
148
 
149
.endm