プログラマのつれづれなるままにプログラマのつれづれなるままに音宮志久が思ったことなどをネタにします。プログラムネタ・数学ネタがメインです。+libvorbis)実装日記その1コメントを残すというわけで、前に記事を書いてからlibtheoraを使った動画再生を実装していましたが・・・・。思った以上に大変な作業でした。いうのもoggコンテナを使うことが前提で実装されているのでoggコンテナの知識が必要oggコンテナから直接theoraとvorbisを読み出す形の実装なのでほとんど素で処理の実装が必要(vorbisfileを自前で実装するようなもの)oggコンテナがストリーミングを前提としたものなのでシーク処理の実装がとっても大変・・・というよりlibtheoraがシーク処理を前提にしていないようというかなりの悪条件が響いたからです。実装中は各ライブラリのドキュメント+サンプルとにらめっこしならがどの関数がどの処理をするのかを理解しながらの進行になりました。ogg-vorbisを再生させるだけならvorbisfileの実装を簡単に理解できればそれでいいのですが、このレベルになるといろんな部分に処理が飛ぶのでドキュメントを閉じたり開いたりと面倒なことこの上なかったです。おかげでoggコンテナがどういう構造をしているかほぼ完全にわかったところがある種意味がないけれども理解ができたというところですが。その1を書いているということで、まずはデコーダのベース部分が仮組みが終わったというところです。YUV=>RGB変換はSIMD化を後回しにしてとりあえず変換させるだけの組み込みです。平面からピクセルパックへの変換なので前に組んだコードが使えないんですね・・・。シーク処理などはかなり怪しいので次の実装をして動きを見ながら修正というところでしょうか。次はDirectShowのフィルタとして実装して動きを見てみるか、自前の動画処理で実装して動きを見てみるか何ですが・・・。コメントをキャンセルメールアドレスが公開されることはありません。気になるプログラムネタや数学ネタがあったら書き込みたいのだが残業が長すぎて眠気が全くとれず体調があまりよくない。過労などでぶっ倒れるかもしれない。あと、さすがに独り身が寂しいのでなんとかしたいと考えてはいるのだが...。アクセスカウンタアクセス数:スポンサーリンクモバイルバージョンに。