Avisynth 質問スレ Part10
レス数が1000を超えています。これ以上書き込みはできません。
Avisynthの質問スレです
・質問する前に
1.まずは、過去ログを読むか検索エンジンなどを使って調べましょう
2.次に同じような質問がないかCtrl+Fでスレッド内を検索しましょう
・荒らし・煽りは綺麗にスルーしましょう
■前スレ
Avisynth 初心者質問スレ Part9
https://mevius.5ch.net/test/read.cgi/avi/1489152984/
■関連スレ
・Avisynthを絶讃ιょぅょ Part32
https://mevius.5ch.net/test/read.cgi/avi/1486535501/
■外部リンク
・Avisynth wiki(英語)
http://avisynth.nl/index.php/Main_Page
・avisynth.info (旧 AviSynth Wiki、日本語)
http://www.avisynth.info/
・AviSynth ニュース
http://news.avisynth.info/ >>951
avisynth plusはいれているのですが、CUDA対応のavisynth neoがあるのですね...
フィルタもCUDA対応し、エンコードはCPUでするだけで効率が良くなりそうな気もします。
ありがとうございます。 DGinexNVの他にCUDAプラグインが含有されてたのでそちらの方を使ってみます。
お騒がせ致しました。 >>832 で Avisynth+ 3.7.0 + pinterf/AviSynthCUDAFilters がうまく動かないって質問したものだけど
KFMDeint.avsi のコードを1ずつ実行して、いくつか問題の切り分けができたので報告しとく(おま環かもだけど)
自分の環境だと、OnCPU()してCUDAフィルタで処理するところまでは動作するが、
最終的にOnCUDA()してCUDA フレームをCPU フレームに戻すところでデッドロックしてるっぽい
特に、KTGMC()で出力した60pフレームをOnCUDAすると確実にデッドロックする…
Avisynth Neoも2018年ごろのバージョンだとMT有効だとデッドロックするとかあったなぁ…
あの頃はnekopanda氏がすぐ修正してくれたけど >>954
OnCuda OnCPUをどう書いてるか
全コードみたいです・・・ >> 955
レスありがとう、
例えば以下のコードでデッドロックする感じです。
投稿エラー回避のために分割してます
------------------------------------------------------------
SetMemoryMax(2048, type=DEV_TYPE_CUDA)
SetDeviceOpt(DEV_CUDA_PINNED_HOST)
src = LWLibavVideoSource("xxxxxxxxxxxxx.ts").OnCPU(0)
preset = "Faster"
sourceMatch = 0
lossless = 0
dev = 0
cuda = true
if(cuda) {
cc = CUDAComputeCapability(dev)
Assert(cc >= 35, "[KFM CUDA Error] Specified GPU: " + CUDADeviceName(dev) + " is not usable. (CC=" + string(cc) + " < 35)")
} >>956 の続き
------------------------------------------------------------
pad = src.KFMPad()
src = pad.Crop(0,4,0,-4)
xTGMC = function[preset, sourceMatch, lossless, cuda, dev](clip c, int useFlag) {
prevGlobals = (useFlag == 0) ? "Replace" : "Reuse"
cuda ? c.KTGMC(Preset=preset, SourceMatch=sourceMatch, Lossless=lossless, dev=dev, PrevGlobals=prevGlobals, useFlag=useFlag) : c.QTGMC(Preset=preset)
}
call_xTGMC = function[preset, src, pad, xTGMC](int useFlag) {
is_pad = (preset == "Faster" && (Height(src) % 16) == 8)
srcq = is_pad ? pad : src
p60 = srcq.xTGMC(useFlag)
is_pad ? p60.Crop(0,4,0,-4) : p60
}
stt = src.KAnalyzeStatic(30, 15, pad)
clip60 = call_xTGMC(0).KMergeStatic(src, stt).OnCUDA(0)
return clip60.OnCUDA(0) >>957 最後の return の .OnCUDA() は削除してください SetFilterMTMode とか書かないんだね・・・
Neoは
Prefetch(clip, int "threads", int "frames")
を好きなところにいくつも入れられるようだけど
そういうのでなんとかならんかね 3.7.1は何故か動かんかったけど3.7.2は今んところ順調 3.7.1はPrefetchを複数使うと動いたりダメだったりしたけど
3.7.2は今のところ大丈夫っぽい?まだ2本だから何とも言えないけど フィルタ毎にちゃんと調整すれば上がるんじゃね?
俺はそこまではめんどいから最後の1行に書くだけだけど >>963
正直わからないけどNeoの仕様と同じなら有効なはず?
ivtc_txt60mcとかtxt60mcHybrid、QTGMC見たく重いといいんじゃないかと・・・ そういやPrefetch複数使えるのneoフォークの方か Cropで左右1ドットずつ削ろうとすると
2で割れる数値しか指定できないようなエラーが出ますが
回避策ってありますか? >>967
リサイズで削ればいいんでないの
Spline36Resize(1918, 1080, 1, 0, -1, -0)
みたいな リサイズのcropは小数点も入れられるから便利かも? やっと時間ができて3.7.2ビルドした
CUDAFiltersはヘッダ変えてビルドする必要あるね
それで動いてる
他はどうかな・・・ VS2022 Comm を更新して
CUDA Toolkit も 11.6 update 2に更新して
Avisynth3.7.2をビルドして
CUDAFilters も 3.7.2 + CUDA 11.6 のnvccでビルドして
AVSPModも新しいのにして
Python2.7のdllもビルドして
日が変わってた 初歩的な質問で恐縮ですが、Avisynthでもffmpegでも、ビルドする環境?によって生成される実行ファイルのバイナリが異なるのはなぜでしょう?? ビルド環境の情報や時刻が埋め込まれるんじゃないのかなぁ?
ウィルスをもし作っているとしたら追跡とかできるし スレチかもしれませんが
rigaya氏のx264ですがr3000までは全角かなのAVSネームでも入力可能でしたが
3048、3094でやってみようかと思ったらエラーが出ました
AvsPmodでは通ります、これはANSIじゃダメということでしょうか? AvsPmodのエディタ何故かマウスホイールが効かなくなって不便極まりない srestoreフィルタが使いたくてまったくの初心者ですがAviSynthを使ってみようと思ったのですがうまくいきません。。。
OSはM1のmacです。3.7.2のリリースにM1 mac向けのpkgがあったのでダウンロードしインストールしました。
その後公式のチュートリアルに従ってVersion()だけのtest.avs作りましたが再生できず、ffmpegで読むこともできず。
Libraryフォルダにlibavisynth.dylibというのはありますが ffmpeg -formats でそれらしいのは出てきません。
見てるとみなさんビルドして使うのが当たり前のようで、諦め気味ですが、なにかアドバイスもらえると嬉しいです。。。 ffmpegのビルドオプションの --enable-avisynth が入ってないことを確認しました。
ffmpegが.avsを読まないのはこれかな… Ryzenの3D V-Cacheはavisynthに効くのかな GPU買ったらKFMでデッドロックがしっかり出たわ
アーキテクチャの問題は少なくともあるのか
少しづつわかってkた >>954
これはavsiで解決しなそう
cuda filters の nvcc のソースレベルなのか
なにか対策されているのか
Pascal は動くけど Ampere は動かないね
SM変えたりJITとか試してみたけどだめだった
なにか見逃してるかな・・・ CUDA Filters、KTGMCは
修正しようとた痕跡がいっぱいあるような感じするが、
nekopanda氏、うまくいかなかったのかな・・・
そもそもデッドロックの原因が何処にあるのか
まだ確定してない・・・
本当にデッドロックなのかも怪しい
そしてソースが長い・・・
これは相当時間がないとテストできない スレチだけどffmpeg 5.xx以降、4.xxとの互換性が一部消えたな
パラメーター名の文言がいくつか変更されているのでそのままだとエンコできずに失敗する >>954
の話は、CUDA runtime API 勉強するしか無いですかね・・・
なにか対策されていて動かないのであればどうしようもないですが・・・ NVIDIA社のGeForceに限定されてしまうCUDAよりも環境を選ばない標準規格とも言えるOpenCLの方が色んな意味で良さそう
rigaya氏がAviUtlだけどOpenCLのGPUフィルタ実装してるみたいに >>954
の話まだ解決できず
そもそもGPUは何使ってるの? このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1062日 18時間 0分 46秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。