• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 The libgav1 Authors
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 #ifndef LIBGAV1_SRC_DSP_ARM_WEIGHT_MASK_SSE4_H_
18 #define LIBGAV1_SRC_DSP_ARM_WEIGHT_MASK_SSE4_H_
19 
20 #include "src/dsp/dsp.h"
21 #include "src/utils/cpu.h"
22 
23 namespace libgav1 {
24 namespace dsp {
25 
26 // Initializes Dsp::weight_mask. This function is not thread-safe.
27 void WeightMaskInit_SSE4_1();
28 
29 }  // namespace dsp
30 }  // namespace libgav1
31 
32 #if LIBGAV1_TARGETING_SSE4_1
33 
34 #ifndef LIBGAV1_Dsp8bpp_WeightMask_8x8
35 #define LIBGAV1_Dsp8bpp_WeightMask_8x8 LIBGAV1_CPU_SSE4_1
36 #endif
37 
38 #ifndef LIBGAV1_Dsp8bpp_WeightMask_8x16
39 #define LIBGAV1_Dsp8bpp_WeightMask_8x16 LIBGAV1_CPU_SSE4_1
40 #endif
41 
42 #ifndef LIBGAV1_Dsp8bpp_WeightMask_8x32
43 #define LIBGAV1_Dsp8bpp_WeightMask_8x32 LIBGAV1_CPU_SSE4_1
44 #endif
45 
46 #ifndef LIBGAV1_Dsp8bpp_WeightMask_16x8
47 #define LIBGAV1_Dsp8bpp_WeightMask_16x8 LIBGAV1_CPU_SSE4_1
48 #endif
49 
50 #ifndef LIBGAV1_Dsp8bpp_WeightMask_16x16
51 #define LIBGAV1_Dsp8bpp_WeightMask_16x16 LIBGAV1_CPU_SSE4_1
52 #endif
53 
54 #ifndef LIBGAV1_Dsp8bpp_WeightMask_16x32
55 #define LIBGAV1_Dsp8bpp_WeightMask_16x32 LIBGAV1_CPU_SSE4_1
56 #endif
57 
58 #ifndef LIBGAV1_Dsp8bpp_WeightMask_16x64
59 #define LIBGAV1_Dsp8bpp_WeightMask_16x64 LIBGAV1_CPU_SSE4_1
60 #endif
61 
62 #ifndef LIBGAV1_Dsp8bpp_WeightMask_32x8
63 #define LIBGAV1_Dsp8bpp_WeightMask_32x8 LIBGAV1_CPU_SSE4_1
64 #endif
65 
66 #ifndef LIBGAV1_Dsp8bpp_WeightMask_32x16
67 #define LIBGAV1_Dsp8bpp_WeightMask_32x16 LIBGAV1_CPU_SSE4_1
68 #endif
69 
70 #ifndef LIBGAV1_Dsp8bpp_WeightMask_32x32
71 #define LIBGAV1_Dsp8bpp_WeightMask_32x32 LIBGAV1_CPU_SSE4_1
72 #endif
73 
74 #ifndef LIBGAV1_Dsp8bpp_WeightMask_32x64
75 #define LIBGAV1_Dsp8bpp_WeightMask_32x64 LIBGAV1_CPU_SSE4_1
76 #endif
77 
78 #ifndef LIBGAV1_Dsp8bpp_WeightMask_64x16
79 #define LIBGAV1_Dsp8bpp_WeightMask_64x16 LIBGAV1_CPU_SSE4_1
80 #endif
81 
82 #ifndef LIBGAV1_Dsp8bpp_WeightMask_64x32
83 #define LIBGAV1_Dsp8bpp_WeightMask_64x32 LIBGAV1_CPU_SSE4_1
84 #endif
85 
86 #ifndef LIBGAV1_Dsp8bpp_WeightMask_64x64
87 #define LIBGAV1_Dsp8bpp_WeightMask_64x64 LIBGAV1_CPU_SSE4_1
88 #endif
89 
90 #ifndef LIBGAV1_Dsp8bpp_WeightMask_64x128
91 #define LIBGAV1_Dsp8bpp_WeightMask_64x128 LIBGAV1_CPU_SSE4_1
92 #endif
93 
94 #ifndef LIBGAV1_Dsp8bpp_WeightMask_128x64
95 #define LIBGAV1_Dsp8bpp_WeightMask_128x64 LIBGAV1_CPU_SSE4_1
96 #endif
97 
98 #ifndef LIBGAV1_Dsp8bpp_WeightMask_128x128
99 #define LIBGAV1_Dsp8bpp_WeightMask_128x128 LIBGAV1_CPU_SSE4_1
100 #endif
101 
102 #ifndef LIBGAV1_Dsp10bpp_WeightMask_8x8
103 #define LIBGAV1_Dsp10bpp_WeightMask_8x8 LIBGAV1_CPU_SSE4_1
104 #endif
105 
106 #ifndef LIBGAV1_Dsp10bpp_WeightMask_8x16
107 #define LIBGAV1_Dsp10bpp_WeightMask_8x16 LIBGAV1_CPU_SSE4_1
108 #endif
109 
110 #ifndef LIBGAV1_Dsp10bpp_WeightMask_8x32
111 #define LIBGAV1_Dsp10bpp_WeightMask_8x32 LIBGAV1_CPU_SSE4_1
112 #endif
113 
114 #ifndef LIBGAV1_Dsp10bpp_WeightMask_16x8
115 #define LIBGAV1_Dsp10bpp_WeightMask_16x8 LIBGAV1_CPU_SSE4_1
116 #endif
117 
118 #ifndef LIBGAV1_Dsp10bpp_WeightMask_16x16
119 #define LIBGAV1_Dsp10bpp_WeightMask_16x16 LIBGAV1_CPU_SSE4_1
120 #endif
121 
122 #ifndef LIBGAV1_Dsp10bpp_WeightMask_16x32
123 #define LIBGAV1_Dsp10bpp_WeightMask_16x32 LIBGAV1_CPU_SSE4_1
124 #endif
125 
126 #ifndef LIBGAV1_Dsp10bpp_WeightMask_16x64
127 #define LIBGAV1_Dsp10bpp_WeightMask_16x64 LIBGAV1_CPU_SSE4_1
128 #endif
129 
130 #ifndef LIBGAV1_Dsp10bpp_WeightMask_32x8
131 #define LIBGAV1_Dsp10bpp_WeightMask_32x8 LIBGAV1_CPU_SSE4_1
132 #endif
133 
134 #ifndef LIBGAV1_Dsp10bpp_WeightMask_32x16
135 #define LIBGAV1_Dsp10bpp_WeightMask_32x16 LIBGAV1_CPU_SSE4_1
136 #endif
137 
138 #ifndef LIBGAV1_Dsp10bpp_WeightMask_32x32
139 #define LIBGAV1_Dsp10bpp_WeightMask_32x32 LIBGAV1_CPU_SSE4_1
140 #endif
141 
142 #ifndef LIBGAV1_Dsp10bpp_WeightMask_32x64
143 #define LIBGAV1_Dsp10bpp_WeightMask_32x64 LIBGAV1_CPU_SSE4_1
144 #endif
145 
146 #ifndef LIBGAV1_Dsp10bpp_WeightMask_64x16
147 #define LIBGAV1_Dsp10bpp_WeightMask_64x16 LIBGAV1_CPU_SSE4_1
148 #endif
149 
150 #ifndef LIBGAV1_Dsp10bpp_WeightMask_64x32
151 #define LIBGAV1_Dsp10bpp_WeightMask_64x32 LIBGAV1_CPU_SSE4_1
152 #endif
153 
154 #ifndef LIBGAV1_Dsp10bpp_WeightMask_64x64
155 #define LIBGAV1_Dsp10bpp_WeightMask_64x64 LIBGAV1_CPU_SSE4_1
156 #endif
157 
158 #ifndef LIBGAV1_Dsp10bpp_WeightMask_64x128
159 #define LIBGAV1_Dsp10bpp_WeightMask_64x128 LIBGAV1_CPU_SSE4_1
160 #endif
161 
162 #ifndef LIBGAV1_Dsp10bpp_WeightMask_128x64
163 #define LIBGAV1_Dsp10bpp_WeightMask_128x64 LIBGAV1_CPU_SSE4_1
164 #endif
165 
166 #ifndef LIBGAV1_Dsp10bpp_WeightMask_128x128
167 #define LIBGAV1_Dsp10bpp_WeightMask_128x128 LIBGAV1_CPU_SSE4_1
168 #endif
169 #endif  // LIBGAV1_TARGETING_SSE4_1
170 
171 #endif  // LIBGAV1_SRC_DSP_ARM_WEIGHT_MASK_SSE4_H_
172