31 "gsldlc1 $f2, 7(%[srcA]) \r\n"
32 "gsldrc1 $f2, 0(%[srcA]) \r\n"
33 "gsldlc1 $f4, 15(%[srcA]) \r\n"
34 "gsldrc1 $f4, 8(%[srcA]) \r\n"
36 "gssdlc1 $f2, 7(%[src]) \r\n"
37 "gssdrc1 $f2, 0(%[src]) \r\n"
38 "gssdlc1 $f4, 15(%[src]) \r\n"
39 "gssdrc1 $f4, 8(%[src]) \r\n"
40 "daddu %[src], %[src], %[stride] \r\n"
41 "daddi $8, $8, -1 \r\n"
44 : [stride]
"r"(stride),[srcA]
"r"(src-
stride)
52 "daddiu $2, %[src], -1 \r\n"
53 "daddu $3, %[src], $0 \r\n"
57 "dmul $5, $4, %[ff_pb_1] \r\n"
62 "daddu $2, %[stride] \r\n"
63 "daddu $3, %[stride] \r\n"
67 :
"$2",
"$3",
"$4",
"$5",
"$6"
74 "daddiu $2, %[src], -1 \r\n"
79 "daddu $8, $8, $4 \r\n"
80 "daddu $2, $2, %[stride] \r\n"
81 "daddiu $6, $6, -1 \r\n"
84 "negu $3, %[stride] \r\n"
85 "daddu $2, %[src], $3 \r\n"
88 "daddu $8, $8, $4 \r\n"
89 "daddiu $2, $2, 1 \r\n"
90 "daddiu $6, $6, -1 \r\n"
92 "daddiu $8, $8, 0x10 \r\n"
94 "dmul $5, $8, %[ff_pb_1] \r\n"
95 "daddu $2, %[src], $0 \r\n"
100 "sdl $5, 15($2) \r\n"
102 "daddu $2, $2, %[stride] \r\n"
103 "daddiu $6, $6, -1 \r\n"
106 :
"$2",
"$3",
"$4",
"$5",
"$6",
"$8"
111 int has_topright, ptrdiff_t
stride)
116 "ldl $8, 7(%[srcA]) \r\n"
117 "ldr $8, 0(%[srcA]) \r\n"
118 "ldl $9, 7(%[src0]) \r\n"
119 "ldr $9, 0(%[src0]) \r\n"
120 "ldl $10, 7(%[src1]) \r\n"
121 "ldr $10, 0(%[src1]) \r\n"
124 "dmtc1 $10, $f6 \r\n"
126 "punpcklbh $f8, $f2, $f0 \r\n"
127 "punpckhbh $f10, $f2, $f0 \r\n"
128 "punpcklbh $f12, $f4, $f0 \r\n"
129 "punpckhbh $f14, $f4, $f0 \r\n"
130 "punpcklbh $f16, $f6, $f0 \r\n"
131 "punpckhbh $f18, $f6, $f0 \r\n"
132 "bnez %[has_topleft], 1f \r\n"
133 "pinsrh_0 $f8, $f8, $f12 \r\n"
135 "bnez %[has_topright], 2f \r\n"
136 "pinsrh_3 $f18, $f18, $f14 \r\n"
138 "daddiu $8, $0, 2 \r\n"
139 "dmtc1 $8, $f20 \r\n"
140 "pshufh $f22, $f20, $f0 \r\n"
141 "pmullh $f12, $f12, $f22 \r\n"
142 "pmullh $f14, $f14, $f22 \r\n"
143 "paddh $f8, $f8, $f12 \r\n"
144 "paddh $f10, $f10, $f14 \r\n"
145 "paddh $f8, $f8, $f16 \r\n"
146 "paddh $f10, $f10, $f18 \r\n"
147 "paddh $f8, $f8, $f22 \r\n"
148 "paddh $f10, $f10, $f22 \r\n"
149 "psrah $f8, $f8, $f20 \r\n"
150 "psrah $f10, $f10, $f20 \r\n"
151 "packushb $f4, $f8, $f10 \r\n"
152 "biadd $f2, $f4 \r\n"
154 "addiu $9, $9, 4 \r\n"
155 "dsrl $9, $9, 3 \r\n"
156 "mul %[dc], $9, %[ff_pb_1] \r\n"
158 : [srcA]
"r"(src-stride-1),[
src0]
"r"(src-
stride),
159 [
src1]
"r"(src-stride+1),[has_topleft]
"r"(has_topleft),
161 :
"$8",
"$9",
"$10",
"$f2",
"$f4",
"$f6",
"$f8",
"$f10",
"$f12",
"$f14",
"$f16",
168 "punpcklwd $f2, %[dc], %[dc] \r\n"
169 "gssdlc1 $f2, 7(%[src]) \r\n"
170 "gssdrc1 $f2, 0(%[src]) \r\n"
171 "daddu %[src], %[src], %[stride] \r\n"
172 "daddi $8, $8, -1 \r\n"
181 int has_topright, ptrdiff_t
stride)
183 uint32_t
dc, dc1, dc2;
185 const int l0 = ((has_topleft ? src[-1+-1*
stride] : src[-1+0*
stride]) + 2*src[-1+0*stride] + src[-1+1*stride] + 2) >> 2;
195 "ldl $8, 7(%[srcA]) \r\n"
196 "ldr $8, 0(%[srcA]) \r\n"
197 "ldl $9, 7(%[src0]) \r\n"
198 "ldr $9, 0(%[src0]) \r\n"
199 "ldl $10, 7(%[src1]) \r\n"
200 "ldr $10, 0(%[src1]) \r\n"
203 "dmtc1 $10, $f6 \r\n"
205 "punpcklbh $f8, $f2, $f0 \r\n"
206 "punpckhbh $f10, $f2, $f0 \r\n"
207 "punpcklbh $f12, $f4, $f0 \r\n"
208 "punpckhbh $f14, $f4, $f0 \r\n"
209 "punpcklbh $f16, $f6, $f0 \r\n"
210 "punpckhbh $f18, $f6, $f0 \r\n"
211 "daddiu $8, $0, 3 \r\n"
212 "dmtc1 $8, $f20 \r\n"
213 "pshufh $f28, $f10, $f20 \r\n"
214 "pshufh $f30, $f18, $f20 \r\n"
215 "pinsrh_3 $f10, $f10, $f30 \r\n"
216 "pinsrh_3 $f18, $f18, $f28 \r\n"
217 "bnez %[has_topleft], 1f \r\n"
218 "pinsrh_0 $f8, $f8, $f12 \r\n"
220 "bnez %[has_topright], 2f \r\n"
221 "pshufh $f30, $f14, $f20 \r\n"
222 "pinsrh_3 $f10, $f10, $f30 \r\n"
224 "daddiu $8, $0, 2 \r\n"
225 "dmtc1 $8, $f20 \r\n"
226 "pshufh $f22, $f20, $f0 \r\n"
227 "pmullh $f12, $f12, $f22 \r\n"
228 "pmullh $f14, $f14, $f22 \r\n"
229 "paddh $f8, $f8, $f12 \r\n"
230 "paddh $f10, $f10, $f14 \r\n"
231 "paddh $f8, $f8, $f16 \r\n"
232 "paddh $f10, $f10, $f18 \r\n"
233 "paddh $f8, $f8, $f22 \r\n"
234 "paddh $f10, $f10, $f22 \r\n"
235 "psrah $f8, $f8, $f20 \r\n"
236 "psrah $f10, $f10, $f20 \r\n"
237 "packushb $f4, $f8, $f10 \r\n"
238 "biadd $f2, $f4 \r\n"
239 "mfc1 %[dc2], $f2 \r\n"
241 : [srcA]
"r"(src-stride-1),[
src0]
"r"(src-
stride),
242 [
src1]
"r"(src-stride+1),[has_topleft]
"r"(has_topleft),
243 [has_topright]
"r"(has_topright)
244 :
"$8",
"$9",
"$10",
"$f2",
"$f4",
"$f6",
"$f8",
"$f10",
"$f12",
"$f14",
"$f16",
248 dc1 = l0+l1+l2+l3+l4+l5+l6+l7;
249 dc = ((dc1+dc2+8)>>4)*0x01010101
U;
254 "punpcklwd $f2, %[dc], %[dc] \r\n"
255 "gssdlc1 $f2, 7(%[src]) \r\n"
256 "gssdrc1 $f2, 0(%[src]) \r\n"
257 "daddu %[src], %[src], %[stride] \r\n"
258 "daddi $8, $8, -1 \r\n"
267 int has_topright, ptrdiff_t
stride)
270 "ldl $8, 7(%[srcA]) \r\n"
271 "ldr $8, 0(%[srcA]) \r\n"
272 "ldl $9, 7(%[src0]) \r\n"
273 "ldr $9, 0(%[src0]) \r\n"
274 "ldl $10, 7(%[src1]) \r\n"
275 "ldr $10, 0(%[src1]) \r\n"
278 "dmtc1 $10, $f6 \r\n"
280 "punpcklbh $f8, $f2, $f0 \r\n"
281 "punpckhbh $f10, $f2, $f0 \r\n"
282 "punpcklbh $f12, $f4, $f0 \r\n"
283 "punpckhbh $f14, $f4, $f0 \r\n"
284 "punpcklbh $f16, $f6, $f0 \r\n"
285 "punpckhbh $f18, $f6, $f0 \r\n"
286 "bnez %[has_topleft], 1f \r\n"
287 "pinsrh_0 $f8, $f8, $f12 \r\n"
289 "bnez %[has_topright], 2f \r\n"
290 "pinsrh_3 $f18, $f18, $f14 \r\n"
292 "daddiu $8, $0, 2 \r\n"
293 "dmtc1 $8, $f20 \r\n"
294 "pshufh $f22, $f20, $f0 \r\n"
295 "pmullh $f12, $f12, $f22 \r\n"
296 "pmullh $f14, $f14, $f22 \r\n"
297 "paddh $f8, $f8, $f12 \r\n"
298 "paddh $f10, $f10, $f14 \r\n"
299 "paddh $f8, $f8, $f16 \r\n"
300 "paddh $f10, $f10, $f18 \r\n"
301 "paddh $f8, $f8, $f22 \r\n"
302 "paddh $f10, $f10, $f22 \r\n"
303 "psrah $f8, $f8, $f20 \r\n"
304 "psrah $f10, $f10, $f20 \r\n"
305 "packushb $f4, $f8, $f10 \r\n"
306 "sdc1 $f4, 0(%[src]) \r\n"
308 : [srcA]
"r"(src-stride-1),[
src0]
"r"(src-
stride),
309 [
src1]
"r"(src-stride+1),[has_topleft]
"r"(has_topleft),
310 [has_topright]
"r"(has_topright)
311 :
"$8",
"$9",
"$10",
"$f2",
"$f4",
"$f6",
"$f8",
"$f10",
"$f12",
"$f14",
"$f16",
317 "gsldlc1 $f2, 7(%[src]) \r\n"
318 "gsldrc1 $f2, 0(%[src]) \r\n"
319 "dadd %[src], %[src], %[stride] \r\n"
321 "gssdlc1 $f2, 7(%[src]) \r\n"
322 "gssdrc1 $f2, 0(%[src]) \r\n"
323 "daddu %[src], %[src], %[stride] \r\n"
324 "daddi $8, $8, -1 \r\n"
327 : [stride]
"r"(stride)
340 "daddu $2, %[dc], $0 \r\n"
341 "dmul $3, $2, %[ff_pb_1] \r\n"
342 "xor $4, $4, $4 \r\n"
343 "gsswx $3, 0(%[src],$4) \r\n"
344 "daddu $4, %[stride] \r\n"
345 "gsswx $3, 0(%[src],$4) \r\n"
346 "daddu $4, %[stride] \r\n"
347 "gsswx $3, 0(%[src],$4) \r\n"
348 "daddu $4, %[stride] \r\n"
349 "gsswx $3, 0(%[src],$4) \r\n"
358 "dsubu $2, %[src], %[stride] \r\n"
359 "daddu $3, %[src], $0 \r\n"
366 "daddu $3, %[stride] \r\n"
369 ::[
src]
"r"(
src),[stride]
"r"(stride)
370 :
"$2",
"$3",
"$4",
"$5"
377 "daddiu $2, %[src], -1 \r\n"
378 "daddu $3, %[src], $0 \r\n"
382 "dmul $5, $4, %[ff_pb_1] \r\n"
385 "daddu $2, %[stride] \r\n"
386 "daddu $3, %[stride] \r\n"
390 :
"$2",
"$3",
"$4",
"$5",
"$6"
395 const int svq3,
const int rv40)
398 "negu $2, %[stride] \r\n"
399 "daddu $3, %[src], $2 \r\n"
400 "xor $f8, $f8, $f8 \r\n"
401 "gslwlc1 $f0, 2($3) \r\n"
402 "gslwrc1 $f0, -1($3) \r\n"
403 "gslwlc1 $f2, 6($3) \r\n"
404 "gslwrc1 $f2, 3($3) \r\n"
405 "gslwlc1 $f4, 11($3) \r\n"
406 "gslwrc1 $f4, 8($3) \r\n"
407 "gslwlc1 $f6, 15($3) \r\n"
408 "gslwrc1 $f6, 12($3) \r\n"
409 "punpcklbh $f0, $f0, $f8 \r\n"
410 "punpcklbh $f2, $f2, $f8 \r\n"
411 "punpcklbh $f4, $f4, $f8 \r\n"
412 "punpcklbh $f6, $f6, $f8 \r\n"
413 "dmtc1 %[ff_pw_m8tom5], $f20 \r\n"
414 "dmtc1 %[ff_pw_m4tom1], $f22 \r\n"
415 "dmtc1 %[ff_pw_1to4], $f24 \r\n"
416 "dmtc1 %[ff_pw_5to8], $f26 \r\n"
417 "pmullh $f0, $f0, $f20 \r\n"
418 "pmullh $f2, $f2, $f22 \r\n"
419 "pmullh $f4, $f4, $f24 \r\n"
420 "pmullh $f6, $f6, $f26 \r\n"
421 "paddsh $f0, $f0, $f4 \r\n"
422 "paddsh $f2, $f2, $f6 \r\n"
423 "paddsh $f0, $f0, $f2 \r\n"
425 "dmtc1 $4, $f28 \r\n"
426 "pshufh $f2, $f0, $f28 \r\n"
427 "paddsh $f0, $f0, $f2 \r\n"
429 "dmtc1 $4, $f30 \r\n"
430 "pshufh $f2, $f0, $f30 \r\n"
431 "paddsh $f10, $f0, $f2 \r\n"
432 "daddiu $3, %[src], -1 \r\n"
435 "lbu $8, 16($3) \r\n"
436 "daddu $3, %[stride] \r\n"
438 "daddu $3, %[stride] \r\n"
440 "daddu $3, %[stride] \r\n"
449 "daddu $3, %[stride] \r\n"
451 "daddu $3, %[stride] \r\n"
453 "daddu $3, %[stride] \r\n"
455 "daddu $3, %[stride] \r\n"
464 "daddu $3, %[stride] \r\n"
465 "daddu $3, %[stride] \r\n"
467 "daddu $3, %[stride] \r\n"
469 "daddu $3, %[stride] \r\n"
471 "daddu $3, %[stride] \r\n"
480 "daddu $3, %[stride] \r\n"
482 "daddu $3, %[stride] \r\n"
484 "daddu $3, %[stride] \r\n"
486 "daddu $3, %[stride] \r\n"
498 "pmullh $f0, $f0, $f20 \r\n"
499 "pmullh $f2, $f2, $f22 \r\n"
500 "pmullh $f4, $f4, $f24 \r\n"
501 "pmullh $f6, $f6, $f26 \r\n"
502 "paddsh $f0, $f0, $f4 \r\n"
503 "paddsh $f2, $f2, $f6 \r\n"
504 "paddsh $f0, $f0, $f2 \r\n"
505 "pshufh $f2, $f0, $f28 \r\n"
506 "paddsh $f0, $f0, $f2 \r\n"
507 "pshufh $f2, $f0, $f30 \r\n"
508 "paddsh $f12, $f0, $f2 \r\n"
509 "dmfc1 $2, $f10 \r\n"
512 "dmfc1 $3, $f12 \r\n"
515 "beqz %[svq3], 1f \r\n"
525 "daddu $4, $2, $0 \r\n"
526 "daddu $2, $3, $0 \r\n"
527 "daddu $3, $4, $0 \r\n"
530 "beqz %[rv40], 1f \r\n"
531 "dsra $4, $2, 2 \r\n"
533 "dsra $4, $3, 2 \r\n"
547 "daddu $5, $2, $3 \r\n"
553 "pshufh $f0, $f0, $f8 \r\n"
554 "dmtc1 $3, $f10 \r\n"
555 "pshufh $f10, $f10, $f8 \r\n"
556 "dmtc1 $8, $f12 \r\n"
557 "pshufh $f12, $f12, $f8 \r\n"
559 "dmtc1 $4, $f14 \r\n"
560 "pmullh $f2, %[ff_pw_0to3], $f0 \r\n"
561 "pmullh $f4, %[ff_pw_4to7], $f0 \r\n"
562 "pmullh $f6, %[ff_pw_8tob], $f0 \r\n"
563 "pmullh $f8, %[ff_pw_ctof], $f0 \r\n"
564 "daddu $3, %[src], $0 \r\n"
567 "paddsh $f16, $f2, $f12 \r\n"
568 "psrah $f16, $f16, $f14 \r\n"
569 "paddsh $f18, $f4, $f12 \r\n"
570 "psrah $f18, $f18, $f14 \r\n"
571 "packushb $f20, $f16, $f18 \r\n"
572 "gssdlc1 $f20, 7($3) \r\n"
573 "gssdrc1 $f20, 0($3) \r\n"
574 "paddsh $f16, $f6, $f12 \r\n"
575 "psrah $f16, $f16, $f14 \r\n"
576 "paddsh $f18, $f8, $f12 \r\n"
577 "psrah $f18, $f18, $f14 \r\n"
578 "packushb $f20, $f16, $f18 \r\n"
579 "gssdlc1 $f20, 15($3) \r\n"
580 "gssdrc1 $f20, 8($3) \r\n"
581 "paddsh $f12, $f12, $f10 \r\n"
582 "daddu $3, %[stride] \r\n"
585 ::[
src]
"r"(
src),[stride]
"r"(stride),[svq3]
"r"(svq3),[rv40]
"r"(rv40),
590 :
"$2",
"$3",
"$4",
"$5",
"$6",
"$7",
"$8",
"$f0",
"$f2",
"$f4",
"$f6",
"$f8",
591 "$f10",
"$f12",
"$f14",
"$f16",
"$f18",
"$f20",
"$f22",
"$f24",
"$f26",
615 "xor $f0, $f0, $f0 \r\n"
616 "xor $f2, $f2, $f2 \r\n"
617 "xor $f30, $f30, $f30 \r\n"
618 "negu $3, %[stride] \r\n"
619 "daddu $3, $3, %[src] \r\n"
620 "gsldlc1 $f4, 7($3) \r\n"
621 "gsldrc1 $f4, 0($3) \r\n"
622 "punpcklbh $f0, $f4, $f30 \r\n"
623 "punpckhbh $f2, $f4, $f30 \r\n"
624 "biadd $f0, $f0 \r\n"
625 "biadd $f2, $f2 \r\n"
626 "pshufh $f0, $f0, $f30 \r\n"
627 "pshufh $f2, $f2, $f30 \r\n"
629 "pshufh $f4, $f4, $f30 \r\n"
630 "paddush $f0, $f0, $f4 \r\n"
631 "paddush $f2, $f2, $f4 \r\n"
633 "psrlh $f0, $f0, $f4 \r\n"
634 "psrlh $f2, $f2, $f4 \r\n"
635 "packushb $f4, $f0, $f2 \r\n"
638 "gssdlc1 $f4, 7(%[src]) \r\n"
639 "gssdrc1 $f4, 0(%[src]) \r\n"
640 "daddu %[src], %0, %[stride] \r\n"
641 "daddiu $2, $2, -1 \r\n"
643 ::[
src]
"r"(
src),[stride]
"r"(stride)
644 :
"$2",
"$3",
"$f0",
"$f2",
"$f4",
"$f30"
651 "negu $2, %[stride] \r\n"
652 "daddu $2, $2, %[src] \r\n"
653 "daddiu $5, $2, 4 \r\n"
655 "daddu $3, $0, $6 \r\n"
658 "daddu $4, $0, $6 \r\n"
661 "daddu $3, $3, $6 \r\n"
664 "daddu $4, $4, $6 \r\n"
667 "daddu $3, $3, $6 \r\n"
670 "daddu $4, $4, $6 \r\n"
673 "daddu $3, $3, $6 \r\n"
676 "daddu $4, $4, $6 \r\n"
679 "daddu $6, $6, %[src] \r\n"
681 "daddu $7, $0, $5 \r\n"
682 "daddu $6, $6, %[stride] \r\n"
684 "daddu $7, $7, $5 \r\n"
685 "daddu $6, $6, %[stride] \r\n"
687 "daddu $7, $7, $5 \r\n"
688 "daddu $6, $6, %[stride] \r\n"
690 "daddu $7, $7, $5 \r\n"
691 "daddu $6, $6, %[stride] \r\n"
693 "daddu $8, $0, $5 \r\n"
694 "daddu $6, $6, %[stride] \r\n"
696 "daddu $8, $8, $5 \r\n"
697 "daddu $6, $6, %[stride] \r\n"
699 "daddu $8, $8, $5 \r\n"
700 "daddu $6, $6, %[stride] \r\n"
702 "daddu $8, $8, $5 \r\n"
703 "daddu $3, $3, $7 \r\n"
704 "daddiu $3, $3, 4 \r\n"
705 "daddiu $4, $4, 2 \r\n"
706 "daddiu $5, $8, 2 \r\n"
707 "daddu $6, $4, $5 \r\n"
712 "xor $f30, $f30, $f30 \r\n"
714 "pshufh $f0, $f0, $f30 \r\n"
716 "pshufh $f2, $f2, $f30 \r\n"
718 "pshufh $f4, $f4, $f30 \r\n"
720 "pshufh $f6, $f6, $f30 \r\n"
721 "packushb $f0, $f0, $f2 \r\n"
722 "packushb $f2, $f4, $f6 \r\n"
723 "daddu $2, $0, %[src] \r\n"
724 "sdc1 $f0, 0($2) \r\n"
725 "daddu $2, $2, %[stride] \r\n"
726 "sdc1 $f0, 0($2) \r\n"
727 "daddu $2, $2, %[stride] \r\n"
728 "sdc1 $f0, 0($2) \r\n"
729 "daddu $2, $2, %[stride] \r\n"
730 "sdc1 $f0, 0($2) \r\n"
731 "daddu $2, $2, %[stride] \r\n"
732 "sdc1 $f2, 0($2) \r\n"
733 "daddu $2, $2, %[stride] \r\n"
734 "sdc1 $f2, 0($2) \r\n"
735 "daddu $2, $2, %[stride] \r\n"
736 "sdc1 $f2, 0($2) \r\n"
737 "daddu $2, $2, %[stride] \r\n"
738 "sdc1 $f2, 0($2) \r\n"
739 ::[
src]
"r"(
src),[stride]
"r"(stride)
740 :
"$2",
"$3",
"$4",
"$5",
"$6",
"$7",
"$8",
"$f0",
"$f2",
"$f4",
"$f6",
"$f30"
747 "gsldlc1 $f2, 7(%[srcA]) \r\n"
748 "gsldrc1 $f2, 0(%[srcA]) \r\n"
751 "gssdlc1 $f2, 7(%[src]) \r\n"
752 "gssdrc1 $f2, 0(%[src]) \r\n"
753 "daddu %[src], %[src], %[stride] \r\n"
754 "daddi $8, $8, -1 \r\n"
757 : [stride]
"r"(stride),[srcA]
"r"(src-
stride)
765 "daddiu $2, %[src], -1 \r\n"
766 "daddu $3, %[src], $0 \r\n"
770 "dmul $5, $4, %[ff_pb_1] \r\n"
773 "daddu $2, %[stride] \r\n"
774 "daddu $3, %[stride] \r\n"
778 :
"$2",
"$3",
"$4",
"$5",
"$6"
void ff_pred8x16_horizontal_8_mmi(uint8_t *src, ptrdiff_t stride)
const uint64_t ff_pw_ctof
void ff_pred8x8_horizontal_8_mmi(uint8_t *src, ptrdiff_t stride)
static void ff_pred16x16_plane_compat_8_mmi(uint8_t *src, ptrdiff_t stride, const int svq3, const int rv40)
const uint64_t ff_pw_1to4
void ff_pred8x16_vertical_8_mmi(uint8_t *src, ptrdiff_t stride)
void ff_pred8x8l_top_dc_8_mmi(uint8_t *src, int has_topleft, int has_topright, ptrdiff_t stride)
void ff_pred16x16_dc_8_mmi(uint8_t *src, ptrdiff_t stride)
const uint64_t ff_pw_0to3
void ff_pred4x4_dc_8_mmi(uint8_t *src, const uint8_t *topright, ptrdiff_t stride)
const uint64_t ff_pw_4to7
void ff_pred8x8l_dc_8_mmi(uint8_t *src, int has_topleft, int has_topright, ptrdiff_t stride)
void ff_pred16x16_horizontal_8_mmi(uint8_t *src, ptrdiff_t stride)
void ff_pred16x16_plane_h264_8_mmi(uint8_t *src, ptrdiff_t stride)
void ff_pred8x8l_vertical_8_mmi(uint8_t *src, int has_topleft, int has_topright, ptrdiff_t stride)
const uint64_t ff_pw_m8tom5
void ff_pred16x16_vertical_8_mmi(uint8_t *src, ptrdiff_t stride)
void ff_pred16x16_plane_rv40_8_mmi(uint8_t *src, ptrdiff_t stride)
const uint64_t ff_pw_5to8
const uint64_t ff_pw_8tob
GLint GLenum GLboolean GLsizei stride
void ff_pred8x8_dc_8_mmi(uint8_t *src, ptrdiff_t stride)
const uint64_t ff_pw_m4tom1
void ff_pred8x8_top_dc_8_mmi(uint8_t *src, ptrdiff_t stride)
uint8_t pi<< 24) CONV_FUNC_GROUP(AV_SAMPLE_FMT_FLT, float, AV_SAMPLE_FMT_U8, uint8_t,(*(constuint8_t *) pi-0x80)*(1.0f/(1<< 7))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_DBL, double, AV_SAMPLE_FMT_U8, uint8_t,(*(constuint8_t *) pi-0x80)*(1.0/(1<< 7))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_S16, int16_t,(*(constint16_t *) pi >>8)+0x80) CONV_FUNC_GROUP(AV_SAMPLE_FMT_FLT, float, AV_SAMPLE_FMT_S16, int16_t,*(constint16_t *) pi *(1.0f/(1<< 15))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_DBL, double, AV_SAMPLE_FMT_S16, int16_t,*(constint16_t *) pi *(1.0/(1<< 15))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_S32, int32_t,(*(constint32_t *) pi >>24)+0x80) CONV_FUNC_GROUP(AV_SAMPLE_FMT_FLT, float, AV_SAMPLE_FMT_S32, int32_t,*(constint32_t *) pi *(1.0f/(1U<< 31))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_DBL, double, AV_SAMPLE_FMT_S32, int32_t,*(constint32_t *) pi *(1.0/(1U<< 31))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_FLT, float, av_clip_uint8(lrintf(*(constfloat *) pi *(1<< 7))+0x80)) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_FLT, float, av_clip_int16(lrintf(*(constfloat *) pi *(1<< 15)))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_FLT, float, av_clipl_int32(llrintf(*(constfloat *) pi *(1U<< 31)))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_DBL, double, av_clip_uint8(lrint(*(constdouble *) pi *(1<< 7))+0x80)) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_DBL, double, av_clip_int16(lrint(*(constdouble *) pi *(1<< 15)))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_DBL, double, av_clipl_int32(llrint(*(constdouble *) pi *(1U<< 31))))#defineSET_CONV_FUNC_GROUP(ofmt, ifmt) staticvoidset_generic_function(AudioConvert *ac){}voidff_audio_convert_free(AudioConvert **ac){if(!*ac) return;ff_dither_free(&(*ac) ->dc);av_freep(ac);}AudioConvert *ff_audio_convert_alloc(AVAudioResampleContext *avr, enumAVSampleFormatout_fmt, enumAVSampleFormatin_fmt, intchannels, intsample_rate, intapply_map){AudioConvert *ac;intin_planar, out_planar;ac=av_mallocz(sizeof(*ac));if(!ac) returnNULL;ac->avr=avr;ac->out_fmt=out_fmt;ac->in_fmt=in_fmt;ac->channels=channels;ac->apply_map=apply_map;if(avr->dither_method!=AV_RESAMPLE_DITHER_NONE &&av_get_packed_sample_fmt(out_fmt)==AV_SAMPLE_FMT_S16 &&av_get_bytes_per_sample(in_fmt)>2){ac->dc=ff_dither_alloc(avr, out_fmt, in_fmt, channels, sample_rate, apply_map);if(!ac->dc){av_free(ac);returnNULL;}returnac;}in_planar=ff_sample_fmt_is_planar(in_fmt, channels);out_planar=ff_sample_fmt_is_planar(out_fmt, channels);if(in_planar==out_planar){ac->func_type=CONV_FUNC_TYPE_FLAT;ac->planes=in_planar?ac->channels:1;}elseif(in_planar) ac->func_type=CONV_FUNC_TYPE_INTERLEAVE;elseac->func_type=CONV_FUNC_TYPE_DEINTERLEAVE;set_generic_function(ac);if(ARCH_AARCH64) ff_audio_convert_init_aarch64(ac);if(ARCH_ARM) ff_audio_convert_init_arm(ac);if(ARCH_X86) ff_audio_convert_init_x86(ac);returnac;}intff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in){intuse_generic=1;intlen=in->nb_samples;intp;if(ac->dc){av_log(ac->avr, AV_LOG_TRACE,"%dsamples-audio_convert:%sto%s(dithered)\n", len, av_get_sample_fmt_name(ac->in_fmt), av_get_sample_fmt_name(ac->out_fmt));returnff_convert_dither(ac-> dc
void ff_pred8x8_vertical_8_mmi(uint8_t *src, ptrdiff_t stride)
void ff_pred16x16_plane_svq3_8_mmi(uint8_t *src, ptrdiff_t stride)