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

Reply via email to