On Mon, Sep 9, 2024 at 6:35 PM Anton Khirnov <an...@khirnov.net> wrote:
> Quoting Zhao Zhili (2024-09-07 19:13:40) > > From: Zhao Zhili <zhiliz...@tencent.com> > > > > --- > > libavcodec/hevc/dsp_template.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/libavcodec/hevc/dsp_template.c > b/libavcodec/hevc/dsp_template.c > > index aebccd1a0c..a0f79c2673 100644 > > --- a/libavcodec/hevc/dsp_template.c > > +++ b/libavcodec/hevc/dsp_template.c > > @@ -302,8 +302,8 @@ IDCT_DC(32) > > > //////////////////////////////////////////////////////////////////////////////// > > #define ff_hevc_pel_filters ff_hevc_qpel_filters > > #define DECL_HV_FILTER(f) \ > > - const uint8_t *hf = ff_hevc_ ## f ## _filters[mx]; \ > > - const uint8_t *vf = ff_hevc_ ## f ## _filters[my]; > > + const int8_t *hf = ff_hevc_ ## f ## _filters[mx]; \ > > + const int8_t *vf = ff_hevc_ ## f ## _filters[my]; > > Looks ok, though I wonder why are these then used as intptr_t. > The original HEVC assembly code <https://github.com/FFmpeg/FFmpeg/blob/b3bbbb14d0685c8c1fbcf8455e59c7f444290c7c/libavcodec/x86/hevc_mc.asm#L204> uses mx and my as 64-bit variables. If we define it as an int, it will push a 32-bit value onto the stack, leaving the upper 32 bits undefined. Defining it as intptr_t will ensure all bits are filled. We no longer need to use intptr_t for x86 and NEON, as the assembly code now accepts const int8_t *.However, other platforms like MIPS still use intptr_t. Once all architectures are updated to use the const int8_t * style, we can modify HEVCDSPContext->put_hevc_xxx(intptr_t mx, intptr_t my...) to HEVCDSPContext->put_hevc_xxx(... const int8_t *hf, const int8_t *vf...). > -- > Anton Khirnov > _______________________________________________ > 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". > _______________________________________________ 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".