« QUMARION ロガー | メイン | ユニティちゃんアプリを作ると1回は消される? »

2014年08月17日

吉里吉里Z 開発:: theora のサポート

    

H.264 に続いて、theora もサポートした。
Vorbis + Theora の ogg ファイルが再生できる。
リポジトリのバージョンか、次のバージョンから使える。

theora の DirectShow フィルタは公開されているので、それを krmovie に組み込む形で対応した。
ただ、オリジナルはいくつかの不具合を含んでいたし、盛大にメモリリークしていた。
メモリリークの修正と画像フォーマット ( YUV / RGB32 ) が切り替わらない問題、RGB32 での上限反転等の修正を行い、問題なく再生できる形にして組み込んだ。
元は細かくフォルダ分けされていたが、krmovie にまとめるついでにフィルタ関連のソースコードはまとめてしまった。
不要になったファイルも削除。
krmovie.dll が 800kb ちょっとと大きくなった。
デバッグオプションの ENABLE_THEORA で有効/無効を切り替えられるようにはしている。
DirectShow フィルタでのサポートなので、vomMFEVR モードでは再生できない。
拡張子は ogg か ogv 。
音声と見分けるために ogv にしておいた方がいいと思う。

これで MPEG1/theora/WMV/H.264 の4つの動画フォーマットがサポートされることになった。
CPU 負荷や画質、容量などを考えて選択できる。

対応中ソースコード読んで修正していると、何度も一から作った方が早いんじゃないかと言う考えが浮かんだが、何とか問題点は修正できた。
ただ、ちょっと効率上どうかなと思う部分も散見されるので、もしかしたまた手を入れたり、位置から作る可能性もあるかも。
もし Media Foundation 側でも対応しようとしたら、一から作ることになるけども。



投稿者 Takenori : 2014年08月17日 18:44




comments powered by Disqus
Total : Today : Yesterday : なかのひと