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 <j...@itanimul.li> > --- > 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 - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".