x264_L-SMASH r2409

x264_L-SMASH とは

ffmpeg / Libav 等に実装されている lavf を用いてオーディオの入出力をサポートしたものに x264-audio があり、その GPAC ライブラリを L-SMASH ライブラリに差し替えて開発されていたプロジェクト。端的には、x264 をフォークした x264_audio 、その x264-audio をさらにフォークして誕生したのが x264_L-SMASH とも言えます。

当方のビルド指針

・必要だと思われるパッチのみ当て、不具合検出の切り分けを容易にして安定性を重視する
・Windows 向け x86(32bit)およびx64(64bit)バイナリ、lavfの有無を含めた4種のバイナリをリリース

x264 および x264_L-SMASH 最新情報(Rev.2409)

・x264_L-SMASH の L-SMASH ライブラリは r890 相当
・ffmpeg git-f7f5370(x264_L-SMASH)
・r2358からffmpegsource(ffms)のサポートを外しました(lavfで事足りるため)
・x264_L-SMASH オリジナルの lavf 入力で確認された以下の不具合をすべて修正
 ・PCM音声のAVI・WMV コンテナを入力するとチャネルレイアウトが不正でエンコードできない
 ・リサンプラーを通すと音が割れるなど音質が極度に劣化する
  テンポがスローになり音程が下がる(例:44.1KHz入力→48KHz出力/8bit→16bit等)
 ・ファイル名に Unicode が含まれている場合、出力ファイル名が文字化けする

・colormatrix未指定時のデフォルト値を「undef」ではなく「bt709」に変更
 現在の映像フォーマットは解像度に関係なくBT.709が大半を占める(日本のデジタル放送のSD送信はBT.709。DVDも近ごろはHD制作の影響からBT.709ベースが多い)ため、うっかり指定しなかった場合の救済策。もちろん、colormatrix オプションで指定した場合は、その値が適用されます。しかし、ポストプロセスの色空間変換に colormatrix 設定を渡して正しく処理してくれる環境はあまり無いため、神経質になる必要もなく、「保険」程度に捉えてください。

# 現状 Android 端末は、colormatrixを見ずBT.601固定であり、Windows系プレイヤ(デコーダ・ポストプロセス処理を含む)もcolormatrixフラグを無視して解像度判定するものが多い(本来、BT.601やBT.709は解像度で決められているものではないため、エンコード時に出力解像度でcolormatrixを変更するものではありません。あくまでデコード時の苦肉の策です)。

OpenCL について

 lookahead 処理を GPU に渡し、コンピュートタスクとして実行させるOpenCLパッチがr2286付けで公式に取り込まれました。OpenCL 1.1 以降に対応したGPUと対応ドライバが必須となります。

 # AMD製GPUの省電力コントロール技術・スイッチャブルグラフィックス技術を統合した「Enduro」には非対応
 # IvyBridge までの Intel 製 iGPU は非対応(Haswell の iGPU Iris 等の対応状況については不明)

当方の動作環境下(Windows7 Professional x64 / HD5670 および HD7870 / Catalyst 13.4)において動作確認済みですが、異なる環境(異なるCatalystバージョンやNVIDIA製GPUとGeForce Driverの組み合わせ等)での動作確認はしておりませんので、それら環境での絶対的な動作保証は致しかねます。ご了承ください。

  • OpenCL オプションスイッチについて
  •  OpenCLに関するオプションスイッチは以下のとおり。

     --opencl
     OpenCLを有効化します(未指定・デフォルトでは無効)。対応ビデオカードとOpenCL対応ドライバが必須となります。

     --opencl-clbin "カーネルファイル名とそのパス"
     OpenCL有効時にコンパイルされたカーネルを任意ファイルパスへ保存します。ファイル名・拡張子も任意で指定可。

     --opencl-device (integer)
     OpenCLで処理する際に、スキップさせるデバイス(GPU)数を指定します。デフォルトでは検出されたOpenCLデバイス(GPU/CPU)を扱うため、シングルGPU環境では未指定でかまいません。

    動作確認環境

    CPU : Core i5-2500K
    GPU : AMD RADEON HD7870
    主記憶 : 16GB
    Windows10 Pro 64bit
    AviSynth 2.6
    AviSynth+ r1576
    AviUtl version1.00

    動作不具合に関するコメント時のお願い

     基本的に、同じ挙動を再現するための確認を行い、それで再現確認できた場合のみ不具合として当方にできる範囲内での対応をします。そのため「○○できない。フリーズする。」だけでは大雑把すぎて再現することが難しいケースもあり、できる限りで結構ですので「再現の条件・環境」をお伝えいただきたいと思います。

    ダウンロード

    転送量超過を防ぐため現在のところ日本国内のみのアクセスに限定しています

  • x264_l-smash r2409 32bit
  • x264_l-smash r2409 64bit
  • x264_l-smash r2409 diff
  • x264 / x264_L-SMASH 公式・非公式リンク
  • x264公式 VideoLAN - x264, the best H.264/AVC encoder
  • x264_L-SMASH 限りなく公式に近い非公式 猫科研究所 - x264_L-SMASH unofficial repository
     
  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    − 1 = 2