[FFmpeg-devel] [PATCH 4/4] aarch64: Disable ff_hevc_sao_band_filter_8x8_8_neon out of precaution

James Almer jamrial at gmail.com
Wed Jan 5 14:08:44 EET 2022



On 1/5/2022 5:31 AM, Martin Storsjö wrote:
> While this function on its own passes all of fate-hevc, there's
> indications that the function might need to handle widths that
> aren't a multiple of 8 (noted in commit
> f63f9be37c799ddc835af358034630d31fb7db02, which later was
> reverted).
> ---
>   libavcodec/aarch64/hevcdsp_init_aarch64.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/aarch64/hevcdsp_init_aarch64.c b/libavcodec/aarch64/hevcdsp_init_aarch64.c
> index c785e46f79..1e40be740c 100644
> --- a/libavcodec/aarch64/hevcdsp_init_aarch64.c
> +++ b/libavcodec/aarch64/hevcdsp_init_aarch64.c
> @@ -75,7 +75,11 @@ av_cold void ff_hevc_dsp_init_aarch64(HEVCDSPContext *c, const int bit_depth)
>           c->idct_dc[1]                  = ff_hevc_idct_8x8_dc_8_neon;
>           c->idct_dc[2]                  = ff_hevc_idct_16x16_dc_8_neon;
>           c->idct_dc[3]                  = ff_hevc_idct_32x32_dc_8_neon;
> -        c->sao_band_filter[0]          = ff_hevc_sao_band_filter_8x8_8_neon;
> +        // This function is disabled, as it doesn't handle widths that aren't
> +        // an even multiple of 8 correctly. fate-hevc doesn't exercise that
> +        // for the current size, but if enabled for bigger sizes, the cases
> +        // of non-multiple of 8 seem to arise.

Can the checkasm test be extended to cover these cases?

> +//        c->sao_band_filter[0]          = ff_hevc_sao_band_filter_8x8_8_neon;
>       }
>       if (bit_depth == 10) {
>           c->add_residual[0]             = ff_hevc_add_residual_4x4_10_neon;


More information about the ffmpeg-devel mailing list