今日の作業

2:17

SDL関係もちょっと考えてます。Acoveaが終わったら挑戦してみよう。(あと2〜3時間で終わりそう)

2:41

あー、バンブラの楽譜書き出し関係のプログラムや.bbsデータが入ってるディレクトリをまるごと削除してしまった予感……。それも一ヶ月以上前に。……もういいか。

6:04

むぅ、どうも1.1.3リリースからtrunkまでの間のどこかで退化してるようだ。調べてみる。

8:39

いろいろと試行錯誤した結果、av_mallocはやっぱり16バイト境界にアラインするのが良いみたい。以前は32バイト境界にアラインするように変更して速くなったんだけど、今は逆に遅くなる。もしかするとコンパイラの最適化オプションの変更と関係があるのかも。

8:52

Acoveaの結果。Sysがかなりブレているので、VCを参考に。

 -O2 -funroll-loops -fno-defer-pop (1.1.3リリースで使用):
BENCHMARKs: VC: 124.663s VO:   0.138s A:   0.000s Sys:   3.539s =  128.339s
 Acovea's Best-of-the-Best:
BENCHMARKs: VC: 108.905s VO:   0.137s A:   0.000s Sys:   1.278s =  110.320s
 Acovea's Common Options:
BENCHMARKs: VC: 109.461s VO:   0.133s A:   0.000s Sys:   4.430s =  114.024s

えーと、素晴らしい結果ですな。

ソフトウェアによって最適なオプションは違うんだけど、MPlayer以外でも速くなる可能性はあると思うので、自分でAcoveaを使うのが面倒な人はこのオプションを使ってみてはいかがでしょうか。

9:26

XQが138.60%になったけど、まだ音声と同期して再生することが出来ない。150%ぐらい必要な感じ。HQなら余裕。そろそろ最適化のネタも尽きてきたんですが。

12:51

MPEG-1/2の再生時にSegfaultするバグを修正した。かなり初期に書いたiWMMXt版動き補償関数にバグがあったんだけど、バグを修正するかわりに丸々書き直した。

dsputils_iwmmxt_rnd.hを久しぶりに見たけど、まだそれなりに最適化の余地があるなぁ。