From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 79FB7425BB for ; Wed, 5 Jan 2022 08:30:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3A4B268A920; Wed, 5 Jan 2022 10:30:46 +0200 (EET) Received: from mail8.parnet.fi (mail8.parnet.fi [77.234.108.134]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B82B3680BA3 for ; Wed, 5 Jan 2022 10:30:39 +0200 (EET) Received: from mail9.parnet.fi (mail9.parnet.fi [77.234.108.21]) by mail8.parnet.fi with ESMTP id 2058UcOb026612-2058UcOc026612 for ; Wed, 5 Jan 2022 10:30:38 +0200 Received: from foo.martin.st (host-97-187.parnet.fi [77.234.97.187]) by mail9.parnet.fi (Postfix) with ESMTPS id B8897A1439 for ; Wed, 5 Jan 2022 10:30:38 +0200 (EET) Date: Wed, 5 Jan 2022 10:30:38 +0200 (EET) From: =?ISO-8859-15?Q?Martin_Storsj=F6?= To: FFmpeg development discussions and patches In-Reply-To: Message-ID: <69469eb7-e7ce-c839-c5e5-dcd58e45d7a7@martin.st> References: <20220104052018.9541-1-jdek@itanimul.li> MIME-Version: 1.0 X-FE-Policy-ID: 3:14:2:SYSTEM Subject: Re: [FFmpeg-devel] [PATCH v3 1/6] lavc/arm: dont assign hevc_qpel functions for non-multiple of 8 widths X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Wed, 5 Jan 2022, Andreas Rheinhardt wrote: > J. Dekker: >> The assembly is written assuming that the width is a multiple of 8. >> >> However the real issue is the functions were errorneously assigned to >> the 2, 4, 6 & 12 widths. This behaviour never broke the decoder as >> samples which trigger the functions for these widths have not been found >> in the wild. This relies on the mappings in ff_hevc_pel_weight[]. >> >> Signed-off-by: J. Dekker >> --- >> libavcodec/arm/hevcdsp_init_neon.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> This set has already been reviewed by Martin, sending to list for >> transparency. >> >> diff --git a/libavcodec/arm/hevcdsp_init_neon.c b/libavcodec/arm/hevcdsp_init_neon.c >> index 201a088dac..112edb5edd 100644 >> --- a/libavcodec/arm/hevcdsp_init_neon.c >> +++ b/libavcodec/arm/hevcdsp_init_neon.c >> @@ -270,7 +270,8 @@ av_cold void ff_hevc_dsp_init_neon(HEVCDSPContext *c, const int bit_depth) >> put_hevc_qpel_uw_neon[3][1] = ff_hevc_put_qpel_uw_h1v3_neon_8; >> put_hevc_qpel_uw_neon[3][2] = ff_hevc_put_qpel_uw_h2v3_neon_8; >> put_hevc_qpel_uw_neon[3][3] = ff_hevc_put_qpel_uw_h3v3_neon_8; >> - for (x = 0; x < 10; x++) { >> + for (x = 3; x < 10; x++) { >> + if (x == 4) continue; >> c->put_hevc_qpel[x][1][0] = ff_hevc_put_qpel_neon_wrapper; >> c->put_hevc_qpel[x][0][1] = ff_hevc_put_qpel_neon_wrapper; >> c->put_hevc_qpel[x][1][1] = ff_hevc_put_qpel_neon_wrapper; >> > > This patchset led to regressions; see e.g. > http://fate.ffmpeg.org/report.cgi?time=20220104162724&slot=aarch64-linux-qemu-ubuntu-gcc-4.8 Indeed. I had only ran fate-checkasm while reviewing it, assuming that it had been fully tested with fate-hevc by the patch author. Instead of reverting the full 6 patch set, it's enough to revert a couple patches out of it though (there's some cosmetic cleanup that we can keep in for now). But I'm afraid we should disable the preexisting ff_hevc_sao_band_filter_8x8_8_neon function too. It's currently only run for the [0] case, which I think corresponds to width <= 8. But if that case also must handle widths that aren't an even multiple of 8, we'd have a lingering bug that isn't exercised by fate-hevc. // Martin _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".