| @@ -21,7 +21,8 @@ · 20 unmodified lines |
| 21 | 21 | */ |
| 22 | 22 | |
| 23 | 23 | #include "libavutil/aarch64/asm.S" |
| 24 | | −#define MAX_PB_SIZE 64 |
| 24 | +#define HEVC_MAX_PB_SIZE 64 |
| 25 | +#define VVC_MAX_PB_SIZE 128 |
| 25 | 26 | |
| 26 | 27 | const qpel_filters, align=4 |
| 27 | 28 | .byte 0, 0, 0, 0, 0, 0, 0, 0 |
| @@ -44,6 +45,11 @@ endconst · 16 unmodified lines |
| 44 | 45 | sxtl v0.8h, v0.8b |
| 45 | 46 | .endm |
| 46 | 47 | |
| 48 | +.macro vvc_load_filter m |
| 49 | + ld1 {v0.8b}, [\m] |
| 50 | + sxtl v0.8h, v0.8b |
| 51 | +.endm |
| 52 | + |
| 47 | 53 | .macro load_qpel_filterb freg, xreg |
| 48 | 54 | movrel \xreg, qpel_filters_abs |
| 49 | 55 | add \xreg, \xreg, \freg, lsl #3 |
| @@ -212,22 +218,40 @@ function ff_hevc_put_hevc_h4_8_neon, export=0 · 162 unmodified lines |
| 212 | 218 | endfunc |
| 213 | 219 | .endif |
| 214 | 220 | |
| 221 | +.ifnc \type, qpel_bi |
| 222 | +function ff_vvc_put_\type\()_h4_8_neon, export=1 |
| 223 | + vvc_load_filter mx |
| 224 | + sub src, src, #3 |
| 225 | + mov mx, x30 |
| 226 | +.ifc \type, qpel |
| 227 | + mov dststride, #(VVC_MAX_PB_SIZE << 1) |
| 228 | + lsl x13, srcstride, #1 // srcstridel |
| 229 | + mov x14, #(VVC_MAX_PB_SIZE << 2) |
| 230 | +.else |
| 231 | + lsl x14, dststride, #1 // dststridel |
| 232 | + lsl x13, srcstride, #1 // srcstridel |
| 233 | +.endif |
| 234 | + b 1f |
| 235 | +endfunc |
| 236 | +.endif // !qpel_bi |
| 237 | + |
| 215 | 238 | function ff_hevc_put_hevc_\type\()_h4_8_neon, export=1 |
| 216 | 239 | load_filter mx |
| 217 | 240 | .ifc \type, qpel_bi |
| 218 | | − mov x16, #(MAX_PB_SIZE << 2) // src2bstridel |
| 219 | | − add x15, x4, #(MAX_PB_SIZE << 1) // src2b |
| 241 | + mov x16, #(HEVC_MAX_PB_SIZE << 2) // src2bstridel |
| 242 | + add x15, x4, #(HEVC_MAX_PB_SIZE << 1) // src2b |
| 220 | 243 | .endif |
| 221 | 244 | sub src, src, #3 |
| 222 | 245 | mov mx, x30 |
| 223 | 246 | .ifc \type, qpel |
| 224 | | − mov dststride, #(MAX_PB_SIZE << 1) |
| 247 | + mov dststride, #(HEVC_MAX_PB_SIZE << 1) |
| 225 | 248 | lsl x13, srcstride, #1 // srcstridel |
| 226 | | − mov x14, #(MAX_PB_SIZE << 2) |
| 249 | + mov x14, #(HEVC_MAX_PB_SIZE << 2) |
| 227 | 250 | .else |
| 228 | 251 | lsl x14, dststride, #1 // dststridel |
| 229 | 252 | lsl x13, srcstride, #1 // srcstridel |
| 230 | 253 | .endif |
| 254 | +1: |
| 231 | 255 | add x10, dst, dststride // dstb |
| 232 | 256 | add x12, src, srcstride // srcb |
| 233 | 257 | 0: ld1 {v16.8b, v17.8b}, [src], x13 |
| @@ -283,15 +307,15 @@ endfunc · 49 unmodified lines |
| 283 | 307 | function ff_hevc_put_hevc_\type\()_h6_8_neon, export=1 |
| 284 | 308 | load_filter mx |
| 285 | 309 | .ifc \type, qpel_bi |
| 286 | | − mov x16, #(MAX_PB_SIZE << 2) // src2bstridel |
| 287 | | − add x15, x4, #(MAX_PB_SIZE << 1) // src2b |
| 310 | + mov x16, #(HEVC_MAX_PB_SIZE << 2) // src2bstridel |
| 311 | + add x15, x4, #(HEVC_MAX_PB_SIZE << 1) // src2b |
| 288 | 312 | .endif |
| 289 | 313 | sub src, src, #3 |
| 290 | 314 | mov mx, x30 |
| 291 | 315 | .ifc \type, qpel |
| 292 | | − mov dststride, #(MAX_PB_SIZE << 1) |
| 316 | + mov dststride, #(HEVC_MAX_PB_SIZE << 1) |
| 293 | 317 | lsl x13, srcstride, #1 // srcstridel |
| 294 | | − mov x14, #((MAX_PB_SIZE << 2) - 8) |
| 318 | + mov x14, #((HEVC_MAX_PB_SIZE << 2) - 8) |
| 295 | 319 | .else |
| 296 | 320 | lsl x14, dststride, #1 // dststridel |
| 297 | 321 | lsl x13, srcstride, #1 // srcstridel |
| @@ -333,22 +357,40 @@ function ff_hevc_put_hevc_\type\()_h6_8_neon, export=1 · 35 unmodified lines |
| 333 | 357 | ret mx |
| 334 | 358 | endfunc |
| 335 | 359 | |
| 360 | +.ifnc \type, qpel_bi |
| 361 | +function ff_vvc_put_\type\()_h8_8_neon, export=1 |
| 362 | + vvc_load_filter mx |
| 363 | + sub src, src, #3 |
| 364 | + mov mx, x30 |
| 365 | +.ifc \type, qpel |
| 366 | + mov dststride, #(VVC_MAX_PB_SIZE << 1) |
| 367 | + lsl x13, srcstride, #1 // srcstridel |
| 368 | + mov x14, #(VVC_MAX_PB_SIZE << 2) |
| 369 | +.else |
| 370 | + lsl x14, dststride, #1 // dststridel |
| 371 | + lsl x13, srcstride, #1 // srcstridel |
| 372 | +.endif |
| 373 | + b 1f |
| 374 | +endfunc |
| 375 | +.endif // !qpel_bi |
| 376 | + |
| 336 | 377 | function ff_hevc_put_hevc_\type\()_h8_8_neon, export=1 |
| 337 | 378 | load_filter mx |
| 338 | 379 | .ifc \type, qpel_bi |
| 339 | | − mov x16, #(MAX_PB_SIZE << 2) // src2bstridel |
| 340 | | − add x15, x4, #(MAX_PB_SIZE << 1) // src2b |
| 380 | + mov x16, #(HEVC_MAX_PB_SIZE << 2) // src2bstridel |
| 381 | + add x15, x4, #(HEVC_MAX_PB_SIZE << 1) // src2b |
| 341 | 382 | .endif |
| 342 | 383 | sub src, src, #3 |
| 343 | 384 | mov mx, x30 |
| 344 | 385 | .ifc \type, qpel |
| 345 | | − mov dststride, #(MAX_PB_SIZE << 1) |
| 386 | + mov dststride, #(HEVC_MAX_PB_SIZE << 1) |
| 346 | 387 | lsl x13, srcstride, #1 // srcstridel |
| 347 | | − mov x14, #(MAX_PB_SIZE << 2) |
| 388 | + mov x14, #(HEVC_MAX_PB_SIZE << 2) |
| 348 | 389 | .else |
| 349 | 390 | lsl x14, dststride, #1 // dststridel |
| 350 | 391 | lsl x13, srcstride, #1 // srcstridel |
| 351 | 392 | .endif |
| 393 | +1: |
| 352 | 394 | add x10, dst, dststride // dstb |
| 353 | 395 | add x12, src, srcstride // srcb |
| 354 | 396 | 0: ld1 {v16.8b, v17.8b}, [src], x13 |
| @@ -415,16 +457,16 @@ function ff_hevc_put_hevc_\type\()_h12_8_neon, export=1 · 60 unmodified lines |
| 415 | 457 | sxtw height, heightw |
| 416 | 458 | .ifc \type, qpel_bi |
| 417 | 459 | ldrh w8, [sp] // width |
| 418 | | − mov x16, #(MAX_PB_SIZE << 2) // src2bstridel |
| 419 | | − lsl x17, height, #7 // src2b reset (height * (MAX_PB_SIZE << 1)) |
| 420 | | − add x15, x4, #(MAX_PB_SIZE << 1) // src2b |
| 460 | + mov x16, #(HEVC_MAX_PB_SIZE << 2) // src2bstridel |
| 461 | + lsl x17, height, #7 // src2b reset (height * (HEVC_MAX_PB_SIZE << 1)) |
| 462 | + add x15, x4, #(HEVC_MAX_PB_SIZE << 1) // src2b |
| 421 | 463 | .endif |
| 422 | 464 | sub src, src, #3 |
| 423 | 465 | mov mx, x30 |
| 424 | 466 | .ifc \type, qpel |
| 425 | | − mov dststride, #(MAX_PB_SIZE << 1) |
| 467 | + mov dststride, #(HEVC_MAX_PB_SIZE << 1) |
| 426 | 468 | lsl x13, srcstride, #1 // srcstridel |
| 427 | | − mov x14, #((MAX_PB_SIZE << 2) - 16) |
| 469 | + mov x14, #((HEVC_MAX_PB_SIZE << 2) - 16) |
| 428 | 470 | .else |
| 429 | 471 | lsl x14, dststride, #1 // dststridel |
| 430 | 472 | lsl x13, srcstride, #1 // srcstridel |
| @@ -497,25 +539,45 @@ function ff_hevc_put_hevc_\type\()_h12_8_neon, export=1 · 66 unmodified lines |
| 497 | 539 | ret mx |
| 498 | 540 | endfunc |
| 499 | 541 | |
| 542 | +.ifnc \type, qpel_bi |
| 543 | +function ff_vvc_put_\type\()_h16_8_neon, export=1 |
| 544 | + vvc_load_filter mx |
| 545 | + sxtw height, heightw |
| 546 | + mov mx, x30 |
| 547 | + sub src, src, #3 |
| 548 | + mov mx, x30 |
| 549 | +.ifc \type, qpel |
| 550 | + mov dststride, #(VVC_MAX_PB_SIZE << 1) |
| 551 | + lsl x13, srcstride, #1 // srcstridel |
| 552 | + mov x14, #(VVC_MAX_PB_SIZE << 2) |
| 553 | +.else |
| 554 | + lsl x14, dststride, #1 // dststridel |
| 555 | + lsl x13, srcstride, #1 // srcstridel |
| 556 | +.endif |
| 557 | + b 0f |
| 558 | +endfunc |
| 559 | +.endif // !qpel_bi |
| 560 | + |
| 500 | 561 | function ff_hevc_put_hevc_\type\()_h16_8_neon, export=1 |
| 501 | 562 | load_filter mx |
| 502 | 563 | sxtw height, heightw |
| 503 | 564 | mov mx, x30 |
| 504 | 565 | .ifc \type, qpel_bi |
| 505 | 566 | ldrh w8, [sp] // width |
| 506 | | − mov x16, #(MAX_PB_SIZE << 2) // src2bstridel |
| 507 | | − add x15, x4, #(MAX_PB_SIZE << 1) // src2b |
| 567 | + mov x16, #(HEVC_MAX_PB_SIZE << 2) // src2bstridel |
| 568 | + add x15, x4, #(HEVC_MAX_PB_SIZE << 1) // src2b |
| 508 | 569 | .endif |
| 509 | 570 | sub src, src, #3 |
| 510 | 571 | mov mx, x30 |
| 511 | 572 | .ifc \type, qpel |
| 512 | | − mov dststride, #(MAX_PB_SIZE << 1) |
| 573 | + mov dststride, #(HEVC_MAX_PB_SIZE << 1) |
| 513 | 574 | lsl x13, srcstride, #1 // srcstridel |
| 514 | | − mov x14, #(MAX_PB_SIZE << 2) |
| 575 | + mov x14, #(HEVC_MAX_PB_SIZE << 2) |
| 515 | 576 | .else |
| 516 | 577 | lsl x14, dststride, #1 // dststridel |
| 517 | 578 | lsl x13, srcstride, #1 // srcstridel |
| 518 | 579 | .endif |
| 580 | +0: |
| 519 | 581 | add x10, dst, dststride // dstb |
| 520 | 582 | add x12, src, srcstride // srcb |
| 521 | 583 | |
| @@ -555,29 +617,51 @@ function ff_hevc_put_hevc_\type\()_h16_8_neon, export=1 · 33 unmodified lines |
| 555 | 617 | ret mx |
| 556 | 618 | endfunc |
| 557 | 619 | |
| 620 | +.ifnc \type, qpel_bi |
| 621 | +function ff_vvc_put_\type\()_h32_8_neon, export=1 |
| 622 | + vvc_load_filter mx |
| 623 | + sxtw height, heightw |
| 624 | + mov mx, x30 |
| 625 | + sub src, src, #3 |
| 626 | + mov mx, x30 |
| 627 | +.ifc \type, qpel |
| 628 | + mov dststride, #(VVC_MAX_PB_SIZE << 1) |
| 629 | + lsl x13, srcstride, #1 // srcstridel |
| 630 | + mov x14, #(VVC_MAX_PB_SIZE << 2) |
| 631 | + sub x14, x14, width, uxtw #1 |
| 632 | +.else |
| 633 | + lsl x14, dststride, #1 // dststridel |
| 634 | + lsl x13, srcstride, #1 // srcstridel |
| 635 | + sub x14, x14, width, uxtw |
| 636 | +.endif |
| 637 | + b 1f |
| 638 | +endfunc |
| 639 | +.endif // !qpel_bi |
| 640 | + |
| 558 | 641 | function ff_hevc_put_hevc_\type\()_h32_8_neon, export=1 |
| 559 | 642 | load_filter mx |
| 560 | 643 | sxtw height, heightw |
| 561 | 644 | mov mx, x30 |
| 562 | 645 | .ifc \type, qpel_bi |
| 563 | 646 | ldrh w8, [sp] // width |
| 564 | | − mov x16, #(MAX_PB_SIZE << 2) // src2bstridel |
| 647 | + mov x16, #(HEVC_MAX_PB_SIZE << 2) // src2bstridel |
| 565 | 648 | lsl x17, x5, #7 // src2b reset |
| 566 | | − add x15, x4, #(MAX_PB_SIZE << 1) // src2b |
| 649 | + add x15, x4, #(HEVC_MAX_PB_SIZE << 1) // src2b |
| 567 | 650 | sub x16, x16, width, uxtw #1 |
| 568 | 651 | .endif |
| 569 | 652 | sub src, src, #3 |
| 570 | 653 | mov mx, x30 |
| 571 | 654 | .ifc \type, qpel |
| 572 | | − mov dststride, #(MAX_PB_SIZE << 1) |
| 655 | + mov dststride, #(HEVC_MAX_PB_SIZE << 1) |
| 573 | 656 | lsl x13, srcstride, #1 // srcstridel |
| 574 | | − mov x14, #(MAX_PB_SIZE << 2) |
| 657 | + mov x14, #(HEVC_MAX_PB_SIZE << 2) |
| 575 | 658 | sub x14, x14, width, uxtw #1 |
| 576 | 659 | .else |
| 577 | 660 | lsl x14, dststride, #1 // dststridel |
| 578 | 661 | lsl x13, srcstride, #1 // srcstridel |
| 579 | 662 | sub x14, x14, width, uxtw |
| 580 | 663 | .endif |
| 664 | +1: |
| 581 | 665 | sub x13, x13, width, uxtw |
| 582 | 666 | sub x13, x13, #8 |
| 583 | 667 | add x10, dst, dststride // dstb |
| @@ -651,7 +735,7 @@ put_hevc qpel_bi · 67 unmodified lines |
| 651 | 735 | function ff_hevc_put_hevc_qpel_v4_8_neon, export=1 |
| 652 | 736 | load_qpel_filterb x5, x4 |
| 653 | 737 | sub x1, x1, x2, lsl #1 |
| 654 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 738 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 655 | 739 | sub x1, x1, x2 |
| 656 | 740 | ldr s16, [x1] |
| 657 | 741 | ldr s17, [x1, x2] |
| @@ -680,7 +764,7 @@ endfunc · 22 unmodified lines |
| 680 | 764 | function ff_hevc_put_hevc_qpel_v6_8_neon, export=1 |
| 681 | 765 | load_qpel_filterb x5, x4 |
| 682 | 766 | sub x1, x1, x2, lsl #1 |
| 683 | | − mov x9, #(MAX_PB_SIZE * 2 - 8) |
| 767 | + mov x9, #(HEVC_MAX_PB_SIZE * 2 - 8) |
| 684 | 768 | sub x1, x1, x2 |
| 685 | 769 | ldr d16, [x1] |
| 686 | 770 | ldr d17, [x1, x2] |
| @@ -709,7 +793,7 @@ endfunc · 22 unmodified lines |
| 709 | 793 | function ff_hevc_put_hevc_qpel_v8_8_neon, export=1 |
| 710 | 794 | load_qpel_filterb x5, x4 |
| 711 | 795 | sub x1, x1, x2, lsl #1 |
| 712 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 796 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 713 | 797 | sub x1, x1, x2 |
| 714 | 798 | ldr d16, [x1] |
| 715 | 799 | ldr d17, [x1, x2] |
| @@ -737,7 +821,7 @@ endfunc · 21 unmodified lines |
| 737 | 821 | function ff_hevc_put_hevc_qpel_v12_8_neon, export=1 |
| 738 | 822 | load_qpel_filterb x5, x4 |
| 739 | 823 | sub x1, x1, x2, lsl #1 |
| 740 | | − mov x9, #(MAX_PB_SIZE * 2 - 16) |
| 824 | + mov x9, #(HEVC_MAX_PB_SIZE * 2 - 16) |
| 741 | 825 | sub x1, x1, x2 |
| 742 | 826 | ldr q16, [x1] |
| 743 | 827 | ldr q17, [x1, x2] |
| @@ -768,7 +852,7 @@ endfunc · 24 unmodified lines |
| 768 | 852 | function ff_hevc_put_hevc_qpel_v16_8_neon, export=1 |
| 769 | 853 | load_qpel_filterb x5, x4 |
| 770 | 854 | sub x1, x1, x2, lsl #1 |
| 771 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 855 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 772 | 856 | sub x1, x1, x2 |
| 773 | 857 | ldr q16, [x1] |
| 774 | 858 | ldr q17, [x1, x2] |
| @@ -802,7 +886,7 @@ function ff_hevc_put_hevc_qpel_v24_8_neon, export=1 · 27 unmodified lines |
| 802 | 886 | load_qpel_filterb x5, x4 |
| 803 | 887 | sub x1, x1, x2, lsl #1 |
| 804 | 888 | sub x1, x1, x2 |
| 805 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 889 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 806 | 890 | ld1 {v16.16b, v17.16b}, [x1], x2 |
| 807 | 891 | ld1 {v18.16b, v19.16b}, [x1], x2 |
| 808 | 892 | ld1 {v20.16b, v21.16b}, [x1], x2 |
| @@ -833,7 +917,7 @@ function ff_hevc_put_hevc_qpel_v32_8_neon, export=1 · 24 unmodified lines |
| 833 | 917 | st1 {v8.8b-v11.8b}, [sp] |
| 834 | 918 | load_qpel_filterb x5, x4 |
| 835 | 919 | sub x1, x1, x2, lsl #1 |
| 836 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 920 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 837 | 921 | sub x1, x1, x2 |
| 838 | 922 | ld1 {v16.16b, v17.16b}, [x1], x2 |
| 839 | 923 | ld1 {v18.16b, v19.16b}, [x1], x2 |
| @@ -883,7 +967,7 @@ function ff_hevc_put_hevc_qpel_v64_8_neon, export=1 · 43 unmodified lines |
| 883 | 967 | load_qpel_filterb x5, x4 |
| 884 | 968 | sub x1, x1, x2, lsl #1 |
| 885 | 969 | sub x1, x1, x2 |
| 886 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 970 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 887 | 971 | 0: mov x8, x1 // src |
| 888 | 972 | ld1 {v16.16b, v17.16b}, [x8], x2 |
| 889 | 973 | mov w11, w3 // height |
| @@ -921,7 +1005,7 @@ function ff_hevc_put_hevc_qpel_bi_v4_8_neon, export=1 · 31 unmodified lines |
| 921 | 1005 | load_qpel_filterb x7, x6 |
| 922 | 1006 | sub x2, x2, x3, lsl #1 |
| 923 | 1007 | sub x2, x2, x3 |
| 924 | | − mov x12, #(MAX_PB_SIZE * 2) |
| 1008 | + mov x12, #(HEVC_MAX_PB_SIZE * 2) |
| 925 | 1009 | ld1 {v16.s}[0], [x2], x3 |
| 926 | 1010 | ld1 {v17.s}[0], [x2], x3 |
| 927 | 1011 | ld1 {v18.s}[0], [x2], x3 |
| @@ -951,7 +1035,7 @@ function ff_hevc_put_hevc_qpel_bi_v6_8_neon, export=1 · 23 unmodified lines |
| 951 | 1035 | ld1 {v16.8b}, [x2], x3 |
| 952 | 1036 | sub x1, x1, #4 |
| 953 | 1037 | ld1 {v17.8b}, [x2], x3 |
| 954 | | − mov x12, #(MAX_PB_SIZE * 2) |
| 1038 | + mov x12, #(HEVC_MAX_PB_SIZE * 2) |
| 955 | 1039 | ld1 {v18.8b}, [x2], x3 |
| 956 | 1040 | ld1 {v19.8b}, [x2], x3 |
| 957 | 1041 | ld1 {v20.8b}, [x2], x3 |
| @@ -977,7 +1061,7 @@ function ff_hevc_put_hevc_qpel_bi_v8_8_neon, export=1 · 19 unmodified lines |
| 977 | 1061 | load_qpel_filterb x7, x6 |
| 978 | 1062 | sub x2, x2, x3, lsl #1 |
| 979 | 1063 | sub x2, x2, x3 |
| 980 | | − mov x12, #(MAX_PB_SIZE * 2) |
| 1064 | + mov x12, #(HEVC_MAX_PB_SIZE * 2) |
| 981 | 1065 | ld1 {v16.8b}, [x2], x3 |
| 982 | 1066 | ld1 {v17.8b}, [x2], x3 |
| 983 | 1067 | ld1 {v18.8b}, [x2], x3 |
| @@ -1006,7 +1090,7 @@ function ff_hevc_put_hevc_qpel_bi_v12_8_neon, export=1 · 22 unmodified lines |
| 1006 | 1090 | sub x2, x2, x3 |
| 1007 | 1091 | sub x1, x1, #8 |
| 1008 | 1092 | ld1 {v16.16b}, [x2], x3 |
| 1009 | | − mov x12, #(MAX_PB_SIZE * 2) |
| 1093 | + mov x12, #(HEVC_MAX_PB_SIZE * 2) |
| 1010 | 1094 | ld1 {v17.16b}, [x2], x3 |
| 1011 | 1095 | ld1 {v18.16b}, [x2], x3 |
| 1012 | 1096 | ld1 {v19.16b}, [x2], x3 |
| @@ -1037,7 +1121,7 @@ function ff_hevc_put_hevc_qpel_bi_v16_8_neon, export=1 · 24 unmodified lines |
| 1037 | 1121 | load_qpel_filterb x7, x6 |
| 1038 | 1122 | sub x2, x2, x3, lsl #1 |
| 1039 | 1123 | sub x2, x2, x3 |
| 1040 | | − mov x12, #(MAX_PB_SIZE * 2) |
| 1124 | + mov x12, #(HEVC_MAX_PB_SIZE * 2) |
| 1041 | 1125 | ld1 {v16.16b}, [x2], x3 |
| 1042 | 1126 | ld1 {v17.16b}, [x2], x3 |
| 1043 | 1127 | ld1 {v18.16b}, [x2], x3 |
| @@ -1092,7 +1176,7 @@ function ff_hevc_put_hevc_qpel_bi_v32_8_neon, export=1 · 48 unmodified lines |
| 1092 | 1176 | sub x2, x2, x3 |
| 1093 | 1177 | load_qpel_filterb x7, x6 |
| 1094 | 1178 | ldr w6, [sp, #64] |
| 1095 | | − mov x12, #(MAX_PB_SIZE * 2) |
| 1179 | + mov x12, #(HEVC_MAX_PB_SIZE * 2) |
| 1096 | 1180 | 0: mov x8, x2 // src |
| 1097 | 1181 | ld1 {v16.16b, v17.16b}, [x8], x3 |
| 1098 | 1182 | mov w11, w5 // height |
| @@ -2147,7 +2231,7 @@ function ff_hevc_put_hevc_qpel_uni_w_v64_8_neon, export=1 · 1048 unmodified lines |
| 2147 | 2231 | endfunc |
| 2148 | 2232 | |
| 2149 | 2233 | function hevc_put_hevc_qpel_uni_hv4_8_end_neon |
| 2150 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 2234 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 2151 | 2235 | load_qpel_filterh x6, x5 |
| 2152 | 2236 | ldr d16, [sp] |
| 2153 | 2237 | ldr d17, [sp, x9] |
| @@ -2174,7 +2258,7 @@ function hevc_put_hevc_qpel_uni_hv4_8_end_neon · 20 unmodified lines |
| 2174 | 2258 | endfunc |
| 2175 | 2259 | |
| 2176 | 2260 | function hevc_put_hevc_qpel_uni_hv6_8_end_neon |
| 2177 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 2261 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 2178 | 2262 | load_qpel_filterh x6, x5 |
| 2179 | 2263 | sub x1, x1, #4 |
| 2180 | 2264 | ldr q16, [sp] |
| @@ -2204,7 +2288,7 @@ function hevc_put_hevc_qpel_uni_hv6_8_end_neon · 23 unmodified lines |
| 2204 | 2288 | endfunc |
| 2205 | 2289 | |
| 2206 | 2290 | function hevc_put_hevc_qpel_uni_hv8_8_end_neon |
| 2207 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 2291 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 2208 | 2292 | load_qpel_filterh x6, x5 |
| 2209 | 2293 | ldr q16, [sp] |
| 2210 | 2294 | ldr q17, [sp, x9] |
| @@ -2232,7 +2316,7 @@ function hevc_put_hevc_qpel_uni_hv8_8_end_neon · 21 unmodified lines |
| 2232 | 2316 | endfunc |
| 2233 | 2317 | |
| 2234 | 2318 | function hevc_put_hevc_qpel_uni_hv12_8_end_neon |
| 2235 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 2319 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 2236 | 2320 | load_qpel_filterh x6, x5 |
| 2237 | 2321 | sub x1, x1, #8 |
| 2238 | 2322 | ld1 {v16.8h, v17.8h}, [sp], x9 |
| @@ -2260,7 +2344,7 @@ function hevc_put_hevc_qpel_uni_hv12_8_end_neon · 21 unmodified lines |
| 2260 | 2344 | endfunc |
| 2261 | 2345 | |
| 2262 | 2346 | function hevc_put_hevc_qpel_uni_hv16_8_end_neon |
| 2263 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 2347 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 2264 | 2348 | load_qpel_filterh x6, x5 |
| 2265 | 2349 | sub w12, w9, w7, lsl #1 |
| 2266 | 2350 | 0: mov x8, sp // src |
| @@ -3355,7 +3439,7 @@ endfunc · 1088 unmodified lines |
| 3355 | 3439 | |
| 3356 | 3440 | function ff_hevc_put_hevc_qpel_h4_8_neon_i8mm, export=1 |
| 3357 | 3441 | QPEL_H_HEADER |
| 3358 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3442 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3359 | 3443 | 1: |
| 3360 | 3444 | ld1 {v0.16b}, [x1], x2 |
| 3361 | 3445 | ext v1.16b, v0.16b, v0.16b, #1 |
| @@ -3378,7 +3462,7 @@ endfunc · 16 unmodified lines |
| 3378 | 3462 | |
| 3379 | 3463 | function ff_hevc_put_hevc_qpel_h6_8_neon_i8mm, export=1 |
| 3380 | 3464 | QPEL_H_HEADER |
| 3381 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3465 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3382 | 3466 | add x15, x0, #8 |
| 3383 | 3467 | 1: |
| 3384 | 3468 | ld1 {v0.16b}, [x1], x2 |
| @@ -3411,7 +3495,7 @@ endfunc · 26 unmodified lines |
| 3411 | 3495 | |
| 3412 | 3496 | function ff_hevc_put_hevc_qpel_h8_8_neon_i8mm, export=1 |
| 3413 | 3497 | QPEL_H_HEADER |
| 3414 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3498 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3415 | 3499 | 1: |
| 3416 | 3500 | ld1 {v0.16b}, [x1], x2 |
| 3417 | 3501 | ext v1.16b, v0.16b, v0.16b, #1 |
| @@ -3457,7 +3541,7 @@ endfunc · 39 unmodified lines |
| 3457 | 3541 | |
| 3458 | 3542 | function ff_hevc_put_hevc_qpel_h12_8_neon_i8mm, export=1 |
| 3459 | 3543 | QPEL_H_HEADER |
| 3460 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3544 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3461 | 3545 | add x15, x0, #16 |
| 3462 | 3546 | 1: |
| 3463 | 3547 | ld1 {v16.16b, v17.16b}, [x1], x2 |
| @@ -3495,7 +3579,7 @@ endfunc · 31 unmodified lines |
| 3495 | 3579 | |
| 3496 | 3580 | function ff_hevc_put_hevc_qpel_h16_8_neon_i8mm, export=1 |
| 3497 | 3581 | QPEL_H_HEADER |
| 3498 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3582 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3499 | 3583 | 1: |
| 3500 | 3584 | ld1 {v16.16b, v17.16b}, [x1], x2 |
| 3501 | 3585 | ext v1.16b, v16.16b, v17.16b, #1 |
| @@ -3533,7 +3617,7 @@ endfunc · 31 unmodified lines |
| 3533 | 3617 | |
| 3534 | 3618 | function ff_hevc_put_hevc_qpel_h24_8_neon_i8mm, export=1 |
| 3535 | 3619 | QPEL_H_HEADER |
| 3536 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3620 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3537 | 3621 | add x15, x0, #32 |
| 3538 | 3622 | 1: |
| 3539 | 3623 | ld1 {v16.16b, v17.16b}, [x1], x2 |
| @@ -3585,7 +3669,7 @@ endfunc · 45 unmodified lines |
| 3585 | 3669 | |
| 3586 | 3670 | function ff_hevc_put_hevc_qpel_h32_8_neon_i8mm, export=1 |
| 3587 | 3671 | QPEL_H_HEADER |
| 3588 | | − mov x10, #MAX_PB_SIZE * 2 |
| 3672 | + mov x10, #HEVC_MAX_PB_SIZE * 2 |
| 3589 | 3673 | add x15, x0, #32 |
| 3590 | 3674 | 1: |
| 3591 | 3675 | ld1 {v16.16b, v17.16b, v18.16b}, [x1], x2 |
| @@ -3642,7 +3726,7 @@ endfunc · 50 unmodified lines |
| 3642 | 3726 | |
| 3643 | 3727 | function ff_hevc_put_hevc_qpel_h48_8_neon_i8mm, export=1 |
| 3644 | 3728 | QPEL_H_HEADER |
| 3645 | | − mov x10, #MAX_PB_SIZE * 2 - 64 |
| 3729 | + mov x10, #HEVC_MAX_PB_SIZE * 2 - 64 |
| 3646 | 3730 | 1: |
| 3647 | 3731 | ld1 {v16.16b, v17.16b, v18.16b, v19.16b}, [x1], x2 |
| 3648 | 3732 | ext v1.16b, v16.16b, v17.16b, #1 |
| @@ -4173,7 +4257,7 @@ DISABLE_I8MM · 524 unmodified lines |
| 4173 | 4257 | stp x24, x25, [sp, #48] |
| 4174 | 4258 | stp x26, x27, [sp, #64] |
| 4175 | 4259 | mov x19, sp |
| 4176 | | − mov x11, #(MAX_PB_SIZE*(MAX_PB_SIZE+8)*2) |
| 4260 | + mov x11, #(HEVC_MAX_PB_SIZE*(HEVC_MAX_PB_SIZE+8)*2) |
| 4177 | 4261 | sub sp, sp, x11 |
| 4178 | 4262 | mov x20, x0 |
| 4179 | 4263 | mov x21, x1 |
| @@ -4204,7 +4288,7 @@ DISABLE_I8MM · 24 unmodified lines |
| 4204 | 4288 | add x9, x9, x23, lsl #3 |
| 4205 | 4289 | ld1 {v0.8b}, [x9] |
| 4206 | 4290 | sxtl v0.8h, v0.8b |
| 4207 | | − mov x10, #(MAX_PB_SIZE * 2) |
| 4291 | + mov x10, #(HEVC_MAX_PB_SIZE * 2) |
| 4208 | 4292 | dup v28.4s, w24 |
| 4209 | 4293 | dup v29.4s, w25 |
| 4210 | 4294 | dup v30.4s, w26 |
| @@ -4591,7 +4675,7 @@ endfunc · 380 unmodified lines |
| 4591 | 4675 | qpel_uni_w_hv neon |
| 4592 | 4676 | |
| 4593 | 4677 | function hevc_put_hevc_qpel_bi_hv4_8_end_neon |
| 4594 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 4678 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 4595 | 4679 | load_qpel_filterh x7, x6 |
| 4596 | 4680 | ld1 {v16.4h}, [sp], x9 |
| 4597 | 4681 | ld1 {v17.4h}, [sp], x9 |
| @@ -4617,7 +4701,7 @@ function hevc_put_hevc_qpel_bi_hv4_8_end_neon · 19 unmodified lines |
| 4617 | 4701 | endfunc |
| 4618 | 4702 | |
| 4619 | 4703 | function hevc_put_hevc_qpel_bi_hv6_8_end_neon |
| 4620 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 4704 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 4621 | 4705 | load_qpel_filterh x7, x6 |
| 4622 | 4706 | sub x1, x1, #4 |
| 4623 | 4707 | ld1 {v16.8h}, [sp], x9 |
| @@ -4648,7 +4732,7 @@ function hevc_put_hevc_qpel_bi_hv6_8_end_neon · 24 unmodified lines |
| 4648 | 4732 | endfunc |
| 4649 | 4733 | |
| 4650 | 4734 | function hevc_put_hevc_qpel_bi_hv8_8_end_neon |
| 4651 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 4735 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 4652 | 4736 | load_qpel_filterh x7, x6 |
| 4653 | 4737 | ld1 {v16.8h}, [sp], x9 |
| 4654 | 4738 | ld1 {v17.8h}, [sp], x9 |
| @@ -4678,7 +4762,7 @@ endfunc · 23 unmodified lines |
| 4678 | 4762 | |
| 4679 | 4763 | function hevc_put_hevc_qpel_bi_hv16_8_end_neon |
| 4680 | 4764 | load_qpel_filterh x7, x8 |
| 4681 | | − mov x9, #(MAX_PB_SIZE * 2) |
| 4765 | + mov x9, #(HEVC_MAX_PB_SIZE * 2) |
| 4682 | 4766 | mov x10, x6 |
| 4683 | 4767 | 0: mov x8, sp // src |
| 4684 | 4768 | ld1 {v16.8h, v17.8h}, [x8], x9 |