[FFmpeg-devel] [PATCH] lavc/aarch64/simple_idct: fix macro parameter escaping

Matthieu Bouron matthieu.bouron at gmail.com
Fri Apr 28 16:44:41 EEST 2017


On Fri, Apr 28, 2017 at 4:53 PM, Matthieu Bouron <matthieu.bouron at gmail.com>
wrote:

> Untested: fixes ticket #6324.
> ---
>  libavcodec/aarch64/simple_idct_neon.S | 42 +++++++++++++++++-------------
> -----
>  1 file changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/libavcodec/aarch64/simple_idct_neon.S
> b/libavcodec/aarch64/simple_idct_neon.S
> index 52273420f9..fa43bcfb01 100644
> --- a/libavcodec/aarch64/simple_idct_neon.S
> +++ b/libavcodec/aarch64/simple_idct_neon.S
> @@ -74,21 +74,21 @@ endconst
>  .endm
>
>  .macro idct_col4_top y1 y2 y3 y4 i l
> -        smull\i         v7.4S,  \y3\().\l, z2
> -        smull\i         v16.4S, \y3\().\l, z6
> -        smull\i         v17.4S, \y2\().\l, z1
> +        smull\i         v7.4S,  \y3\().\l\(), z2
> +        smull\i         v16.4S, \y3\().\l\(), z6
> +        smull\i         v17.4S, \y2\().\l\(), z1
>          add             v19.4S, v23.4S, v7.4S
> -        smull\i         v18.4S, \y2\().\l, z3
> +        smull\i         v18.4S, \y2\().\l\(), z3
>          add             v20.4S, v23.4S, v16.4S
> -        smull\i         v5.4S,  \y2\().\l, z5
> +        smull\i         v5.4S,  \y2\().\l\(), z5
>          sub             v21.4S, v23.4S, v16.4S
> -        smull\i         v6.4S,  \y2\().\l, z7
> +        smull\i         v6.4S,  \y2\().\l\(), z7
>          sub             v22.4S, v23.4S, v7.4S
>
> -        smlal\i         v17.4S, \y4\().\l, z3
> -        smlsl\i         v18.4S, \y4\().\l, z7
> -        smlsl\i         v5.4S,  \y4\().\l, z1
> -        smlsl\i         v6.4S,  \y4\().\l, z5
> +        smlal\i         v17.4S, \y4\().\l\(), z3
> +        smlsl\i         v18.4S, \y4\().\l\(), z7
> +        smlsl\i         v5.4S,  \y4\().\l\(), z1
> +        smlsl\i         v6.4S,  \y4\().\l\(), z5
>  .endm
>
>  .macro idct_row4_neon y1 y2 y3 y4 pass
> @@ -171,7 +171,7 @@ function idct_col4_neon\i
>          cmp             x4, #0
>          beq             1f
>
> -        smull\i         v7.4S,  v28.\l, z4
> +        smull\i         v7.4S,  v28.\l\(), z4
>          add             v19.4S, v19.4S, v7.4S
>          sub             v20.4S, v20.4S, v7.4S
>          sub             v21.4S, v21.4S, v7.4S
> @@ -181,17 +181,17 @@ function idct_col4_neon\i
>          cmp             x5, #0
>          beq             2f
>
> -        smlal\i         v17.4S, v29.\l, z5
> -        smlsl\i         v18.4S, v29.\l, z1
> -        smlal\i         v5.4S,  v29.\l, z7
> -        smlal\i         v6.4S,  v29.\l, z3
> +        smlal\i         v17.4S, v29.\l\(), z5
> +        smlsl\i         v18.4S, v29.\l\(), z1
> +        smlal\i         v5.4S,  v29.\l\(), z7
> +        smlal\i         v6.4S,  v29.\l\(), z3
>
>  2:      mov             x5, v31.D[\i - 1]
>          cmp             x4, #0
>          beq             3f
>
> -        smull\i         v7.4S,  v30.\l, z6
> -        smull\i         v16.4S, v30.\l, z2
> +        smull\i         v7.4S,  v30.\l\(), z6
> +        smull\i         v16.4S, v30.\l\(), z2
>          add             v19.4S, v19.4S, v7.4S
>          sub             v22.4S, v22.4S, v7.4S
>          sub             v20.4S, v20.4S, v16.4S
> @@ -200,10 +200,10 @@ function idct_col4_neon\i
>  3:      cmp             x5, #0
>          beq             4f
>
> -        smlal\i         v17.4S, v31.\l, z7
> -        smlsl\i         v18.4S, v31.\l, z5
> -        smlal\i         v5.4S,  v31.\l, z3
> -        smlsl\i         v6.4S,  v31.\l, z1
> +        smlal\i         v17.4S, v31.\l\(), z7
> +        smlsl\i         v18.4S, v31.\l\(), z5
> +        smlal\i         v5.4S,  v31.\l\(), z3
> +        smlsl\i         v6.4S,  v31.\l\(), z1
>
>  4:      addhn           v7.4H, v19.4S, v17.4S
>          addhn2          v7.8H, v20.4S, v18.4S
> --
> 2.12.2
>
>
Please discard this patch as it does not fix the mentioned trac ticket
(which is in fact invalid).

Sorry for the noise,
Matthieu


More information about the ffmpeg-devel mailing list