ffmpeg AT&T汇编转intel汇编 之(emms_c)

相信大家在移植ffmpeg代码到vc中都会遇到很多汇编指令,是VC不支持的。那是因为AT&T汇编和intel汇编格式不兼容引起的。
 
今天给大家介绍一下libavutil\x86\internal.h 中emms_c函数的移植吧。
 
函数原型:
01.static av_always_inline void emms_c(void) 
02.{ 
03.    if(av_get_cpu_flags() & AV_CPU_FLAG_MMX) 
04.        __asm__ volatile ("emms" ::: "memory"); 
05. 
06.} 

因为VC asm提供了emms,直接调用就可以了。因此修改为:

01.static av_always_inline void emms_c(void) 
02.{ 
03.    if(av_get_cpu_flags() & AV_CPU_FLAG_MMX) 
04.        __asm emms; 
05.} 

 

你可能感兴趣的:(ffmpeg AT&T汇编转intel汇编 之(emms_c))