Avisynthを絶讃ιょぅょ Part32 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
家だけかもしれないが、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を超えると書き込みができなくなります。