« MPEG1とMPEG2の見分け方 | メイン | Visual C++のコンパイラが無償ダウンロード可能になってた »

2005年10月15日

動画エンコーダー開発:: 目的のMPEG2フィルタつながらず

    

Theora Encodeフィルタの入力ピンでFORMAT_VideoInfo2に対応した。
ただし、インターレース形式は非サポートとして、プログレッシブ形式の時のみ受け入れるようにした。

で、実際に動作させて見るとフィルタはつながるが、実行中にIllegal Instruction例外で落ちる。
デバッガで見るとpavgusbと言う命令がコールされた時に例外が出ているようだ。
調べてみると、pavgusbは3D Now!命令だとか……って、なんでPen4で3D Now!命令が。
でも、それならAthlonマシンで!っと、違うだろうなぁと思いつつ動作させると、ランタイムエラーで落ちた。
で、ふとWinDVDで見たらどうなるだろうと思って試したら、同じように落ちた。。。
このWinDVDはAthlon用なのか。
確か何かのバンドル版だったと思ったけど、Athlonマザーだったかな?
でも、AthlonマシンならWinDVDは動くので、ランタイムエラーは別の原因だろう。

なんかffmpeg2theoraでいい気がしてきた。
ただ、キーフレームを入れたりするには、作らないと厳しそうだが、libtheoraのAPIを見た感じでは、どうも指定位置にキーフレームを入れるものはないようだ。
そのうち追加されるかもしれないけど、されなかったら自分で何とかする必要がありそうだ。

エンコーダではなく、先にデコードフィルタを作るかな。。。
ま、すでにMPEG1やAVI、WMVからなら普通にエンコードは出来るようになってるとけど。



投稿者 Takenori : 2005年10月15日 06:36




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