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 Usage
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 7th October 2015, 19:33   #541  |  Link
Desbreko
Registered User
 
Desbreko's Avatar
 
Join Date: Feb 2015
Posts: 55
1: Yes, the latest version of jpsdr's nnedi3 is recommended.
2: edi_rpow2 is a script, not a plugin. It can't change the main nnedi3ocl, eedi3, or eedi2 functions.
3: edi_rpow2 uses nnedi3, etc. directly and supports all of the main functions' parameters. It doesn't use the original rpow2 functions.
4: All of the improvements jpsdr made to nnedi3_rpow2 (not nnedi3 itself) are included in edi_rpow2 and also apply to the other edi types.
5: Not that I know of. If you find any, please let me know so I can fix them.
6: None currently, but I'm open to suggestions.
7: Currently, only AviSynth's internal resize kernels and Dither_resize16's kernels are supported. The SplineResize plugin's kernels (Spline144Resize, etc) are buggy and you should use Dither_resize16's generic spline kernel instead. I might add support for Jinc if a good anti-ringing algorithm like the one in madVR ever gets developed for AviSynth, but otherwise it doesn't seem worth using.
__________________
Twitter, AviSynth scripts
Desbreko is offline   Reply With Quote
Old 7th October 2015, 20:47   #542  |  Link
luquinhas0021
The image enthusyast
 
Join Date: Mar 2015
Location: Brazil
Posts: 270
Sinc 16, 36, 64, 128, 256; Lanczos 16, 36, 64, 128, 256: do you appreciate some of them over Spline144?
Speaking about Spline 144 (And Spline 6 taps), why it's buggy, if it is a Wilbert plug-in, not an Avisynth internal resizer? And why aren't dither_16 resize's generic splines buggy?
__________________
Searching for great solutions
luquinhas0021 is offline   Reply With Quote
Old 7th October 2015, 21:30   #543  |  Link
Desbreko
Registered User
 
Desbreko's Avatar
 
Join Date: Feb 2015
Posts: 55
Sinc and Lanczos are already supported. Use the taps parameter to set the number of sample points.

About the SplineResize plugin, see this thread.
__________________
Twitter, AviSynth scripts
Desbreko is offline   Reply With Quote
Old 7th October 2015, 21:43   #544  |  Link
luquinhas0021
The image enthusyast
 
Join Date: Mar 2015
Location: Brazil
Posts: 270
The guys, in post you send me, was making many iterations with Spline! This was crazy!
Well, I will follow the sugestion you gave me. Anyway, how I put spline 6 taps (aka Spline 144) present in Dither_16 resize on nnedi3 cshift parameter? Like: nnedi3_rpow2 (... cshift = spline 6 taps present in Dither_16 resize) (I know this way isn't the right).
In my tests with Sinc and Lanczos, with every possible number of taps, no one outperformed Spline 144, in detail retention, sharpness and in minimal generation of artifacts. The computer where I made this test has a 3rd generation Intel i5 processor, so it's a relatively new device.
In test I made with Wilbert plug-in, using Spline144Resize and Spline taps=6, the Spline144Resize was a little, little better than Spline taps=6.
__________________
Searching for great solutions
luquinhas0021 is offline   Reply With Quote
Old 7th October 2015, 22:37   #545  |  Link
Desbreko
Registered User
 
Desbreko's Avatar
 
Join Date: Feb 2015
Posts: 55
To have edi_rpow2 use Dither_resize16, set lsb=true. So to use 6-tap spline for the cshift correction, you'd use this:

edi_rpow2(cshift="Spline", taps=6, lsb=true)
__________________
Twitter, AviSynth scripts
Desbreko is offline   Reply With Quote
Old 7th October 2015, 23:36   #546  |  Link
luquinhas0021
The image enthusyast
 
Join Date: Mar 2015
Location: Brazil
Posts: 270
Warning to you: the link you subscribe (EDI v1.0) isn't opening - it's on MediaFire server.
In EDI v1.0, there's most recent jpsdr nnedi3, eedi3, nnedi3 ocl and eedi2, including their _rpow2 functions. But, in code example you wrote, it's edi_rpow2. Why? Your program doesn't give the option to choose the edi algorithm the person want use? If gives, how I choose it?
__________________
Searching for great solutions
luquinhas0021 is offline   Reply With Quote
Old 8th October 2015, 00:44   #547  |  Link
Desbreko
Registered User
 
Desbreko's Avatar
 
Join Date: Feb 2015
Posts: 55
The link works fine for me. Maybe try this link instead to go directly to the download page instead of the view page?

edi_rpow2 is its own function; it doesn't replace the rpow2 functions of nnedi3, etc. It uses nnedi3 by default, but you can use its edi parameter to set which plugin to use for the image enlargement. Read the documentation at the top of the script to learn how to use its parameters.
__________________
Twitter, AviSynth scripts
Desbreko is offline   Reply With Quote
Old 8th October 2015, 14:59   #548  |  Link
luquinhas0021
The image enthusyast
 
Join Date: Mar 2015
Location: Brazil
Posts: 270
Do you know about the core (Kernel) of nnedi3 and eedi3 (Including their _rpow2 functions)? Seemly, there's nothing more, unless do it compatible with RGB30 and RGB32, to do in peripherical aspects of edi algorithms. Maybe update kernel be the optimal choice... Although we will should train again the neural net. Here is some my ideas:
Deprecate the minimization of absolute error - L1 - and squared error - L2. Replacing it by the minimization of square root of absolute error - L0.5 (Idea of Tritical, but never was released (Go to page top of page 21 of this thread)).
Increase the number of neurons and conections between them. I think 512 or 1024 neurons will be excelent
Review the sets of image/frames Tritical has used in order to train the net.
Review the weights of neurons.
What do you think about my ideas?
__________________
Searching for great solutions
luquinhas0021 is offline   Reply With Quote
Old 8th October 2015, 16:17   #549  |  Link
Desbreko
Registered User
 
Desbreko's Avatar
 
Join Date: Feb 2015
Posts: 55
I'm not a programmer, so I wouldn't even know where to begin in improving the core functions.
__________________
Twitter, AviSynth scripts
Desbreko is offline   Reply With Quote
Old 8th October 2015, 16:27   #550  |  Link
luquinhas0021
The image enthusyast
 
Join Date: Mar 2015
Location: Brazil
Posts: 270
If you aren't a programmer, how you could modify and create edi v1.0?
__________________
Searching for great solutions
luquinhas0021 is offline   Reply With Quote
Old 19th April 2016, 22:16   #551  |  Link
Katie Boundary
Registered User
 
Katie Boundary's Avatar
 
Join Date: Jan 2015
Posts: 1,056
What's the difference between Bob() and the nnedi family of filters? My OCPD is dying to know.
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers.
Katie Boundary is offline   Reply With Quote
Old 20th April 2016, 02:00   #552  |  Link
pbristow
Registered User
 
pbristow's Avatar
 
Join Date: Jun 2009
Location: UK
Posts: 263
Quote:
Originally Posted by Katie Boundary View Post
What's the difference between Bob() and the nnedi family of filters? My OCPD is dying to know.
In a nutshell:

"Bob" is simple, fast... but often quite horrible to look at. Especially on scenes featuring strong straight or slightly curved edges; and even more so if those edges are moving. (For more details, read the documentation on Bob).

EDI-based bobbing (in general) is more complicated, slower, but very often less horrible to look at in the cases I've mentioned. (For more details, google the phrase "Edge directed interpolation".)

NNEDI is a way of doing EDI-based bobbing that, instead of being based on any one person's theory of "What's the best way to do EDI?", is based on a neural network (hence "NN") that has been trained with various sets of test cases, to give the best all-round results. (For more details, google the phrase "neural network").
pbristow is offline   Reply With Quote
Old 20th April 2016, 19:15   #553  |  Link
Katie Boundary
Registered User
 
Katie Boundary's Avatar
 
Join Date: Jan 2015
Posts: 1,056
Quote:
Originally Posted by pbristow View Post
In a nutshell:

"Bob" is simple, fast... but often quite horrible to look at. Especially on scenes featuring strong straight or slightly curved edges; and even more so if those edges are moving. (For more details, read the documentation on Bob).

EDI-based bobbing (in general) is more complicated, slower, but very often less horrible to look at in the cases I've mentioned. (For more details, google the phrase "Edge directed interpolation".)

NNEDI is a way of doing EDI-based bobbing that, instead of being based on any one person's theory of "What's the best way to do EDI?", is based on a neural network (hence "NN") that has been trained with various sets of test cases, to give the best all-round results. (For more details, google the phrase "neural network").
I literally had to read the post twice, then click "quote", then start copying and pasting things before I realized that "EDI" and "Edge-directed interpolation" were the same thing.

So really, you could have just said "Google edge-directed interpolation" and saved yourself a bit of time And I will Google it, thanks.

EDIT: I got as far as the phrase "Wiener filtering" before deciding that I didn't want to read any more...
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers.

Last edited by Katie Boundary; 20th April 2016 at 19:25.
Katie Boundary is offline   Reply With Quote
Old 11th July 2016, 03:05   #554  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,559
Running this with the latest build of NNEDI3.
Code:
nnedi3_rpow2(2,nns=4,cshift="spline16")
AviSynth 2.6 gives me
nnedi3_rpow2: error using env->invoke (function not found)!
(it works if I remove 'spline16')

AviSynth+ v2022 gives me
System exception - Access Violation

Perhaps we're due for an updated build?
MysteryX is offline   Reply With Quote
Old 11th July 2016, 03:14   #555  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,666
Quote:
Originally Posted by MysteryX View Post
Running this with the latest build of NNEDI3.
Code:
nnedi3_rpow2(2,nns=4,cshift="spline16")
AviSynth 2.6 gives me
nnedi3_rpow2: error using env->invoke (function not found)!
(it works if I remove 'spline16')

AviSynth+ v2022 gives me
System exception - Access Violation

Perhaps we're due for an updated build?
That's because there's no function named Spline16, it needs to be Spline16Resize. As for the lastest Avs+, if your using nnedi3 v0.9.4.22 then it needs to be recompiled with the latest avs+ headers. For the mean time use an older version.

Here's the official thread for jpsdr's nnedi3 mod: http://forum.doom9.org/showthread.php?t=170083
Reel.Deel is offline   Reply With Quote
Old 25th May 2017, 07:32   #556  |  Link
Katie Boundary
Registered User
 
Katie Boundary's Avatar
 
Join Date: Jan 2015
Posts: 1,056
Quote:
Originally Posted by Gavino View Post
I'm not sure yet what the solution is, but the way the shift happens is as follows.

The resizer core is designed to preserve the position of the image centre, and it does this for both luma and chroma independently.
This works fine for vertical resizing, since in that case the centres of the luma and chroma sampling grids coincide for all formats (including YV12, where the chroma samples are vertically positioned between the luma samples).

But for horizontal resizing (except YV24), the placement is such that the luma and chroma centres do not coincide - in each case the chroma centre is to the left of the luma centre.
Eg for YV12 and YUY2:
Code:
                   luma centre
                       |
Luma:   L L L L ... L L L L ... L L L L
Chroma: C   C   ... C   C   ... C   C
                      |
                  chroma centre
Since the distance between the two centres is proportional to pixel spacing, it changes on a resize.
For upsizing, pixel spacing decreases, so the chroma centre moves closer to the luma centre (hence to the right), and conversely for downsizing it moves to the left. Since the output chroma is calculated based on a fixed centre, the visual result is a corresponding chroma shift, right for upsizing and left for downsizing.

We can quantify the shift as follows.
For YV12 and YUY2, the chroma centre is 0.5 luma pixels to the left of the luma centre.
When resizing from width Win to Wout, output pixel spacing in terms of input is multiplied by Win/Wout.
Hence the net (rightwards) chroma shift is a distance of 0.5*(1-Win/Wout) input luma pixels.
For a 2x upsize, this equals 0.25, for a 2x downsize it's -0.5 (ie 0.5 to the left).

Similarly, for YV411, the net shift is 1.5*(1-Win/Wout), ie 3 times as much as for YV12/YUY2.
Are there any plans to fix this issue? If not, does converttorgb() make an effective workaround?
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers.

Last edited by Katie Boundary; 25th May 2017 at 07:38.
Katie Boundary is offline   Reply With Quote
Old 25th May 2017, 13:29   #557  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
It's been done since a little time.
If you're interested only on nnedi3, you can get it here, but if you're interested by others of my plugins, you can get the "all in one" pack here.
jpsdr is offline   Reply With Quote
Old 25th May 2017, 14:47   #558  |  Link
Katie Boundary
Registered User
 
Katie Boundary's Avatar
 
Join Date: Jan 2015
Posts: 1,056
Quote:
Originally Posted by jpsdr View Post
It's been done since a little time.
what
__________________
I ask unusual questions but always give proper thanks to those who give correct and useful answers.
Katie Boundary is offline   Reply With Quote
Old 25th May 2017, 15:08   #559  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by Katie Boundary View Post
what
I believe it means "it was fixed recently".

Last edited by Groucho2004; 25th May 2017 at 15:53.
Groucho2004 is offline   Reply With Quote
Old 25th May 2017, 18:11   #560  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,829
Quote:
Originally Posted by Katie Boundary View Post
Are there any plans to fix this issue? If not, does converttorgb() make an effective workaround?
Once again I offered alternatives in your other thread and once again Katie is still to childish to read my post. That's probably why the question wasn't answered a second time in the other thread. Nobody else is privy to who you're ignoring.

Maybe someone should tell Katie she should post like a grown-up so she'd know her question was answered. I guess that's what happens when you try to help her despite herself. Her old DVD thread was littered with posts calling her a troll, but those who persisted the longest and put up with the most abuse also ended up on Katie's ignore list for their trouble.

Last edited by hello_hello; 25th May 2017 at 19:26.
hello_hello is offline   Reply With Quote
Reply


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 05:09.


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