QSVEnc HEVCエンコードはまだ微妙?

前回画質比較をして、微妙な結果だった。

それはそれとして。

それ以前になんかうまくいかないケースがあるようです…

具体的にはブロック状に割れます。

環境



Win10 x64
Core i7-6700K @ 4.29GHz (Cache 4.07GHz) (4C/8T) <Skylake>
Intel HD Graphics (24EU) 350-1150MHz (4274ドライバ)
DDR4-3234, 2ch, 16GB
QSVEncC 2.12(仮) x86
L-SMASH rev1363



動画



注意: 開いた動画はブラウザ上では再生せず、画面左上の「ダウンロード」をクリックしてダウンロードして見てみてください。

QSV HEVC ICQ / 4481kbps 約120MB
sample_movie_2_QSV_hevc_icq.265 (raw出力)
sample_movie_2_QSV_hevc_icq.mp4 (L-SMASHでmux)

(比較用)
QSV H.264 ICQ / 4523kbps 約120MB
sample_movie_2_QSV_h264_icq.264 (raw出力)
sample_movie_2_QSV_h264_icq.mp4 (mp4出力)



エンコードログ



HEVC
-c hevc -u 4 --icq 29


--------------------------------------------------------------------------------
sample_movie_2_QSV_hevc_icq.265
--------------------------------------------------------------------------------
B pyramid is not supported on current platform, disabled.
QSVEnc 2.12 (x86), based on Intel(R) Media SDK Encoding Sample 6,0,0,98947
OS Windows 10 (x64)
CPU Info Intel Core i7-6700K @ 4.00GHz [TB: 4.39GHz] (4C/8T) <Skylake>
GPU Info Intel HD Graphics (24EU) 350-1150MHz [95W]
Media SDK QuickSyncVideo (hardware encoder) PG, 1st GPU, API v1.16
Async Depth 6 frames
Buffer Memory d3d9, 1 input buffer, 16 work buffer
Input Info avcodec video: H.264/AVC, 1920x1080, 30000/1001 fps
Output HEVC main @ Level auto
1920x1080p 1:1 29.970fps (30000/1001fps)
avcodec writer: aac -> adts
Target usage 4 - balanced
Encode Mode ICQ (Intelligent Const. Quality)
ICQ Quality 29
QP Limit min: none, max: none
Trellis Auto
Ref frames 4 frames
Bframes 3 frames, B-pyramid: off
Max GOP Length 300 frames
Scene Change off

encoded 6455 frames, 78.36 fps, 4481.10 kbps, 115.05 MB
encode time 0:01:22 / CPU Usage: 7.81%

frame type IDR 1
frame type I 22, total size 2.55 MB
frame type B 6433, total size 112.50 MB




動画の最初のあたりででブロック状に割れる現象が起こってしまっている。(しばらくするともとに戻る)

現在、HEVCはraw出力しているが、これによって得られる".265"ファイルは、QSVエンコーダが出力してきたものをそのままファイルにしているだけの、QSVEnc側では何も処理していないファイルになる。今回のmp4はそれをそのままL-SMASHでmuxしたものだ。なので、とくにQSVEncのほうでなにかおかしなことをしているわけではないと思うのだが…

そもそもエンコーダの出力データが若干あやしいのだろうか? あるいはなにか必要なパラメータをQSVEncが設定し損ねているのだろうか? このあたりはちょっとよくわからない。 (L-SMASHは結構ちゃんとmuxしてくれるが、ffmpegとかでmuxすると完全におかしなことになる)

Iフレーム以外、すべてBフレームとしてカウントされているのも、気になるところ。Pフレームはどこへ?

QSV側の問題だとすれば、今後のドライバのアップデートで改善されるとうれしいのだが…


コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

質問いいですか?

非公開コメントになっていたので再度投稿させていただきました。
こちらで配布しているx264guiEx 2.xxをダウンロードしてauo_setup.exeを開いたのですが、黒い画面がでて、
\setup\setup.iniが存在しません。インストールを続行できません。
もう一度ダウンロードをやり直してください。
キーのどれかを押すと終了します。
と表示されてダウンロードが始まりません。
どうしたらよいですか?

Re: 質問いいですか?

ダウンロードしたzipファイルが、正しく展開できているか、また、展開したフォルダのauo_setup.exeを実行しているか、もう一度ご確認ください。よろしくお願いします。

ありがとうございました!

解決しました!ありがとうございました -_-

No title

ネットカフェにAMDのAPU(A4-5300)搭載機にDivX playerをダウンロードして再生して試したところ、.mp4ファイルについては最初から最後まで正常に再生されました。
.265はDivX playerが非対応だったので試せず。

Re: No title

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

再生環境にもよるのですね…。

No title

libavcodecのバグかもしれないので、QSV decoder等他デコーダで、特にHMのデコーダでどうなるか調べた方が良いですね。
バグっぽかったら、報告させていただきますよ。

Re: No title

ありがとうございます。HMデコーダはまだ試せてませんが、簡単に調べられるものから再生してみました。

○…問題なし / ×…ダメ

○ Win10 wmp12 (12.0.10011.16397)
× vlc 2.2.1 x86
× mpc-hc x64 1.7.9.145 (内臓 LAV Filters 0.65.0.38)
× L-SMASH Works r785 + libavcodec 56.59.100 (一昨日ffmpegをgitからpullして自ビルドしたもの)

まさかのwmp12がOK…という結果に。libavcodec系は全滅…ということかもしれません。

症状としては、ダメなものはどれも「最初のGOP(300frame分)ブロック状に崩れる」「その後は問題なし」ということで、謎な壊れ方です…

HMは明日やってみます。

No title

LAVはDXVA(HEVC_VLD_Main)も試した方がいいかと思って
一応以下の環境で試してみましたが、やはり崩れてしまいますね。
ソフトウェアデコード時のように全体的に灰色っぽくなるのとは
また違う崩れ方ですが・・・。
 i7-4702MQ・IntelHD4600(driver: 10.18.14.4222)・Win8.1
 MPC-HC 32bit 1.7.9 (846eff0) 内蔵LAV 0.65.0.9

HEVC_VLD_Mainに対応しているNvidia系GPUでの
DXVAだとどうなるかも少し気になりますね。

Re: No title

情報ありがとうございます。DXVAも崩れますか…

もう少し調べて、以下のことがわかりました。

・HEVC raw (.265ファイル)をHMデコーダ(16.3)に喰わせたところ、正常にデコードされた。
 → libavcodecにも問題があるのかも?

・GTX970のDXVAは灰色にならないけれど、やはり崩れてしまう。
 → 規格には合っていても、やはりイレギューラーなストリームが出てる?

・QSV HEVCエンコード時に連続Bフレーム数を3→2にすると、libavcodecでも正常にデコードされる。
 ただし、ログを見る限りIntel Media SDKによればIフレーム以外、Bフレームとなっているので、「連続Bフレーム数」がHEVCエンコーダにとってなんなのか疑問。Pフレームはどこへ…?

・libavcodecでのHEVC → mp4 muxにも問題があり、著しくシークが悪くなる。(「連続Bフレーム数」が2でも3でも)(zeranoe ffmpeg-20150828-git-628a73f-win64-static)

・L-SMASH muxerにはそのような問題はない。

というところまでわかりました。

ひとまず逃げ道としては、「連続Bフレーム数」を"2"にするというのがよさそうです。引き続き、いろいろ調べてみます。

No title

お疲れ様です。
Pフレームがない…
昔そんな症状のコーデックがどこかにありましたね。
その時はBフレームと判別されているフレームが実はPフレームで、Bフレームが全く存在していない状態…みたいな話だったような。
少し前に書かれていた一覧表にBフレーム絡みの項目がHEVCは未対応のように書かれていましたが、その関係かな?

Re: No title

muken様によると、Bフレームばっかりでも特に問題はないそうです。

>Bフレーム絡みの項目がHEVCは未対応
B-pyramidとかですよね…あのあたりH.264でも結構曲者なので、HEVCではまだ未対応なのだと思います。この件と関係あるかというと謎です…

No title

少し前にドライバーソフトが更新されたかと思いますが、症状は相変わらずでしょうか?

Re: No title

最新の4279ドライバにしても変わりありません。一部のデコーダでは正常なので、どちらかというとデコーダ側の問題、ということになるのでしょう。
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: [email protected]
github twitter

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

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

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

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

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

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

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

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

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


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

clcufilters 
- OpenCL/CUDAの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対応版

tsreplace
- tsの映像のみを置き換えて圧縮

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

fawutil
- FAW(FakeAACWave)⇔aac変換
- 二重音声の取り扱いにも対応

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