QSVEnc 5.00 beta1

※今回は問題がまだいくつか残っているのでベータ版です。

ここ1か月半ぐらい、かなりQSVEncをいじくりまわして拡張を進めてきた。

ちょっとまだ問題点とかは残っているけど、だいぶ動作するようになってきたし、一応Rocketlakeの発売日の今日(3/30)に向けて進めてきたというのもあるので、まだベータ版だけど一応公開。

おおまかなにどういうことがしたかったかというと、

・最新のAPI 1.35への対応。
・Icelake/RocketlakeのYUV422/YUV444デコード対応。
・Icelake/RocketlakeのYUV444エンコード対応。
・OpenCLフィルタを使用可能に。

のあたりを追加した。ただ、そのためにQSVEncのメインループを一度すべて破壊して更地から作り直したのでなかなか大変だった。

特にOpenCLフィルタの導入はかなり大変だった…。そもそもは3~4年ぐらい前やろうとしてうまくいかなくて挫折したものだったけど、今回はリベンジということで、なんとか入れることができた。

とはいえ、まだOpenCLフィルタを入れる地盤は作った、というだけであまり実際にはフィルタを追加できていない。このあたりは今後少しずつ追加していく予定。



[ 新機能・変更等 ]
・MediaSDKの更新、API 1.35に対応。

・内部実装の刷新し、OpenCLフィルタを組み込み可能に。
 ・--vpp-knnの追加。
 ・--vpp-transposeの追加。

・Icelakeへの対応を拡充。
・Rocketlake対応の初期実装。

・HEVC YUV422/YUV444デコード(10bitまで)に対応。(Icelake)
・HEVC YUV444エンコード(10bitまで)に対応。(--output-csp i444, Icelake)
・VP9 YUV444デコード(10bitまで)に対応。(Icelake)

HEVC 12-bitデコードに対応できているかもしれない。(Rocketlake)
VP9 12bitデコードに対応できているかもしれない。(Rocketlake)

・--check-featuresで、HWデコードに対応している色空間の情報を追加。
・リサイザのアルゴリズムを指定するオプションを追加。(--vpp-resize/--vpp-resize-mode)
・H.264 Level 6, 6.1, 6.2を追加。

・不安定だったCPU版の--vpp-subburnを廃止し、OpenCLによる--vpp-subburnを追加。

[ 既知の問題 ]
・Linux環境ではビルドできない。
・--vpp-delogoが動作しない。
・avhwリーダー以外でYUV422を読み込んでエンコードしようとすると正常に動作しない。
・その他YUV422/YUV444関連はテストが不十分な可能性があります。時間が足りず申し訳ない…。

[ 廃止 ]
・vpp-half-turnを廃止。
--vpp-transpose等で代用できる。

[ 注意点 ]
Rocketlakeはまだ手に入れていないので未検証です。関連機能は正常に動作しない可能性が高いです。
・YUV422/YUV444では、動作しないvppフィルタが多いです。(MediaSDKが非対応)
・Rocketlakeで対応するとされるYUV422エンコードはおそらくちゃんと動きません。



まだRocketlakeを手に入れていないけど、第12世代の内臓GPUが載るということで楽しみ。あとは爆熱ということでそっちもある意味楽しみ。

今回はi9を買う意味はほぼほぼなさそうなので、i7 11700Kを入手する予定。



QSVEnc ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

QSVEncBenchmark.zipはベンチマーク用です。(重いので注意)。run_benchmark.batをダブルクリックで実行です。

QSVEncCのオプションについてはこちら。
QSVEncCオプション一覧>

ソースはこちら


スポンサーサイト



コメントの投稿

非公開コメント

No title

いつも利用させていただいています。ありがとうございます。

beta版ということで、古いマシンではありますが
いくつか試行した結果を報告しておきます。

1.Sandyで使用したところ、
Failed to find OpenCL platforms.
と表示され、動きませんでした。
 OpenCLのない環境では動かないようですが、これは想定された動作ですか?

2.Ivy,Haswellで使用したところ、
 Failed to find d3d9 device.
 と表示され、動きませんでした。
 --d3d11を指定すれば正常に動作しました。

3.--vpp-transposeを試したところ、
 Error: Unknown option: --vpp-transpose
 と表示され、動きませんでした。

4.Ivyで--vpp-resize spline16 --output-res 480x270を試したところ
 --------------------------------------------------------------------------
 build log of Intel(R) HD Graphics 4000...
 :109:29: error: use of undeclared identifier 'M_PI'
  const float pi = (float)M_PI;
^

 error: front end compiler failed build.
 --------------------------------------------------------------------------
 Error (clBuildProgram): build program failure.
 resize: failed to load RGY_FILTER_RESIZE_CL(resize)
 と表示され、動きませんでした。
 Haswellでも同じようなエラーが出ました。


以上、長くなりそうだったので、ログは貼っていませんが
必要であれば貼ります。

Windows 10 x64 (19042)
Intel Core i5-3320M @2.60GHz [TB:3.09GHz] (2C/4T) <IvyBridge>

QSVEnc 4.13までは正常動作したのですが5.00 beta1を導入後、AviUtlによるエンコードで「Failed to find d3d9 device.」とログ表示され上手くいきませんでした。

フレームバッファやビデオメモリが関係しているのかと思われますが、引き続きQSVEnc 5.00でもIvyBridge製品をサポートしていただけますでしょうか?

Re: No title

> ToT様

いろいろな世代での報告ありがとうございます。

正直今回のバージョンに関しては、以前のCPUは気にせず実装したので、Skylake以前だといろいろ問題が生じそうです。

1. SandyBridge
OpenCLがない環境のことは全く考えておりませんでした、すみません…。SandyはOpenCL非対応でしたね。OpenCLを使用しないモードを追加しようかなと思います。

2. d3d9で動作しない
これが一番謎で原因が今もわかりません。

3. --vpp-transpose
すみません、--vpp-transformの誤りでした。
https://github.com/rigaya/QSVEnc/blob/master/QSVEncC_Options.ja.md#--vpp-transform-param1value1param2value2

4. M_PIがない
3.141592...とか定義して回避するようにします。

ほかにもBroadwell以前ではOpenCLコンパイラ周りのトラブルが生じるようなので修正予定です。

> 2021-04-05(02:06) 様
上記2番と同様の問題で、現状解決のめどが立っていません。もう少し調べようかと思います。

Re: No title

> ToT様
> 2021-04-05(02:06) 様

問題点のご指摘ありがとうございました。

ご指摘いただいた諸々の問題について、"Failed to find d3d9 device"も含めて解決を試みた5.00beta2に更新しました。
https://rigaya34589.blog.fc2.com/blog-entry-1337.html

今回はHaswellとSandyBridgeについては、動作できることを確認しました。

IvyBridgeについても大丈夫かとは思いますが、手元に実機がありませんので、もしかするとなんらかの問題がまだ残っている可能性はあるかもしれません。


プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

rkmppenc
- Rockchip系SoCのhwエンコーダ

x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定
- これまでの測定結果はこちら

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR