On 7/21/2016 9:01 AM, Anton Khirnov wrote: > Quoting Josh de Kock (2016-07-21 02:48:31) >> diff --git a/libavcodec/x86/hevcdsp_init.c b/libavcodec/x86/hevcdsp_init.c >> index f754038..b97f4c8 100644 >> --- a/libavcodec/x86/hevcdsp_init.c >> +++ b/libavcodec/x86/hevcdsp_init.c >> @@ -78,6 +78,23 @@ IDCT_FUNCS(32x32, sse2); >> IDCT_FUNCS(16x16, avx2); >> IDCT_FUNCS(32x32, avx2); >> >> +void ff_hevc_add_residual_4_8_mmxext(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); >> +void ff_hevc_add_residual_8_8_sse2(uint8_t *dst, int16_t *coeffs, ptrdiff_t >> stride); >> +void ff_hevc_add_residual_16_8_sse2(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); >> +void ff_hevc_add_residual_32_8_sse2(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); >> + >> +void ff_hevc_add_residual_4_10_mmxext(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); >> +void ff_hevc_add_residual_8_10_sse2(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); >> +void ff_hevc_add_residual_16_10_sse2(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); >> +void ff_hevc_add_residual_32_10_sse2(uint8_t *dst, int16_t *coeffs, >> ptrdiff_t stride); > > Is there any point at all in having mmxext/sse2 versions of those > functions when AVX code is also present. Seems to me that decoding HEVC > on anything pre-AVX is such a fringe use case so this might as well be > dead code.
The mmxext ones are for size 4 (c->add_residual[0]) and have no sse2 or avx versions. > > Also, the mmxext functions are not actually used from what I can see. This is correct, the patch is missing the relevant init code and it should be added. _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel