x265 rev4
■ このスレッドは過去ログ倉庫に格納されています
>>135 SSIMやPSNRより参考になる可能性がある ああ、でも ENABLE_LIBVMAF は完全にデバッグ用かも・・・? ソースを読み違えてなければだけど、ENABLE_LIBVMAFをつけてビルドしたら --recon(でかいYUVファイルも出力する)をつけないとエンコードできなくなるような・・・? VMAF用のモデルパスも/usr/local/share/model/vmaf_v0.6.1.pkl固定みたいだし。 おとなしくffmpegで計測したほうがよさそうだ。 rigaya氏の2.7+336のバイナリ、gccでビルドしたものと書かれてるけど、 --versionで見ると x265 [info]: build info [Windows][GCC 7.3.0][64 bit] 8bit+10bit+12bit とかじゃなく x265 [info]: build info [Windows][MSVC 1913][64 bit] 8bit+10bit+12bit になってるのは、MSVCからgccを使ったということなんだろか? (ビルドに詳しいわけじゃないので、ちょっと気になっただけ。変なこと言ってたらすまぬ。) rigaya氏の2.7+336のバイナリが最適化されたものに更新された模様。 > 2018/4/14 19:43にx265 2.7+336をここで紹介するgccで > プロファイルによる最適化を実施した実行ファイルに差し替えました。 ちょっと質問。 2.7+336-07defe235cde で --asm avx 付けてるとエラーで速攻落ちちゃうんだけどこれおま環? ログみると「障害が発生しているモジュール名: ucrtbase.dll」とかでちょる。 --asm avx を外せばエンコできたけど Ryzen なんでどうしたもんかなと。 aviutlのguiEX経由だけど問題なくエンコードできてるよ うちのHaswellもrigaya氏の差し替え版バイナリで特に問題ないな。 ちゃんとコマンド書いてないからコマンド依存で発生する事象ならわからんが。 どういうソースをどこのバイナリでどういう設定で実行したのかくらいは書いた方がいいと思う。 x265.exe 自体はオフィシャルなリポジトリ https://bitbucket.org/multicoreware/x265/wiki/Home から pull して make-solitions.bat から high_bit_depth を ON にして VC2017 から x64 の release ビルドをやった物です。 その後弄ってみたけど、どうも --asm と --no-asm 何れかを入れ込むとエラー落ちするぽいです。 他の人が問題無いなら当方の おま環 ということですね。 試しに rigaya 氏ビルドの物に差し替えたら --asm avx を入れてもエラーが出ずにエンコできますた・・・ 自分の単純なビルド方法で今までこう言った問題は起きたこと無かったんで咄嗟に書き込んでなんだか申し訳なくorz 失礼しました! >>145 VSでビルドすると壊れる問題は、今の所stableブランチにだけ、修正が入ってる。 stable持ってきてビルドすれば動くよ。 まぁ、そのうちdefaultにも入るだろうけど。 +340-stable ビルドした AVX512は装備してないけど、だいぶ速くなってる感触 まぁ、動画ソースの問題もあるかもしれなくて全然厳密じゃないが Ryzenだと128bit実行のせいか0.5fps程度の違いだった(早くはなってる 「速くなった」って、いつのバイナリと比較してるんだ・・・? 最近ではAVX512以外に高速化要素なんて無いと思うんだけど。 論理コアが多いほど速度向上を体感しやすいのかも 全く根拠はないが 「なんとなく速くなってると思いました。まる。」みたいなこと書かれても・・・。 必要なのは環境やバイナリのバージョンや設定やソース等の情報も含めた正確な比較条件だと思うよ。 >>150 その表現じゃ伝わらん 1.0fpsと1.5fpsなのか100.0fpsと100.5fpsで全然話が違うぞ 別に伝わらなくていいと思ってる(ryzenに興味あって調べてるならベンチスレででも覗けばいいだけ) カキコした私が誤差程度と判断したから情報としてまとめなかったけども 来年24コアryzen2TPが出たとしてx265の特に重いプリセットでは全然使い切れないだろうなぁ 先週IntelからRyzenに変更したのですがエンコする際に--asm AVXをつけろ とネットでみたのですが その理由がわかりませんでした これはどういう意味があるんでしょうか? また実際につけた方がよいものなのでしょうか? AVX2 を使うと逆にエンコード速度が落ちるからだよ〜 AVX までに制限してやることで数 fps ほど速度あがる。 実際に --asm avx の有無でエンコ比較してみると良いかも。 >>160 ありがとうございます そういう意味があったんですね これで心置きなく試してこれそうです AVX2必須、みたいなアプリもあったりするかも知れんし機能があるに越したことはないとは思う x264やx265でAVX2使うと若干とはいえ遅くなりはするけど動作しないわけでもないし知識があれば回避できるわけだしな >>162 x264はAVX2切った方が速いけどx265はAVX2の効果高い事多いので on/off両方試して、自分の環境に合ってる方法とるべし h.264とh.265でtune別 crf別にssim値をプロットしたようなグラフを昔に見た記憶がありそれを探してるのですが わかる人いたら教えてください 過去ログにいくつかあるね ただ作られたのがかなり前だしプリセットの内容も変わってるから今だと参考にならない x265 rev2 [転載禁止]©2ch.net http://echo.2ch.net/test/read.cgi/avi/1418252184/301 301 名前:名無しさん@編集中[sage] 投稿日:2015/03/31(火) 12:12:14.04 ID:9g7lReBC Fasterは無いけど各プリセットのファイルサイズとSSIMのグラフ http://2sen.dip.jp/cgi-bin/upgun/up1/source/up1461.jpg http://i.imgur.com/ZQl3NLq.png http://i.imgur.com/dTiyhbx.png x265 rev3©2ch.net http://mevius.2ch.net/test/read.cgi/avi/1462270195/633 633 名前:名無しさん@編集中 (ワッチョイ 9f3e-YTUC)[sage] 投稿日:2017/04/28(金) 23:26:59.96 ID:eUzMgdEP0 >>632 一応>>631 のグラフにx265 veryslowも追加してみたけど、 SSIM/bitrateグラフでのラインとしてはslow,slowerと大して変わりない感じだね。 http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3406.jpg 2.8 来たな。 VS 2016 Community で普通にビルドして --asm avx 付けてもエラー出なくなってたわ。よかった やっぱり画質が良くなるオプションは重いのね いつもなら終わってた量のタスクが終わってなかったは それはそうと新AQモードの実装はまだかな 画質あがって早くなったら嬉しいんだけども 新AQモードというのは>>74 のことかな?その後どうなったんだろね。 最近は更新激しくてパラメータよく解らなくなってきてるな でもAQは影響デカイパラメータだよね 期待 いうほど変わったっけ? どうしてもx264全盛期と比べて遅く感じてしまう x265のバラメータは不勉強だわ 一回本腰入れて覚えないと --sao-non-deblock 実写は↑+SAOおすすめ 逆にこれ使わないならSAOを使わないほうがいい (テスト期間2日だけど ryzen環境だけどAVX2のほうが早かった ブラウザ閉じたり厳密なテスト環境ではないけど x265 [info]: HEVC encoder version 2.8+40-0106f9f2f867 x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX encoded 720 frames in 48.33s (14.90 fps), 2510.94 kb/s, Avg QP:27.02 encoded 720 frames in 48.85s (14.74 fps), 2510.94 kb/s, Avg QP:27.02 x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 encoded 720 frames in 45.10s (15.96 fps), 2510.94 kb/s, Avg QP:27.02 encoded 720 frames in 44.41s (16.21 fps), 2510.94 kb/s, Avg QP:27.02 ほお。 うちも Ryzen 環境だからちょっとビルドして試してみるかー x264はAVX2無しの方が速いけどx265は付けないと駄目だよ >>182 今まではそれが常識的な物だったけど AVX2 使った方が速かったよってお話しじゃないの? まぁ今ビルドおわったんでちょっと試してみるわ 俺環での同テスト あくまで --asm avx 有無のみの差異。 x265 2.8+40-0106f9f2f867 --asm avx 有り encoded 2000 frames in 64.96s (30.79 fps), 1828.98 kb/s, Avg QP:23.40 encoded 2000 frames in 65.35s (30.61 fps), 1828.98 kb/s, Avg QP:23.40 --asm avx 無しの AVX2 使用 encoded 2000 frames in 64.95s (30.79 fps), 1828.98 kb/s, Avg QP:23.40 encoded 2000 frames in 64.63s (30.94 fps), 1828.98 kb/s, Avg QP:23.40 (参考) 2.8+23-656b5b442f0b で AVX2 使用。 encoded 2000 frames in 65.81s (30.39 fps), 1828.98 kb/s, Avg QP:23.40 encoded 2000 frames in 65.85s (30.37 fps), 1828.98 kb/s, Avg QP:23.40 ということで現状はまだなんともだけど >>180 氏の言うとおり Ryzen 環境でも AVX2 を使った方が微妙に速くなるかもしれん。 追試というか x265 に吐かせた csv なログがあるので昨日エンコしてたソースを再度 2.8+40 でエンコしたログの比較。 アニメソース 34523 フレーム 2.8+40-0106f9f2f867, AVX2 使用 = エンコ時間 840.63s, 平均 41.07fps 2.8+23-656b5b442f0b, AVX2 未使用 = エンコ時間 875.67s, 平均 39.42fps コミットみると AVX2 周り色々良くワカランが弄られてるからなんか良くなったんかね。 家はこれで --asm avx を削れそうですわ Ryzenつってもいくつかあるんだからモデルくらい明記したほうがいいだろうし、 解像度もちゃんと書いたほうがいいと思う・・・。 AVX2を使うか否かでエンコード速度がーーって話にCPU型番と解像度って必要な話なのかなww まぁ、たしかに解像度などで処理の負荷や傾向も変わるからね ryzen 1700X 実写1440x1080 (Aviutlのafsでテレシネ解除しguiEX出力) オプションは設定のリセットを忘れて常用ので走らせたので、ログに記載されてるオプションをペタリ --input-depth 16 --output-depth 10 --input-csp i420 --crf 25 --qcomp 0.72 --rc-lookahead 25 --vbv-bufsize 7000 --vbv-maxrate 7000 --aq-strength 1.2 --psy-rd 1 --deblock -2:0 --no-sao --subme 3 --merange 55 --rect --limit-modes --ref 4 --max-merge 3 --weightb --rd 2 --colormatrix bt709 --colorprim bt709 --transfer bt709 --sar 4:3 --no-opt-qp-pps --no-opt-ref-list-length-pps --no-strong-intra-smoothing --input-res 1440x1080 --fps 30000/1001 -o >>187 なんで笑ってんのかよくわからんけど、データを出すなら普通にあったほうがいい情報だと思うけどね。 言及し忘れたけど、オプション設定も書かれてないので、そういった情報もあればいいなあとは思う。 俺も環境かいとく流れかな 偶然俺も Ryzen 7 1700X で定格。 映像ソースはアニメで 1440x1080 から AVS で 960x720 にリサイズして SAR 4:3 としてる。 x265 に喰わせてる引数はこれだけ。>>184 でやったテストはこの引数に --asm avx を付けるかどうかってだけの違い。 --crf 19 --preset medium --input-depth 8 --output-depth 10 --aq-mode 3 --aq-strength 0.6 --sar 1:1 -o OUTPUT.265 INPUT.avs AVS ファイルの中身は Trim してロゴ消しからのインタレ解除、ノイズ除去とスムーサー通してリサイズ、アンシャープマスクにデバンドやってる。 で Avisynth+ r2728-MT にやらせてる。 中でどういう処理させてるかでは多少なり変わってくるかもしれないけど、俺環では速くなったので この事を書いてくれた >>180 氏には感謝。気付かなければずっと AVX2 使わないままだったと思うしw 引数間違えてた --sar 1:1 じゃなくて --sar 4:3 だた。 >>189 ハイスペ側だとなにかしらのボトルネックで頭打ちが発生して大差なくなるとかあり得るものね >>192 だよね。 情報書いてくれた方々ありがとう。 ryzenが出た頃に10bit出力ならAVX2ありの方が僅かに早い、ってrigaya氏がすでに言ってたの 意外と知られてなかったんだな >>194 うちの環境ではそれでも AVX2 有りだと遅くなってたのよ。 早いこともあれば遅いこともあったと思うけど ここしばらくはAVX2使わないほうが早かった There's also at least the value of --max-merge being raised in the slower presets which (at least in my opinion) affect by degrading quality. It will smooth things more --> lower bitrate. これってどういう意味? 元URL http://forum.doom9.org/showthread.php?p=1846405#post1846405 >>197 --max-mergeの値を上げると画像がボケる low-bitrate帯でボケる? それとも割り当てられるbitrateが少なくなるからボケるのどっち? crf26でmax-merge 5だとボケた感じになった覚えはあるんだけど 高ビットレートだとボケないのかな?っていうことを聞きたかったんだけど、そこまでは読み取れない? 上から目線であれだけど、英文の記号の使い方とかよー分らん 一度ボケたらいかにビットを割り振ろうと元には戻らないので、ディテールを残したければ--max-mergeを下げるべきだろう ビットレートに余裕があるときにどんな動きをするか聞きたいんじゃない 問答無用でマージしてビットレート下げに行くのか、余裕があるなら働かないのか >>問答無用でマージしてビットレート下げに行く 英文を素直に解釈すればこっち >>202-204 thx 情報の共有と省略、粗のごまかしに心血を注いでるから 副作用なく高圧縮・高画質化ってのは難しいのね 久しぶりにx265のオプション見直そうと思ったけど 色々変わってるからpresetとcrfだけでいいような気もしてきた 質問です。 エンコードするときに設定するビットレートの目安を求めたいのですが、 ttp://web.archive.org/web/20130207145934/http://service.jp.real.com/help/faq/prod/faq_4226.html とか ttps://www.lizardk.net/2011/05/h264.html に書いてある式と、それで求められる値は当てにして良いものですか? コーデックの話であって、エンコーダによって全然違うとかあるなら微妙なんですが・・・。 さらに、ここで求めた値を50%〜60%くらいにすればx265でのビットレートとして使えますか? 固定ビットレートでエンコードするなら、目安になるのでは? 固定品質でエンコードの場合は、全然、目安にならないけど。 >>209 50〜60%は行き過ぎかな H.265は公称ではH.264の半分のビットレートで同等の画質って言ってるが実際は30%減くらいだと思う x264は動画版lame(mp3高性能エンコーダー)みたく規格上のギリギリで高効率に圧縮してるからなぁ x264はほぼ完成してるけどx265はまだ発展途上だからまだ半分は行けないよな >>209 real playerのころとは比べ物にならないぐらい圧縮率は向上してるから半分ぐらいでちょうどいいと思うけど どのみちビットレート指定方式では仕組み的に高画質は無理(6Mbpsぐらいつぎ込めば話は別だけど ま、基本的にcrfモードを使うのが推奨された使い方 x264なら crf=22~23、x265なら crf=24~26 がビットレートと画質のバランスがいい エンコーダ間の比較っていう意味ではこんな資料が https://wyohknott.github.io/video-formats-comparison/ でも最近のエンコーダだと、要求ビットレートが 総画素数/フレームレートに比例するかどうかは怪しい気がするけど… なるほど、みなさんありがとうございます。 >>210 下のURLの方だと、「VBRの最大ビットレートはこの2倍くらいにします」とあるんですが、 Shift+Enterしてしまったごめんなさい VBRの最大ビットレートはこの2倍くらいにします、とあるんですが、 CBRに比べたVBRやCQPのビットレートの振れ幅というのは2倍や0.5倍の範囲内に収まるものなんでしょうか。 詳しい方いましたら教えてください。 x264, x265のビットレート指定エンコードだと2倍もは変動しなかったはず (crfな品質指定エンコードだと3倍ぐらい変動するけど) 最大ビットレートなんて、再生環境が使える上限値にしとくだけだよ これ以上にすると再生できなくなるから超えないようにエンコードしなさいという値なのだから 2倍とか関係ない 例えば地デジtsなら上限10Mbpsで十分だな てか何故かテレビ放送の実写はcrfの割に縮まないのは何故? nlmeansなんかの縮むようなやつ使ってもcrf25で5Mbpsとかいくし、x264なんて8Mbps行くんだが 特に紀行番組や旅番組 Ryzen7 2700Xで--asm AVXの有無を比較してみた x265_2.8+57,ソースは720x480で24000/1001pの5633frameなy4mを5回エンコした平均値 https://imgur.com/qEJ6sUs HDだとまた傾向違うんやろかねぇ・・・ FHDのy4mをHDDから読み出すってのがボトルネックなので台風行ったらSSD買うか >>227 んな金あるかいな・・・ 一定期間スリッパ1とスリッパ2併売するみたいだから、スリッパ1に価格改定入れば… --asm AVXオプション使うと各コア均等に使うけど 使わないと偶数コアを優先的に使って結果ブーストが 効いているようにタスクマネージャからは見える 金があればスリッパ入れたいけど、2700xでも全コア使い切りってまずないんだよなぁ・・・ >>230 AVX2使ってると実行ユニットをロックする(非SMT状態になる)みたいな感じかな? でも使うと遅くなってた頃もあるから x265で最適化が入ったかAVX2のコードの効率性が上がったかのどちらかかな CPUのコア数が多いとどうしても余ってるコアが出てきちゃうから ちゃんとした比較にならないんだよな 実際にエンコードするときは4〜6コア/exeくらいで並列でやるんだから、 ベンチマーク取るときもアフィニティ設定してコア数制限して測って欲しいわ x265は、GPUによるエンコードの分担処理(※GPU内蔵のハードウェアエンコーダーは使わない)とかはできないんだよね? 1から10まで全部CPUでガリガリやるのではなく、部分的にGPUに任せる仕組みを導入してほしい あえて脳筋動き探索アルゴリズムを採用して、GPGPUでゴリゴリ処理できないかのかね ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる