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
動画の最初のあたりででブロック状に割れる現象が起こってしまっている。(しばらくするともとに戻る)
現在、HEVCはraw出力しているが、これによって得られる".265"ファイルは、QSVエンコーダが出力してきたものをそのままファイルにしているだけの、QSVEnc側では何も処理していないファイルになる。今回のmp4はそれをそのままL-SMASHでmuxしたものだ。なので、とくにQSVEncのほうでなにかおかしなことをしているわけではないと思うのだが…
そもそもエンコーダの出力データが若干あやしいのだろうか? あるいはなにか必要なパラメータをQSVEncが設定し損ねているのだろうか? このあたりはちょっとよくわからない。 (L-SMASHは結構ちゃんとmuxしてくれるが、ffmpegとかでmuxすると完全におかしなことになる)
Iフレーム以外、すべてBフレームとしてカウントされているのも、気になるところ。Pフレームはどこへ?
QSV側の問題だとすれば、今後のドライバのアップデートで改善されるとうれしいのだが…
それはそれとして。
それ以前になんかうまくいかないケースがあるようです…
具体的にはブロック状に割れます。
環境
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側の問題だとすれば、今後のドライバのアップデートで改善されるとうれしいのだが…