Avisynthを絶讃ιょぅょ Part32 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
LSMASHSourceでTS読み込むと途中で静止画になるバグに悩まされてたけど、
seek_mode = 2, seek_threshold = 0 にしたら問題なくなった。 KSMDegrainを使うにはどのdllをどこにインストールすればいいんでしょうか? >>419
KSMDegrainはAmatsukazeのリリースパッケージにしか入ってない
単体で使いたい場合はKTGMCを入れて、
↓このスクリプト入れて(Amatsukazeのリリースに入ってるのと同じ)
https://pastebin.com/AqywRRmN 新Itsの作者様のnekopanda様へ
Itsを25fpsに対応させることは無理でしょうか?
PAL→NTSC変換に失敗した動画の25fpsパートを
Srestore関数で25fps化しつつ60iテロップ部は60fpsにという動作をさせたいので
触る機会があったら対応お願いします タイムコード側で対応せずにフィルタ側で対応すればいいだけじゃね?
ITSはあくまでタイムコードにあわせて指定したフレームにフィルタを当てるミドルウェアだしな。 >>422
対応版作ってみた
https://github.com/nekopanda/Its/releases
25fpsは240の約数じゃないから内部処理的にかなり改変してて
突貫工事+よく分からないコードはバッサリ消しちゃったから
変なとこあったら教えて >>424
ありがとうございます
今日、明日にでもテストして報告させていただきます とりあえずパッと見ではではおかしなところはなかったと思います
ただ25fpsは240の倍数じゃないのは確かなので
r6までのItsと別プラグインにしていただけませんか?
もし25fpsに対応するためのバグで困る人が出たら心苦しいので
なにか異常がありましたら改めて報告したいと思います
改造ありがとうございました KSMDegrain_MAnalyzeの引数についてお尋ねします
Mvtoolsに対応させると、前の方は予測がついたのですが、後ろの3つがわかりませんでした
KSMDegrain_MAnalyze(super=psuper, isb=False,delta=2,blksize=16,blksizeV=8,overlap=4,?1=False, ?2=True,?3=4)
?1・?2・?3はそれぞれ何に相当するものなのでしょうか
KMDegrain1をthSAD=150で使っても、MDegrain1では残せていた雨が半分ぐらい消えてしまうので、このあたりをいじってみたいのです
MDegrain1は下のように使ってました
super=Msuper(pel=4,levels=1)
superfilt=ColorYUV(levels="TV->PC").Msuper(pel=4)
bv1=Manalyse(superfilt,isb=false, delta=1,truemotion=true,overlap=4)
fv1=Manalyse(superfilt,isb=true, delta=1,truemotion=true,overlap=4)
Mdegrain1(last,super,bv1,fv1,thSAD=150) >>428
関数定義見れば分かると思うけど、後ろ3つは bool truemotion, bool chroma, int batch
truemotionは対応してないから使ってない
雨は試してみたけどブロックサイズ小さくしないとダメっぽいね
KMAnalyseは16x16と32x32しか対応してないから8x8は使えない・・・ >>429
ありがとうございます
ダメですか・・・
色々小細工を考えてみます >>430
8x8対応した
https://github.com/nekopanda/AviSynthCUDAFilters/releases
KSMDegrain(tr=1,blksize=8,thSAD=150,thSCD1=400)で
だいたい同じになるはず。探索アルゴリズムが違うから微妙に違うけど >>431
対応ありがとうございます
早速試したところ、雨がエンコード後も残ってました と思ったのですが、
Script error: Cannot load a 32 bit DLL in 64 bit Avisynth: 'P:/Capture/Amatsukaze/exe_files/plugins64/KTGMC.dll'.
というエラーを吐いて止まってました・・・ >>433
すまん、なぜか壊れてたから作り直して挿し替えた GPUのインタレ解除機能を使ってインタレ解除するフィルタ作った
https://github.com/nekopanda/D3DVP
PCで普通に再生したときと同じ品質でインタレ解除できるはず
速度は、手元のPCだとフルHDサイズの動画で
Skylake CPUで180fps、GeForce 1060 GTXで400fpsくらいだった
ただ、Radeonだと単純なBobしか掛からなくて画質が悪かった
環境の問題なのかプログラムの問題なのか分からん >>437
Radeonで動作確認しました
自分の環境だと一応高度なデインターレースをしているように見えます >>438
動作確認ありがとう!
GeForceとRadeon共存の上にRadeonはディスプレイ出力してないっていう
特殊な環境だったから、おま環だったかな。よかった mp_pipeline経由でKSMDegrainが動くのでD3DVPを試したのですが、
Script error: [COM Error] -2005270524: Unknown error 0x887A0004 at D3DVP.cpp:617
というエラーが出て動きませんでした >>437
Radeon環境だとD3DVPは_GPU25に比べてどっちが高品質? >>440
こっちでは動いてるようにみえるけど、mp_pipeline経由じゃなければ動くの?
GPUは何使ってる? GT1030をモニタ出力なしで使ってます
System32のAvisynth.dllを入れ替えてmp_pipeline無しで使っても同じエラーが出ました
モニタが冷陰極管世代の古いものなので、一部ビデオオプションが出ないのが影響してるかもしれません >>443
なんでだろう。エラーはDirectX11.1で初期化しようとしたところで出てるね
- GPUがDirectX11.1に対応してないから
- Win7使ってるから
- モニタ出力してないから
このくらいしか思いつかん >>443
あ、そもそも、モニタ出力してないってことは、他にモニタ出力してるGPUがあるんだよね
デバイス名を何も指定しなければデフォルトでプライマリディスプレイに繋いでるGPUを使おうとする
そっちがDirectX11.1に対応してないとそういうエラーになるかも Win7だからだ!
りどみでは11って書いてあったので大丈夫かと思ってたけど、11.1対応が必要だったのか avisynth: Avisynth+ r2580MT
プレビュー: AvsPmod v2.5.1 (windows x86-64)
OS: windows10 Home (64bit) fcu
GPU: Radeon RX460
最初、ジャンプ後にエラー出ると報告しようとしたけどMTを無効にしたら問題なく動きました
RadeonのポストプロセッシングもDXVA Checkerで有効にできるのも確認
これはお手軽高速デインタレとして最高かも・・ >>446
Itsといいこれといいお世話になります
thx! >>447
0.1.1でエラーでた?
0.1.0はMTでエラーが出てたから直したつもりだったけど、まだダメだったかな >>446
Win7はちょっと細工が必要だけど対応できるって情報がチラッとあったから、
そのうち対応するかも。待ってね 凄く便利だけど
GPUのインターレス解除ってソフトに比べてどれくらいの品質なんだろうね >>449
す、すいません
ダウンロードとセットアップ&テストにラグがあったので
0.1.0での結果になります
0.1.1はMT有効でも問題ありませんでした >>437
AmatsukazeからNVEncを使うとHWデインターレースが使えなくてバランスが悪かったのだけど
AVS経由で使えるようになって嬉しい
ただ、GeForceが載っているマシンではD3DVP(device="Intel")ではエラーが出て使えなかった
AmatsukazeからQSVEncを呼んだときは--vpp-deinterlaceがちゃんと使えるのだが
HWデインタレはIntelの方がNVIDIAより上というのが以前からの所感だが、いまだに納得がいかない
もう少し遅くてもいいからデインタレの質を上げてくれんかな
他の人の話だとRadeonが一番というが手許にないのでたしかめられない いくら良いと言ってもQTGMC slowに敵うものじゃないし
そういう高度な処理と比べたら大したことないと思う>radeon含むHWデインタレ GPUはCPUをサポートする感じだったが、
昨今はお値段がCPUより高かったりするし、
だったら、DualスロットCPUとかにでもして
CPUのコア・スレッド多くしてQTGMCかけたほうがシンプルで画質もよさそう >>455
あれって結局NNIEDI3メインじゃん
でも、NNEDIってやり過ぎて歪む確率も高いからRadeonの適応ディレクションの方が、俺は好きなんだよね 基本的なことになりますが、出来るだけ高画質にインターレースを除去したい場合、
ここにあるようなQTGMC等を使用するのと、AEプラグインのMagic Bullet Framesや、Re:VisionのFieldsKitを使用するのとどちらが適しているのでしょうか? >>458
そもそも高画質の定義が曖昧で自分自身が見てその「高画質」を決めるんだから、「基本的」なことを言うなら全て試すのが正解 >>459
画質の良し悪しを客観的に評価してくれるサイトってないでしょうか?
元動画のキャプチャと、加工後動画のキャプチャの両方をアップして、解析してくれるような。。 >>460
「オリジナルとの同一度」という意味の指標ならPSNRとかSSIMとかがあるけど
そういった指標での評価は実際に人が見た場合の主観的な評価とは一致しないことも多い。
なるべく主観評価と位置する指標が欲しいということでNetflixがVMAFを考案したりしてるけど、それもまだまだ。
ということ「画質の良さ」については「自分の目で見て決めろ」というしかない。それが基本。
それにインタレ解除の品質を評価する場合は「オリジナル」なんて存在しないんだから
複数方式での解除結果を比べて自分で綺麗だと思うものを選ぶしかないだろう。 インタレ解除の品質を評価したいんだから、
元動画は60pで、それを60iにしたのをインタレ解除させて
一致比較するなら、オリジナルは存在する
それでPSNRとかSSIMとかやるのかなぁ 無理でしょ
それだとただのブレンド解除が一番いいってことになりそう 絵的なものわからないけど、アニメとかフィルタかけまくって
凄い綺麗とか言われてる世界もあるしな 写真だって凄い補正かけて美しくとかあるし、結局は自分が綺麗だと思う映像が正しいんだよ
どうせ、ソースと寸分違わず作り出せないんだから >>452
ごめん、やっぱりWin7対応は無理だった・・・
NV12やYUY2を出力テクスチャにできなかった D3DVP 0.2.0, Win10 1709, GF 750Ti, AviSynth+ r2502MT x64で、>>440同様のエラーで動かない >>467
D3DVP(device="NVIDIA") でダメ? >>457
QTGMCはそのままだと細かい文字とかが潰れるから、単体で使うのは実用的じゃないよ
↓KMergeStatic使うか、
https://github.com/nekopanda/AviSynthCUDAFilters/wiki/KFM
TDeintベースにするか
QTGMC(EdiMode="TDeint")
動いてるところの補間はQTGMCが最強
プルダウン判定と止まってるところの判定がないのが残念なところ >>467
すまん、プログラムの問題だったっぽい。修正したから試してみて >>470
0.2.1動作しました。どうもありがとう nekopanda氏へ
D3DVPで同じデバイス名のGPUを複数枚挿している環境だと
検索して最初に見つかったGPUしか使用できないので
deviceIndexオプションを追加して同じデバイス名のGPUを複数枚挿している場合でも
GPUを選択できるようにしてみたよ
(Radeon RX Vega64 x3枚の環境で動作確認した)
githubのアカウントは持ってないのでロダにソース上げておきます
https://www.axfc.net/u/3886018 >>469
VapourSynthのQTGMCでスクリプトをいじって、
最初のフィールドを分離する所のBobをTDeintMod+nnedi3に、
後のedi1でそれをそのまま使うようにしてる。 >>374のdelogomod x64再アップお願いできませんか。 KTGMCで、薄っすらと前後のコマが残る場合があるようです
https://i.imgur.com/EQBXdfB.png
上:Deinterlace(mode24=2, preset="faster", cuda=true).selectevery(2,0)
下:TFM(mode=5,PP=0,order=-1,slow=2,mChroma=true,chroma=true)
口に薄っすらと残っています。fastとslowでは出ませんでした
QTGMCでも既知の現象なのでしょうか? >>478
cuda=falseにすればQTGMCで動くよ 前後のフレームをマージしてるから、原理上はありえる動作
ただ、QTGMCとKTGMCで全く同じ結果になるとは限らないから
それはやってみないと分からない
他にも、口とかの小さい動きは、動きが捉えられて、
本来は存在しない中間フレームが生成されたりする
これはslowでやっても改善しない
ただ、そういうのは動画で見たらほとんどの人は気づかないと思う
だけど、ソースに存在しないフレームが生成されるのは嫌だから、
24p部分は24p判定しようと頑張ってる
24pだって分かってるソースは逆テレシネするのが一番きれいだよ FFmpegに帯域削減後のBSに使われてるフィールドピクチャが
正常にデコードできないバグがあったから直した
これ使ってL-SMASH Worksビルドしたから配布
https://github.com/nekopanda/FFmpeg/releases
ビルドけっこう大変だったからおかしいところあったら教えて >>483
ありがとうございます。
質問なのですが、ffmpeg本家への報告は考えてらっしゃいますでしょうか?
今後のことを考えると、できれば本家にも修正が反映されると良いなと思うのですが。 AmatsukazeでTDecimateを使うと途中で止まってしまいます
コンソールのログは↓で止まります
> AMT [info] 音ズレ: 平均 1.99ms 最大 1.99ms
メインを
Import("AMTFilterFunctions.avs")
src = IsProcess("AmatsukazeCLI.exe") ? AMT_SOURCE : LWLibavVideoSource("T:\sandbox\t28\ts\test.ts")
src.Deinterlace(mode24=3, preset="Faster", cuda=true).selectevery(2,1).Assumefps(29.97003)
ポストを
src = IsProcess("AmatsukazeCLI.exe") ? AMT_SOURCE : LWLibavVideoSource("T:\sandbox\t28\ts\test.ts")
src.PostFilter(cuda=True,edge=False)
IsProcess("AvsPmod.exe") ? ConvertBits(8, dither=0) : last
TDecimate()
にして、エンコードしようとしました
TDecimate()無しで30fpsでエンコードする場合は正常にエンコード完了します いっそnekopanda氏に一言伝えて、Amatsukazeスレとか作ればいいのに。 >>489
そこは10bitだからマズい気がする
TDecimate()は10bit対応してたっけ ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ http://putin999.blog.fc2.com/ (←fc2を半角にしてね)
ここのサイトのプラグイン、ほとんどリンク切れになってる… D3DVPめっちゃ便利やね
環境維持重視だった録画兼エンコPCもWin10にしたくなったわ D3DVPのデフォルトはbobらしいけど
どのくらいの品質なんでしょうか GPUやソースによっても変わるんだし、自分で試すしかないんじゃないの。 >>496
GPU使って動画再生したときと同じ品質のはずだから、
PCでインタレ動画再生して確かめればいい >>498
NVIDIAが載ってるノートPCとMPCとLAVで十分綺麗に観れてますから
満足な品質だと理解しました
ありがとう >>494
その場所知りたい
片フィールドロゴ除去系のプラグイン探してるんだけど
サイト消滅、リンク切れで見つからない >>500
ごめん
firefoxをインストールしてブクマ確認してみたけど登録してなかったは
Itsのx64版とかいろいろあったと思ったんだけど・・ CUDA対応とか盛り上がってるんでplus 64bitに移行してみたんだが
avs名が長かったり2バイト文字を含んでると、ScriptFile()が尻切れの値を返してきて分岐処理が出来にゃい…
詰んだorz >>309
Windows8.1 64bit GeforceGTX750環境で
Avisynth+(r2636)で完走するavsで
Avisynth+CUDAに代えたところ
QTGMCがエラーを出します
log
ERROR: Assert: assertion failed
(C:/Program Files (x86)/AviSynth+/plugins64+/QTGMC.avsi, line 1096)
QTGMC.avsi, line 1096
try { Assert( !Replace && defined(Eval(globalName)) ) }
同様にKTGMCの場合もエラーを出します
log
ERROR: Assert: assertion failed
(C:/Program Files (x86)/AviSynth+/plugins+/KTGMC.avsi, line 1065)
KTGMC.avsi, line 1065
try { Assert( !Replace && defined(Eval(globalName)) ) } >>504
うちだと、そのエラーはAvisynth+(r2636)でも出るし、QTGMCでもKTGMCでもAvisynth+CUDAで完走する >>434
ビルドしたら用意されてて、うお!って思ったけど、
Device unmatch: oncuda[CUDA] does not support [CPU] frame
のエラーで使えないです nekopandaさんの
KTGMCとか以前と結構変わったのかな?
ただのKTGMCとかなくなって、KTGMC_Bobとか他にもいっぱいあるんだけど
とりあえずKTGMC_Bobはあまり綺麗にならない KTGMCやKNNEDI3はビルドしないで普通にreleaseされてるのを使えば問題なかったです・・・ >>506
用意した覚え無かったけど、なんかあるねw
多分中身はnnedi3_rpow2と同じだわ
>>507
KTGMCはKTGMC.avsiにある
KTGMC.dllにあるKTGMC〜は内部で使ってる関数 >>509
ありがとうございます
仕組みがわかりました
AvsPModでKTGMC使ってもすごい速さでシークできるので
可能性を感じます・・・が結構落ちます・・・
グラボのメモリとかが足りないのか、故障してるのか
イベントビューアに WHEA-Logger 17 いっぱい出てるし >>510
GPUのメモリ使用量はGPU-Zとかで見れるよ。Win10ならタスクマネージャーでも見れるかな
そのエラーはHWかドライバあたりっぽいね Avisynth+ CUDA 安定してきました。
KTGMC、KNNEDI3は全然CPUパワー食わないので
CPUパワーを他のことに使えますね
高画質化とか高速化とか? GPUガンガン回して時間当たりの消費電力が増えても全体で見れば凄い省電力ってのは精神衛生上大変よろしい そういう意味じゃ、D3DVPは圧倒的な消費電力低減につながるな CUDAは無理だが、D3DVPはRadeonでも使えるだろw MDegrainのGPU化物凄く助かる
マジ感謝
ラップは作れないですけど・・・ D3DVPはRadeon買ってみたくなるな
でもインタレ解除は、30fpsになっちゃうけど、
K(Q)TGMC(slower)でBOBってSelectEvenしてる
圧縮してもたいして容量変わらないし、なんか綺麗だから
誤爆とかそういう概念もなくなるし
変? ぶっちゃけradeonは大したことないよ
D3DVP側からオプション変えられないし使いにくい
KTGMC(QTGMC)でslowerが高速に動くなら
それに越したことはない ttp://linino.dip.jp/quintrokk/?p=1768
にも書かれてるんだけど
>なぜかD3DVPフィルタを適用すると、 先頭フレームが2フレーム重複して表示→以降1フレーム遅れ→最終フレーム欠落 となってしまいました。GPUが悪いのか、ドライバが悪いのか…
って感じで1フレームずれるんだけど、仕様ですか? >>521
いや、うちはNVIDIAでやってるからね KTGMCでBOBしてselectevenして、
間引きとかはもうしてないなー
誤爆とは縁が切れた
今は30fps固定のインタレ解除だけしたCFR
似たフレームなら圧縮されるだろうし
出来上がりサイズはたいしてかわらんし >>520
DGdecNVに、読み込み時と単体のHWデインタレースフィルタの3種類が用意されていたので試してみた
CUDA経由のDGBob(mode=0)とPureVideo経由のPVBob(mode=0)はズレないが
古いDGSource(〜deinterlace=1,use_D3D=true)でD3D経由インタレ解除してスキップしたりフレームを戻すと1フレずれる
Win7+GTX660環境なんでD3DVPが使えず同じ現象かは分からんが、D3Dの仕様に何か罠があったりするんかな? そういやnvidia専用のDGdecodeもあったね
懐かし 1フレームずれる分、音ズレに気をつけないといけないんだろうか EDCBスレで話題になってるVS2017のコンパイルしたものの動作不良を引き起こすバグ(仕様)が気になる
3月の頭にnnedi3とか自ビルドした間の悪さよ・・ 昨年末くらいにAvisynth+スレでもVS2017おかしくね?って話が出てたよ。
https://forum.doom9.org/showthread.php?t=168856&page=192
書き込みにもあるけど、x265のバイナリを配布してる海外の人が
VS2017 15.5はクソだなっつってV2015に戻したりもしてる。
http://msystem.waw.pl/x265/
今のpinterf氏のAvisynth+ってVS2017ビルドだよね?
ランタイム入れるのめんどいって思って最近全然更新してないや・・・。 ああ、あれってそういう話だったのか
開発も自ビルドしないからコンパイラなんて関係ないやってスルーしてたは KFMの32bit版でKFMSwitchが動かない
引数のthswitchやthpatchを設定するも引数エラーが出る
64bit版はOK >>530
CUDAが32bit版サポートしなくなってビルドできなくなってた
紛らわしいから32bit版は消しておいたわ >>531
サポート終了とは残念だが回答ありがとう
更新頂いたバージョンのリンクが0.3.1になってるので最新のお願いね
aviutlから乗り換えで別の編集用ソフト探すかな まぁ、実際のところ、作者様は
色々なバージョンを作成管理する義務はないし、
自分の時間だって欲しいはず プラグイン作者は、著作者を名乗ったりHPのリンクとか貼らなければいいんだよ。
ビルドが終わったら斧にでもアップして、一切のサポートをシカトすれば気も楽だろ。
どうせavsのプラグイン開発なんて1円も儲からない分野だしな >>520
先頭フレームの解除漏れとフレームのずれに対処するオプション追加した
border="blank",adjust=1 ってすればどっちも解決できるはず
1フレームずれるのが仕様なのかどうかは知らん
Radeon環境や、NVIDIAでもmode=0だとずれてなかった >>536
環境や、もしかしたらドライバによっても違うってことですかねえ
ちゃんと確認してからやらねばいけないね AviSynth+CUDAいじってるけどおもろいね
電気代と1080ti欲しくなるなぁ・・・ >>536
元絵とかと比較して自動アジャストとか出来ないかなー conditionalfilterフィルタがCUDAを使うと動かなくなるようで
再現性あったのでサンプルスクリプト書いてみました
SetMemoryMax(2048, type=DEV_TYPE_CUDA)
BlankClip(length=100, width=1920, height=1080, pixel_type = "YV12", fps=30000, fps_denominator=1001).KillAudio()
AssumeFrameBased()
conditionalfilter(last, last, last, "10","<", "128" )
ConvertBits(14).OnCPU(2).KDeband().OnCUDA(2).ConvertBits(10, dither=0)
return last 普通のPlusでもMT有効でconditionalfilterを使うとエラー出るし
もっと根本的なところに原因がありそう ConvertBits(14).KDeband().ConvertBits(10, dither=0)で動いたから修正できたら嬉しいのだけど
別の原因かもしれないのか。。
DecombUCFが動かなくて、conditionalfilterまで行きついた。
DecombUCF自体はconditionalfilter無しで動かすように改造して回避して
内部呼び出しのTDeintをKTGMCに変えてさらに高画質化できたよ Avisynth+CUDA専用でないならどこかにアップしてくれない?>conditionalfilter無しのdecombUCF 自信無いがこんな感じ、decombUCF v3.13が元
conditionalfilter(c
から
\, "CFieldDiff(nt=0,chroma=true)*100.0/"+String(Width(c)*Height(c)),"<", String(fd_thresh) )
まで削除
変わりに
c
追加
第一次判定をスキップするので重くなる可能性あり
以下利用サンプルではTFMでインターレース判定があった場合のみ実行することで負荷低減
#pp=0とpp=4は変えないほうが良い、インターレース判定のcthresh, MIはお好みで
Deinted = TFM(mode=6, order=-1, pp=0, slow=2, mChroma=true, MI=40, display=false)
Deinted = Deinted.DecombUCF()
TFM(mode=6, order=-1, pp=4, slow=2, mChroma=true, clip2=Deinted, cthresh=7, MI=40, display=false)
TDecimate(mode=1) スマソ、一次判定の結果が間違ってたので修正だわ。decombUCF v3.13が元
conditionalfilter(c
から
\, "CFieldDiff(nt=0,chroma=true)*100.0/"+String(Width(c)*Height(c)),"<", String(fd_thresh) )
まで削除
変わりに
c.ScriptClip(string1+string2+string3)
追加 ちょうど今日やろうとしてたところで
情報更新thx Plane Difference: This filter can only be used within run-time filters
([ScriptClip], line 4)
がMT有効だと常に表示されるは
conditionalfilterだけが問題ではないみたい@plus r2636 確認どうも
再現したのでScriptClipも回避できるか見てみるかの DecombUCFはLumaDifference系のフィルタが必要でこれもMTと合わせて利用ができないよう
リクエスト修正出てるからいずれは修正されるのかな
https://github.com/pinterf/AviSynthPlus/pull/10
CUDAの方はimportスクリプト内含め全てをOnCPU(0).OnCUDA(0)とすればMT無効と同条件でDecombUCFが動作することがわかったわ >>552
調査ありがとう
それ、去年の4月からの放置なのか・・
Avisynth+はSE't氏のMTより高度なMT処理を実装してるんだろうけど
ちょっとちょっと未成熟なのよね
プラグイン側は精力的なアップデートでかなり良くなってるんだけども あぁ、Avisynth+はScriptClip系をマルチスレッドで使うとデッドロック不可避だった
ソース見ると直そうとした形跡はあるけど、
最近のバージョンではエラーにしてるとこ見ると、もう諦めてるのかな
CUDAはOnCUDAが1つだけなら大丈夫っぽいけど、複数あるとデッドロックしそう UtVideoで吐きだしたaviファイルをフィールドピクチャ対応のL-SMASHで読み込んでいるのですが、
その最終フレームをFreezeFrameで1つ前のフレームで置き換え、
AvsPmodで表示しようとすると
Error requesting frame 34524
WindowsError: exeption: access violation reading 0x00000068
というエラーが表示されます。
以下、例。
LWLibavVideoSource("hoge.avi")
FreezeFrame(34524, 34524, 34523)
return last
この例だとAvsPmodで34524フレーム目をピンポイントでプレビューに表示(更新)させると上記のエラーが表示されます。
ただ、他のフレームをプレビューに表示してから最終フレームまでシークしていくとエラーは出ません。 AVISource()で読み込んだほうが早くね?
UTVideoの本家のデコーダーが使えるしL-SMASH Worksが内部で利用しているffmpegのデコーダーは本家の更新にすぐに追従してアップデートするわけじゃないからな 以前、AVISource()を使ってみたら
緑一色のフレームが混じることがあったのでL-SMASHを使うことにしています。
フィールドピクチャ対応のL-SMASHに変えるまでは
最終フレームの置き換えでエラーが出なかったので報告してみました。 >>557、>>559
ありがとうございます。
AVISource("hoge.avi", pixel_type = "YV12" )でやってみます。 >>558
ffmpegは動いてたのがバージョンアップで動かなくなるとかざらにあるからね・・・ AVISourceで緑のフレームが混じるって報告は前にもどこかであったけど、
野良ビルドを使ってたり、
pixel_typeを指定してるかわからなかったりだったかな
どうしてもL-SMASHが使いたいなら、
aviファイルの読み込みだけ前に使ってたやつを使えばいいんじゃない? >>561
ありがとうございます
凄いや。OnCUDA(2)やPrefetch(4)のMT環境でDecombUCFが動くのを確認できた
一度だけエラー出ましたが繰り返しすぐ起動したのが影響あったのかも。。
OnCUDA(2)で継続して使用しますね CUDA無しでも動くようでMT対応として使ってみるとか >>565
OnCUDA()が使えない環境なのに、KAnalyzeとKMergeStatic+QTGMCを使いたいが為にSynth+cudaを使ってる俺も居る
今までMask使って試行錯誤してたのがアホらしくなるくらい結果が良くてちょっと悔しい
ただ、KFM-0.3.1では問題なかったKRemoveCombeが、0.3.3でエラー吐くようになってしまって
その内切り捨てられるのではないかと内心ビクビクしてるわw うちはGTX750のCUDA環境なのにQTGMCもKTGMCも使えないから使ってない
ERROR: Assert: assertion failed だから理由もわからないし
PLUSは普通に使えるから移行しようがないんだよね ScriptClipでの異常に対応したんだ
Pluginレベルでアカンのかと思ってたけど、Avisynth自体の問題だったんだな DecombUCF、SmoothCustomやめてmt_lutにすると少し速くなる
str_y = mt_polish("(x==128)? 128 : ((x<128)? ( (((127-"+String(range_y)+")<x)&(x<(128-"+String(nmin_y)+")))? 0 : 56 ) : ( (((128+"+
String(nmin_y)+")<x)&(x<(129+"+String(range_y)+"))) ? 255 : 199 ))")
str_uv = mt_polish("(x==128)? 128 : ((x<128)? ( (((127-"+String(range_uv)+")<x)&(x<(128-"+String(nmin_uv)+")))? 0 : 56 ) : ( (((128+
"+String(nmin_uv)+")<x)&(x<(129+"+String(range_uv)+"))) ? 255 : 199))")
eval_y = Select(chroma, 3, 2, 3)
eval_u = Select(chroma, 2, 3, 3)
eval_v = Select(chroma, 2, 3, 3)
return c.mt_lut(yExpr=str_y,expr=str_uv,Y=eval_y,U=eval_u,V=eval_v) ts開発かどっかで聞いたけどスルーされたのでここでも質問
join_logo_scpで作ったカット編集ずみavsは5の倍数だとかテレシネパターンを一切考慮に入れてないみたいだんだけど
autoVFR(Fastではない全検索)による SelectEvery形式でのテレシネ解除の影響はないと考えていいの?
昔、テレシネ解除にTIVTC24P2関数を使ってた時はテレシネパターンをまたいだカット編集で誤爆った記憶があるから
手動カット編集するときは注意してたんだけど、どうなの? ScriptClipで複数のクリップを使いたいときって、どうやるんだ?
function MyFunction(clip c1, clip c2) {
return c1.ScriptClip("c2.subtitle(string(current_frame))")
}
src = LWLibavVideoSource(...)
MyFunction(src, src)
これだと動かない
DecombUCF見ると変数をglobalにしてるけど、グローバル変数使うしかない?
複数回呼び出されたときに動かなくなるから使いたくないんだが・・・ StackVerticalなどで一つのクリップにするという方法もある https://github.com/pinterf/AviSynthPlus/releases
最近のAviSynth+はインストーラからMT仕様ですか?
※現在はまだr1576(x86)を入れて動作確認しただけです(一度同時にx64も入れましたが優先がx86みたいなのでx86で様子見) >>576
なんか分かってないようだけど 64bit の方は呼び出すアプリも 64bit じゃないと使われないぞ。 >>577
MTっていうことですよね?
ありがとうございます
>>578
AvsPmodはx86もx64もあるので編集は出来ます(x64は未確認)
バッチファイルは作り直さないといけませんが(今までx264(x64)はパイプで読み出していたので) _GPU25のx64版DLLが無いからAvsPModはx86版しか使わなくなった >>580
使ってるフィルター次第だろうけど俺も同じような状態から
他のフィルターに乗り換えて _GPU25 はもうつかわんくなった。 Dup.dllのx64ってないですか?
Clean_SC(シーンチェンジフレーム置換).avsi
で必要なのですが・・・ >>583
Dup.dllのソースコードは何処かにあったはずなんだけど、そのソースコードはinline asmと呼ばれる書式で記述されている
そのinline asmはMSVCではx64でビルドすることができないのでx64に移植するのは少々規模の大きな手直しが必要になる
以上の理由で今の所x64版が無いのかもしれない というか前にも似たような話題が出て答えた気がする >>586
ソースがあるのは知ってるけど
x64ように書き換えないとダメ
誰かがやってくれるのを待つか自分でやるか・・・ >>586
他の方も言ってるけどソースをちょっと大きな手直しが必要なんだ
asm言語をintrinsic SIMD命令に書き換えるかasmをソースから切り離すかしないといけない
はっきり言うと、諦めるか自分でやるしかない それか親切な方が現れるのを待つか・・・
あんまりしつこいとクレクレ君って言われるよ 数年前までそういうやつがいてスレが少しばかり荒れてたことがあった >>588
あったらラッキー程度に聞いてみた話です
だから>>586 時点で無いと答えをもらったので「了解です」と答えてます x64でインラインasmを使いたいならインテルコンパイラを使えば?って婆ちゃんが言ってた >>589
それはすまねぇ・・・
過去にソースの入手先を張って作れだの言いまくってたやつ思い出して過度に反応してしまった
>>590
AviSynth2.58の64bit版を開発してたJoshyD氏が公開してた64bitプラグインはICLでビルドされてたはずだな ただ高いんだよな・・・
ソース見る限りC++なコード自体が残ってなさそうなのが移植の難易度上げてる気がするな いや、それ、232aだと大部分はコメントアウトされてるし、
唯一使われてるのはblend(デフォルトオフ)で使われてるだけだから
全部消しちゃってOK
それよりDupとDup1はどっちがいいんだ?
Clean_SCはDupを使ってるみたいだけどDup1だとダメなのかなぁ そういうものなのか
ビルドした記憶はあるけど、Clean_SCの調整(誤爆なくゴミ消せる)の追い込みが難しくてお蔵入りしたは >>592
現在使用しているのはDup 2.30です
Dup1は所持していませんので自分はわかりません >>592
その話聞いてオリジナル版と232aのソース見比べたら確かに大部分が呼び出されてないね
blendの部分も無視しちゃえば移植できるかも ただオリジナル版と比べて速度的な違いはどれほどなんだろ
DupとDup1の違いが分からないけどオリジナルのDupと衝突しないように名前分けてるだけなら使えると思う
Clean_SCもblend=trueは使ってないようだし限定的ながらx64化できるかもしれない 後日ちょっと見てみるわ 後日と言いつつ即日
AviSynth Dup1 x64
ttps://www.axfc.net/u/3901359
これで動くかなぁ?
Clean_SCのDup関数をDup1にしてね
MT有効化したときとかそういうの一切チェックしてないけどどうかな?
ICLでビルドしたものが出てくるまでか代替品ができるまでの繋ぎになってくれればいいけど >>595
AvsPmod(x64)で見ることはできました(DupをDup1にファンクションを変更)
r1576なのでMTは未確認(r2664他どれを入れてもフリーズなのはメモリー不足?)です
※メモリは8GBと今時としては少ない? 私8GBだけどMT使えてる
なんかの命令セットが古すぎるとかでは
>>596
thx >>597
>>555
Avisynth+でMT有効にしてScriptClip,ConditionalFilter使うとデッドロックするのは既知の問題 メーカー品じゃないからねぇ
常識ってどっかにまとまってるのかな?
くらい無意味な質問だ DecombUCFの注意点見つけました
複数clipからDecombUCFをコールするとclipが混ざることがあるようです
DecombUCF中のglobal変数を変えて、DecombUCF2とか別関数を定義して回避できた
>>571
DecombUCFの改良使わせていただいてます >>602
だれか>571で置き換える箇所をもう少し詳しく書いてくれる人いませんか? >>571の置換えはこんな感じで使ってる
function Limitter(内の以下箇所
str_y = "(Y==128)? 128 : (Y<128)? ( ((127-"+String(range_y)+"<Y)(Y<128-"+String(nmin_y)+"))? 0 : 56 ) : ( ((128+"+String(nmin_y)+"<Y)(Y<129+"+String(range_y)+")) ? 255 : 199 )"
から
return c.SmoothCustom(eval_y, eval_u, eval_v, false, 0, 0, -1)
まで7行かな 以前、UtVideoで吐きだしたaviファイルを読み込ませるのは
LWLibavVideoSource) よりも AVISource() のほうがいいと助言を頂いた者です。
あれからAVISource()を使っているのですが、速度が安定しません。
AvsPmod上の解析パスを走らせるときは最初から最後まで安定しているのですが、
batファイルで、avs2pipemodのbenchmarkを使ってログをとるときや
ノイズ除去などの補正処理を施したaviファイルをUtVideoで出力するときに、
速度の最高値を100とすると、60あたりから始まって非常にゆっくりと100まで上昇していくという状況です。
ですが、10秒ほどAvsPmod上の解析パスを走らせた後で
batファイルを実行すると最初から100の速度で安定して処理を行えています。
何が原因なのでしょうか? ショボスクリプトのスレ無くなったんで、ここ借ります。
縞なし24(5フレーム中2フレームが重複)の周期判定に使うスクリプト
# 例
# S1 : 1 1 2 3 4 | 1 1 2 3 4 | ... SelectEvery(5, 1, 2, 3, 4)
# S2 : 1 2 2 3 4 | 1 2 2 3 4 | ... SelectEvery(5, 0, 2, 3, 4)
# S3 : 1 2 3 3 4 | 1 2 3 3 4 | ... SelectEvery(5, 0, 1, 3, 4)
# S4 : 1 2 3 4 4 | 1 2 3 4 4 | ... SelectEvery(5, 0, 1, 2, 4)
# DoubleWeave後、10フレーム毎に特定部分を抽出した時に縞が出ない周期を見つける
# DoubleWeave().SelectEvery(10, 1) #S1
# DoubleWeave().SelectEvery(10, 3) #S2
# DoubleWeave().SelectEvery(10, 5) #S3
# DoubleWeave().SelectEvery(10, 7) #S4
DoubleWeave().SelectEvery(10, 1) #S1
この状態で周期変化すればその部分だけ縞になるから、後はその縞を検出するスクリプトなりプラグインなりで判定 >>607の補足1
#S1 DoubleWeave().SelectEvery(10, 1)
1......1......2......3......4......1......1......2......3......4......1
1 1 1 2 2 3 3 4 4 1 1 1 1 2 2 3 3 4 4 1
1 1 1 1 2 2 3 3 4 4 1 1 1 1 2 2 3 3 4 4
0[1]2 3 4 5 6 7 8 9 0[1]2 3 4 5 6 7 8 9
#S2 DoubleWeave().SelectEvery(10, 3)
1......2......2......3......4......1......2......2......3......4......1
1 2 2 2 2 3 3 4 4 1 1 2 2 2 2 3 3 4 4 1
1 1 2 2 2 2 3 3 4 4 1 1 2 2 2 2 3 3 4 4
0 1 2[3]4 5 6 7 8 9 0 1 2[3]4 5 6 7 8 9 >>607の補足2
#S3 DoubleWeave().SelectEvery(10, 5)
1......2......3......3......4......1......2......3......3......4......1
1 2 2 3 3 3 3 4 4 1 1 2 2 3 3 3 3 4 4 1
1 1 2 2 3 3 3 3 4 4 1 1 2 2 3 3 3 3 4 4
0 1 2 3 4[5]6 7 8 9 0 1 2 3 4[5]6 7 8 9
#S4 DoubleWeave().SelectEvery(10, 7)
1......2......3......4......4......1......2......3......4......4......1
1 2 2 3 3 4 4 4 4 1 1 2 2 3 3 4 4 4 4 1
1 1 2 2 3 3 4 4 4 4 1 1 2 2 3 3 4 4 4 4
0 1 2 3 4 5 6[7]8 9 0 1 2 3 4 5 6[7]8 9
失礼しました。 QTGMC(Preset="Faster")で縦1080のクリップ処理すると下端8ピクセルの色がおかしいんだけどおま環?
8ピクセル足して処理すれば正常になる
AddBorders(0,0,0,8)
QTGMC(Preset="Faster")
Crop(0,0,0,-8)
ピクセル数が (Blocksize - Overlap) の倍数じゃないとダメなのかな なんか聞いたことがあるよな、ないような・・
無印Avisynth使ってる? L-SMASH使った読み込みで dr=true にしてるとか
縦の画素数が1088 になるやつ 色がおかしいって表現は適切じゃなかった
下端8ピクセルは補間されないでNNEDI3の出力がほぼそのまま出てるからボビングが激しい
MDegrainがブロックの半端部分はコピーするようになってるからQTGMCの仕様っぽい >>606の解決法わかる人いないかな?
avs2aviとUtVideoを使って、処理を分けた中間ファイルを何度か出力するようにしてるんだが、
>>606の通りにAvsPmodの解析パスをちょっと走らせた後だと
当該avsの中間ファイルの出力が早くなって全体で1時間も短縮できてしまった
bat叩くだけの何か解決法ないかな? うちでは起きてないから答えようがない
もっと詳細な環境情報や再現する簡潔で最低限な方法は書き出せないの? Avisynth+ r1718
avs2aviとUtVideoは最新版
以下、avsの内容
AviSource("hoge.avi",false,"YV12")
return last
以下、batの内容
"avs2avi.exe" "input.avs" "output.avi" -c ULH0
これでもAvsPmodで解析パスを少し走らせる前と後で数十fpsも違ってくる なんでr1718なんや…
avs2pipemodのベンチマークを10秒走らせた後ではどうなの?
それで大丈夫ならavs2pipemodのTrimオプション使って10秒ベンチマーク→本番
これでバッチ1つでできるようになると思うが、根本的な解決ではないな >avs2aviとUtVideoは最新版
こういう書き方止めてくれ
UtVideoは恐らく20.0.0だろうけどavs2aviは派生版含めていくつかあるからこういう書き方されると混乱を招くだけ
>Avisynth+ r1718
x86なのかx64なのかそれとも両方なのか不明
とりあえずAviSynthを新しいバージョンに上げてみて再現するか調べようか
間違ってる可能性も方が高そうだけど、エスパーするとHDDのヘッドが退避してる状態でバッチ呼び出すと遅くなるとか?
解析パスだの実行してaviファイルの入ったHDDから読み出そうとした後バッチを実行するとすでにヘッドが動いてるから最初から高速で読み出せるとか
流石に全体で1時間も短縮できるって所見るにあり得なさそうだけどさ >>614
OSはWin7?
中間aviの出力先はHDD?
もしWin7でHDDなら出力先をSSDに変えたら速くなるかな?
SSDに変えて極端に速くなったならavs2aviの問題
avs2aviは内部の書き込み用バッファが少ない(512KBしかない)ので出力先がHDDの場合、非圧縮や可逆フォーマットで
それなりの解像度の場合データ量が多いのでHDDの書き込みが追いつかなくなって速度がでない
(SSDなら書き込みが速いのでバッファが少なくてもあまり問題にはならない)
自分は書き込み用バッファを増やせるようにソース書き換えて使ってる
バッファを64MBまで増やすとHDDでもそれなりに速度が出るようになる
Win10だとバッファ512KBでもあまり速度低下しない
(Win10だとバッファの設定変えても速度にあまり変化がない、WriteFileAPIの動作が変わって内部でディスクに書き込む前にバッファリングするようになったのかも?)
Win8は持ってないので分からない r1718(x86)から最新版に更新してみたけど
AccessViolationが出てしまう
1年ぐらい前も同じだったのでこのままr1718で行こうと思います。
avs2aviはAvisynth.infoのアーカイブのv1.40aです。
avs2pipemodのbenchmarkを少し走らせた後で
中間ファイルの出力を行っても速度は遅かった。
で、AvsPmodで解析パスではなく単なるプレビューをしてAvsPmodを終了させずに
中間ファイルの出力を行うと速度が速かった
もしかしたら解析パスとプレビューのどちらでもいいのでどちらかを行った後、
AvsPmodを終了させなければいい(メモリから解放しなければいい?)と予想して、
batを叩くだけで済ませたかったのでavs2pipemodのbenchmarkの途中で中間ファイルの出力を始めると、
benchmark中はそちらに速度を持っていかれるが、benchmarkが終わってから速度が最大あたりで安定した。 OSはWin7
出力先はHDD
SSDはまだ手を出していないので試せないです。
申し訳ない。 >>620
> AccessViolationが出てしまう
VC++2015/2017のランタイムを入れてないだけじゃないの? 自分ももしかしたらと思って確認したけど
インストール済みだった
念のため再インストールしたけど変わらなかった あれじゃね
plusの高深度カラー非対応なフロントエンド使ってるのでは ttp://csbarn.blogspot.jp/2016/07/blog-post.html
古いプラグイン使ってるなら更新したほうが良いと思うよ とりあえずプラグインフォルダをほぼ空にしてみたところ、エラーは出なくなった
でも中間ファイル出力については変化なかった
今のところは>>620のやり方でやるしかないか... autoVFRの1passの解析の時に
異常に遅いときがあるからそれのことかなとは思う
もっとも最初から最後まで遅いから違うと思うけど 自分の場合は>>606を見るまで意識してなかったけど
実際にやってみたら再現できてしまった
LWLibavVideoSourceだと>>620のような処理も必要とせずに速度が最大辺りで安定してるのも同じだった 上でplus MT環境でdecombUCFやConditional Filter使うとエラー文が表示されると書いたものだけど
GRunTのセットアップ(自動読み込みフォルダへ入れる)でエラーがでなくなった
まだ通してはエンコードしてないけどsrestore、decombUCF、保健用デインタレ関数では、とりあえずエラー無く動いてるもよう
本体は、Avisynth+ r2664 (20180328) 頻繁に使うプラグインならまだしもそうじゃないプラグインはオートローディングしないものだよ と思ったけどオートローディングフォルダに入れて正常で、手動でLoadPluginしたらエラーでたのかな?
何が起きてるか分からねぇ GRuntを入れずにMTを使うと>550 の状態になってたけど
GRuntを読み込むと、そのエラー文が表示されなくなった Dither_add_grain16を使ってみたのですが
マスククリップのような緑色のクリップができてしまいます。
LWLibavVideoSource()
Dither_convert_8_to_16()
Dither_add_grain16()
DitherPost()
return last
ditherはAvisynth wikiのDither toolsの
Downloadのリンク先のもの(v1.27.2)です
何が原因でしょうか? DitherのRequirementsに書かれてるmasktoolsとかのバージョンが古いとか? tp7氏のものからpinterf氏のものへ入れ替えたところ
正常に表示できるようになりました。
ありがとうございました。 家だけかもしれないが、Windows 10 1803にしてから、
AvsPmod(x64版)でF5のプレビュー画面を出そうとするとクラッシュする様になった >>637
win10の文句はmicrosoftに言え。 flash3kyuu_debandがダウンロードしようしたらリンク切れでどうしようかと思ったけど
HDD内を探したらあったので再配布
http://fast-uploader.com/file/7083408071468/
アーカイブ内のテキストによると2.6系専用だそうです
x64のは動いたのを確認したけど自己責任でどうぞ
(作者様&ビルドしてくれた人thx) こ、これは・・
本家のほうに送ったほうが良いような気がする >>573
Neoなら↓これでOK
function MyFunction(clip c1, clip c2) {
return c1.ScriptClip(function[c2](){c2.subtitle(string(current_frame))})
} TVTestで保存したTXのtsの大半が
l-smash worksで読み込んでも無音…
まぁ、murdoccutなり、tssplitterで頭切ると読めるようになるんだけど…ね Doom9見るとよく分からないけどpinterf版>>640で大きな変更があったのかな AvisynthNeo試してみた。KFMDeintでお手軽に使えてよいね。
一方チャプタファイルの作成でTrimCleanを改造したのを使ってるんだけど
AvisynthNeoだとWriteFileStart関数が文字列変数を指定しても見つからなくてエラーになるようだ。 AvisynthNeoのWriteFileStart修正ありがとです 初心者質問スレで、AvisynthNeoのクラッシュ報告が有るみたいです。 NeoってCUDA系のプラグイン使えないと思ってた
>>649を見る限り、使えるのかな?
これからビルドしてみよう Neoをビルドして、CUDAフィルタ群もビルドして使ってみたら
KTGMC.avsiでエラーが出るようになった
Invalid Property request.
KTGMC.avsi line 451
なんだろう。 >>654
一度に本体もPluginも変えちゃだめだったね。
Pluginの方はCUDA1.0の方でもちゃんと動く
本体の方をNeoにするとエラーが出るようだ NeoはCUDA動かないってなってなかったっけ?ってgithub見に行ったら
KFMにDecombUCFを移植ってあるやん
魅力的凄すぎる・・ 最近のインタレ解除はKTGMCのBOBとSelectEvenで30fpsのCFRにしてたけど
>>656みたいのが出てくるとKFMのほうがやっぱり効率的かもしれないなー AvisynthNeo+64bit版AvsPmod改でQTGMCを使うと、初回プレビューやシーク時にエラー
なお32bit版は問題なし
Traceback (most recent call last):
File "./avsp.py", line 11704, in OnFocusVideoWindow
File "./avsp.py", line 13933, in SetVideoStatusText
File "./avsp.py", line 14082, in GetVideoInfoDict
File "./avsp.py", line 17272, in FormatTime
TypeError: %d format: a number is required, not float
プラグインのバージョンは以下の通り
MaskTools2 2.2.14
MVTools2 2.7.31
nnedi3 0.9.4.51
RgTools 0.96
nnedi3はjpsdr版、それ以外はpinterf版
AvisynthNeoは0.4.0で、AvsPmodは2.5.1-90-gfcd7a61に以下のサイトのファイルに差し替えた改
https://github.com/nekopanda/AviSynthPlus/files/2108666/AvsPmod_neomod_x64.zip あと、BCS使うと486ではなく488になってしまうことも確認 ここで配布しているavisynthプラグイン、持ってる人いない?(ソース含む)
色々探したんだけど、見つけられなかった…
avisynth.nlにもなかった
http://putin999 blog.エフシーツー.com >>661のリンクがおかしかったのでこっちが修正版
http://putin999.blog.エフシー2.com
エフシーをfcに要修正(NGワード対策のため) どのプラグインがいるのさ
Its 64bit版はnekopanda氏が公開してくれてるし
他に代用の利かないものってあったっけ? >>663
ロゴ関係
エッジレベル調整
スムージング
は欲しい delogomod.dllはx64は作者も作ってない
>>374 で配布した人がいるけど自分は間に合わなかった
ソースは全て配布対象外だったような気がする 32bit版はプラグインフォルダに入ってるけど
ソースがどっかに行っちゃったのかもともとなかったのか ttps://www.axfc.net/u/3916389
元のdelogoの作者とmoodの作者に感謝しながらDLしような >>667
tnks!!
そーいや、GTX 1080 Ti 買ってしもうた
これからの nekopanda氏 に期待して つか、avisynthはx86とx64でそんなに差はないだろ。
エンコ速度が変わるのはx264やx265の話だしな。
avisynthはrawでわたしてやれば特に違和感なくエンコされるはずだぜ?
動作検証すらほとんどされてないx64の野良ビルドとか正直怖すぎだぜ >>673
どのレスに対してのレスなんだ?
野良ビルドってどのこと?
>>667のことだったら、ソース入りだぞ >>673
今後、4k, 16bit/sampleとか扱うのにメモリに制限のある32bit版では心もとない気もする >>676
あがるよな
だから皆64bitバイナリの無いプラグインを必死でソース探してきてビルドしたり代替プラグイン探してるのにな >>676-677
違いが出るとすれば速度よりも扱えるメモリアロケーションがx86とx64で大きく異なるぐらいだが
メモリ量が増えればそれだけ負荷がハードウェアへ増大するわけで、必ずしも速度向上につながるとは言い切れんよ warpsharpやfft3dあたりが昔から重くさせるから、それらを軽量の設定にするか使わなければ我慢はできるかも。
インタレ解除とかはグラボ支援のやつで任せておけば、x86やx64に関係なくちゃちゃと終わらせてくれるしさ アマレココで吐いたaviはaviutlでは編集も再生もエンコも不自由なくできるけど
avspmodで編集するとプレビュー時にエラーで固まることがあるのな。
MPC-HCでAMV類のプレビュー再生できないのもやっぱり便利悪い。
スレチだなさーせn。 アマレココでAMV使うからそうなるわけで
Ut_videoとか使えば問題ない >>680
グラボ支援のインタレ解除プラグインってどれ?
今までTFM、TDeint使ってた。 >>680
何がいいたいのか解読できん。avisynthはrawでわたしてやれば特に違和感なくエンコされるはずだぜ? ←これもだが
ハードウェアの負荷が増大するなら、ハードをより使ってるってことだから速度向上じゃねーか
君には32bitOSで32bitのAviSynthと32bitのx264/x265を拡張命令切って使うことをおすすめするよ
>>683
D3DVP インタレ解除=24fps の意味で使ってるならそのままのほうがいい >>667
ぐわー、10分前に公開期限切れだ
>>500だけど、ワンチャン欲しい >>684
D3DVPなんてのがあったとは。
ありがとうございます。 >>686
ttps://www.axfc.net/u/3916838 >>688
ヘ⌒ヽフ
( ・ω・) dddddddddddddd
/ ~つと)
諦めムードだったけど
ようやくゲットできた
ありがとう KFM
-2パス逆テレシネを実装
キターと思ったが、TFMみたいなテキストファイルの出力は無しか >>690
中間ファイルは吐くよ。バイナリだけど。テキストだと嬉しいの? KFMはAmatsukazeのためにあるものなのかな?
色々機能あるみたいだけど単体で使う感じじゃなさそう
TFMがKFMになったわけじゃなさそう >>692
ドキュメントにある通り元々Amatsukaze用だけど、
Amatsukazeがないとできないのは、
VFRのタイムコードを吐くことくらいだと思う
個々のフィルタはあまり単体で使う設計になってないから、
使い方が少し面倒だけど、そこはKFMDeint使って >>691
TFMのoutputで吐くものと同等のテキストだと、とても嬉しい >>694
前にもそういう人いたけどアルゴリズムが違うから無理
余談だけどTFMのコーミング判定メトリックは誤爆しまくるから、あまりいいものではないと思う
KFMは全く違うアルゴリズムでコーミング判定してる >>693
はい、ご丁寧にありがとうございます
色々探ってみます フレーム番号とフィールドマッチと縞度を知れればそれでも嬉しい 最新のNeoとプラグインを全部ビルドし直したんだが
なんか動かないな。KTGMC.avsiとかでAccess Violationとかのエラーが出る
nvcc の最適化を切ったらまたメッセージが変わった
なんだろうな >>695
>TFMのコーミング判定メトリックは誤爆しまくるから、あまりいいものではないと思う
同感
放送波ソースではアテにならないイメージ そのための2passだと思うんだけどね
エンコーダにおくるzonesの設定にも使えるから、マルチパス化した方が良い気がするけど Neoはまだうまく動かず使いきれてないけど、
CUDAは素晴らしいですね
1080Tiがあると鬼に金棒ですわ
KNNEDI3とKTGMCが速いのが嬉しいですね KFMがどんどんパワーアップしているのに、
何かの整合性が悪いのか、Neo64bitで
KTGMCが動かない・・・
足りないプラグインが多いのかなぁ・・・
今日はひとまず諦めた neo-r2739 で、Auto_VFR ver 0.1.0.6 がエラーを吐くなぁ
>>649 さんの症状と同様に、ScriptClipのfilterに渡した文字列の中のWriteFile関数で文字列変数を指定しても見つからなくてエラーになるみたい
以下のように書き換えればいいようだけど、合ってるのかな
(current_frame==0)?WriteFile(last,file,"str_total",append=false):nop
↓
(current_frame==0)?WriteFile(last,file,function[str_total](){return str_total},append=false):nop
(crnt==0)?WriteFile(last,file,"str_dtotal",append=true):nop
↓
(crnt==0)?WriteFile(last,file,function[str_dtotal](){return str_dtotal},append=true):nop
(show==false)?WriteFile(last,file,"string(result)",append=true,flush=false):last
↓
(show==false)?WriteFile(last,file,function[result](){return string(result)},append=true,flush=false):last >>703
Amatsukazeのリリースパッケージに動く環境一式入ってるから参考になるかも
あれはWindowsインストール直後の素の状態でも動くようになってるから
>>704
修正はそれでOKだと思う。または、単にWriteFileをWriteFileStartに変えるだけでいいかも
あと、関数の最後のreturnは省略できる。 e.g. function[str_total](){str_total}
WriteFileStart/WriteFileEndはドキュメントに外の変数が読めると明記されてるから、バグだということで直した
> The expressions are evaluated exactly once, at the location of the filter in the script.
実行時の評価する系(ScriptClip,WriteFile,WriteFileIf,ConditionalFilter,ConditionalSelect,FrameEvaluate)は
グローバル変数以外の変数は読めなくなってるけど、元の「怪しい挙動」に戻すつもりはないから、
頑張って書き換えてくれ >>705
詳しい説明ダンケ、助かります
仕様としてはそれが正しいですね、了解しました Neo64bit版ビルドして、フィルタも最新のをビルドして試行錯誤していますが、
例えばKTGMC_Bobとか使うと
avisynth.cpp の ScriptEnvironment::GetProperty のところで
"Invalid property request." のエラーが出ます
NeoはCUDA-stable に比べて prop のCase文が少なく、
// Neo additionals
AEP_NUM_DEVICES = 901,
AEP_FRAME_ALIGN = 902
というのが追加されているけど、ここら辺になにか理由があるのでしょうか・・ >>708
そこは+CUDAとNeoで変わってるから本体かフィルタのどっちかが古いんじゃない?
デバッガアタッチしてるなら、dllのパス確認してみて(デバッグ→ウィンドウ→モジュール)
それでも解決しないなら、ビルドに使った2つのソースのリビジョン教えて >>709
CUDAFiltersの方は bb29861、 本体は Neoブランチの a953c51
です。現時点の最新だと思います
CUDAFiltersをビルドするときはNeoの avisynth.h と avisynth.cpp を使ってます
それ以外の関連するフィルタの作り方がいけないような気がしてきました。
インクルードさせる avisynth.h と avisynth.cpp が色々違うので。
別件ですが
"KFMDeint.avsi" にバージョン書いていただけると嬉しいです。
TestScriptフォルダ内とRelease-ZIP内で違うので。
ReleaseZIP内のほうを使うべきだとは思っていますが >>710
いやだから古いフィルタが混ざってるんじゃないかって。
ScriptEnvironment::GetPropertyのとこで、"Invalid property request." のエラーが出るんだったら、
- GetPropertyでリクエストしたプロパティ(引数prop)は何だったのか?
- それを呼び出してるフィルタは誰なのか?
を調べればすぐ分かること
これで分からなかったら、プラグインフォルダを一旦まっさらにして、
大人しくビルド済みバイナリを入れて使ってくれ >>710
今見てみたけど、KTGMC-0.4.0.zipに入ってるKFMDeint.avsiと、
リポジトリ bb29861 のTestScripts/KTGMC.avsi は同じだったよ
コードが古い? 訂正
KTGMC-0.4.0.zipに入ってるKFMDeint.avsiと
↓
KTGMC-0.4.0.zipに入ってるKTGMC.avsiと KFMDeint.avsiの方か、すまん見間違えた >>710
あと、フィルタのビルドにavisynth.cppは必要ないぞ。avisynth.hだけあればいい
avisynth.hは+CUDAのやつじゃなければ古いバージョンのでもOK
古いバージョンだと新しい機能がなかったりするから
新しい機能使ってるフィルタはビルドでエラーが出るけど、
ビルドが通ればだいたいOKだと思う >>711-715
色々とご指摘ありがとうございます
プラグインフォルダを1から作り直してみます。
ちゃんと問題の切り分けをしてから書くようにします。すみません。 >>715
おっしゃる通り、うまくうごかなかったのは
+CUDAの avisynth.h をつかってビルドしたプラグインが結構混じっていたようです
今はイチから作り直して順調にNeoが動いています! ありがとうございました。 おかげさまでNeoで使えるプラグイン一通りそろった
本格的に使ってくぞ!KFM覚えなきゃ >>504、>>568さんと同じネタだが
Neo-r2739 で QTGMC 3.358s 使うと、ログに
ERROR: Assert: assertion failed
が記録されるんだね(QTGMC.avsi, line 1113)
まぁ、完走するしPlus-MT-r2664でも同じエラーが記録されるから
気にしなくてもいいと言えばそうなんだが、ログが荒れるのがちょっと…
ということで、ソース見たらif文が使えないからAssertで代用(Tricky logic)してるんだね。
なので
try { Assert( !Replace && defined(Eval(globalName)) ) }
catch (e)
{
↓
#try { Assert( !Replace && defined(Eval(globalName)) ) }
#catch (e)
#{
if ( Replace || !defined(Eval(globalName)) ) {
に書き換えればいいかな pinterf氏
Avisynth+ r2728
Masktools2 v2.2.16
FFT3DFilter v2.5
RgTools v0.97 Neo, 大きな改修おつかれさまです
いまソース読んでるところ >>571のDecombUCFの修正を行い、AvsPmodで見てみたら60テロップ処理(txt60mcHybrid)で
シーンチェンジ時に縦線が入りました、AviSynthNeor-r2739(x64)で気付きましたが+のr1576(x64)でも出たので原因はAviSynthではないと思います
DecombUCFをコメントにしたら縦縞も消えました、どなたかご教示お願いします
AVS
LWLibavVideoSource
Trim
Its
Clean_SC(b_dup_th=10,d_dup_th=2)
DecombUCF(th_mode=3,namax_thresh=90) ※少々汚い
Spline36Resize(1280,720)
ConvertToYV12()
defファイル
set [24] DwS1 = 'DoubleWeave().SelectEvery(10,0,2,5,8)'
set [24] txt1 = 'txt60mcHybrid(1)'
0-[24] DwS1
2135-[24] txt1
3035-[24] DwS1
画像
h ttps://i.imgur.com/CK4Hc4n.jpg >>719
その書き換えだとglobalNameが存在しなかったらそのままエラーになっちゃうから
Tricky logicの代用には全くなってない
だけど、そもそも正しい使い方をしてる限りReplace=Falseにはならないから、
Tricky logic自体が必要なくて、後ろをごっそり消しちゃえばいいんじゃね
if ( Replace ) {
これでスッキリする あ、そもそも常にReplace=Trueなんだから、if文自体消しちゃえばいいのか ずっとXPでDirectShowSourceだったけどWindows10になってLWLibavVideoSourceとLWLibavAudeoSourceを覚えたよ Avisynth+ x64で、bt.709からbt.601に変換する一番良い方法ってなんでしょうか。
x64版のColorMatrixを使ったところ落ちてしまいまして。 >731
一応コード見てみたのですがアセンブラはさっぱりでした。 convertYV12(colorMatrix=bt.601)
こんな感じでいけるんじゃね >>730
mp_pipelineでColorMatrix部分だけ32bit化してみるとか >>730
入出力とも8bitのTVスケールとしたらこれでいけるで
Matrix(from=709, to=601, rg=1.0, gg=1.0, bg=1.0, a=16, b=235, ao=16, bo=235, bitdepth=8)
https://web.archive.org/web/20160604220510/http://media.snovidenie.com/plugins/HDRMatrix.7z >>737
RGB画像を元にしてBT.601⇔BT.709の相互変換を試してみたけどColorMatrixより誤差がでかくなった。
RGBに戻した時にColormatrxiだと最大誤差2ってとこなのが、HDRMatrixだと最大誤差4くらい。 KDeblockすごいな
Avisynthでもソースプラグイン作れば使えるようになりそうだし、
ブロックノイズマスクもできるのかな
ソース
https://i.imgur.com/FJsm9du.jpg
KDeblock()(デフォルト値)
https://i.imgur.com/Jvz7b3u.jpg >>741
いつもAvisynthでやってる画質と比べるためにエンコしたので
あと、KDeblockは場所ごとにフィルタ強度が変わるのに、こんな全面的に悪いのを出すのはサンプルとして良くなかったな
こっちのが良さそう
https://i.imgur.com/7gfxNGx.jpg
https://i.imgur.com/HMrE39e.jpg つーか、MXのロゴ解析にしくじってね?透過ロゴのノイズのこってる風に見えるけど。 >>743
ロゴ消ししたことないの?
動きの激しいシーンとかはノイズでロゴがはっきり出なくて
消しても残像が残るのは普通だぞ
モノによっては残像残ってたらその周辺だけボカして目立たなくする機能があったりするけど >>742
珍しい解像度でエンコしてるなって感じだがそれはおいておいて
どうせ比較するならDeblockやDeblock_QEDとも比較したほうがいいんじゃ? あと、気になったのはKDeblock以外のフィルタ使ってないかね?輪郭補正系の
もし使っているなら比較対象のフィルタ以外を外さないと意味が薄れる気がするんだが MXの某フレームで比較
ソースフィルタとデブロッキングフィルタだけ
他のフィルタは一切なし
オリジナル
https://i.imgur.com/VIc3X40.png
KDeblock(thr=28) <- Amatsukaze中設定
https://i.imgur.com/YP9K8If.png
MPEG2Source(ソース, cpu=6)
https://i.imgur.com/on8TZce.png
MPEG2Source(ソース, cpu=4)
https://i.imgur.com/K0igyLK.png
DeBlock_QED()
https://i.imgur.com/w93vbkd.png
ソースQP値が取得できないDeBlock_QEDはちょっとかわいそうな気がする DGIndexのバージョンが悪いのか高さが1080で16の倍数じゃないからだと思うけど
MPEG2Sourceは下の方にバグっぽいアーティファクトが出てるな BlindPPとDeblockの結果も貼っておく
BlindPP(quant=6)
https://i.imgur.com/AVSXdlA.png
BlindPP(quant=15)
https://i.imgur.com/pfd5ljf.png
BlindPP(quant=31)
https://i.imgur.com/MuuaQeY.png
Deblock(quant=25)
https://i.imgur.com/DgliaSt.png
Deblock(quant=40)
https://i.imgur.com/NxnYip5.png
Deblock(quant=60)
https://i.imgur.com/HSfZfr6.png
※BlindPPは高さが16の倍数でなければならないので高さ1088で処理
PointResize(1440,1088,0,0,1440,1088).BlindPP(quant=?).Crop(0,0,1440,1080) >>748,750
お疲れ
ブロックノイズが出る汚いフレームは大抵、一瞬だから
ボケボケでも対して気にならないのよね
自分はradeon使いだからavisynth+cudaっ使えないのが残念だけど・・
ちなみに自分はSmoothD2をDecombUCFに組み込んで使ってる >>747
そういえば使ってた
>>744
Avisynthでも色が変わるのにずっと悩まされてたから、
全く違うフィルタを使ってるAmatsukazeでも色が変わるということは
x264のオプション指定が悪いんだろうな・・・
後で試してみよう ついでに質問
ブロック・ノイズを検出しやすいプラグインってある?
関数内のコメントは↓。よく分からないからデフォのまま使い続けてる
# make diff # (検出したいノイズを特異的に変化させる)
function Affect_Noise(clip c){
c.binomialblur(3,3,chroma_y,chroma_uv,chroma_uv) #0.5,1.5が早い #好きなNRもしくはSharp。検出したいノイズに特異的に反応するものが良い。 ノイズの検出って、もうソースのQP値使うのが一番確実なんじゃないかって思ってる
DecombUCFが検出する汚いフィールドもQP値で見れば一発で分かるし
↓連続3フレームの映像(右)と対応するQPテーブル(左)(DecombUCFが汚いフィールドと判定する典型例)
https://i.imgur.com/5OcqEDS.png
↑のスクリプト
AMTSource(ソース)
w = Width()
h = Height()
q = Merge(ShowQP(nonb=False), ShowQP(nonb=True)).PointResize(w,h+8).Crop(0,0,w,h).ConvertToYV12(matrix="PC.601")
t = StackHorizontal(q, last).PointResize(w/3*2,h/3)
return StackVertical(t, t.DeleteFrame(0), t.DeleteFrame(0, 1)) >>745
大方、aviutlのロゴ解析で偏った色情報しか解析できてないんじゃね? ロゴデータ生成した環境と、ロゴ解除している環境でデコードが同一じゃ無いのでは?
インタレ解除の処理具合でフレームの細部違ってくるんだから、ロゴの輪郭部で細部に差が出ているんだろ 通常、インタレ解除はロゴを抜いてからするもんじゃねーの?
解除してからロゴを抜いてもゴミが残ってうまくいかないと思うけどな。 >>750
> PointResize(1440,1088,0,0,1440,1088).BlindPP(quant=?).Crop(0,0,1440,1080)
今更ながらこの BlindPP の使い方は全く思いつかなかったわ。
高さ 16 の倍数になってないとエラー吐くってんで 1080p でエンコするときは deblock にしてた。
BlindPP の方が好みなのでまんま使わせて貰います。多謝 D3DVPとRadeonの現行世代を使ってインターレース解除した2K60Fなテスト動画、どこかにないものかな?
現行世代のRadeonでインターレース解除した場合の情報が検索しても出てこないから判断に困る
QTGMCを使おうかと思っていたが、>>469の細かい字が潰れる問題とか>>478-480の残像問題とか考えてたら、
もうなんか面倒くさくなってきてハードウェアインターレース解除でいいかと思えてきたり…
有料でいいから簡単かつきれいにインターレース解除できるソフトないんかね? >>759
KFMでOK。簡単に使いたいならAmatsukaze
>>469の問題はKMergeStatic使って解決されてるし、
>>478-480の問題はKFMのフレームレート認識で解決されてる >>760
KFMとな?
検索しているのだが、どこから何をダウンロードすればいいのかよくわからん
Github使うの苦手だ
Amatsukazeはts信号しか入力できないからムリ よくわかってないんだけど、AvisynthNeoとかAvisynthCUDAFiltersって、
NVIDIA環境以外でも何らかのメリットが得られるの? NeoはPlusを拡張して、prefetchがいくつでも書けたり、functionの新しい構文が書けたりする
AvisynthCUDAFiltersはCUDA用に書かれたフィルタだけど、CPUでも同じ処理が動くから(遅いけど)、使えなくはない
KFMとか上のKDeblockとか使いたいなら、CUDA動かなくてもこれ使うしかない NV向けのフィルタでCUDA使えないって何の拷問だよw 再生環境で Fluid Motion 必須の俺。
エンコ環境では CUDA 欲しくて咽び泣く。 1080Ti+Neoで Q(K)TGMC で30fpsとか出てる >>762
この「KFM」を使いたい場合、
「Avisynth+」と「AvisynthCUDAFilters」と「KFM」の3つを用意すればいいの?
readmeに使い方すら書いていないからさっぱりわからん >>768
そういう感じだと、素直にAmazukaze使ったほうがいい気がするです >>768
readmeにリンクが書いてあるんだから読めばいいじゃん・・・と思ったけど、
AvisynthCuDAFiltersのREADME.mdにある
CUDA対応の専用AviSynth+が必要です。
という文言だと、どこにあるかわかりにくいから、AvisynthNeoのリリースページにリンク張った方がいいかなとは思った。
https://github.com/nekopanda/AviSynthPlus/releases >>769
あれは使途を限定しすぎだろ
入力信号はTS信号のみとか中途半端すぎだ
おまけにGUIもぜんぜんイケてないし
ソフトウェアの評価なんて9割方UIの出来で決まるんだぞ
>>770
Avisynth+じゃなくてAvisynthNeoのほうかよ
しかもAvisynth+をインストールしたあとで手動でAviSynth.dllを差し替えるとかなんなの、このめんどくさいの >>772
そうかもね
NeoはCUDA ToolkitとかVS2017とか入れて
Avisynth.dllからフィルタ一式、AVSPModとか
最適化自ビルドするのに結構時間かかったな ずっと32bitだったので、64bitアプリやフィルタ群を一式作るのも面倒くさかった KSMDegrainがTDecimateと併用できれば良いんだがなあ >>772
このスレやドキュメントを読めば普通にわかっただろうに、
それを棚に上げて不平不満ばかり垂れ流すってのはピエロ度高すぎじゃね。
>>773-774
いや、それNeo導入の面倒くささじゃなく自ビルドが面倒くさかったってだけじゃん・・・w CudaだけとかNvidia優遇かよーってガッカリした
RadeonならOpenCL Radeon でもまともに使えそうなフィルタって D3DVP と FFT3DGPU とかこのくらいじゃないかな。
もっと Radeon 特化なフィルタもほしいよなぁ CUDA 強すぎですわ。 >>776
わかればいい、できればいいって問題じゃない
めんどくさすぎる!
まるで整理整頓のできない、出来損ないの行動を見ているかのようだ >>780
> 整理整頓のできない、出来損ないの行動
お前の行動そのものじゃん・・・ DTVツール64bit版一式揃えるのは大変だったけど、
色々なところからソースを収集してくる過程で
神作者のDTVにかける熱意と歴史を感じた どうでもいいよw
簡単確実に使えたほうが10000倍うれしい avisynth.dllの置き換えすらおっくうってレベルのなまぐさものなら
エンコードって行為自体をためたほうが幸せになれるな
上のほうで?、neo、CUDAFilterについて解説してくれてる人thx そういえば調べてまとめるのを優先してしまって、>>764にお礼を言うのを忘れていた。
ありがとう。 system32にあるやつ差替じゃなくてavisynth.dllを利用するアプリに直接配置はどうなの >>771
今日pinterF/avisynthplusをcloneしてビルドしたら
avisynth_version 2.600 / AviSynth Neo 0.1 (r2818, Neo, i386)
と出る。
avisynthplusがavisynth neoに改名したんじゃないの?
それともnekopanda氏のブランチを取り込んだのか? >>789
pinterf氏のとこのMTブランチは2か月前のr2752で止まってるように見えるが。
pinterf氏のとこのをcloneしたつもりが、実際にはnekopanda氏のとこをcloneしただけじゃないの? >>790
今nekopanda/neoをcmakeしたらcuda tool kitがないってエラーが出たからそれはない。 >>791
そうは言うけどpinterf氏のところでNeoをとりこんだ様子はないし、そちらで何かミスってるんだと思うよ。 git コマンドぶったたいて commit 情報みればいいんでないかい >>778
D3DVPでエンコしてみたけど、なんかTdeint+TFMのやつにくらべて
アニメソースは仕上がりがモヤ〜っとしててすっきりしないな。 そりゃそうだ
D3DVPは逆テレシネ用に使うもんじゃないでしょ 半年ぶりにNeoをr2818にして、プラグイン一式リビルドした
VC2017もバージョン上がってたし、CUDAToolKitも10が出てたし
たまにやらないと忘れてしまう アナログキャプチャ時代のファイルがあるのですが、見れば判ると思いますが
縞模様のノイズが酷く、このままエンコするより
なにかノイズ除去をしてエンコしたいのですが
この手のノイズ除去が出来るフィルタとかないでしょうか?
パスは板名です。
https://www.axfc.net/u/3944007 >>798
見たことないしフィルタも知らない
一般的なノイズじゃないと思う
機材の故障系じゃないの? >>798
ん〜、奇麗に除去すんのは難しいね
https://www.axfc.net/u/3944052
元画像のディテールを出来るだけ残すならsampleA.mp4
開き直って色味質感無視ってノッペリさせてもsampleB.mp4あたりが限界だった
上がMCTemporalDenoiseをかなり強烈に掛けてて、下はそれ+適当にデバンドとか2DNRとかLSFmodとか Neoすごいけどアニメエンコにしか使ってない・・・ >>804
ソースは変更されているけど、バイナリは作成されていない、のかな? >>805
どうだったかな
Amatsukazeのリリースの中にはいつもバイナリが入ってるみたいだけど
11/11更新のプラグインが2つあった Neo用のAvsPmodでaWarpSharp2使うと落ちる
おま環なのだろうか 1060から2070に乗り換えたらKTGMCがPreset="Faster"以外にすると
[CUDA Error] 4: unspecified launch failure @366
で落ちるようになったんだけど、おま環かな? POP氏ビルドの L-SMASH Works r935-2(r935 release2) で、
AltRefを利用しているVP9.webmがまともにデコードできなくなっていたので、
従来から発生していた問題も含めてIssue出しておきました。
VP8_and_VP9.webm problems - Issue #79 - VFR-maniac/L-SMASH-Works
https://github.com/VFR-maniac/L-SMASH-Works/issues/79 最新のNeoに対応しているAvsPmodいただけないでしょうか・・・
どうしてもきちんと動くのが作れなくて・・・ すまん、AviSynth.dllを新しくしないと動かなくなってた
Neo-r2822アップしたから更新してくれ >>812
こっちも動きました
ありがとうございました 2070でNeo類動かしてみたい・・・・
高いなぁ ネットカフェのRTX2080でNeo-r2822がエラー出ました
前は1060が付いてて普通に動いたんですけど
いつの間にか2080に代わってたんで試したらエラーでした ぉ、KFMがタイムコード吐いてくれる様になってる(∩゚∀゚)∩
しかし3パスか、、ううむ めんどくさくて30fpsCFRばっかりだったけど
またVFRにもどりたくなるな 早速 KFM で VFR する単純スクリプト組んでみました
pass=3 にすると間引き入って総フレーム数はもちろん減るけど
encスピードが結構落ちますね、32fpsぐらい出てたのが26fpsぐらい
それだけ解析精度が高いからかな KFMDeint3pass、いい!
違うソースでやってみよ
CFRは安定感あるけど、
VFRは無駄がない感じでやっぱりそれはそれでいい 対応入力フォーマット
?コンテナ: MPEG2-TS 188バイトパケット
?映像: MPEG2, H264
?音声: MPEG2-AAC
これだけです。
って書いてるから >>828
ここはAvisynthのスレであって、Amatsukazeのスレじゃねえよ。 Amatsukazeの話をするなってことじゃなく、Amatsukazeの名前も出さずに
唐突に>>826みたいな書き方で質問をするのはさすがに頭が悪すぎるだろうってことな。
もう一度言うけど、ここはAvisynthスレなんだよ。 十分唐突やろ。
まあこうやって意見が割れる時点で、勘違いを生むってことだ ずっとamatsukazeレスが続いてるのに無理あり過ぎ AvisynthNeoやAvisynthCUDAFiltersの話はしてるけど、Amatsukazeの話はしてないでしょ。
というか忘れてたけど、Amatsukazeについては専用板に専用スレがあるよ。
>>771とあわせて次スレのテンプレに入れた方が良さそうだね。
---
■Amatsukaze(AvisynthNeoを使っているTSトランスコーダソフト)の話題は専用スレへ
Amatsukaze その1
http://jbbs.shitaraba.net/bbs/read.cgi/computer/44736/1530904083/ きっとamatsukazeのレスが減った頃に、HandBrakeとか、aviutlの話が混ざってくるんだよな 縞なし24fps[30fps]と縞なし30fpsを自動でうまくVFRにする方法ない?
ソースは舞台なんだけど↑にテレシネされて縞あり24fpsも混ざってるという混沌ぶり・・ KFMDeint 3pass は
昔の4:3のSDを引き伸ばして両脇黒縁でうめたようなソースに対しては
60fpsになってしまうようだ 結構厳密に判定するから昔のアニメとかブレがあるやつは60fps判定しちゃう >>842
デジ絵じゃない4:3のSDアニメなんかは
AviUtlの afs でやったほうが綺麗に仕上がるわな
KFMDeintは最近の地デジ番組に使わせていただくよ おま環かもしれないけど、
NeoのCUDAとCPUのバランスも少しづつつかめてきた
プリフェッチのフレーム数は結構大きめにとっても大丈夫だけど
スレッド数(パイプライン数?)は1とか十分だね
処理をCUDAばかりにやらせてて全然CPU使ってないことに気づいた
x265の --pools とかをもっと上げても大丈夫そう・・・ Neo用のAvsPmodなんですが、
はじめにF5を押して表示させた後、
ソースを少し変えてF5を押し直すと
フリーズしてしまします
おま環でしょうか・・・ >>845
はじめにF5を押して表示させた後、
→[ビデオ(V)]→[全てのビデオをメモリから解放]
→ソースを少し変えてF5を押し直す
としても駄目? >>846
できました!ありがとうございます。
マクロ化できないかとマニュアルを見てます
ShowVideoFrame(framenum=None, index=None, forceRefresh=False)
forceRefresh=Trueにすればいいのか試しているところです doom9でAvisynth neoが話に出てるじゃん
ここでフィルタチェインの可視化画像を見て凄いと思ったけど
向こうの人にも珍しかったもよう 今年もクリスマススクリプト来てたのか・・・w
I wish you a merry christmas (2018 script) - Doom9's Forum
https://forum.doom9.org/showthread.php?t=175966 AviUtlのaupを読み込んでみようと思ったんだけど、
LoadVFAPIPlugin()って、Avisynth+だと使えないんだね。(pinterf版r2772で確認)
1st October 2013, 21:22
Avisynth+ - Page 4 - Doom9's Forum
https://forum.doom9.org/showthread.php?p=1646295#post1646295
> - LoadVFAPIPlugin() is out of order for now. I'm not planning on removing it, I just need some info how to correct it.
削除予定は無かったけど、修正方法がわからないままなので使えない状態がずっと続いてるってことなのかな? そんなことするぐらいならAviUtlプラグインのソースコードを、AvisynthのSDKに沿って移植すればいいんじゃね?
AviUtlプラグインの大半はソースコードも配っているだろう。 そんな大げさな話ではなく、AviUtlスレでaupをA's Video Converterに読み込んで
Fluid Motionによるフレーム補間エンコをしたいという話があったので試してみただけだよ。
https://egg.5ch.net/test/read.cgi/software/1524957646/984-
まあLoadVFAPIPlugin()が使えるAvisynth2.6に変えてA'sへの読み込みまではうまくいったものの、
エンコしたら何故か幅500前後、縦56に縮小されるという問題が出てうまくいかなかったけどね・・・。 >>854
> まあLoadVFAPIPlugin()が使えるAvisynth2.6に変えてA'sへの読み込みまではうまくいったものの、
> エンコしたら何故か幅500前後、縦56に縮小されるという問題が出てうまくいかなかったけどね・・・。
一応報告しとくと、この問題はうちの環境に変なDirectShowフィルタが登録されてるのが原因だった。
それに対処すれば問題なくうまくいった。 その変なDirectShowフィルタについも書こう >>857
変なDirectShowフィルタというか、LavieノートにプリインストールされていたRoxio Creator LJってソフトが
oggcodecsのFlacやらVorbisやらのDirectShowフィルタ類を変な形でレジストリに登録していて、
それが原因でA'sがうまくフィルタグラフを構築できなかった模様。
作者さんに相談したら対応版を作って下さったので正常に処理できるようになった。
http://bluesky23.blog.shinobi.jp/entry/201812221 ふぇぇぇ久しぶりに混在ソースとか扱ったらどの段階でどのコマンドで
timecode埋め込むとかすっかり忘れてて困ったよぉ DGIndexのd2vファイル生成高速化ver.
https://github.com/299792458m/DGIndex_mod
作者さんのBlog
http://299792458m.blogspot.com/2019/03/dgindex.html#more
まだ実際には運用してないけど
VC++内の「実行可能ファイル ディレクトリ」にNASMのパスを追加したらビルドできた
*ビルド時に「安全な例外なんちゃら」が出たからリンカーの「例外パンドラ―を含むイメージ"」を「いいえ」にした >>862
面白そうってビルドしてためしてみたけど
既存の物だと 30.6 秒かかるところをこれは 21.3 秒で終わらせてくれたよ
確かに速くなるぽいねー 連投すまん
30 分アニメの TS ファイルをローカルの SSD に置いてやってみた。
DGIndex = 26.3 秒
DGIndex mod = 11.2 秒
なんて感じに倍以上速くなった
ネットワーク越しだとうちは 1Gbps だから頭打ちなって >>862 に書いた程度の向上しかしていなかったみたい。 いいね!
GUI使ってないからさっさと置き換えたらいいんだけど
万一のために新しくセットアップしようと考えてたら
なかなか使ってみれない 今までaviutlにavs読み込ませて使ってたけど
x64のavs2avi使ったら凄い早く処理終わってビックリした お財布の中身と相談しながらTGMCの速度アップのために
NVidiaのグラボを買ってKTGMCを利用しようと思うんですが、
GPUだけに関して言えばCUDAコア数以外でスペックのどの辺りに
KTGMCの速度は大きく依存するのでしょうか? >>867
コア数、メモリバンド幅、世代とか普通のGPUの性能で見ていいと思う
ただ、今の所1280コア以上はコア数が増えてもあんま速くならない
この先最適化が進んで速くなるかもしれないが >>867
あと、設定可能オプションに制限あるのでKTGMCの仕様をよく確認しとくと良いと思うよ。 質問者じゃないけど貴重な情報thx
なんだか最近、radeonのディスカウントが多いらしいけど
CUDAが動かないから残念 868、869さんありがとうございます。
コア数1280な1060 6GBのITX向けショートサイズなのがあるので
それを買おうと思います。 NVENCの進化もあるし、Optical Flow SDK や NGX SDK を使ったフレーム補間フィルタとか
スケーリングフィルタとかが出てくるかもしれない(誰かが作ってくれればだけどw)から
Turingが安くなるのを待つのもいいかもしれない。 すんません、AvisynthNeo-r2824とKTGMC/KFM 0.50はバイナリ無いんでしょうか(;´Д`) >>874
KTGMC/KFM 0.50ならAmatsukazeのバイナリ版に入ってるよ
AvisynthNeo-r2824はまだみたい >>875
Amatsukazeに含まれているDLLがそのまま使えるんですね
早速DLしてみます!ありがとうございましたm(_ _)m yahooジオシティ終了でDLできなくなりそうなプラグインあるね
今はまだinternet archivesで落とせるけど ものすごい久しぶりにx265更新してみたけど
昔はx265だと色がおかしかったけど今はまともになってるんだな
比較用にavs作って試したらx265の方がよくなってる印象だわ Avisynth-Neo2824、とプラグイン一式、久々にビルドした
VC++2019じゃうまくいかないものもあったね
CUDA Toolkit 10.1 をつかうやつは VS2017でビルド
AvsCUDA.dllだけ 8.0でビルド
疲れた 24fpsソースに60iじゃなく30fpsなテロップを被せられると
Func_6to2が正しく機能しない。なんかいい手は無いものか・・・ Neo64bit+KFMを1080Tiで使ってたけど、720pのエンコ、
r2824になってさらに6〜8fpsぐらい速度上がった気がする
気がするだけ >>879
どうかお願いします。AvisynthNeo-r2824とKTGMC/KFM 0.50のビルドが欲しいです。
どうやってもあがいても自分にはビルドできない。
nekopanda氏はなんでReleaseしてくれないんだろう。 >>882
>>879でえんこしたのみたら、
最初の1秒ちょいノイズが入るね
もとの環境に戻した
まだ完璧じゃないのかも
ビルド方法も自己流だし原因わからん
なにがうまくいかなくてビルドできないの? ビルドの仕方によって、エンコ精度が変わるの??
同じプログラムなのに Intel環境でビルドするのと、AMD環境でビルドするのとでは
対応可能な拡張命令の違いで何かの機能が無効になるとかあるんじゃね?知らんけど >>884
コンパイラのバージョンやSDKのバージョンによって何が起きているかはわからん
もちろん自動ベクトル化とかの設定でスピードは相当変わるだろうし、
浮動小数点の扱いとかを雑にすれば速度アップしたりする
今回のNeoの更新はcuda::Streamの話みたいだったが・・・ decombucf有効にしてると、先頭部分がノイジーなソースだと前からノイズ載ってたけど、それとは別? つまりnekopanda氏によるビルドを待てってことでしょ >>887
WinSDK勝手に最新にしたり、VS2019使ったり、
CUDAのKITも勝手に最新にしたり, BOOSTも最新にしたり
とりあえず最新で試すところ
あとは/MTが好き >>890
それ、自己流っていうのか?
ソースコードを自己流に書き換えているとかならへ〜って関心できるけどさ >>888
その話は知らなかった
KFMDeint で ucf は True で使ってるけど
特に先頭部分でノイズは入ってなかったよ >>892
先頭フレームからノイズ判定が出るソースだと、謎の白いノイズ出る事あるよ。
先頭に数秒間、何かを追加して後で切り取れば回避出来てたけどね。
先頭にから数秒しか起こらないから。 それは元からあったノイズじゃないの?先頭だとフレーム置き換えがうまくいかなくて残っちゃうとか >>894
> それは元からあったノイズじゃないの?先頭だとフレーム置き換えがうまくいかなくて残っちゃうとか
先頭フレームの置き換えを試みて、上手く行かない場合にのみ発生するんだと思う。(先頭フレームからdecombucfが必要と判定されるようなゴミソースや、ノイズ演出のあるソース意外では発生したこと無いです。) KFMDeint(mode=2)とIT(fps=24,diMode=1)を比較検証してます。
KFMDeintは確かにITだと綺麗に解除できない60iテロップや、たまに
取りこぼしてしまう小さな縞もちゃんと解除してくれて強力なんだけど、
唯一シーンチェンジ破綻のフレームまで馬鹿丁寧に拾いすぎてしまうのが悩みです。
(オリジナルのQTGMCでも同様なので、KFMDeint固有の問題ではないですが)
ucf=trueや2pass処理をしても有意な効果はありませんでした。
皆さんどうやって対処してるのでしょうか? シーンチェンジ破綻というものが何かよく分からないけど
decombUCFでダメなら諦めたほうがいいと思う >>898
対処なんてしない
そこまで質にこだわるなら最初からKFM使ってないな
BOBしてそのまま60fpsで保存しておけばいいんじゃ
同じ内容のフレームはx26xでうまく圧縮されるだろうし こういうのです
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オプションを付けたのか疑問が残ります。 別に例外パターンじゃなければUCFあったっておかしくない気がするけど タチの悪いぶんか・・
破綻ポイントが分かってるなら下手に悩まず
FreezeFrameで前後の黒フレーム引っ張ってきたほうが時短になると思う あくまでフィルタなのでPSNRみたいな数値化できる評価軸じゃないし、
常に最良の出力結果が得られる訳ではないのは分かってるんですが、
今回のケースだとKFMDeint(ucf=true)はノイズ部分の明度が元より
あがって却って汚く見えるんですよねぇ・・・個人的にはfalse推奨。
丁寧に作業するときはDoubleWeave.SelectEvery()使ったりもしますが、
あくまで全自動で通す場合の話なので。
KFMDeintだとDecombUCF対処は難しいということで一応納得です。 >>904
それって Neo_r2824では出て、r2822では出ない問題のやつだっけ? http://avisynth.nl/index.php/AviSynth%2B_x64_plugins
TDeintの64bitって古いプラグインしかないのね・・・
ソースはpinterf氏がTIVTCと同梱して公開してけど、そのままx64でビルドしようとするとエラー出る(x86は問題なし) >>905
?よくわからないです
ちなみに今使ってるのがgithubのreleaseで公開されてる r2822 Neo i386 >>907
Neo-r2822+CUDAFilters-0.46 の x86_64 ではUCF絡みのノイズ出たことないと思う
Neo-r2824+CUDAFilters-0.50 の x86_64 ではノイズが出たことある 丁寧にエンコしても一度見たら倉庫で永久保存。もしくはポイ捨て。 透過性ロゴフィルタ(改造版) [Avisynth]delogo0004
スムージングフィルタ [Avisynth]smoothing0004
エッジレベル調整+スムージングフィルタ [Avisynth]edgelevelSmooth0004
誰か持ってないかな?
エッジレベル調整はrigaya氏の物があるので外した smoothing0005 と edgelevelSmooth0005 ならあるんだが・・・ >>916
あら、新しいの出てたのか・・・
UPお願いします。 >>914と>>918のプラグインがavisynth.nlにアーカイブされますように KTGMC俺流高画質設定メモ
KTGMC(Preset="Slower", tr2=2, NNeurons=2, EdiMaxD=12, SLRad=3, Search=5, SourceMatch=3, Lossless=2) avisynthを通すと通さないとでどのぐらい高画質になるのか正直わからんな。
結局エンコードの設定次第でどうにでもできそうな気もするし MDegrain3とかでがっつりノイズ除去したのに最終的に暗部にグレインノイズ付加したりしてると
高画質とは何ぞやという気分にはなる そのままx64でビルドできないかなとやってみたら、asmの修正が必要っぽい >>921
余計なお世話だったらすまん
K(Q)TGMCは単品で使うと結構情報が欠落しちゃうから
OnCPU()
KMergeStatic(KTGMC(), last, KAnalyzeStatic(last))
OnCuda()
な感じで補間してやると良いかも 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っぽいんだけどね >>927
> K(Q)TGMCは単品で使うと結構情報が欠落しちゃう
どういう情報が欠落するの?
単品で使ってたので気になる >>931
https://i.imgur.com/bhoxmSQ.png
片フィールド補完のnnedi3をベースに使ってるから、こういうふうに細かいところがたまにおかしくなる
EdiModeを片フィールド補完じゃないTDeintとかにすれば大丈夫だけど、そうすると全体的に汚くなるから、
KMergeStaticの方がいいと思う amatsukazeのdelogoフィルタとかデブロックが試した感じかなりいいけど
普通のavisynth版がないのが残念だなぁ
amaのロゴデータでそのままdelogo出来るプラグイン欲しい
既存のに比べて凄く精度良い気がする >>938
同感
これができればaviutlと卒業できるのに いや取得の楽さの話をしてるんじゃなくて
ログ除去の適用性能が高いって言ってるんだよ
今のAvisynthにあるdelogoだと一律にかけることしかできないけど
Amatsukazeのdelogoは状況によって強弱かけてるでしょ ああ、"ama"って"amatsukaze"のことだったのね
amaっていうロゴ配布サイトでもあるのかと思ってたわ Ryzen Zen2がエンコ方面も爆速になってるのを見ていよいよ買い替えの機運が高まってきたけど、どのモデル買うか迷う。
エンコーダーはスレッド数に応じてほぼリニアに速度あがるけど、どう考えても先にネックになるのは
常用してるシングルスレッドしか対応してないAvisynthフィルタのどれかなんだよな。 フィルタがボトルネックになる分、エンコ設定重くできるよ! cuda対応のvapoursynth neoなんて出ないかな? neoとCUDAフィルタ入れてみた
PV4ファイルエンコにKFM使えるなんて胸熱 KFMDeint(mode=2, cuda=true)とSelectField()併用すると、画が壊れる事がある。よくわからん。 ちょっとだけわかってきた。SelectField()使うとフィールドオーダーがKFMDeintに渡らなくなるのか
全編で動くシーンの画が壊れるけど、SelectField()の後に再度フィールドオーダー明示してやると
ちゃんとインタレ解除してくれる。
オリジナルのQTGMCでも若干画が壊れるけどKFMDeintの方が圧倒的に顕著。他のデインタレフィルタだと
こうした症状は無いっぽいです。 >>952
初めて聞きました。ソース情報もらえますか? 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
}
当然この関数自体フィールドフラグがなくなると思うが すいません、SelectField()がユーザー定義関数なことすっかり失念してました(Avisynth内部関数だとばかり…)。
SelectField()を使う場合デインタレの直前にフィールド指定するか、SelectField()自体をフィールドオーダー
引き継げるよう改造するしか無さそうですね。 DoubleWeave()にまつわる話かと思ったら違った・・ 多分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の設定引き継ぎ おぉ自分で改悪したの添削してもらおうと思ったら、先に優れたものを作ってくださったお方が。かたじけないです 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()
} 俺のテストしてないんで供養せずにそっち使ってください
なんか出過ぎた真似してしまって申し訳なす
>>956
多分理屈は同じじゃないかな エンコードする場合の前処理と本エンコード用の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 エンコード時にD&Dするbatで
echo Import("前処理avs.avs") >>本エンコavs.avs
みたいにして本エンコavsファイル作れば? >>962
「前処理avsファイル」で使用した書式のうちいくつかは「本エンコavsファイル」では使用してはいけないので、
共通部分だけまとめたavsファイルを別途作成してImport(しかも複数箇所)しないと実現できなそうです。 どんなavsか分からないから何に困ってるのかよくわからないけど、前処理+共通の全部書いたテンプレのavs作って
状況に応じて行頭コメントアウトしたり文字置換等をバッチ若しくは手動でするのは無理なの? >>963
その本エンコavsに不要な書式は固定なんか? >>963
前処理用にリネームしたavs2pipemodを用意して、
スクリプト内ではGetProgramName()で分岐させるのが良いと思う フラグになる変数定義して if 文でどうのとかはだめなん?
俺は AvsPmod でトリミングするときは処理を軽くするためにフィルタを解除したり、
編集おわったらフィルタ全適用したりってやるのに変数適当に定義して if 文でまわしてる。
どういう処理されてるかさっぱり分からないからみんな「それならこうした方が良い」ってのが
言い出せないかと思う いろいろコメントありがとうございます>各位
GetProgramName()で分岐とか環境変数で制御とか思いつかなかったなぁ。
無理に呼び出し元バッチで何とかしようとせず、avsファイルを一つに
まとめて、スクリプト内で制御した方が賢いかもしれない。
ちなみに現在使用している環境のイメージとしては以下のような感じです。
(作業が発生する度共通部分をpre→mainに転記している)
前処理用フィルタは固定ですが、共通部分とかメイン用フィルタは
都度内容や使用件数が変わるものとお考え下さい。
# pre avs
MPEG2Source("source.d2v", upConv=1)
AssumeTFF()
UserDef1() #共通部分1
UserDef2() #共通部分2
UserDef3() #共通部分3
PFilterA() #前処理用フィルタ
return last # main avs
MPEG2Source("source.d2v", upConv=1)
AssumeTFF()
UserDef1() #共通部分1
MFilterA() #メイン用重いフィルタ
UserDef2() #共通部分2
UserDef3() #共通部分3
MFilterB() #メイン用スゴク重いフィルタ
return last
>>964>>966
ホンマそれ。だけどメンドイし、手動によるミスも多いです… >>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 同時編集する必要性が分からないんだけど・・
普通にメイン部分を無効で登録しておき編集して「前処理フィルタ」実行
処理が終わったら「前処理フィルタ」を無効にして「メイン用重いフィルタ」の調整としたほうが
流れるように作業できラクなはず 自分は高度なこと分からない人だから
type pre.avs | find /v "PFilterA" >pre2.avs
type pre2.avs | find /v "return" >pre3.avs
みたいに転がして後は文字列の置き換えてメインフィルター追記して
main.avsで出力みたいなのしか発想できない Anime4kはリアルタイムでアップスケールして再生するためのものだから
Avisynthにかませる理由があまりないでしょ
nnedi3_rpow2でも使えばよい nnedi3_rpow2より速そうだし出来も良さそうだなって思ったんだけど
やっぱないかあ 早いだろうけど出来は及ばないでしょ
あくまでもリアルタイムにしてはすごいってだけで avisynthのプラグインは「調整が決まれば」という但し書きが付くけどね それはAnime4Kはもっとそうで
得意な映像なら、なんだよ
不得意なパターンも報告されてるわけでね
リアルタイムだからどうしようもない部分はある レス数が950を超えています。1000を超えると書き込みができなくなります。