私ってお馬鹿さん...

| 1 Comment | No TrackBacks

今日、AVIファイルの解析プログラムを書いていて気づいたのですが、ffmpegにはモノラル1ビットのビットマップにするオプションがあるではないですか!

ffmpeg -i <file> -f rawvideo -pix_fmt monob ...
  

さっそくそのオプションで変換し、画像部分を取り出して、圧縮も何もせず力技の再生プログラムを書いて試してみると...。

何のことはない、簡単に再生できてしまいました。 しかも色(グレイスケール)が誤差拡散されている! 以前PC-8001で見たものと同じです。あれ、どうやったんだろ、すごいなぁと思っていました(あ、もちろんPC-8001版でこれを使ったのかどうかはわかりませんし、それに関係なくすごいですよ)。

なぜこれに気づかなかったんだろう。 私は、自分でビットマップからモノクロへの変換アルゴリズムまで書いてムービーファイルを作っていたのでした...。 しかも、誤差拡散なんて面倒なのでやらないで。

まさにReinvent the wheelの極致!

ああ、私ってお馬鹿さん...。

まぁ、以前の画像データの特性(RLEがかけやすい)と作成した圧縮により、自前のアルゴリズムのほうがfps値が上がっているので、良しとしましょうか...ヒクヒク

ちなみに、さらに間抜けなことに、最初は以下のようにしていたため、できたファイル(RIFFフォーマット)からさらに自前のプログラムで加工していました。

ffmpeg -i <file> -vcodec rawvideo -pix_fmt monob ... xxx.avi

まぁこれは、もともと画像と音を同時再生するためにやっているのではあるんですが。


アホな自分へのショックが大きすぎて、立ち直りに時間がかかりそうです...。


No TrackBacks

TrackBack URL: http://www.markn.org/cgi-bin/mt/mt-tb.cgi/841

1 Comment

あー,8001版も思いっきり再発明してます orz。
まあ,再発明といっても誤差拡散の処理はATImageというフリーソフトからそのまま拝借しているので,大した手間はかかっておりませんが。
ffmpegは機能が多すぎて,私は全然使いこなせてないです。もったいない。

Leave a comment