X



Avisynthを絶讃ιょぅょ Part32 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@編集中 (ワッチョイWW 5979-fgRd)
垢版 |
2017/02/08(水) 15:31:41.08ID:2mxlUPLa0
「AviSynthを絶賛」というのは、聞いたら答えたり報告したりなどギブアンドテイクな作業を指す。
厨と呼ばれて当然の事を、調べもしないで訊くバカが住み着くスレではないので、
avisynth.infoぐらいは読んでおくように。

【前スレ】
Avisynthを絶讃ιょぅょ Part31
http://echo.2ch.net/test/read.cgi/avi/1383985211/

【日本語による解説】
avisynth.info
http://www.avisynth.info/

【実家】
AviSynth
http://avisynth.org/mediawiki/Main_Page
0862名無しさん@編集中 (ワッチョイ 2316-kdx8)
垢版 |
2019/03/15(金) 13:13:11.48ID:Db5dBbFN0
DGIndexのd2vファイル生成高速化ver.
https://github.com/299792458m/DGIndex_mod

作者さんのBlog
http://299792458m.blogspot.com/2019/03/dgindex.html#more

まだ実際には運用してないけど
VC++内の「実行可能ファイル ディレクトリ」にNASMのパスを追加したらビルドできた
*ビルド時に「安全な例外なんちゃら」が出たからリンカーの「例外パンドラ―を含むイメージ"」を「いいえ」にした
0864名無しさん@編集中 (ワッチョイ bf70-B/CD)
垢版 |
2019/03/15(金) 21:39:12.45ID:vXu9r4T70
連投すまん
30 分アニメの TS ファイルをローカルの SSD に置いてやってみた。
DGIndex = 26.3 秒
DGIndex mod = 11.2 秒
なんて感じに倍以上速くなった
ネットワーク越しだとうちは 1Gbps だから頭打ちなって >>862 に書いた程度の向上しかしていなかったみたい。
0865名無しさん@編集中 (ワッチョイ 2316-kdx8)
垢版 |
2019/03/16(土) 00:50:48.93ID:n7tIY9Y30
いいね!
GUI使ってないからさっさと置き換えたらいいんだけど
万一のために新しくセットアップしようと考えてたら
なかなか使ってみれない
0867名無しさん@編集中 (アウアウエーT Sadf-ynPM)
垢版 |
2019/03/20(水) 00:36:49.54ID:QRgPpSQha
お財布の中身と相談しながらTGMCの速度アップのために
NVidiaのグラボを買ってKTGMCを利用しようと思うんですが、
GPUだけに関して言えばCUDAコア数以外でスペックのどの辺りに
KTGMCの速度は大きく依存するのでしょうか?
0868名無しさん@編集中 (ワッチョイ b35f-kdx8)
垢版 |
2019/03/20(水) 04:05:19.20ID:29wy4DZk0
>>867
コア数、メモリバンド幅、世代とか普通のGPUの性能で見ていいと思う
ただ、今の所1280コア以上はコア数が増えてもあんま速くならない
この先最適化が進んで速くなるかもしれないが
0872867 (アウアウエーT Sac2-X0yA)
垢版 |
2019/03/23(土) 06:42:52.34ID:/zCqH+mia
868、869さんありがとうございます。
コア数1280な1060 6GBのITX向けショートサイズなのがあるので
それを買おうと思います。
0873名無しさん@編集中 (ワッチョイ 9fe7-0zLl)
垢版 |
2019/03/23(土) 12:35:51.20ID:RaL+Hzk20
NVENCの進化もあるし、Optical Flow SDK や NGX SDK を使ったフレーム補間フィルタとか
スケーリングフィルタとかが出てくるかもしれない(誰かが作ってくれればだけどw)から
Turingが安くなるのを待つのもいいかもしれない。
0878名無しさん@編集中 (ワッチョイ 2905-clLQ)
垢版 |
2019/04/11(木) 18:02:52.74ID:VW9wQlKL0
ものすごい久しぶりにx265更新してみたけど
昔はx265だと色がおかしかったけど今はまともになってるんだな
比較用にavs作って試したらx265の方がよくなってる印象だわ
0879名無しさん@編集中 (ワッチョイ 8bf2-ofH2)
垢版 |
2019/04/12(金) 23:20:24.41ID:T6+DFVHi0
Avisynth-Neo2824、とプラグイン一式、久々にビルドした
VC++2019じゃうまくいかないものもあったね
CUDA Toolkit 10.1 をつかうやつは VS2017でビルド
AvsCUDA.dllだけ 8.0でビルド
疲れた
0882名無しさん@編集中 (ワッチョイW 0943-91Xn)
垢版 |
2019/04/13(土) 07:02:04.61ID:yoZPi1Jm0
>>879
どうかお願いします。AvisynthNeo-r2824とKTGMC/KFM 0.50のビルドが欲しいです。
どうやってもあがいても自分にはビルドできない。
nekopanda氏はなんでReleaseしてくれないんだろう。
0883名無しさん@編集中 (ワッチョイWW 8bf2-fhuB)
垢版 |
2019/04/13(土) 10:22:31.63ID:/KzJRg0h0
>>882
>>879でえんこしたのみたら、
最初の1秒ちょいノイズが入るね
もとの環境に戻した
まだ完璧じゃないのかも
ビルド方法も自己流だし原因わからん

なにがうまくいかなくてビルドできないの?
0885名無しさん@編集中 (ワッチョイ a922-y/aS)
垢版 |
2019/04/13(土) 11:35:06.62ID:FQfMgi9X0
Intel環境でビルドするのと、AMD環境でビルドするのとでは
対応可能な拡張命令の違いで何かの機能が無効になるとかあるんじゃね?知らんけど
0886名無しさん@編集中 (ワッチョイ 8bf2-ofH2)
垢版 |
2019/04/13(土) 12:03:59.64ID:/KzJRg0h0
>>884
コンパイラのバージョンやSDKのバージョンによって何が起きているかはわからん
もちろん自動ベクトル化とかの設定でスピードは相当変わるだろうし、
浮動小数点の扱いとかを雑にすれば速度アップしたりする

今回のNeoの更新はcuda::Streamの話みたいだったが・・・
0893名無しさん@編集中 (ワッチョイWW 292c-fqRg)
垢版 |
2019/04/13(土) 18:27:01.02ID:p8413A+s0
>>892
先頭フレームからノイズ判定が出るソースだと、謎の白いノイズ出る事あるよ。

先頭に数秒間、何かを追加して後で切り取れば回避出来てたけどね。
先頭にから数秒しか起こらないから。
0895名無しさん@編集中 (ワッチョイWW 292c-fqRg)
垢版 |
2019/04/13(土) 23:26:30.08ID:p8413A+s0
>>894
> それは元からあったノイズじゃないの?先頭だとフレーム置き換えがうまくいかなくて残っちゃうとか
先頭フレームの置き換えを試みて、上手く行かない場合にのみ発生するんだと思う。(先頭フレームからdecombucfが必要と判定されるようなゴミソースや、ノイズ演出のあるソース意外では発生したこと無いです。)
0898名無しさん@編集中 (ワッチョイ bad1-GEyX)
垢版 |
2019/06/15(土) 16:27:29.21ID:0i2lbzlE0
KFMDeint(mode=2)とIT(fps=24,diMode=1)を比較検証してます。
KFMDeintは確かにITだと綺麗に解除できない60iテロップや、たまに
取りこぼしてしまう小さな縞もちゃんと解除してくれて強力なんだけど、
唯一シーンチェンジ破綻のフレームまで馬鹿丁寧に拾いすぎてしまうのが悩みです。
(オリジナルのQTGMCでも同様なので、KFMDeint固有の問題ではないですが)
ucf=trueや2pass処理をしても有意な効果はありませんでした。
皆さんどうやって対処してるのでしょうか?
0900名無しさん@編集中 (ワッチョイ 4ef2-bbbA)
垢版 |
2019/06/15(土) 19:08:08.99ID:7xd43rgl0
>>898
対処なんてしない
そこまで質にこだわるなら最初からKFM使ってないな

BOBしてそのまま60fpsで保存しておけばいいんじゃ
同じ内容のフレームはx26xでうまく圧縮されるだろうし
0901名無しさん@編集中 (ワッチョイ bad1-GEyX)
垢版 |
2019/06/15(土) 19:12:48.02ID:0i2lbzlE0
こういうのです
http://imepic.jp/20190615/686770
KFMDeint(mode=2,pass=0, preset="Slower", ucf=true, nr=false ,cuda=true)

KFMDeint(ucf=true)やオリジナルQTGMC+オリジナルDecombUCFだとどうしても上記のような
ノイズが残るんですが、DoubleWeave.SelectEvery()+オリジナルDecombUCFだと綺麗に消えてくれます。
恐らくQTGMC内部の2次元方向処理のせいでDecombUCFがまともにノイズ検出できなくなってるのだと
思いますが、それだとKFMDeintになんでucfオプションを付けたのか疑問が残ります。
0904名無しさん@編集中 (ワッチョイ bad1-GEyX)
垢版 |
2019/06/15(土) 19:34:08.80ID:0i2lbzlE0
あくまでフィルタなのでPSNRみたいな数値化できる評価軸じゃないし、
常に最良の出力結果が得られる訳ではないのは分かってるんですが、
今回のケースだとKFMDeint(ucf=true)はノイズ部分の明度が元より
あがって却って汚く見えるんですよねぇ・・・個人的にはfalse推奨。

丁寧に作業するときはDoubleWeave.SelectEvery()使ったりもしますが、
あくまで全自動で通す場合の話なので。
KFMDeintだとDecombUCF対処は難しいということで一応納得です。
0915名無しさん@編集中 (ワッチョイ 6301-NQoy)
垢版 |
2019/06/17(月) 08:04:25.45ID:dJHuKUrf0
透過性ロゴフィルタ(改造版) [Avisynth]delogo0004
スムージングフィルタ [Avisynth]smoothing0004
エッジレベル調整+スムージングフィルタ [Avisynth]edgelevelSmooth0004

誰か持ってないかな?
エッジレベル調整はrigaya氏の物があるので外した
0917名無しさん@編集中 (スプッッ Sd4b-urE6)
垢版 |
2019/06/17(月) 10:09:34.38ID:dm6hj2nyd
>>916
あら、新しいの出てたのか・・・
UPお願いします。
0919名無しさん@編集中 (スプッッ Sd4b-urE6)
垢版 |
2019/06/17(月) 11:09:19.92ID:dm6hj2nyd
>>918
ありがとう!
帰宅したらDLする
0920名無しさん@編集中 (スプッッ Sd5a-urE6)
垢版 |
2019/06/18(火) 11:10:19.30ID:aB8gmUAtd
>>914>>918のプラグインがavisynth.nlにアーカイブされますように
0927名無しさん@編集中 (ワッチョイ 4eaa-poSE)
垢版 |
2019/06/19(水) 23:59:21.37ID:o/IrGt1s0
>>921
余計なお世話だったらすまん
K(Q)TGMCは単品で使うと結構情報が欠落しちゃうから
OnCPU()
KMergeStatic(KTGMC(), last, KAnalyzeStatic(last))
OnCuda()
な感じで補間してやると良いかも
0930名無しさん@編集中 (ワッチョイ 4101-FJaM)
垢版 |
2019/06/24(月) 16:14:11.78ID:W7kLGrnu0
Neo r2824+AviSynthCUDAFilters 0.5.0の組み合わせで、
OnCPU(2)
KMergeStatic(KTGMC(Preset="Slower", TR2=2, SourceMatch=3, Lossless=2), last, KAnalyzeStatic(last))
OnCUDA(2)
とやると、AvsPmodでプレビューしようとするとフリーズする。

ので、r2822+0.4.6の組み合わせに戻した。
Amatsukazeだと、r2822+0.5.0っぽいんだけどね
0938名無しさん@編集中 (ワッチョイ 937d-mVFY)
垢版 |
2019/07/04(木) 03:19:10.79ID:4uX2Aw5v0
amatsukazeのdelogoフィルタとかデブロックが試した感じかなりいいけど
普通のavisynth版がないのが残念だなぁ
amaのロゴデータでそのままdelogo出来るプラグイン欲しい
既存のに比べて凄く精度良い気がする
0939名無しさん@編集中 (スプッッ Sd1f-cBvm)
垢版 |
2019/07/04(木) 08:41:05.00ID:PBrRgnvFd
>>938
同感
これができればaviutlと卒業できるのに
0941名無しさん@編集中 (ワッチョイ 937d-mVFY)
垢版 |
2019/07/05(金) 05:24:01.68ID:7TI95Xf90
いや取得の楽さの話をしてるんじゃなくて
ログ除去の適用性能が高いって言ってるんだよ
今のAvisynthにあるdelogoだと一律にかけることしかできないけど
Amatsukazeのdelogoは状況によって強弱かけてるでしょ
0944名無しさん@編集中 (ワッチョイ 6f71-Pv24)
垢版 |
2019/07/08(月) 19:39:54.50ID:axpVVrMn0
Ryzen Zen2がエンコ方面も爆速になってるのを見ていよいよ買い替えの機運が高まってきたけど、どのモデル買うか迷う。
エンコーダーはスレッド数に応じてほぼリニアに速度あがるけど、どう考えても先にネックになるのは
常用してるシングルスレッドしか対応してないAvisynthフィルタのどれかなんだよな。
0947名無しさん@編集中 (スッップ Sd1f-KpCZ)
垢版 |
2019/07/08(月) 21:21:24.64ID:MJNZ0kibd
cuda対応のvapoursynth neoなんて出ないかな?
0951950 (ワッチョイ 0671-JDM+)
垢版 |
2019/07/30(火) 00:09:33.21ID:7U3nE92Y0
ちょっとだけわかってきた。SelectField()使うとフィールドオーダーがKFMDeintに渡らなくなるのか
全編で動くシーンの画が壊れるけど、SelectField()の後に再度フィールドオーダー明示してやると
ちゃんとインタレ解除してくれる。
オリジナルのQTGMCでも若干画が壊れるけどKFMDeintの方が圧倒的に顕著。他のデインタレフィルタだと
こうした症状は無いっぽいです。
0954名無しさん@編集中 (ワッチョイ 8e23-/0C9)
垢版 |
2019/07/30(火) 20:16:24.37ID:gKtLIFBR0
SelectField()ってこれ?
function SelectField(clip clip, int num, string "order") {
fc=clip.framecount-1
order=Default(order,"bottom")
T1=clip.Trim(0,num-1)
T2=clip.Trim(num,-1).SeparateFields()
T2=order=="top"?T2.SelectEven().nnedi3(dh=true):T2.SelectOdd().nnedi3(dh=true)
T3=clip.Trim(num+1,0)
return (num>=fc)?T1++T2:(num>0)?T1++T2++T3:T2++T3
}
当然この関数自体フィールドフラグがなくなると思うが
0955950 (ワッチョイ 0671-JDM+)
垢版 |
2019/07/30(火) 21:10:11.58ID:7U3nE92Y0
すいません、SelectField()がユーザー定義関数なことすっかり失念してました(Avisynth内部関数だとばかり…)。
SelectField()を使う場合デインタレの直前にフィールド指定するか、SelectField()自体をフィールドオーダー
引き継げるよう改造するしか無さそうですね。
0957名無しさん@編集中 (ワッチョイ a3b0-ZVB1)
垢版 |
2019/07/30(火) 22:21:26.50ID:wBMcfUPT0
多分SeparateFields()とnnedi3のdh使わないようにするだけで望みの挙動になると思う

function SelectField(clip clip, int num, int "order”) {
fc=clip.framecount-1
order=Default(order,clip.GetParity() ? 1 : 0)
T1=clip.Trim(0,num-1)
T2=clip.Trim(num,-1)
T2=T2.nnedi3(field=order)
T3=clip.Trim(num+1,0)
return (num>=fc)?T1++T2:(num>0)?T1++T2++T3:T2++T3
}

これで問題おきなくなるんじゃないかな。orderは1でtop、0でbottom、省略でクリップのTFF、BFFの設定引き継ぎ
0958950 (ワッチョイ 0671-JDM+)
垢版 |
2019/07/30(火) 22:35:12.61ID:7U3nE92Y0
おぉ自分で改悪したの添削してもらおうと思ったら、先に優れたものを作ってくださったお方が。かたじけないです orz

供養
function SelectField(clip clip, int num, string "order") {
fc=clip.framecount-1
orgorder=clip.GetParity()
order=Default(order,"bottom")
T1=clip.Trim(0,num-1)
T2=clip.Trim(num,-1).SeparateFields()
T2=order=="top"?T2.SelectEven().nnedi3(dh=true):T2.SelectOdd().nnedi3(dh=true)
T3=clip.Trim(num+1,0)
joinclip=(num>=fc)?T1++T2:(num>0)?T1++T2++T3:T2++T3
return (orgorder==true)?joinclip.AssumeTFF():joinclip.AssumeBFF()
}
0961名無しさん@編集中 (ワッチョイ 9b71-Ybim)
垢版 |
2019/08/06(火) 21:25:43.60ID:IVplQrvg0
エンコードする場合の前処理と本エンコード用のavsファイルを分けて使用しているんですが、
「前処理avsファイル」上で手書きした処理のうち共通部分を「本エンコavsファイル」ファイルに都度転記するのは
面倒なので共通部分だけ「共通avsファイル」に切り出して上記2つのavsファイルにImportしようと思ってます。
ただそうすると今度は編集時に「前処理avsファイル」と「共通avsファイル」の2つを同時に開いて作業することに
なるので、それはそれで面倒です。
編集作業にはAvsPmodを使用していますが、理想としてはImport部分の中身をエディタ上展開/編集できるようになると
嬉しいです。そういった機能はありませんか?

↓この画像の5番みたいなイメージです
https://support.content.office.net/ja-jp/media/dbc7679a-443d-4297-8601-38664e8c740d.gif
0963961 (ワッチョイ 9b71-Ybim)
垢版 |
2019/08/07(水) 00:48:10.94ID:Q/+S+KhY0
>>962
「前処理avsファイル」で使用した書式のうちいくつかは「本エンコavsファイル」では使用してはいけないので、
共通部分だけまとめたavsファイルを別途作成してImport(しかも複数箇所)しないと実現できなそうです。
0964名無しさん@編集中 (ワッチョイWW ad35-xBuU)
垢版 |
2019/08/07(水) 02:46:58.59ID:65uoyFNn0
どんなavsか分からないから何に困ってるのかよくわからないけど、前処理+共通の全部書いたテンプレのavs作って
状況に応じて行頭コメントアウトしたり文字置換等をバッチ若しくは手動でするのは無理なの?
0968名無しさん@編集中 (ワッチョイ 0d70-0ks1)
垢版 |
2019/08/07(水) 16:01:32.14ID:+t/GJ1En0
フラグになる変数定義して if 文でどうのとかはだめなん?
俺は AvsPmod でトリミングするときは処理を軽くするためにフィルタを解除したり、
編集おわったらフィルタ全適用したりってやるのに変数適当に定義して if 文でまわしてる。

どういう処理されてるかさっぱり分からないからみんな「それならこうした方が良い」ってのが
言い出せないかと思う
0969961(1/2) (ワッチョイ 9b71-Ybim)
垢版 |
2019/08/07(水) 19:42:22.70ID:Q/+S+KhY0
いろいろコメントありがとうございます>各位

GetProgramName()で分岐とか環境変数で制御とか思いつかなかったなぁ。
無理に呼び出し元バッチで何とかしようとせず、avsファイルを一つに
まとめて、スクリプト内で制御した方が賢いかもしれない。

ちなみに現在使用している環境のイメージとしては以下のような感じです。
(作業が発生する度共通部分をpre→mainに転記している)
前処理用フィルタは固定ですが、共通部分とかメイン用フィルタは
都度内容や使用件数が変わるものとお考え下さい。

# pre avs
MPEG2Source("source.d2v", upConv=1)
AssumeTFF()
UserDef1() #共通部分1
UserDef2() #共通部分2
UserDef3() #共通部分3
PFilterA() #前処理用フィルタ
return last
0970961(2/2) (ワッチョイ 9b71-Ybim)
垢版 |
2019/08/07(水) 19:43:07.55ID:Q/+S+KhY0
# main avs
MPEG2Source("source.d2v", upConv=1)
AssumeTFF()
UserDef1() #共通部分1
MFilterA() #メイン用重いフィルタ
UserDef2() #共通部分2
UserDef3() #共通部分3
MFilterB() #メイン用スゴク重いフィルタ
return last

>>964>>966
ホンマそれ。だけどメンドイし、手動によるミスも多いです…
0971名無しさん@編集中 (ワッチョイ 0d70-0ks1)
垢版 |
2019/08/07(水) 20:22:56.48ID:+t/GJ1En0
>>970
そういうスクリプトだとしたら俺ならこうするかなー
変数切り替えて使うww

HOGE = 1 # 1 = Pre, 2 = Main

MPEG2Source("source.d2v", upConv=1)
AssumeTFF()
UserDef1() #共通部分1

if ( HOGE == 2 ) {
MFilterA() #メイン用重いフィルタ
}

UserDef2() #共通部分2
UserDef3() #共通部分3

if ( HOGE == 2 ) {
MFilterB() #メイン用スゴク重いフィルタ
} else if ( HOGE == 1 ) {
PFilterA() #前処理用フィルタ
}

return last
0972名無しさん@編集中 (ワッチョイ 2316-7p+E)
垢版 |
2019/08/07(水) 23:28:25.07ID:4cPIL4Pe0
同時編集する必要性が分からないんだけど・・

普通にメイン部分を無効で登録しておき編集して「前処理フィルタ」実行
処理が終わったら「前処理フィルタ」を無効にして「メイン用重いフィルタ」の調整としたほうが
流れるように作業できラクなはず
0973名無しさん@編集中 (ワッチョイ 2316-7p+E)
垢版 |
2019/08/07(水) 23:41:43.34ID:4cPIL4Pe0
自分は高度なこと分からない人だから

type pre.avs | find /v "PFilterA" >pre2.avs
type pre2.avs | find /v "return" >pre3.avs

みたいに転がして後は文字列の置き換えてメインフィルター追記して
main.avsで出力みたいなのしか発想できない
0979名無しさん@編集中 (ワッチョイ b102-dCD9)
垢版 |
2019/08/17(土) 23:03:52.89ID:wdvnfH0u0
それはAnime4Kはもっとそうで
得意な映像なら、なんだよ
不得意なパターンも報告されてるわけでね
リアルタイムだからどうしようもない部分はある
レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況