さて、次回のブリュンヒルデのバージョンアップについての内容などなど。ちょっと前回の記事の内容に触れつつ週末の貴重な時間を使った結果などについて触れております。
前回のlibvpxの記事について補足です。どうも「libvpx 1.4.0」で色空間RGBがいけるじゃないかと書きまして、週末の時間の合間に試してみたんですが、なんかどうもダメぽいです。「1.1.0」では初期化の際にエラーでRGBに対応してねーぞ的なエラーが返って来てたんですが、「1.4.0」だと初期化では問題ナッスィングでしたので、ややや!これは!と思ってたんですけど、何かその先でエラーになるのでこりゃちょっと骨が折れそうだぜーと思ってたんですが、別のところでステータスを確認したら、YV12かI420しか受け付けねーぞ的なエラーが出てて、こりゃ「1.1.0」と同じじゃねーか!チャンチャン!でした。これはアレっすね、VP9用に先に進めるような感じにしたんじゃないですかね。VP9のプロファイルでYUV444がいける的な事もソースに書いてありましたし。いやまたこれトラップかもしれんですけど。
さて、そんなこんなで次回のBrynhildrはちょっとした内容のバージョンアップで終わりそうな気配でしたけど、RGBの件で何かどうも気が収まらないので、「libvpx 1.4.0」でちょっとパフォーマンスが上がらんものかと調整を重ねておりました。そんな折、パラメータを調整しつつアセンブラソースも手直ししてたんですが、やっぱりあんまり効果が出ず。なので前回の記事の通り「1.1.0」から「1.4.0」に変えたところでパフォーマンスはそれほど上がりませんよ、って事になりそうです。
・・・と思ってたんですが。
静止画だとそれほど向上も見受けられなくて、しかもDWM環境で確認した程度だったんですが、良く々動きの激しい動画とか使って比較してみたところ、ややパフォーマンスが上がっている事が判明しました。そんでもってさらにゴリゴリと調整して、速度が上がるなら転送サイズがちょっと増えても良いや的な速度重視で調整したところ、さらに速度が向上しました!
環境によっては、最大で約1.5倍の速度になります!
環境によってはってのがミソでしてCPUの性能に大きく左右されます。あと特に動画で威力を発揮します。あと映像圧縮設定「compress」限定です。今回はVP8周りの部分しか触ってませんし。あと、画質はややほんの少し悪くはなってるんですが、比較してもそれほど分からない範囲だと思います。
本当はもっとVP8のソースのコアの部分まで見てみたいんですが、膨大な時間が掛かりそうなんで、楽しみは後に取っておきたいと思います。リモートデスクトップ用途だとVP8のいらん処理が大量にありますんで。その頃はまたVP9やらVP10もあって目移りしそーな気がしますけどねー。
さて、そんな感じでさらに高速になったBrynhildrの次回バージョンアップに御期待くださいませ!