QSVEnc 1.25

・不安定の条件でのエンコードを自動的に回避するようにした。


不安定な条件というのは、細かくいうと…

- API v1.8以降、Lookahead系 + シーンチェンジ検出の組み合わせは不安定(フリーズ)
→自動的にシーンチェンジ検出をオフに
このLookahead系 + シーンチェンジ検出の組み合わせの問題は以前ご指摘をいただき、QSVEnc 1.22からはLookahead系の時は自動的にシーンチェンジ検出がオフになるようにしていた。ただ確認するとAPI v1.7のドライバではLookahead系 + シーンチェンジ検出を組み合わせて使っても問題ない…というなんとも微妙な話。

- Lookahead系でのbframes >= 10 + b-pyramidは不安定(フリーズ)
→自動的にピラミッド参照をオフに
これも最近コメントで指摘いただいたもの。ありがとうございました。

- b-pyramid + シーンチェンジ検出の組み合わせは不安定(画像崩壊とか)
→自動的にピラミッド参照をオフに
これもいろいろ試した結果、怪しい結果が得られるため。



まあ要するにシーンチェンジ検出やらピラミッド参照やらあたりがあやしく、組み合わせ次第でダメ…ということみたい。オプションの組み合わせをちょちょっと変えるだけで問題を回避できるので、正直インテルのドライバが壊れてるんじゃないかと思うのだけど、どうなんだろ。こちらのコードの問題の可能性もないわけじゃないけど…。



表にするとこんな感じ(API v1.8)。なんかどんどんカオスになってくんだけど…
QSVEnc_1.25_features



ちなみにチェックしたドライバは
3336 (API v1.7)
3412 (API v1.7)
3496 (API v1.8)
3612 (API v1.10 (?))
3652β (API v1.10 (?))

今回はLookaheadやらピラミッド参照が焦点なので、Haswellのみでチェック。

まず、こんなかんじでいろんな組み合わせでバッチ登録しておいて、

QSVEnc_1.25_test_run

で「開始」っと。

結構時間かかって終わったら、ドライバ入れ替えてもう一回、終わったらドライバ入れ替えて…を繰り返す。

まあ別に繰り返すのはいいんだけど、なにが面倒かというと、インテルドライバを上書きインストールするとたまにQSVを認識しなくなるので、いちいち「アンインストール」→「再起動」→「インストール」→「再起動」→「テスト開始」…

ちゃんと上書きできるようにしといてほしいです…



QSVEnc ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(dropbox)からどうぞ。同じものです。
Intel Media SDKのソフトウェア用dllはfull版にのみ含めるようにしました。

QSVEncBenchmark.zipはベンチマーク用です。(220MBと重いので注意)。run_benchmark.batをダブルクリックで実行です(要 Avisynth + lsmashsource.dll)。


スポンサーサイト

コメントの投稿

非公開コメント

No title

QSVEnc活用させていただいております。

拡張QSV出力画面のモードで例えば「固定量子化量(CQP)」を選択してOKを押し、再度拡張QSV出力画面を開くと「固定量子化量(CQP)」が選択された状態になりますが、「固定品質モード」を選択→OKで再度動画面を開くと「固定量子化量(CQP)」が選択されてしまいます。
「先行探索レート制御」以下を選択していると次回画面を開いたときに他のモードが表示されてしまうようです。

修正いただければ助かります。

Re: No title

うーん、たしかに困った動作ですね…

こちらで試しているのですが、再度開いてもきちんとOKを押した時のモードになっていて、原因がよくわかりません。

コードのほうなど、もう少し調べてみます。

No title

早速のご返答ありがとうございます。

左上の「ハードウェアエンコード (QuickSyncVideo)」チェックボックスをオンからオフにすると、「先行探索レート制御」以降のモードが「----------------」となりますが、直前に「先行探索レート制御」以降のモードを選択していた場合は、当該モードが無効になるので有効である「可変QP~」以前のモードが選択された状態に強制的に切り替わります。それと同様の動作をしているように見えます。

画面が開かれたときの初期表示処理で、前回画面表示時に選択していた(例えば)「固定品質モード」を初期選択表示しようとしたがその時点では当該項目は「----------------」(無効)になっているので「固定量子化量(CQP)」に切り替えた、という動作になっている感じです。

※使用OSはWindows 8.1、GPUドライバは10.18.10.3621です。

Re: No title

おっしゃるとおり、「----------------」になっているモードから「固定量子化量(CQP)」に切り替える処理が初期化時に誤作動している可能性が高く、確認してみたのですが、

1. はじめにAPIバージョン・機能情報チェック
2. その情報をもとにエンコードモードの可否を確認(「----------------」にするかどうか)
3. その後オプションをGUIに反映

という動作順序になっており、問題ないはず…なのです。(実際こちらではそうなっています)

ただ、おっしゃるように初期化時のミス(イベント発生タイミングのミス)が一番可能性があるので、そこのコードを見返して原因を探ってみます。

No title

ソースコードを確認したり、初期化の順序が正しいかなど調査しましたが、原因を特定できず、なぜ勝手に他の表示になってしまうのか、わからずにいます。

たとえば、機能情報チェックに時間がかかっている場合など、初期化時の様々なケースを想定してみたのですが…どうすれば問題を再現できる&解決できるのか、現状わからずにいます。

申し訳ありません。

No title

rigayaさんは、Sandy Bridge をお持ちでないようなので、i7-2600K での情報を報告します。
i7-2700K だったらもっと良かったのですが、i7-2600K です。すいません。

・Core i7-2600K 3.4GHz (~3.8GHz)
・ASUS P8H67-V (倍率固定のH67です)
・DDR3-1333 24GB (8GBx2 + 4GBx2)
・GeForce GTX 660 (ベンチ中は BIOS で iGPU をプライマリに設定)
・インテル HD グラフィックス・ドライバー:15.28.22.64.3517 (最新)

Environment Info
OS : Windows 7 (x64)
CPU: Intel Core i7-2600K @ 3.40GHz [TB: 3.50GHz] (4C/8T)
GPU: Unknown (Failed to find Intel GPU)
RAM: DDRx-xxxx / x channel (Total 24278 MB / Used 10810 MB)
QSV: QSVEncC 1.23 (x86) / API[hw]: v1.4 / d3d9

TargetUsage ([TU-1]:Best Quality) ~ ([TU-7]:Fastest Speed)

Encode Speed (fps)
TargetUsage, 1920x1080, 1280x720
  TU-1,    92.24,   163.41
  TU-2,    91.05,   162.46
  TU-3,   100.01,   170.17
  TU-4,   100.25,   168.87
  TU-5,    97.52,   170.77
  TU-6,   103.04,   183.76
  TU-7,   115.45,   185.39

Bitrate (kbps)
TargetUsage, 1920x1080, 1280x720
  TU-1,    13750,    7153
  TU-2,    13750,    7153
  TU-3,    13595,    7121
  TU-4,    13595,    7121
  TU-5,    13980,    7064
  TU-6,    14446,    7245
  TU-7,    14446,    7245

iGPU と RAM が取得できないのは他の人と同じですが、おや?と思ったのは、TB時のクロックが正しくない点です。

ベンチマーク中のスクリーンショット
計測のたびに、TBクロックが変動するようです。
http://yahoo.jp/box/o2cNS7

QSVEnc 1.25 の機能情報。こちらも変動します。
http://yahoo.jp/box/9rzYcy

参考までに、Intel HD Graphics 3000 の情報です。
http://yahoo.jp/box/KfbvRs

Re: No title

Sandyの情報、ありがとうございます。

やはりSandyでは品質設定は事実上4段階のようですね。

TB時のクロックについてですが、2600Kの定格動作の場合、ブースト時の動作周波数は以下のようになるそうです。
4Core Active: 3.5GHz
3Core Active: 3.6GHz
2Core Active: 3.7GHz
1Core Active: 3.8GHz
(http://www.intel.com/jp/support/processors/corei7/sb/cs-032279.htm)

QSVEncで表示しているTB時周波数の値は、きちんとCPUに問い合わせるようなことをしているのではなく、簡単な(そしてわりといい加減な)測定をして出しています。そして、たまに4Core ActiveのTBクロックが算出されてきてしまうようです。このあたりはバックグラウンドのちょっとした負荷でも変わってしまうと思うので、仕方ない部分かと思います。

TB時のクロックについて

なるほど、そういう事ですか。
実は BIOS の設定がおかしいんじゃないか?
意図せず低いクロックで動かしているんじゃないか?
などと心配したのですが、問題ないと分かって安心しました。
ありがとうございました。

No title

Ivy Bridge では icq は使えないのでしょうか。
(もしかして使えないのは僕だけ?)

Windows 7 (x64)
Core i7 3770k (HD Graphics 4000)
ASRock Z77 Extreme6
グラフィックス・ドライバー:15.33.22.64.3621(投稿時の最新)
GeForce GTX 660
QSVEncC 1.25

--check-features
Media SDK Hardware API v1.8
Supported features:
CBR VBR AVBR CQP VQP LA ICQ LAICQ VCM
RC mode available o o o o o x x x x
Interlace Enconding o o o o o x x x x
Scene change detection o o o o o x x x x
VUI info output o o o o o x x x x
Trellis o o o o o x x x x
Adaptive_I Insert o o o o o x x x x
Adaptive_B Insert o o o o o x x x x
B_Pyramid o o o o x x x x x
B_Pyramid + Scenechange x x x x x x x x x
B_Pyramid + Many Bframes o o o o x x x x x
Ext_BRC o o o x x x x x x
MBBRC x x x x x x x x x
Lookahead Quality x x x x x x x x x

No title

ICQはHaswell以降の機能だと思います。こちらでも3770KではICQ使えないです。

No title

そうだったんですね。
使えるものと勝手に思い込んでいました。

答えていただいてありがとうございました。

No title

高速すぎて笑ってしまいました。
i7 4702MQの環境では
FullHDで70fps,4Kで20fpsでした。
設定を変更するだけでもっと高速化しそうです。
こんな素晴らしい物を作ってくださり、ありがとうございます。
プロフィール

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

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

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

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

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

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

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

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

○その他
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 (ミラー)

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

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

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