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. |
![]() |
#41 | Link | |
Registered User
Join Date: May 2009
Posts: 212
|
Quote:
![]() Yet I don't know if the original contents should look exactly like this, or other sharper algorithms add more artifical enhancements to make it look more pop / stereo... |
|
![]() |
![]() |
![]() |
#43 | Link | ||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
Does that improve image quality visibly? |
||
![]() |
![]() |
![]() |
#44 | Link |
Registered User
Join Date: Dec 2013
Posts: 753
|
I've added a quick example to my previous post. It seems to have removed some ringing and aliasing.
The previous shader wasn't capable of detecting the direction of an edge so it was basically the same as a box filter except it multiplied the result by some value which depended on whether there was an edge or not. This did actually prevent some 'bleeding' but it was unstable and caused some artefacts. The current shader can detect the direction of an edge and tries to interpolate along that direction. |
![]() |
![]() |
![]() |
#45 | Link |
Registered User
Join Date: Dec 2013
Posts: 753
|
On what channel does MadVR perform nnedi3 resizing in YCbCr mode? Because if I use the chromaNEDI shaders and add a pre-resize shader that converts to RGB the resulting image is quite noticeably better: resized from YCbCr / resized from RGB.
Last edited by Shiandow; 8th June 2014 at 11:20. |
![]() |
![]() |
![]() |
#48 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
madVR first converts everything to RGB. Then if you enable luma doubling but disable chroma doubling, the image is converted to YCbCr just before scaling is done (always using BT.709 for that, IIRC), then NNEDI3 is performed on the Y channel, only, then chroma is upscaled with a different algorithm, then everything is converted back to RGB right after scaling. madVR runs custom pixel shaders always in RGB.
|
![]() |
![]() |
![]() |
#49 | Link | |
Registered User
Join Date: Oct 2012
Posts: 7,770
|
Quote:
it can be used lossless for rgb and it's super fast too. it needs more bits than the source has and i don't have a clue how to use it with 16 bit. the Y channel doesn't change the bit deep in the 10 bit rgb example: http://wiki.multimedia.cx/index.php?title=YCoCg |
|
![]() |
![]() |
![]() |
#50 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,329
|
Quote:
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
|
![]() |
![]() |
![]() |
#52 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,329
|
Its 16-bit float to my knowledge.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
![]() |
![]() |
![]() |
#53 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Lossless conversion between RGB <-> YCbCr is useless for me. I'm calculating in 32bit+ float and storing results in 16bit+ int/float, and final output is only 8bit. So there's gigantic headroom, no need for lossless conversion. It's *MUCH* more important to use a conversion that matches human perception. So BT.709 is a much better choice than YCgCo in this specific situation.
|
![]() |
![]() |
![]() |
#54 | Link | |
Registered User
Join Date: Oct 2012
Posts: 7,770
|
i only ask this to understand this better.
Quote:
i don't understand this. i'm just missing the knowledge. |
|
![]() |
![]() |
![]() |
#55 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,329
|
His point is that he does processing on the luma plane after the color decorrelation, and for that to be really useful, this luma plane should match what we humans perceive as luma the most closely.
YCgCo was designed with compression efficiency and ease of computation in mind, not to match the human perception.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
![]() |
![]() |
![]() |
#57 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
I could also scale RGB directly with NNEDI3. I'm not converting to YCbCr because I *have* to. I do that only because I get a better quality/performance ratio if I apply NNEDI3 only on the information which is most important to the human eye (= luma information). Scaling directly in RGB is 3x slower than scaling only the Luma channel. |
|
![]() |
![]() |
![]() |
#59 | Link | |
Registered User
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,395
|
Quote:
|
|
![]() |
![]() |
![]() |
Tags |
chromanedi, nedi, shader, superres, upscaling |
Thread Tools | Search this Thread |
Display Modes | |
|
|