Quoting Diego Biurrun (2016-07-21 14:34:35) > On Thu, Jul 21, 2016 at 02:01:59PM +0200, Anton Khirnov wrote: > > Quoting Josh de Kock (2016-07-21 02:48:31) > > > --- 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. > > I watch HEVC movies all the time, I have no AVX on my Phenom quadcore. > Before I had a Core 2 Duo dualcore, which was also plenty fast enough > for 1920p HEVC movies. Both CPUs have SSE2. However, the usefulness > of mmxext is indeed debatable.
Ok, I take back my comment against SSE. Seems there's still plenty of CPUs without AVX. -- Anton Khirnov _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel