[FFmpeg-devel] [PATCH 5/6] lavc/aarch64: new optimization for 8-bit hevc_qpel_bi_v

Martin Storsjö martin at martin.st
Fri Dec 1 20:19:33 EET 2023


On Sat, 18 Nov 2023, Logan.Lyu wrote:

> +function ff_hevc_put_hevc_qpel_bi_v48_8_neon, export=1
> +        mov             x8, #32
> +        str             x8, [sp, #-80]!

Why are you storing an immediate constant on the stack here?

> +        stp             x4, x5, [sp, #16]
> +        stp             x2, x3, [sp, #32]
> +        stp             x0, x1, [sp, #48]
> +        stp             x7, x30, [sp, #64]
> +        bl              X(ff_hevc_put_hevc_qpel_bi_v32_8_neon)
> +        ldp             x4, x5, [sp, #16]
> +        ldp             x2, x3, [sp, #32]
> +        ldp             x0, x1, [sp, #48]
> +        ldr             x7, [sp, #64]
> +        add             sp, sp, #64
> +        add             x0, x0, #32
> +        add             x2, x2, #32
> +        add             x4, x4, #64
> +        bl              X(ff_hevc_put_hevc_qpel_bi_v16_8_neon)
> +        ldr             x30, [sp, #8]
> +        add             sp, sp, #16
> +        ret
> +endfunc
> +
> +function ff_hevc_put_hevc_qpel_bi_v64_8_neon, export=1
> +        b X(ff_hevc_put_hevc_qpel_bi_v32_8_neon)
> +endfunc
>  function ff_hevc_put_hevc_pel_uni_pixels4_8_neon, export=1

The X(ff_hevc..) above for the b instruction is misindented.

// Martin



More information about the ffmpeg-devel mailing list