私ってお馬鹿さん...

  • 投稿日:
  • 更新日:2015/02/09
  • by
  • カテゴリ:

今日、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

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


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