バージョン 19.0.1 で追加された UtVideo T2 (UMxx) ファミリの詳細などです。

T2 は何を意味しますか

Type 2 を意味します。文字数制限の関係で T2 となっています。以前からある方は Type 1 ということになりますが、名前はそのままにしてあります。

最初は SIMD friendly で SF にしようかと思っていたんですが、2017 年にもなって SIMD フレンドリーでない方がおかしいのでやめておきました。

QuickTime 版のエンコーダが無いのはなぜですか

もちろん作るつもりではあったのですが、Mac で(iMovie を使って)出力した mov ファイルを QuickTime Player で再生しようとするとクラッシュする問題を短期間で解決できなかったのでとりあえず後回しにしました。

YUV420 のものが無いのはなぜですか

YUV420 を正しく扱うには人生は短すぎます。

インターレースの設定が無いのはなぜですか

2017 年にもなって作ったコーデックにあっていい機能ではありません。

性能上の特徴は

以前からあるコーデック (FourCC: ULxx) と比較した場合、一般に圧縮比は低く速度は速くなります。

速度に関してですが、特にシングルスレッド時に大きな差が出る一方、マルチスレッド時はそこまで差は出ません。これは、マルチスレッド時は演算器はコア数分増えるのに対しメモリ(メモリコントローラ)は1つであるため、メモリの速度によって頭打ちになってしまうからです。ある程度これを回避する方法は考えていますが、とりあえずリリースすることを優先しました。

また、ULxx とは違い SIMD フレンドリーであるため、 AVX2 環境に最適化したルーチンを実装することにより高速化を果たしています。さらに、2019 年に出るであろう Ice Lake で初めてパフォーマンスデスクトップ向けにリリースされる AVX-512 (実際に使いたいのは AVX-512VBMI2)を使うことで、さらに高速化できるものと考えています。(あまり高速化してもメモリがついてこれないのが残念ですが)

具体的な性能のグラフは以下のようになります。(結局まだフルHDのクリップを使っています)

Trackback

no comment untill now

Add your comment now