化けるというか斜めになって色がおかしくなるんですが。(きれいに斜めになるので輪郭は把握できる)

なお、試したのは体験版です。また、Neo 以外の EDIUS でどうなるかは調べる気も起きません…が、どうせ同じでしょう。

Read the rest of this entry

機能追加
  • キーフレーム間隔を指定するオプションを追加した。(-k)
  • コーデックステートを指定するオプションを追加した。(-s)
  • エンコードのテストのみを行うオプションを追加した。(-e)
  • バッファを高いアドレス(x86では0x10000以上、x64では0x100000000以上)に確保するオプションを追加した。(-H)
  • 複数ファイルに対してバッチでテストできるようにした。

Read the rest of this entry

映像コーデックのインターフェースごとのコーデックの名前の長さについて。なお、全て1バイト文字であるものとします。

インターフェース 長さ 制限理由と補足
VCM 15 ICINFO の szName メンバ
Windows XP で、AVI ファイルのプロパティを表示させたときに映像フォーマットとして表示されるのはこっち…だったはず。Windows 7 ではたぶん使われていない。
127 ICINFO の szDescription メンバ
一般的なVCMコーデック選択ダイアログに出てくるのはこっち。
AVIコンプレッサフィルタでラップされてDirectShowでエンコーダの一覧に載るのもこっち。
DMO 39 DMORegister() の szName 引数
マニュアルには79文字まで大丈夫でそれを超えると切り捨てられると書かれているが、実際に試すと39文字を超えると空文字列を指定したのと同じになってしまう。
MFT 80 MFTRegister() の pszName 引数
マニュアルには記載なし。80文字を超えるとE_INVALIDARGで失敗する。
QuickTime 31 CodecInfo の typeName メンバ
不明 ‘strn’ リソースに指定する文字列
この文字列がどこで使われるかは不明。
バグ修正
  • AVX をサポートしないプロセッサでクラッシュすることがあった。
  • 32個を超える論理プロセッサを持つシステムでクラッシュすることがあった。

Read the rest of this entry

映像のビット数 (bpc) を減らした場合に圧縮率がどう変わるかを計測してみました。ソースは Xiph.org Video Test Media の crowd_run を 1080p YUV422 8bpc (UYVY) に縮小したもので、右にシフトしてビットを削って圧縮します。なお、予測値の計算も残差も同じビット数になるようにしています。

Read the rest of this entry

アセンブリ言語でプログラミングしたい場合、以下のような方法があります

Read the rest of this entry

ちょっと高速化した。

Read the rest of this entry

単純なテーブル参照を繰り返すことによりハフマンデコードする場合のデコードテーブルのサイズについて考えてみる。

2014-01-19 更新: 証明を詰めて結論が変わりました。

Read the rest of this entry

性能向上
  • ULRG,ULRA: 「圧縮率優先」でエンコードされた映像の RGB32/ARGB へのデコードを高速化した。

Read the rest of this entry

AVX2、具体的には VPGATHERDD と VPSLLVQ が実装されたので、それを使ってハフマンデコードを4つ並列に行うコードを書いていました。

Read the rest of this entry