[FFmpeg-devel] [PATCH] x86/emms: run the instruction unconditionally on supported targets

James Almer jamrial at gmail.com
Thu Feb 4 05:50:53 CET 2016


On 2/3/2016 11:57 PM, Michael Niedermayer wrote:
> On Wed, Feb 03, 2016 at 02:21:28AM -0300, James Almer wrote:
>> Inlined functions like AV_ZERO* and AV_COPY* may use mmx instructions
>> regardless of runtime cpuflags.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>> On targets where __MMX__ is not defined (like default x86_32 builds) the
>> runtime check is a must, and neither of the above functions will use mmx
>> instructions anyway.
>>
>>  libavutil/x86/emms.h | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/libavutil/x86/emms.h b/libavutil/x86/emms.h
>> index a529b6b..0deeb8c 100644
>> --- a/libavutil/x86/emms.h
>> +++ b/libavutil/x86/emms.h
>> @@ -34,7 +34,9 @@ void avpriv_emms_yasm(void);
>>   */
>>  static av_always_inline void emms_c(void)
>>  {
>> +#if !defined(__MMX__)
>>      if(av_get_cpu_flags() & AV_CPU_FLAG_MMX)
>> +#endif
> 
> should be ok, but please add a comment to the code explaining why
> this is done

Done and pushed. Thanks.



More information about the ffmpeg-devel mailing list