GitHub の PR のブランチを、PR のマージボタンを押すのではなく、 GitHub 外でマージして push したらどういう結果になるか気になったのでやってみました。

Read the rest of this entry

BMI2 (Bit Manipulation Instructions 2) には PEXT/PDEP という命令があって、32/64 ビット値の中から指定したビット群を取ってきて下に詰めて取得する、という処理(とその逆)が1命令でできます。Intel だと Haswell 以降で使えます。

Read the rest of this entry

性能向上
  • ULxx, UQxx: 圧縮比が高い映像のエンコードとデコードを高速化した。

Read the rest of this entry

(This article is English translation of Japanese version)

I have to create additional video clips for benchmarking because I have enhanced UQxx. The previous method is converting master clip to appropriate subsampling and bit depth by ffmpeg and converting format only by VirtualDub2. However, I think it is now bothoring, so now I convert master clip to required clip directly by VirtualDub2.

Unfortunately, the recent version of VirtualDub2 is not able to output uncompressed YUV422P16/YUV420P16 clips. I have to use a little old version (build 43073 or older) to do so. This behavior change is intended. (An option to enable to output uncompressed clips those formats is added in build 44282)

内部保持形式が 10bpc のバリアントを強化したので、ベンチマーククリップもそれに応じて作らなければいけません。今までの手順では ffmpeg で一旦サブサンプリングとビット深度を変換してから VirutalDub2 でフォーマットだけ変えることになっていましたが、これめんどくさくなってきたので全部 VirtualDub2 で b48r のマスターソースから直接変換することにしました。既存のものも再生成しています。

ちなみに必要なクリップのうち YUV422P16/YUV420P16 は、最近の VirtualDub2 では非圧縮 AVI ファイルとしては出力できない(エンコーダへの入力フォーマットとしては使える)ため、少し古いバージョン(build 43073 またはそれ以前)を使う必要があります。この動作の変更は意図したものだそうです。(build 44282 で非圧縮 AVI ファイルとして出力できるようにするオプションが追加されました)。

機能追加
  • 複数回計測して平均を取って表示する機能を追加した。(-m)
その他
  • -W オプションで、5秒待つのではなくエンターキーを待つようにした。
  • キャッシュのフラッシュを CLFLUSH(OPT) 命令で行うようにした。
  • 映像ファイルを開けなかった時には処理をすぐに終了するようにした。

Read the rest of this entry

最近(UtVideo のバージョンで言うと 21.0.0 以降)、またウイルス対策ソフトウェアに false positive されるようになっているようです。コンパイラを変えた (VS2015->VS2019) ので検出され方の癖が変わったかもしれません(以前にもあった気が…)

ひとまずメジャーどころ (Microsoft, Norton, McAfee, Avast/AVG) に false positive report は投げましたが、現状返事があるのは Microsoft と Norton だけです。

ふざけんなよ。

機能追加
  • UQY2: P210, P216 での入出力に対応した。
  • UQY0: P010, P016 での入出力に対応した。
性能向上
  • UQY2: YUV422P16 での入出力を高速化した。
  • UQY0: YUV420P16 での入出力を高速化した。

Read the rest of this entry

2020年02月にいただいた寄付は以下の1件です。ありがとうございました。

日付 お名前 金額
02/12 Alessandro Portale $100.00

なお、2020年01月には寄付はありませんでした。

機能追加
  • 内部保持形式が YUV420 10bit のコーデック (FourCC: UQY0) を追加した。
  • UQY2: YUV422P16 での入出力に対応した。
性能向上
  • UQY2: v210 へのデコードを若干高速化した。

Read the rest of this entry