QSVEnc 0.07

QSVEncにも最近のx264guiExの更新(L-SMASH対応、faw2aac.auo対応)などを。

今回、muken氏にL-SMASH muxerを更新していただき、PAFF H.264/ESをインポートを強化していただきました。

ありがとうございます!

mp4/movでのPAFFの扱いは難しい、というか厄介とのことで、なんか申し訳ないのですが、おかげでmp4でインタレ保持で普通に再生できるようになりました。



共通



v0.05で追加したオプション類をソフトエンコの時のみ有効とした。
- ハードウェアエンコ(QSV)ではどうも反映されないので。

MVC関連の使用していないコードを省略
その他細かい調整
上記によりわずかに高速化



QSVEnc



x264guiEx 1.46~1.49までの更新を反映。

L-SMASH対応 (x264guiExと同じコードを使用)
- muken氏にL-SMASH muxerを更新していただき、PAFF H.264/ESをインポートを強化していただきました。ありがとうございます!

- QSVEncでは、L-SMASH用iniファイルを基本に変更します。mp4boxに代わり、L-SMASH muxer / remuxerを指定してください。

- L-SMASH rev600以降を使用してください。とりあえず、L-SMASH rev600はこちらに。

- 一応mp4box用iniも入れておきますが…まあ特に必要ないかと。

faw2aac.auo対応
- faw2aacの進捗をログウィンドウにも表示。
- faw2aac.auoがあれば、fawclがなくてもFAW処理できるように。

・ 細かい問題の修正
- 実行ファイルを開く... 画面で、デフォルトのフォルダがおかしくなることがあるのを修正。
- 保存していた"stg設定ファイルの場所"のルートが存在しない場合に、エラーを吐くのを修正。

・ 表示の修正
- mux時のエラーメッセージで、音声ファイルがないのでmuxできない場合に、映像ファイルがないという表示になっていたのを修正。

- %{chpath}の置換が一時ファイル名を元に作られていたのを、出力ファイル名からに修正。



QSVEncC



・QSVEncCのみについての更新はとくになし。



※要QSVEnc.ini更新
QSVEnc ダウンロード>>




QSVEncで高速にエンコードする時のポイント。

・Aviutlで重いフィルタはフィルタはなるべくかけない。(そこがボトルネックになってしまう)

カット編集だけして、そのままエンコ…とか。

・デコードをなるべく高速に。
例えば、m2v.auiなら、その設定に注意。
最速となる設定は、
 - アスペクト比 無視
 - IDCT関数 整数32bit AP-922
 - CPU拡張 すべてにチェック

という感じにすれば、とりあえずある程度の速度は出る…と思う。

まあ流石に、デコードもQSVでやってるようなのには全く及ばないけども。
スポンサーサイト



トラックバック


この記事にトラックバックする(FC2ブログユーザー)

QSVencGUI Ver.1.0.21.5 Release

QSVencGUI Ver.1.0.21.5 Release QSVencGUI - QSVencCのフロントエンドソフト Copyright © 2012 M.Nakamura 本ソフトウェアはQSVEncCのフロントエンドソフトです インテル®クイック・シンク・ビデオ...

コメントの投稿

非公開コメント

デコードもQSV

最近のffdshowやLav Filtersは、QSVでデコードできるようなので、DirectShow File Reader で映像を取り込めば、速くなるかもしれませんね。
試してみます!

Re: デコードもQSV

いや、しかしDirectShowFileReaderさんは、安定性に課題がある気がします。なんか機嫌を損ねると、とことん調子悪くなる気が…。

No title

うちの環境だとL-SMASHだと映像が破綻します
mp4boxだと大丈夫
win7 64bit 2700k

サンプルクレクレ

クレクレしてみます。
迅速なデバッグの為には再現するサンプルが必要です。

Re:サンプルクレクレ

>>muken様
ttp://www1.axfc.net/uploader/Sc/so/360835
こういうのでよろしいでしょうか

No title

んーと、コンテナに入っていない生のストリームをお願いしたいのですが。

手元にてMP4Box -raw 1で取り出して再度MP4Boxでmuxしても正常にならないため、おそらくmuxの段階でフレーム/フィールド境界が壊れてしまったのだと推測されます。
そのため、コンテナに入っていない、出来ればエンコードされた直後の生のストリームが欲しいのです。

生ストリーム

出力ファイル名の拡張子で".264"を選択することで、muxせずに出力でき、H.264/ESの生ストリーム".264"ファイルが出力されるはずです。
ぜひよろしくお願いします。

No title

.264にて出力したところ問題ない動画になっているようです
ttp://www1.axfc.net/uploader/Sc/so/360856

No title

あ、やっぱりmpchcで再生中に途中でエラーになりました

No title

お手間を取らせました。
ありがとうございます。

確かにMP4Boxでmuxすると正常なようです。
これから原因を調べてみます。
ご協力に感謝します。

No title

sample感謝です!

また、muken様、調査ありがとうございます。よろしくお願いします!

どっちも規格違反

原因が分かりました。

そして、MP4Boxの規格違反もわかりました。

MP4/MOV類にはsample descriptionというCODECに依存するデコードに必要な情報(decoder specific infoといったりdecoder configuration recordと言ったりします。)を格納する機構があります。
H.264ではMP4/MOV類に格納する際には、ここにそのデコードに必要な情報であるSPSとPPSを全て格納するタイプ(AVC sample)と、そこには格納しないで各サンプルに付加するタイプ(AVC parameter sample)の二種類があります。
前者ではavc1を、後者ではavcpを識別子に使うことにしていますが、あろうことかMP4Boxはavc1を使いながらも最初のサンプル以外の全てにPPSを付加し、そしてavc1には最初のSPSとPPSを格納しています。
はい。素晴らしいまでの規格違反です。
(でも、その規格違反ファイルを多くのデコーダが対応できちゃうんですよね... demuxer側でないのがミソなんです(苦笑))

で、L-SMASH側は、といいますと、こちらも規格違反を起こしていました。
SPS, PPSではストリーム中で異なるSPS, PPSを与えたいときに、各ピクチャが混乱しないようにIDが付加されています。
同じIDが同じsample descriptionの中に入ってはいけないので、同じIDのものが現れたらsample descriptionを分けなければならないのですが、そのチェックをPPS側で怠っていました。
申し訳ありません。
(受け取りましたサンプルでは3種の同じID=0のPPSがストリーム中で確認出来ました。)

修正を試みますが、sample descriptionが複数あるケースは多くのソフトウェアdemuxerでその対応が実装されていないため、これを修正したとしても正常に再生される保証はできないことを心に留めておいてください。

なお、L-SMASHとしては、その理念に反するため、MP4Boxと同様の実装を行うつもりは毛頭ありませんので、予めご了承ください。

3種のPPS

muken様
原因特定ありがとうございます。

SampleごとにPPSがついていて、いただいたsample動画では同じIDなのにpic_init_qp_minus26が-2/0/1の3種のPPSがあるので、それが厄介だ…という理解でよろしいのでしょうか。

pic_init_qp_minus26がSampleによって変化するのは、CQPモードのQP設定 I:P:B=24:26:27がそのまま出てきてるのではないかなあ…と思います。

"demuxerの多くが対応していないため、再生が難しいかもしれない"ということだったので、こちらではそういった場合に備えて念のため、運用面で回避できないか調査してみます。

sampleをくださった方へ
そこで、たびたび申し訳ないのですが、使用されているIntelドライバのバージョンを教えていただけないでしょうか。ぜひお願いします。

No title

>SampleごとにPPSがついていて、いただいたsample動画では同じIDなのにpic_init_qp_minus26が-2/0/1の3種のPPSがあるので、それが厄介だ…という理解でよろしいのでしょうか。

そういうことになります。
H.264の規格では、同じIDのPPSが現れたら、前のPPSの内容を上書きすることになっています。
QSVの、この実装については厄介ですが、規格適合です。
Recommendation ITU-T H.264 (06/2011)
7.4.1.2.1 Order of sequence and picture parameter set RBSPs and their activation
を参照のこと。

個人的にはこのようなストリームにはavcpを使いたいのですが、これを認識してくれるdemuxerはハードウェアも含めて一体どれほどあるのか知りません。
libavformatへの実装はmultiple sample descriptionほど難しくはなさそうに見えますが。
そもそもavcpなサンプルを見たことが無いです(汗)

見当違いかもしれませんが・・・

TMPGEnc Video Mastering Works 5で、QSVハードウェアエンコードしたインターレースなMP4が出力できるので、そちらは参考にならないかなぁ・・・。MediaInfoでは倍フレームレートにはなって無かったです。

ドライバのバージョン

デバイスマネージャーで確認したところ
8.15.10.2696
とありますがこれでよろしいでしょうか

インテルドライバ

インテルHDグラフィックスのドライバを更新したら
(バージョンそのものは変わっていない)
L-SMASHで画像が破綻する現象が無くなりました。
色々いじっているうちに変な設定にしてしまっていたのでしょうかね
ともかくお騒がせしましたm(_ _)m

Re: ドライバのバージョン

ありがとうございます。参考とさせて頂きます!
プロフィール

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対応版

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