@@ -118,3 +118,180 @@ X(mc_subpel_filters):
118
118
.byte 0 , 0 , 2 , 18 , 31 , 13 , 0 , 0
119
119
.byte 0 , 0 , 1 , 17 , 31 , 15 , 0 , 0
120
120
endconst
121
+
122
+ .global X(filter_intra_taps)
123
+ .hidden X(filter_intra_taps)
124
+ const X(filter_intra_taps), align =4
125
+ X(filter_intra_taps):
126
+ .byte -6 , 10 , -5 , 2 , -3 , 1 , -3 , 1 /* 0 */
127
+ .byte -4 , 6 , -3 , 2 , -3 , 2 , -3 , 1
128
+ .byte 0 , 0 , 10 , 0 , 1 , 10 , 1 , 2
129
+ .byte 0 , 0 , 6 , 0 , 2 , 6 , 2 , 2
130
+ .byte 0 , 12 , 0 , 9 , 0 , 7 , 10 , 5
131
+ .byte 0 , 2 , 0 , 2 , 0 , 2 , 6 , 3
132
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
133
+ .byte 12 , 0 , 9 , 0 , 7 , 0 , 5 , 0
134
+ .byte -10 , 16 , -6 , 0 , -4 , 0 , -2 , 0 /* 1 */
135
+ .byte -10 , 16 , -6 , 0 , -4 , 0 , -2 , 0
136
+ .byte 0 , 0 , 16 , 0 , 0 , 16 , 0 , 0
137
+ .byte 0 , 0 , 16 , 0 , 0 , 16 , 0 , 0
138
+ .byte 0 , 10 , 0 , 6 , 0 , 4 , 16 , 2
139
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 16 , 0
140
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
141
+ .byte 10 , 0 , 6 , 0 , 4 , 0 , 2 , 0
142
+ .byte -8 , 8 , -8 , 0 , -8 , 0 , -8 , 0 /* 2 */
143
+ .byte -4 , 4 , -4 , 0 , -4 , 0 , -4 , 0
144
+ .byte 0 , 0 , 8 , 0 , 0 , 8 , 0 , 0
145
+ .byte 0 , 0 , 4 , 0 , 0 , 4 , 0 , 0
146
+ .byte 0 , 16 , 0 , 16 , 0 , 16 , 8 , 16
147
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 4 , 0
148
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
149
+ .byte 16 , 0 , 16 , 0 , 16 , 0 , 16 , 0
150
+ .byte -2 , 8 , -1 , 3 , -1 , 2 , 0 , 1 /* 3 */
151
+ .byte -1 , 4 , -1 , 3 , -1 , 2 , -1 , 2
152
+ .byte 0 , 0 , 8 , 0 , 3 , 8 , 2 , 3
153
+ .byte 0 , 0 , 4 , 0 , 3 , 4 , 2 , 3
154
+ .byte 0 , 10 , 0 , 6 , 0 , 4 , 8 , 2
155
+ .byte 0 , 3 , 0 , 4 , 0 , 4 , 4 , 3
156
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
157
+ .byte 10 , 0 , 6 , 0 , 4 , 0 , 3 , 0
158
+ .byte -12 , 14 , -10 , 0 , -9 , 0 , -8 , 0 /* 4 */
159
+ .byte -10 , 12 , -9 , 1 , -8 , 0 , -7 , 0
160
+ .byte 0 , 0 , 14 , 0 , 0 , 14 , 0 , 0
161
+ .byte 0 , 0 , 12 , 0 , 0 , 12 , 0 , 1
162
+ .byte 0 , 14 , 0 , 12 , 0 , 11 , 14 , 10
163
+ .byte 0 , 0 , 0 , 0 , 0 , 1 , 12 , 1
164
+ .byte 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
165
+ .byte 14 , 0 , 12 , 0 , 11 , 0 , 9 , 0
166
+ endconst
167
+
168
+ .global X(sgr_x_by_x)
169
+ .hidden X(sgr_x_by_x)
170
+ const X(sgr_x_by_x), align =4
171
+ X(sgr_x_by_x):
172
+ .byte 255 , 128 , 85 , 64 , 51 , 43 , 37 , 32 , 28 , 26 , 23 , 21 , 20 , 18 , 17 ,
173
+ .byte 16 , 15 , 14 , 13 , 13 , 12 , 12 , 11 , 11 , 10 , 10 , 9 , 9 , 9 , 9 ,
174
+ .byte 8 , 8 , 8 , 8 , 7 , 7 , 7 , 7 , 7 , 6 , 6 , 6 , 6 , 6 , 6 ,
175
+ .byte 6 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 5 , 4 , 4 , 4 , 4 ,
176
+ .byte 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 3 ,
177
+ .byte 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 ,
178
+ .byte 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 2 , 2 , 2 ,
179
+ .byte 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
180
+ .byte 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
181
+ .byte 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
182
+ .byte 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 ,
183
+ .byte 2 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
184
+ .byte 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
185
+ .byte 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
186
+ .byte 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
187
+ .byte 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
188
+ .byte 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,
189
+ .byte 0
190
+ endconst
191
+
192
+ .global X(mc_warp_filter)
193
+ .hidden X(mc_warp_filter)
194
+ const X(mc_warp_filter), align =3
195
+ X(mc_warp_filter):
196
+ /* [-1, 0) */
197
+ .byte 0 , 0 , 127 , 1 , 0 , 0 , 0 , 0 , 0 , - 1 , 127 , 2 , 0 , 0 , 0 , 0
198
+ .byte 1 , - 3 , 127 , 4 , - 1 , 0 , 0 , 0 , 1 , - 4 , 126 , 6 , - 2 , 1 , 0 , 0
199
+ .byte 1 , - 5 , 126 , 8 , - 3 , 1 , 0 , 0 , 1 , - 6 , 125 , 11 , - 4 , 1 , 0 , 0
200
+ .byte 1 , - 7 , 124 , 13 , - 4 , 1 , 0 , 0 , 2 , - 8 , 123 , 15 , - 5 , 1 , 0 , 0
201
+ .byte 2 , - 9 , 122 , 18 , - 6 , 1 , 0 , 0 , 2 , -10 , 121 , 20 , - 6 , 1 , 0 , 0
202
+ .byte 2 , -11 , 120 , 22 , - 7 , 2 , 0 , 0 , 2 , -12 , 119 , 25 , - 8 , 2 , 0 , 0
203
+ .byte 3 , -13 , 117 , 27 , - 8 , 2 , 0 , 0 , 3 , -13 , 116 , 29 , - 9 , 2 , 0 , 0
204
+ .byte 3 , -14 , 114 , 32 , -10 , 3 , 0 , 0 , 3 , -15 , 113 , 35 , -10 , 2 , 0 , 0
205
+ .byte 3 , -15 , 111 , 37 , -11 , 3 , 0 , 0 , 3 , -16 , 109 , 40 , -11 , 3 , 0 , 0
206
+ .byte 3 , -16 , 108 , 42 , -12 , 3 , 0 , 0 , 4 , -17 , 106 , 45 , -13 , 3 , 0 , 0
207
+ .byte 4 , -17 , 104 , 47 , -13 , 3 , 0 , 0 , 4 , -17 , 102 , 50 , -14 , 3 , 0 , 0
208
+ .byte 4 , -17 , 100 , 52 , -14 , 3 , 0 , 0 , 4 , -18 , 98 , 55 , -15 , 4 , 0 , 0
209
+ .byte 4 , -18 , 96 , 58 , -15 , 3 , 0 , 0 , 4 , -18 , 94 , 60 , -16 , 4 , 0 , 0
210
+ .byte 4 , -18 , 91 , 63 , -16 , 4 , 0 , 0 , 4 , -18 , 89 , 65 , -16 , 4 , 0 , 0
211
+ .byte 4 , -18 , 87 , 68 , -17 , 4 , 0 , 0 , 4 , -18 , 85 , 70 , -17 , 4 , 0 , 0
212
+ .byte 4 , -18 , 82 , 73 , -17 , 4 , 0 , 0 , 4 , -18 , 80 , 75 , -17 , 4 , 0 , 0
213
+ .byte 4 , -18 , 78 , 78 , -18 , 4 , 0 , 0 , 4 , -17 , 75 , 80 , -18 , 4 , 0 , 0
214
+ .byte 4 , -17 , 73 , 82 , -18 , 4 , 0 , 0 , 4 , -17 , 70 , 85 , -18 , 4 , 0 , 0
215
+ .byte 4 , -17 , 68 , 87 , -18 , 4 , 0 , 0 , 4 , -16 , 65 , 89 , -18 , 4 , 0 , 0
216
+ .byte 4 , -16 , 63 , 91 , -18 , 4 , 0 , 0 , 4 , -16 , 60 , 94 , -18 , 4 , 0 , 0
217
+ .byte 3 , -15 , 58 , 96 , -18 , 4 , 0 , 0 , 4 , -15 , 55 , 98 , -18 , 4 , 0 , 0
218
+ .byte 3 , -14 , 52 , 100 , -17 , 4 , 0 , 0 , 3 , -14 , 50 , 102 , -17 , 4 , 0 , 0
219
+ .byte 3 , -13 , 47 , 104 , -17 , 4 , 0 , 0 , 3 , -13 , 45 , 106 , -17 , 4 , 0 , 0
220
+ .byte 3 , -12 , 42 , 108 , -16 , 3 , 0 , 0 , 3 , -11 , 40 , 109 , -16 , 3 , 0 , 0
221
+ .byte 3 , -11 , 37 , 111 , -15 , 3 , 0 , 0 , 2 , -10 , 35 , 113 , -15 , 3 , 0 , 0
222
+ .byte 3 , -10 , 32 , 114 , -14 , 3 , 0 , 0 , 2 , - 9 , 29 , 116 , -13 , 3 , 0 , 0
223
+ .byte 2 , - 8 , 27 , 117 , -13 , 3 , 0 , 0 , 2 , - 8 , 25 , 119 , -12 , 2 , 0 , 0
224
+ .byte 2 , - 7 , 22 , 120 , -11 , 2 , 0 , 0 , 1 , - 6 , 20 , 121 , -10 , 2 , 0 , 0
225
+ .byte 1 , - 6 , 18 , 122 , - 9 , 2 , 0 , 0 , 1 , - 5 , 15 , 123 , - 8 , 2 , 0 , 0
226
+ .byte 1 , - 4 , 13 , 124 , - 7 , 1 , 0 , 0 , 1 , - 4 , 11 , 125 , - 6 , 1 , 0 , 0
227
+ .byte 1 , - 3 , 8 , 126 , - 5 , 1 , 0 , 0 , 1 , - 2 , 6 , 126 , - 4 , 1 , 0 , 0
228
+ .byte 0 , - 1 , 4 , 127 , - 3 , 1 , 0 , 0 , 0 , 0 , 2 , 127 , - 1 , 0 , 0 , 0
229
+ /* [0, 1) */
230
+ .byte 0 , 0 , 0 , 127 , 1 , 0 , 0 , 0 , 0 , 0 , -1 , 127 , 2 , 0 , 0 , 0
231
+ .byte 0 , 1 , -3 , 127 , 4 , -2 , 1 , 0 , 0 , 1 , -5 , 127 , 6 , -2 , 1 , 0
232
+ .byte 0 , 2 , -6 , 126 , 8 , -3 , 1 , 0 , -1 , 2 , -7 , 126 , 11 , -4 , 2 , -1
233
+ .byte -1 , 3 , -8 , 125 , 13 , -5 , 2 , -1 , -1 , 3 , -10 , 124 , 16 , -6 , 3 , -1
234
+ .byte -1 , 4 , -11 , 123 , 18 , -7 , 3 , -1 , -1 , 4 , -12 , 122 , 20 , -7 , 3 , -1
235
+ .byte -1 , 4 , -13 , 121 , 23 , -8 , 3 , -1 , -2 , 5 , -14 , 120 , 25 , -9 , 4 , -1
236
+ .byte -1 , 5 , -15 , 119 , 27 , -10 , 4 , -1 , -1 , 5 , -16 , 118 , 30 , -11 , 4 , -1
237
+ .byte -2 , 6 , -17 , 116 , 33 , -12 , 5 , -1 , -2 , 6 , -17 , 114 , 35 , -12 , 5 , -1
238
+ .byte -2 , 6 , -18 , 113 , 38 , -13 , 5 , -1 , -2 , 7 , -19 , 111 , 41 , -14 , 6 , -2
239
+ .byte -2 , 7 , -19 , 110 , 43 , -15 , 6 , -2 , -2 , 7 , -20 , 108 , 46 , -15 , 6 , -2
240
+ .byte -2 , 7 , -20 , 106 , 49 , -16 , 6 , -2 , -2 , 7 , -21 , 104 , 51 , -16 , 7 , -2
241
+ .byte -2 , 7 , -21 , 102 , 54 , -17 , 7 , -2 , -2 , 8 , -21 , 100 , 56 , -18 , 7 , -2
242
+ .byte -2 , 8 , -22 , 98 , 59 , -18 , 7 , -2 , -2 , 8 , -22 , 96 , 62 , -19 , 7 , -2
243
+ .byte -2 , 8 , -22 , 94 , 64 , -19 , 7 , -2 , -2 , 8 , -22 , 91 , 67 , -20 , 8 , -2
244
+ .byte -2 , 8 , -22 , 89 , 69 , -20 , 8 , -2 , -2 , 8 , -22 , 87 , 72 , -21 , 8 , -2
245
+ .byte -2 , 8 , -21 , 84 , 74 , -21 , 8 , -2 , -2 , 8 , -22 , 82 , 77 , -21 , 8 , -2
246
+ .byte -2 , 8 , -21 , 79 , 79 , -21 , 8 , -2 , -2 , 8 , -21 , 77 , 82 , -22 , 8 , -2
247
+ .byte -2 , 8 , -21 , 74 , 84 , -21 , 8 , -2 , -2 , 8 , -21 , 72 , 87 , -22 , 8 , -2
248
+ .byte -2 , 8 , -20 , 69 , 89 , -22 , 8 , -2 , -2 , 8 , -20 , 67 , 91 , -22 , 8 , -2
249
+ .byte -2 , 7 , -19 , 64 , 94 , -22 , 8 , -2 , -2 , 7 , -19 , 62 , 96 , -22 , 8 , -2
250
+ .byte -2 , 7 , -18 , 59 , 98 , -22 , 8 , -2 , -2 , 7 , -18 , 56 , 100 , -21 , 8 , -2
251
+ .byte -2 , 7 , -17 , 54 , 102 , -21 , 7 , -2 , -2 , 7 , -16 , 51 , 104 , -21 , 7 , -2
252
+ .byte -2 , 6 , -16 , 49 , 106 , -20 , 7 , -2 , -2 , 6 , -15 , 46 , 108 , -20 , 7 , -2
253
+ .byte -2 , 6 , -15 , 43 , 110 , -19 , 7 , -2 , -2 , 6 , -14 , 41 , 111 , -19 , 7 , -2
254
+ .byte -1 , 5 , -13 , 38 , 113 , -18 , 6 , -2 , -1 , 5 , -12 , 35 , 114 , -17 , 6 , -2
255
+ .byte -1 , 5 , -12 , 33 , 116 , -17 , 6 , -2 , -1 , 4 , -11 , 30 , 118 , -16 , 5 , -1
256
+ .byte -1 , 4 , -10 , 27 , 119 , -15 , 5 , -1 , -1 , 4 , -9 , 25 , 120 , -14 , 5 , -2
257
+ .byte -1 , 3 , -8 , 23 , 121 , -13 , 4 , -1 , -1 , 3 , -7 , 20 , 122 , -12 , 4 , -1
258
+ .byte -1 , 3 , -7 , 18 , 123 , -11 , 4 , -1 , -1 , 3 , -6 , 16 , 124 , -10 , 3 , -1
259
+ .byte -1 , 2 , -5 , 13 , 125 , -8 , 3 , -1 , -1 , 2 , -4 , 11 , 126 , -7 , 2 , -1
260
+ .byte 0 , 1 , -3 , 8 , 126 , -6 , 2 , 0 , 0 , 1 , -2 , 6 , 127 , -5 , 1 , 0
261
+ .byte 0 , 1 , -2 , 4 , 127 , -3 , 1 , 0 , 0 , 0 , 0 , 2 , 127 , -1 , 0 , 0
262
+ /* [1, 2) */
263
+ .byte 0 , 0 , 0 , 1 , 127 , 0 , 0 , 0 , 0 , 0 , 0 , - 1 , 127 , 2 , 0 , 0
264
+ .byte 0 , 0 , 1 , - 3 , 127 , 4 , - 1 , 0 , 0 , 0 , 1 , - 4 , 126 , 6 , - 2 , 1
265
+ .byte 0 , 0 , 1 , - 5 , 126 , 8 , - 3 , 1 , 0 , 0 , 1 , - 6 , 125 , 11 , - 4 , 1
266
+ .byte 0 , 0 , 1 , - 7 , 124 , 13 , - 4 , 1 , 0 , 0 , 2 , - 8 , 123 , 15 , - 5 , 1
267
+ .byte 0 , 0 , 2 , - 9 , 122 , 18 , - 6 , 1 , 0 , 0 , 2 , -10 , 121 , 20 , - 6 , 1
268
+ .byte 0 , 0 , 2 , -11 , 120 , 22 , - 7 , 2 , 0 , 0 , 2 , -12 , 119 , 25 , - 8 , 2
269
+ .byte 0 , 0 , 3 , -13 , 117 , 27 , - 8 , 2 , 0 , 0 , 3 , -13 , 116 , 29 , - 9 , 2
270
+ .byte 0 , 0 , 3 , -14 , 114 , 32 , -10 , 3 , 0 , 0 , 3 , -15 , 113 , 35 , -10 , 2
271
+ .byte 0 , 0 , 3 , -15 , 111 , 37 , -11 , 3 , 0 , 0 , 3 , -16 , 109 , 40 , -11 , 3
272
+ .byte 0 , 0 , 3 , -16 , 108 , 42 , -12 , 3 , 0 , 0 , 4 , -17 , 106 , 45 , -13 , 3
273
+ .byte 0 , 0 , 4 , -17 , 104 , 47 , -13 , 3 , 0 , 0 , 4 , -17 , 102 , 50 , -14 , 3
274
+ .byte 0 , 0 , 4 , -17 , 100 , 52 , -14 , 3 , 0 , 0 , 4 , -18 , 98 , 55 , -15 , 4
275
+ .byte 0 , 0 , 4 , -18 , 96 , 58 , -15 , 3 , 0 , 0 , 4 , -18 , 94 , 60 , -16 , 4
276
+ .byte 0 , 0 , 4 , -18 , 91 , 63 , -16 , 4 , 0 , 0 , 4 , -18 , 89 , 65 , -16 , 4
277
+ .byte 0 , 0 , 4 , -18 , 87 , 68 , -17 , 4 , 0 , 0 , 4 , -18 , 85 , 70 , -17 , 4
278
+ .byte 0 , 0 , 4 , -18 , 82 , 73 , -17 , 4 , 0 , 0 , 4 , -18 , 80 , 75 , -17 , 4
279
+ .byte 0 , 0 , 4 , -18 , 78 , 78 , -18 , 4 , 0 , 0 , 4 , -17 , 75 , 80 , -18 , 4
280
+ .byte 0 , 0 , 4 , -17 , 73 , 82 , -18 , 4 , 0 , 0 , 4 , -17 , 70 , 85 , -18 , 4
281
+ .byte 0 , 0 , 4 , -17 , 68 , 87 , -18 , 4 , 0 , 0 , 4 , -16 , 65 , 89 , -18 , 4
282
+ .byte 0 , 0 , 4 , -16 , 63 , 91 , -18 , 4 , 0 , 0 , 4 , -16 , 60 , 94 , -18 , 4
283
+ .byte 0 , 0 , 3 , -15 , 58 , 96 , -18 , 4 , 0 , 0 , 4 , -15 , 55 , 98 , -18 , 4
284
+ .byte 0 , 0 , 3 , -14 , 52 , 100 , -17 , 4 , 0 , 0 , 3 , -14 , 50 , 102 , -17 , 4
285
+ .byte 0 , 0 , 3 , -13 , 47 , 104 , -17 , 4 , 0 , 0 , 3 , -13 , 45 , 106 , -17 , 4
286
+ .byte 0 , 0 , 3 , -12 , 42 , 108 , -16 , 3 , 0 , 0 , 3 , -11 , 40 , 109 , -16 , 3
287
+ .byte 0 , 0 , 3 , -11 , 37 , 111 , -15 , 3 , 0 , 0 , 2 , -10 , 35 , 113 , -15 , 3
288
+ .byte 0 , 0 , 3 , -10 , 32 , 114 , -14 , 3 , 0 , 0 , 2 , - 9 , 29 , 116 , -13 , 3
289
+ .byte 0 , 0 , 2 , - 8 , 27 , 117 , -13 , 3 , 0 , 0 , 2 , - 8 , 25 , 119 , -12 , 2
290
+ .byte 0 , 0 , 2 , - 7 , 22 , 120 , -11 , 2 , 0 , 0 , 1 , - 6 , 20 , 121 , -10 , 2
291
+ .byte 0 , 0 , 1 , - 6 , 18 , 122 , - 9 , 2 , 0 , 0 , 1 , - 5 , 15 , 123 , - 8 , 2
292
+ .byte 0 , 0 , 1 , - 4 , 13 , 124 , - 7 , 1 , 0 , 0 , 1 , - 4 , 11 , 125 , - 6 , 1
293
+ .byte 0 , 0 , 1 , - 3 , 8 , 126 , - 5 , 1 , 0 , 0 , 1 , - 2 , 6 , 126 , - 4 , 1
294
+ .byte 0 , 0 , 0 , - 1 , 4 , 127 , - 3 , 1 , 0 , 0 , 0 , 0 , 2 , 127 , - 1 , 0
295
+ /* dummy (replicate row index 191) */
296
+ .byte 0 , 0 , 0 , 0 , 2 , 127 , - 1 , 0
297
+ endconst
0 commit comments