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

Martin Storsjö martin at martin.st
Wed Jan 5 14:15:15 EET 2022


On Wed, 5 Jan 2022, James Almer wrote:

>
>
> 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?

Yes, ideally - but I'm not that familiar with it (from the decoder point 
of view, what argument combinations are valid and expected) and I don't 
quite have bandwidth to take it on right now, so yes - patch welcome.

// Martin


More information about the ffmpeg-devel mailing list