[FFmpeg-devel] [PATCH 10/15] vp9/x86: make filter_88_v work on 32-bit.
Clément Bœsch
u at pkh.me
Sat Dec 27 19:23:47 CET 2014
On Sat, Dec 27, 2014 at 11:02:45AM -0500, Ronald S. Bultje wrote:
> ---
> libavcodec/x86/vp9dsp_init.c | 2 +-
> libavcodec/x86/vp9lpf.asm | 153 ++++++++++++++++++++++++++++++-------------
> 2 files changed, 107 insertions(+), 48 deletions(-)
>
> diff --git a/libavcodec/x86/vp9dsp_init.c b/libavcodec/x86/vp9dsp_init.c
> index d89843e..6c58c6c 100644
> --- a/libavcodec/x86/vp9dsp_init.c
> +++ b/libavcodec/x86/vp9dsp_init.c
> @@ -361,8 +361,8 @@ av_cold void ff_vp9dsp_init_x86(VP9DSPContext *dsp)
> dsp->loop_filter_mix2[1][0][0] = ff_vp9_loop_filter_h_84_16_##opt; \
> dsp->loop_filter_mix2[1][0][1] = ff_vp9_loop_filter_v_84_16_##opt; \
> dsp->loop_filter_mix2[1][1][0] = ff_vp9_loop_filter_h_88_16_##opt; \
> - dsp->loop_filter_mix2[1][1][1] = ff_vp9_loop_filter_v_88_16_##opt; \
> } \
> + dsp->loop_filter_mix2[1][1][1] = ff_vp9_loop_filter_v_88_16_##opt; \
> } while (0)
>
> #define init_ipred(sz, opt, t, e) \
> diff --git a/libavcodec/x86/vp9lpf.asm b/libavcodec/x86/vp9lpf.asm
> index d00ba7f..2759031 100644
> --- a/libavcodec/x86/vp9lpf.asm
> +++ b/libavcodec/x86/vp9lpf.asm
> @@ -50,6 +50,22 @@ mask_mix48: times 8 db 0x00
>
> SECTION .text
>
> +%macro SCRATCH 3
> +%if ARCH_X86_64
> + SWAP %1, %2
> +%else
> + mova [%3], m%1
> +%endif
> +%endmacro
> +
> +%macro UNSCRATCH 3
> +%if ARCH_X86_64
> + SWAP %1, %2
> +%else
> + mova m%1, [%3]
> +%endif
> +%endmacro
> +
> ; %1 = abs(%2-%3)
> %macro ABSSUB 4 ; dst, src1 (RO), src2 (RO), tmp
> %if ARCH_X86_64
> @@ -84,12 +100,25 @@ SECTION .text
> por %1, %4 ; new&mask | old&~mask
> %endmacro
>
> -%macro FILTER_SUBx2_ADDx2 9-10 "" ; %1=dst %2=h/l %3=cache %4=stack_off %5=sub1 %6=sub2 %7=add1 %8=add2 %9=rshift, [unpack]
> +%macro UNPACK 4
> +%if ARCH_X86_64
> + punpck%1bw %2, %3, %4
> +%else
> + mova %2, %3
> + punpck%1bw %2, %4
> +%endif
> +%endmacro
> +
> +%macro FILTER_SUBx2_ADDx2 11 ; %1=dst %2=h/l %3=cache %4=stack_off %5=sub1 %6=sub2 %7=add1 %8=add2 %9=rshift, [unpack]
Please update the macro comment
Rest should be OK
[...]
--
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141227/1204f9c4/attachment.asc>
More information about the ffmpeg-devel
mailing list