diff mbox series

[FFmpeg-devel] libavcodec/hevc: reuse scale_store on idct32x32_neon

Message ID tencent_EE836CBFBC8AE545A1856CE7983C46237007@qq.com
State Accepted
Commit 05438db02437e241a418e266a354bf4e7be7ac59
Headers show
Series [FFmpeg-devel] libavcodec/hevc: reuse scale_store on idct32x32_neon | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

徐福隆 Feb. 24, 2023, 12:31 p.m. UTC
---
 libavcodec/arm/hevcdsp_idct_neon.S | 18 ++----------------
 1 file changed, 2 insertions(+), 16 deletions(-)

Comments

Martin Storsjö Feb. 28, 2023, 11:56 a.m. UTC | #1
On Fri, 24 Feb 2023, xufuji456 wrote:

> ---
> libavcodec/arm/hevcdsp_idct_neon.S | 18 ++----------------
> 1 file changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/libavcodec/arm/hevcdsp_idct_neon.S b/libavcodec/arm/hevcdsp_idct_neon.S
> index 75795e6a6a..41ca3b83a8 100644
> --- a/libavcodec/arm/hevcdsp_idct_neon.S
> +++ b/libavcodec/arm/hevcdsp_idct_neon.S
> @@ -876,28 +876,14 @@ function func_tr_32x4_\name
>         movrel          r9, trans + 32
>         vld1.s16        {q0}, [r9, :128]!
>         vld1.s16        {q1}, [r9, :128]
> -
> -        bl              tr_block1
> -
>         add             r4, sp, #2048
> -        vld1.s16        {q14-q15}, [r4, :128]!
> -        butterfly32     q14, q10, q15, q11
> -        scale32         d22, d23, d20, d21, q1, q14, q10, q15, \shift
> -
> -        vld1.s16        {q14-q15}, [r4, :128]!
> -        butterfly32     q14, q12, q15, q13
> -        scale32         d2, d3, d28, d29, q1, q14, q12, q15, \shift
>
> -        transpose8_4x4  d22, d20, d2, d28
> -        transpose8_4x4  d29, d3, d21, d23
> +        bl              tr_block1
>         mov             r1, r11
>         mov             r2, #64
>         mov             r8, #-64
>         add             r3, r11, #(56 + 3 * 64)
> -        store16         d22, d23, d20, d21, d2, d3, d28, d29, r8
> -
> -        @ reload multiplication coefficiens to q1
> -        vld1.s16        {q1}, [r9, :128]
> +        scale_store     \shift
>
>         bl              tr_block2
>         add             r1, r11, #8
> -- 
> 2.32.0 (Apple Git-132)

LGTM, thanks - pushed now.

// Martin
diff mbox series

Patch

diff --git a/libavcodec/arm/hevcdsp_idct_neon.S b/libavcodec/arm/hevcdsp_idct_neon.S
index 75795e6a6a..41ca3b83a8 100644
--- a/libavcodec/arm/hevcdsp_idct_neon.S
+++ b/libavcodec/arm/hevcdsp_idct_neon.S
@@ -876,28 +876,14 @@  function func_tr_32x4_\name
         movrel          r9, trans + 32
         vld1.s16        {q0}, [r9, :128]!
         vld1.s16        {q1}, [r9, :128]
-
-        bl              tr_block1
-
         add             r4, sp, #2048
-        vld1.s16        {q14-q15}, [r4, :128]!
-        butterfly32     q14, q10, q15, q11
-        scale32         d22, d23, d20, d21, q1, q14, q10, q15, \shift
-
-        vld1.s16        {q14-q15}, [r4, :128]!
-        butterfly32     q14, q12, q15, q13
-        scale32         d2, d3, d28, d29, q1, q14, q12, q15, \shift
 
-        transpose8_4x4  d22, d20, d2, d28
-        transpose8_4x4  d29, d3, d21, d23
+        bl              tr_block1
         mov             r1, r11
         mov             r2, #64
         mov             r8, #-64
         add             r3, r11, #(56 + 3 * 64)
-        store16         d22, d23, d20, d21, d2, d3, d28, d29, r8
-
-        @ reload multiplication coefficiens to q1
-        vld1.s16        {q1}, [r9, :128]
+        scale_store     \shift
 
         bl              tr_block2
         add             r1, r11, #8