Hi and however please respect for cats.
And however exactly I would not know why in certain situations of the images, the use of yadif(1,1) rarely create strange artifacts in the image (over details)
This issue is not always systematic and reproducible.
I ask if there exist an external plugin for avisynth that does the same function of yadif(1,1) (deinterlace and double framerate) and if possible in 32/64bit version thanks
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 30 of 38
Thread
-
-
yadifmod2 + nnedi3
eg
Code:yadifmod2(order=1,mode=1,edeint=nnedi3(field=3))
-
Update your avisynth first. That's like 5 years old
https://github.com/jpsdr/NNEDI3/releases
Inside the nnedi3 folder there are several .dll's . Use the highest one that your CPU has. E.g. if you have AVX512, use that -
seems that the old yadifmod plugin support YUY2: it's true?
using
Code:LoadCPlugin("v:\AviSynth\plugins64+\yadifmod\yadifmod.dll") LWLibavVideoSource("C:\Users\Administrator\Desktop\Nuova cartella (5)\canon422 XF300 1920x1080 50i 422.MXF").yadifmod(order=1,mode=1,edeint=nnedi3(field=3))
-
-
LWLibavVideoSource("catvideo.ext", format="YUV422P8")
This should return YV16
(If you have to, YUY2<=>YV16 is lossless conversion in avisynth if done properly. You should not need to do this)
Eg.
ConvertToYUY2(interlaced=true)
or
ConvertToYV16(interlaced=true) -
I know but I'm inside a batch that have to use the output as input for other source ... is all copliCat but one thing at a time
please
Code:If I use Import("v:\automazioneclip\avisynth\plugins\IResize.avsi") Import("V:\automazioneclip\AviSynth\plugins\smoothFPS2.avsi") Import("v:\automazioneclip\AviSynth\plugins\FrostyBorders.avsi") Import("v:\automazioneclip\AviSynth\plugins\CropResizedic2017.avsi") LoadPlugin("v:\automazioneclip\AviSynth\Lsmash64perVirtualDub64\LSMASHSource.dll") LoadPlugin("V:\automazioneclip\AviSynth\plugins64\ffms2.dll") LoadCPlugin("v:\automazioneclip\avisynth\plugins64\yadif.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins64+\NNEDI32019\eedi3.dll") LoadCPlugin("v:\automazioneclip\AviSynth\perQTGMC64bit\nnedi3.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins64+\YADIFMOD2\yadifmod2.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins64+\yadifmod\yadifmod.dll") LWLibavVideoSource("C:\Users\Administrator\Desktop\Nuova cartella (5)\canon422 XF300 1920x1080 50i 422.MXF").yadifmod(order=1,mode=1,edeint=nnedi3(field=3))
[Attachment 51468 - Click to enlarge]
Meanwhile if I use:
Code:Import("v:\automazioneclip\avisynth\plugins\IResize.avsi") Import("V:\automazioneclip\AviSynth\plugins\smoothFPS2.avsi") Import("v:\automazioneclip\AviSynth\plugins\FrostyBorders.avsi") Import("v:\automazioneclip\AviSynth\plugins\CropResizedic2017.avsi") LoadPlugin("v:\automazioneclip\AviSynth\Lsmash64perVirtualDub64\LSMASHSource.dll") LoadPlugin("V:\automazioneclip\AviSynth\plugins64\ffms2.dll") LoadCPlugin("v:\automazioneclip\avisynth\plugins64\yadif.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins64+\NNEDI32019\eedi3.dll") LoadCPlugin("v:\automazioneclip\AviSynth\perQTGMC64bit\nnedi3.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins64+\YADIFMOD2\yadifmod2.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins64+\yadifmod\yadifmod.dll") LWLibavVideoSource("C:\Users\Administrator\Desktop\Nuova cartella (5)\canon422 XF300 1920x1080 50i 422.MXF") yadifmod(order=1,mode=1,edeint=nnedi3(field=3))
-
-
Why not QTGMC?
Want my help? Ask here! (not via PM!)
FAQs: Best Blank Discs • Best TBCs • Best VCRs for capture • Restore VHS -
Yes, interlaced=true/false does not affect 4:2:2 <=>4:2:2 in avisynth; interlace switch only affects to/from RGB and or other subsampling
You can do it "improperly" in other programs; not all 4:2:2 pixel types/configurations are interconvertible without loss . Some are handled differently (some go through RGB intermediate), and certain 4:2:2 fourcc's cause it to be mishandled and lossy . Such as the window's NLE's he is using - "YUY2" will be mishandled -
And pretty much any single frame rate deinterlacer can be turned into a double frame rate deinterlacer with a field reversal and Interleave().
-
Code:
SetMemoryMax(16) Import("v:\automazioneclip\avisynth\plugins\IResize.avsi") LoadPlugin("v:\automazioneclip\avisynth\plugins\LSMASHSource.dll") LoadCPlugin("v:\automazioneclip\core\yadif.dll") LoadCPlugin("v:\automazioneclip\AviSynth\plugins+\LeakKernelDeint.dll") LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF", format="YUV422P8")
AvfsAviMediaInit: Clip has no supported video. -
Use the newer avfs.exe . The command line version.
You can find it with the portable vapoursynth version. Just extract it with 7zip
https://github.com/vapoursynth/vapoursynth/releases
eg
Code:avfs catscript.avs
-
BTW - if you are using avfs, it will get converted to RGB in most windows NLE's . Neither YV16 or YUY2 will be "lossless" either
You need 8bit 422 as "UYVY" to get "lossless" treatment in most windows NLE's, but the avfs emulator does not do this pixel configuration
Vapoursynth can do 10bit 422 as v210 with enable_v210 = True switch using avfs. This will get accepted in many NLE's and treated as YUV 10bit 422 properly and lossless -
I know but however at the moment I should make a series of monstrous changes for which I am not capable with my limited ***-brain
too compliCat modify this batch (attached) that have a lot of calls x86/x64 and the output that have to be manage any armor that I can't cross with my limited cat-****
https://www.dropbox.com/s/gje9kd29apy0rlk/soloAVS_HD50P.bat?dl=0
for example, if I don't mistake, the new AVFS cannot let you load .avs via shell: for me this is extremely unconfortable.
I alwais need to keep open the commandline dos-window for every video clip loaded because in the new AVFS it's no longer implemented as a shell extension
If you see my batch there is a particular routine that need the old avfs
Code:if "%fps25OR50%"=="1" v:\automazioneclip\system\fart.exe "%~dp1tempNaming.txt" : _ if "%fps25OR50%"=="1" v:\automazioneclip\system\fart.exe "%~dp1tempNaming.txt" \ _ if "%fps25OR50%"=="1" set /p newPath=<"%~dp1tempNaming.txt" if "%fps25OR50%"=="1" if exist "%~n1_HD_%newPath%proc.avs" del "%~n1_HD_%newPath%proc.avs" if "%fps25OR50%"=="1" rem *** nella linea seguente il finale proc serve a non far finire il file per avs perche altrimenti stranamente non carica in c volumes *** if "%fps25OR50%"=="1" ren "%~n1_HD.avs" "%~n1_HD_%newPath%proc.avs" if "%fps25OR50%"=="1" pfm unmount "%~dp1%~n1_HD_%newPath%proc.avs" if "%fps25OR50%"=="1" pfm mount "%~dp1%~n1_HD_%newPath%proc.avs" if "%fps25OR50%"=="1" IF NOT "%windowsXP%"=="1" findstr /c:"%~dp1%~n1_HD_%newPath%proc.avs" "C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\AVSavvio.bat" if "%fps25OR50%"=="1" IF NOT "%windowsXP%"=="1" IF ERRORLEVEL 1 (echo IF EXIST "%~dp1%~n1_HD_%newPath%proc.avs" pfm mount "%~dp1%~n1_HD_%newPath%proc.avs">>"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\AVSavvio.bat") if "%fps25OR50%"=="1" IF "%windowsXP%"=="1" findstr /c:"%~dp1%~n1_HD_%newPath%proc.avs" "C:\Documents and Settings\Administrator\Menu Avvio\Programmi\Esecuzione automatica\AVSavvio.bat" if "%fps25OR50%"=="1" IF "%windowsXP%"=="1" IF ERRORLEVEL 1 (echo IF EXIST "%~dp1%~n1_HD_%newPath%proc.avs" pfm mount "%~dp1%~n1_HD_%newPath%proc.avs">>"C:\Documents and Settings\Administrator\Menu Avvio\Programmi\Esecuzione automatica\AVSavvio.bat") if "%fps25OR50%"=="1" for /f delims^=^" %%a in ('pfm flush "%~dp1%~n1_HD_%newPath%proc.avs"') do set "flushed1=%%a" if "%fps25OR50%"=="1" set "flushed=%flushed1%\%~n1_HD_%newPath%proc.avi" if "%fps25OR50%"=="1" if exist "%~dp1%~n1_HD.avi" del "%~dp1%~n1_HD.avi" if "%fps25OR50%"=="1" v:\automazioneclip\core\mklink.exe /s "%~dp1%~n1_HD.avi" "%flushed%" if "%fps25OR50%"=="1" if exist "%~dp1tempNaming.txt" del "%~dp1tempNaming.txt" if "%fps25OR50%"=="1" if exist "fileNameEXT.txt" del "fileNameEXT.txt"
Or more likely impossible at the moment.
I have too many constraints that currently don't make it possible for me to change, for example the version of avisynth or others fundamental bases.
The only reasonable change that in my specific case I can make to the batch is to strictly change the deinterlacing line yadif(1,1) with another deinterlacer.
I have try with LeakKernelDeint: it's not bad, but not not so good.
For example
Code:Import("v:\automazioneclip\avisynth\plugins\IResize.avsi") LoadPlugin("v:\automazioneclip\avisynth\plugins\LSMASHSource.dll") LoadCPlugin("v:\automazioneclip\core\yadif.dll") LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\LeakKernelDeint.dll") LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\yadifmod\yadifmod.dll") LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\NNEDI32019\nnedi3.dll") LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF") yadifmod(order=1,mode=1,edeint=nnedi3(field=3))
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF").yadifmod(order=1,mode=1,edeint=nnedi3(field=3))
this above does not work : Script error: Invalid arguments to function 'nnedi3'.
but using simply yadif(1,1) can be work togheter:
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF").yadif(1,1)
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF") yadif(1,1)
However to understand the problem I load the video with the issuse of strange (and not sistematic) loss of detail using yadif(1,1):
https://www.dropbox.com/s/c2qzbcl96gdfl0x/YadifOut.avi?dl=0
this above is "bad".
And this is the "right":
https://www.dropbox.com/s/w5ztxrx7flupupk/leakKernelOut.avi?dl=0
using
Code:LWLibavVideoSource("V:\Sfilata2019\A\C0001.MXF").LeakKernelBob(order=1,threshold=10,sharp=true,twoway=true,map=false)
-
Why don't you just format the batch differently?
The input implied "last" into nnedi3 is undefined .
A work around is to use a helper function
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF").catfunction() function catfunction(clip c) { yadifmod2(c,order=1,mode=1,edeint=nnedi3(c,field=3)) }
-
-
Ok I try:
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF").catfunction() function catfunction(clip c) { yadifmod(order=1,mode=1,edeint=nnedi3(field=3)) }
but it does not work
does exist a yadifmod version that don't use external plugins like nnedi3? -
if possible I would like to have the "freedom" to use catfunction() in both the way:
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF").catfunction()
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF") catfunction()
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF").yadif(1,1)
Code:LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF") yadif(1,1)
-
You didn't copy it correctly. Look more closely or copy paste directly
if possible I would like to have the "freedom" to use catfunction() in both the way:
You can also change the arguments to specify the order, mode as variables. Currently they are "hardcoded" in catfunction() as order=1, mode=1 . The problem is the "field" in NNEDI3 has to match the other arguments (it's not that simple;eg. field=3 matches top field, double rate)
You can name it dogfunction() if you want -
Code:
SetMemoryMax(16) Import("v:\automazioneclip\avisynth\plugins\IResize.avsi") LoadPlugin("v:\automazioneclip\avisynth\plugins\LSMASHSource.dll") LoadCPlugin("v:\automazioneclip\core\yadif.dll") LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\LeakKernelDeint.dll") LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\yadifmod\yadifmod.dll") LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\NNEDI32019\nnedi3.dll") LWLibavVideoSource("C:\Users\Administrator\Desktop\c116\C0116.MXF") catfunction() function catfunction(clip c) { yadifmod(c,order=1,mode=1,edeint=nnedi3(c,field=3)) }
-
but what happens if, in another PC the nnedi3 is not compatible with the specific processor? it cannot be works?
-
Similar Threads
-
Deinterlacing with VirtualDub's Yadif filter?
By dellsam34 in forum CapturingReplies: 44Last Post: 29th Jul 2019, 14:27 -
do have FFMPEG a more faster alternative to yadif?
By marcorocchini in forum Newbie / General discussionsReplies: 3Last Post: 2nd Mar 2019, 01:13 -
How to use Yadif to remove this one bad frame?
By digicube in forum RestorationReplies: 2Last Post: 18th Jun 2018, 21:47 -
Colour bleeding when deinterlacing with Yadif
By andy29 in forum Video ConversionReplies: 2Last Post: 9th Jun 2018, 19:34 -
[AviSynth] CombMask alternative in MaskTools 2?
By 8day in forum Newbie / General discussionsReplies: 6Last Post: 5th Feb 2015, 08:54