2009-06-02

WindowsではliboggplayはMMXしか使わない

調べてみたら、liboggplayでSSE2が有効になってないので、本家liboggplayのTracにバグをファイルしておいた。config_win32.hを直すのもいいんだけど、Visual C++の環境でATTRIBUTE_ALIGENMENT_MAXなんて定義使う必要もないし。

SSE2は、Pentium 4とCore 2以降 (Pentium Mは除外) またはPhenonm以降(AMDの場合)じゃないと、128ビットネイティブに演算できないから、CPUによって速度がまちまちなのが欠点。Google ChromeのYUV変換もMMX直書きだったし。

ちょっと話がそれるけど、そういえば、iDCT変換だってWindows上だとMMXは無効にしてあるんだよね、PGOでこけるからという理由で。そもそもPGOをそこだけ辞めるという選択肢があるとは思うんだけど、そこはRocと議論すべきかなぁ。

追記

Bug 496529としてMozilla側にもファイルしておいた。チェックイン制限が解除されれば直るでしょう。

0 件のコメント: