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

时间:2020-12-11 19:27:35

相信大家在移植ffmpeg代码到vc中都会遇到很多汇编指令,是VC不支持的。那是因为AT&T汇编和intel汇编格式不兼容引起的。

今天给大家介绍一下libavutil\x86\internal.h 中emms_c函数的移植吧。

函数原型:

static av_always_inline void emms_c(void)
{
if(av_get_cpu_flags() & AV_CPU_FLAG_MMX)
__asm__ volatile ("emms" ::: "memory");

}

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

static av_always_inline void emms_c(void)
{
if(av_get_cpu_flags() & AV_CPU_FLAG_MMX)
__asm emms;
}


版权所有,未经允许不得转载.

发布:http://blog.csdn.net/weinyzhou/article/details/7592091