ffmpeg AT&Tアセンブリ回転intelアセンブリ(emms_c)


ffmpegコードをvcに移植する際に多くのアセンブリ命令に遭遇すると信じられています.VCではサポートされていません.それはAT&Tアセンブリとintelアセンブリフォーマットの互換性がないためです.
今日はlibavutilx 86internalをご紹介します.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