« MPEG1とMPEG2の見分け方 | メイン | Visual C++のコンパイラが無償ダウンロード可能になってた »
2005年10月15日
動画エンコーダー開発:: 目的のMPEG2フィルタつながらず
Tweet @jin1016をフォロー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