| @@ -21,8 +21,6 @@ · 20 unmodified lines |
| 21 | 21 | |
| 22 | 22 | %include "libavutil/x86/x86util.asm" |
| 23 | 23 | |
| 24 | | −%if ARCH_X86_64 |
| 25 | | − |
| 26 | 24 | SECTION_RODATA |
| 27 | 25 | |
| 28 | 26 | pb_128: times 16 db 128 |
| @@ -36,12 +34,18 @@ INIT_XMM sse2 · 7 unmodified lines |
| 36 | 34 | ; void restore_rgb_planes(uint8_t *src_r, uint8_t *src_g, uint8_t *src_b, |
| 37 | 35 | ; ptrdiff_t linesize_r, ptrdiff_t linesize_g, ptrdiff_t linesize_b, |
| 38 | 36 | ; int width, int height) |
| 39 | | −cglobal restore_rgb_planes, 8,9,4, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x |
| 37 | +cglobal restore_rgb_planes, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 4, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x |
| 40 | 38 | movsxdifnidn wq, wd |
| 41 | 39 | add src_rq, wq |
| 42 | 40 | add src_gq, wq |
| 43 | 41 | add src_bq, wq |
| 44 | 42 | neg wq |
| 43 | +%if ARCH_X86_64 == 0 |
| 44 | + mov wm, wq |
| 45 | +DEFINE_ARGS src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, x |
| 46 | +%define wq r6m |
| 47 | +%define hd r7mp |
| 48 | +%endif |
| 45 | 49 | mova m3, [pb_128] |
| 46 | 50 | .nextrow: |
| 47 | 51 | mov xq, wq |
| @@ -65,7 +69,7 @@ cglobal restore_rgb_planes, 8,9,4, src_r, src_g, src_b, linesize_r, linesize_g, · 17 unmodified lines |
| 65 | 69 | jg .nextrow |
| 66 | 70 | REP_RET |
| 67 | 71 | |
| 68 | | −cglobal restore_rgb_planes10, 8,9,5, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x |
| 72 | +cglobal restore_rgb_planes10, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 5, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x |
| 69 | 73 | shl wd, 1 |
| 70 | 74 | shl linesize_rq, 1 |
| 71 | 75 | shl linesize_gq, 1 |
| @@ -76,6 +80,12 @@ cglobal restore_rgb_planes10, 8,9,5, src_r, src_g, src_b, linesize_r, linesize_g · 4 unmodified lines |
| 76 | 80 | mova m3, [pw_512] |
| 77 | 81 | mova m4, [pw_1023] |
| 78 | 82 | neg wq |
| 83 | +%if ARCH_X86_64 == 0 |
| 84 | + mov wm, wq |
| 85 | +DEFINE_ARGS src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, x |
| 86 | +%define wq r6m |
| 87 | +%define hd r7mp |
| 88 | +%endif |
| 79 | 89 | .nextrow: |
| 80 | 90 | mov xq, wq |
| 81 | 91 | |
| @@ -99,5 +109,3 @@ cglobal restore_rgb_planes10, 8,9,5, src_r, src_g, src_b, linesize_r, linesize_g · 17 unmodified lines |
| 99 | 109 | sub hd, 1 |
| 100 | 110 | jg .nextrow |
| 101 | 111 | REP_RET |
| 102 | | − |
| 103 | | −%endif |