Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 18th March 2016, 15:54   #1  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
yadifmod2

yadifmod2 = Yadif + yadifmod

latest version: 0.0.4

requirements:
- Avisynth2.6.0 or Avisynth+
- Windows Vista sp2 or later
- Visual C++ Redistributable Packages for Visual Studio 2015.

github page
binary download (both 32bit and 64bit are included.)

features:
- All planar formats are supported. (and YUY2 support is dropped)
- SSE2/SSSE3/AVX2 optimised.(MMX stuffs are dropped)
- 64bit support.
- not avisynth c plugin.

Thanks to Fizick for the bug report.
__________________
my repositories

Last edited by Chikuzen; 29th May 2016 at 08:33.
Chikuzen is offline   Reply With Quote
Old 18th March 2016, 21:16   #2  |  Link
Sparktank
47.952fps@71.928Hz
 
Sparktank's Avatar
 
Join Date: Mar 2011
Posts: 909
Thanks for this! Great to see wider planar support.
I was curious the first time I saw but glad I waited until Fizick saw something.

Great job guys.
__________________
Win10 (x64) build 18362| GPU Caps Viewer 1.42.4.0
NVIDIA GeForce GTX 1060 3GB (GP106) 3071MB/GDDR5 | (r435_95-4)
NTSC | DVD: R1 | BD: A
Intel Xeon X5660 @2.80GHz
Sparktank is offline   Reply With Quote
Old 20th March 2016, 01:03   #3  |  Link
Fizick
AviSynth plugger
 
Fizick's Avatar
 
Join Date: Nov 2003
Location: Russia
Posts: 2,183
v0.0.2 output is now same for C and SIMD opt, but not equal to classical Yadif.
I tried look to source code: score updating is missed. Is it intentional?
Also I see very long delay at first script loading (due to vs2015 dll?).
I tried to compile with VS2010, but some intrinsic (AVX2) is missed in header files. Is it from some new SDK?
__________________
My Avisynth plugins are now at http://avisynth.org.ru and mirror at http://avisynth.nl/users/fizick
I usually do not provide a technical support in private messages.
Fizick is offline   Reply With Quote
Old 20th March 2016, 09:40   #4  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Thanks Fizick
I updated to 0.0.3.

Quote:
Originally Posted by Fizick View Post
I tried look to source code: score updating is missed. Is it intentional?
No. Just my mistake.

Quote:
Also I see very long delay at first script loading (due to vs2015 dll?).
I don't know.

Quote:
I tried to compile with VS2010, but some intrinsic (AVX2) is missed in header files. Is it from some new SDK?
I compiled the binaries with VisualStudio community 2015 update1 and Avisynth+'s avisynth.h.
I didn't use any other stuffs.
I also tried to compile with VS2013, and there were no problems (except rewrite constexpr to const)
VS2010 ... Sorry, I don't want to install it...
__________________
my repositories

Last edited by Chikuzen; 20th March 2016 at 12:13.
Chikuzen is offline   Reply With Quote
Old 31st March 2016, 13:34   #5  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
So if used with an external deinterlacer like NNEDI3 (I use Yadifmod+NNEDI3 for all but the most difficult interlaced content, then it's QTGMC) is there a quality benefit? Regards, Ben
bcn_246 is offline   Reply With Quote
Old 31st March 2016, 19:01   #6  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Quote:
Originally Posted by bcn_246 View Post
So if used with an external deinterlacer like NNEDI3 (I use Yadifmod+NNEDI3 for all but the most difficult interlaced content, then it's QTGMC) is there a quality benefit? Regards, Ben
The output of yadifmod2+NNEDI3 is identical with yadifmod+NNEDI3.
But yadifmod2 is faster than yadifmod because it has SSE2/AVX2 optimazed code.
yadifmod has only MMX optimization.
__________________
my repositories
Chikuzen is offline   Reply With Quote
Old 2nd April 2016, 12:04   #7  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,412
Any place for quality improvements?
I like yadifimod a lot, but when going to double fps than it's not so great.
kolak is offline   Reply With Quote
Old 2nd April 2016, 12:56   #8  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Quote:
Originally Posted by kolak View Post
Any place for quality improvements?
I like yadifimod a lot, but when going to double fps than it's not so great.
The reasons that I wrote this plugin are the followings.
- yadif/yadifmod can't accept YV16/YV24 (and yadifmod can't accept Y8).
- Since yadifmod uses inline asm, it can't be compiled for 64bit beside Intel compiler.
- I wanted to try whether yadif becomes fast if AVX2 is used.

If you want the higher quality, use QTGMC.
__________________
my repositories

Last edited by Chikuzen; 2nd April 2016 at 14:09.
Chikuzen is offline   Reply With Quote
Old 2nd April 2016, 13:02   #9  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: UK
Posts: 2,412
Makes sense.
QTGMC comes with its own problems
I like yadifmod as a very goor trade of between speed and quality.
kolak is offline   Reply With Quote
Old 2nd April 2016, 16:21   #10  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,241
Yadifmod2_avx is only about 15% faster that old plain Yadif.

Without Yadif
Code:
AVSMeter 2.1.3 (x86)
AviSynth 2.60, build:Mar 31 2015 [16:38:54] (2.6.0.6)
Loading script.....

Number of frames:                  988
Length (hh:mm:ss.ms):     00:00:32.966
Frame width:                      1440
Frame height:                     1080
Framerate:                      29.970 (5000000/166833)
Colorspace:                       YV12

Frames processed:               988 (0 - 987)
FPS (min | max | average):      451.2 | 686.5 | 636.3
Memory usage (phys | virt):     58 | 61 MB
Thread count:                   18
CPU usage (average):            25%

Time (elapsed):                 00:00:01.553
Yadif
Code:
AVSMeter 2.1.3 (x86)
AviSynth 2.60, build:Mar 31 2015 [16:38:54] (2.6.0.6)
Loading script.....

Number of frames:                 1976
Length (hh:mm:ss.ms):     00:00:32.966
Frame width:                      1440
Frame height:                     1080
Framerate:                      59.940 (10000000/166833)
Colorspace:                       YV12

Frames processed:               1976 (0 - 1975)
FPS (min | max | average):      172.7 | 204.7 | 198.7
Memory usage (phys | virt):     149 | 152 MB
Thread count:                   18
CPU usage (average):            11%

Time (elapsed):                 00:00:09.946
Yadifmod2
Code:
AVSMeter 2.1.3 (x86)
AviSynth 2.60, build:Mar 31 2015 [16:38:54] (2.6.0.6)
Loading script.....

Number of frames:                 1976
Length (hh:mm:ss.ms):     00:00:32.966
Frame width:                      1440
Frame height:                     1080
Framerate:                      59.940 (10000000/166833)
Colorspace:                       YV12

Frames processed:               1976 (0 - 1975)
FPS (min | max | average):      180.2 | 215.9 | 209.7
Memory usage (phys | virt):     152 | 155 MB
Thread count:                   18
CPU usage (average):            11%

Time (elapsed):                 00:00:09.422
Yadifmod2_AVX
Code:
AVSMeter 2.1.3 (x86)
AviSynth 2.60, build:Mar 31 2015 [16:38:54] (2.6.0.6)
Loading script.....

Number of frames:                 1976
Length (hh:mm:ss.ms):     00:00:32.966
Frame width:                      1440
Frame height:                     1080
Framerate:                      59.940 (10000000/166833)
Colorspace:                       YV12

Frames processed:               1976 (0 - 1975)
FPS (min | max | average):      193.5 | 234.8 | 228.0
Memory usage (phys | virt):     151 | 154 MB
Thread count:                   18
CPU usage (average):            12%

Time (elapsed):                 00:00:08.667
Why do we need extra version for AVX but not for AVX2 ?
Atak_Snajpera is offline   Reply With Quote
Old 2nd April 2016, 16:42   #11  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
Quote:
Originally Posted by Atak_Snajpera View Post
Yadifmod2_avx is only about 15% faster that old plain Yadif.
I know that.
But SSE2 was also useless at time of the early arrival.
AVX2 may be mostly indispensably in about 5 years.

Quote:
Why do we need extra version for AVX but not for AVX2 ?
Enable AVX2 requires add /arch:AVX to compile options.
I think that has an bad influence for CPU before SandyBrifge.
However, I have only one machine(i7-4790) at now.
So it has not been checked.

and there is no difference in /arch:AVX and /arch:AVX2.
If your machine's CPU is SandyBridge or IvyBridge, use your favorite one.
__________________
my repositories

Last edited by Chikuzen; 2nd April 2016 at 16:56.
Chikuzen is offline   Reply With Quote
Old 2nd April 2016, 17:03   #12  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,241
Quote:
and there is no difference in /arch:AVX and /arch:AVX2.
Both use 256 bit registers so I'm not surprised that there is no difference.
Atak_Snajpera is offline   Reply With Quote
Old 3rd April 2016, 10:15   #13  |  Link
thescrapyard
Registered User
 
thescrapyard's Avatar
 
Join Date: Feb 2008
Posts: 54
Just tried this plugin with AvspMOD, and it failed complaining about a missing library

Ran Dependancy Walker as that's helped me out in the past with plugins that seem to be perfect but keep failing causing much head banging off the desk when they worked perfectly previously, and it was trying to load a couple of DLL's that I didn't have

DLL's I had missing were :

MCVSP140.dll
VCRUNTIME140.dll

Downloaded and simply copied to where the main DLL files are and everything it now running as it should. Just in case anybody else is having issues with missing libraries
thescrapyard is offline   Reply With Quote
Old 3rd April 2016, 10:33   #14  |  Link
Groucho2004
Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,471
Quote:
Originally Posted by thescrapyard View Post
Just tried this plugin with AvspMOD, and it failed complaining about a missing library

Ran Dependancy Walker as that's helped me out in the past with plugins that seem to be perfect but keep failing causing much head banging off the desk when they worked perfectly previously, and it was trying to load a couple of DLL's that I didn't have

DLL's I had missing were :

MCVSP140.dll
VCRUNTIME140.dll

Downloaded and simply copied to where the main DLL files are and everything it now running as it should. Just in case anybody else is having issues with missing libraries
How about checking the requirements in the first post:
"Visual C++ Redistributable Packages for Visual Studio 2015"

Copying the DLLs manually is not recommended. Besides, it's "MSVCP140.dll", not "MCVSP140.dll".

Last edited by Groucho2004; 3rd April 2016 at 12:52. Reason: typo
Groucho2004 is offline   Reply With Quote
Old 29th May 2016, 08:39   #15  |  Link
Chikuzen
typo lover
 
Chikuzen's Avatar
 
Join Date: May 2009
Posts: 597
update to 0.0.4

- Set filter mode as MT_NICE_FILTER automatically on avs+MT.
- Remove AVX2 code from yadifmod2.dll.

Also, I added vapoursynth version(for win32 and win64) to the release page.
This is experimental because I didn't test it except 8bit integer source.
__________________
my repositories

Last edited by Chikuzen; 29th May 2016 at 10:27.
Chikuzen is offline   Reply With Quote
Old 29th May 2016, 09:16   #16  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 5,905
Thanks for the update.
__________________
Hybrid here in the forum, homepage
Notice: Since email notifications do not work here any more, it might take me quite some time to notice a reply to a thread,..
Selur is offline   Reply With Quote
Old 21st November 2016, 22:17   #17  |  Link
Elegant
Registered User
 
Join Date: Jul 2014
Posts: 55
Quote:
Originally Posted by Chikuzen View Post
Also, I added vapoursynth version(for win32 and win64) to the release page.
This is experimental because I didn't test it except 8bit integer source.
I was attempting to switch to this over yadifmod but unfortunately it seems to cause major artifacting around edges when used in a 16-bit clip. Any chance for an update?
Elegant is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 17:37.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.