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 > Hardware & Software > Software players

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th February 2015, 00:35   #21  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
Quote:
Originally Posted by Warner306 View Post
I had time for another readthrough. I felt as though the following definitions required further elaboration/clarification:

color&gamma
2.20, 2.40
"changes the display's gamma based on what is set in calibration to this target gamma"

What does "what is set in calibration" mean?
It seems like you do not notice the italics? I used italics to indicate I was referring to a specific name in madVR's settings. All the references to calibration are talking about the calibration page in madVR's settings.

Quote:
Originally Posted by Warner306 View Post
artifact removal
"If default debanding strength is lower than strength during fade in/out 5 frames are rerendered using the higher strength on a fade detection (it takes 5 frames to detect a fade)."

This sentence is very confusing. I understand what you mean (the higher strength is used during fades) but it should be simplified.
I gave it a shot, default debanding strength and strength during fade in/out are the specific names for the settings used in madVR. The information I was adding was the 5 frames, that the higher strength is used during a fade should be obvious based on the setting names.

Quote:
Originally Posted by Warner306 View Post
image doubling
"If this is used with any scaling factor below 2.0x image downscaling is used to interpolate to the target resolution."

A comma after 2.0x would help this sentence, but it is the phrase "interpolate to the target resolution that is unclear". This is technical jargon.
"Interpolate" is not part of everyone's vocabulary? I can change "interpolate" to "scale". Commas are good sometimes.

Quote:
Originally Posted by Warner306 View Post
enable windowed overlay (Windows 7 and newer):
"If not using the calibration option disable GPU gamma ramps madVR will emulate the GPU LUT. "

What does the "calibration option" refer to?
How about reordered, "If not using the option disable GPU gamma ramps in calibration, madVR will emulate the GPU LUT."?

Quote:
Originally Posted by Warner306 View Post
I find these to be the most offensive definitions. Other users may agree/disagree.
Thanks for the feedback.

Last edited by Asmodian; 19th February 2015 at 00:47.
Asmodian is offline   Reply With Quote
Old 19th February 2015, 01:29   #22  |  Link
Warner306
Registered User
 
Join Date: Dec 2014
Posts: 1,126
Quote:
Originally Posted by Asmodian View Post
It seems like you do not notice the italics? I used italics to indicate I was referring to a specific name in madVR's settings. All the references to calibration are talking about the calibration page in madVR's settings.
I understand what you mean. I think what you want to say is "This setting is dependent on the display calibration chosen in calibration. Any setting other than disable calibration controls for this display will be used as the baseline to produce the chosen gamma. Otherwise, this setting does nothing."

Quote:
Originally Posted by Asmodian View Post
I gave it a shot, default debanding strength and strength during fade in/out are the specific names for the settings used in madVR. The information I was adding was the 5 frames, that the higher strength is used during a fade should be obvious based on the setting names.
Quote:
Originally Posted by Asmodian View Post
"Interpolate" is not part of everyone's vocabulary? I can change "interpolate" to "scale". Commas are good sometimes.
I would say "If the scaling factor is not an exact duplicate of the original, downscaling to the target resolution is done by interpolation."

Quote:
Originally Posted by Asmodian View Post
How about reordered, "If not using the option disable GPU gamma ramps in calibration, madVR will emulate the GPU LUT."?
That's an improvement.

Last edited by Warner306; 19th February 2015 at 20:09.
Warner306 is offline   Reply With Quote
Old 19th February 2015, 05:44   #23  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
I think I will stick with the current phrasing, it has improved due to your feedback and I feel that your phrasing is not precise enough.
Asmodian is offline   Reply With Quote
Old 19th February 2015, 06:02   #24  |  Link
Warner306
Registered User
 
Join Date: Dec 2014
Posts: 1,126
Quote:
Originally Posted by Asmodian View Post
I think I will stick with the current phrasing, it has improved due to your feedback and I feel that your phrasing is not precise enough.
Sure. In either case, the matter is clarified in this thread. I still wish more threads like this would appear. Much more appealing to aggregate information than having to piece through threads.

Last edited by Warner306; 19th February 2015 at 06:04.
Warner306 is offline   Reply With Quote
Old 19th February 2015, 12:33   #25  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 5,959
Quote:
Originally Posted by Warner306 View Post
I would say "If the scaling factor is not an exact duplicate of the original, downscaling of the target resolution is done by interpolation."
but it may need upscaling haver doubling too.
huhn is offline   Reply With Quote
Old 20th February 2015, 00:47   #26  |  Link
Warner306
Registered User
 
Join Date: Dec 2014
Posts: 1,126
Quote:
Originally Posted by huhn View Post
but it may need upscaling haver doubling too.
Thanks, I enjoy how many here are allergic to English.
Warner306 is offline   Reply With Quote
Old 20th February 2015, 01:43   #27  |  Link
namaiki
Registered User
 
Join Date: Sep 2009
Location: Sydney, Australia
Posts: 1,073
Quote:
Originally Posted by Asmodian View Post
DXVA2: Uses the GPU drivers or fixed function hardware to perform scaling. It is done in 8-bit so it may introduce banding or cause scaled dither noise. It may use separate scaling hardware so it can be very fast and low power. It is good for lower end GPUs or mobile, especially Intel embedded GPUs. Quality varies between GPU brands and models. Image doubling cannot be used at the same time as DXVA2 scaling. Does chroma upscaling as well so this option overrides chroma upscaling. May require a restart of madVR to take effect.
Just to say that my laptop with Intel HD4000 graphics can use madVR default scaling settings even with smooth motion enabled. DXVA2 scaling also enables Intel's video enhancements (enabled by default, at least on my laptop) which include aggressive sharpening and dynamic contrast which produces terrible banding in some situations.
namaiki is offline   Reply With Quote
Old 20th February 2015, 04:28   #28  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
Thanks, noted.
Asmodian is offline   Reply With Quote
Old 20th February 2015, 05:41   #29  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
What errors have I made in this flow chart?


I know it is over simplified, any details you want added?

Thanks!

Last edited by Asmodian; 22nd February 2015 at 00:42. Reason: updated chart
Asmodian is offline   Reply With Quote
Old 20th February 2015, 23:50   #30  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 5,959
are you sure debanding is done at RGB not at the untouched input frame?
huhn is offline   Reply With Quote
Old 21st February 2015, 01:44   #31  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
Based on everything I can find about f3kdb I would say you are probably right, that makes DXVA2 scaling make more sense too.

But then, when using image doubling, it converts to RGB and then immediately converts to YCbCr? I suppose that would make sense, especially given that there is probably more going on between them that is not on my chart.
Asmodian is offline   Reply With Quote
Old 21st February 2015, 02:38   #32  |  Link
Arm3nian
Registered User
 
Join Date: Jul 2014
Location: Las Vegas
Posts: 177
Can you expand on image upscaling?

Let's say watching a 1080 video on a 1440 screen would look messy on youtube or maybe a mobile device, but it would look better with the advanced codecs in madvr?

Also, for watching a 1920x1080 video on a 3840x2160 screen, 4x the res, would using the other codecs do anything compared to nearest neighbor? Wouldn't just adding the same pixels horizontally and vertically be all that is needed.
Arm3nian is offline   Reply With Quote
Old 21st February 2015, 02:59   #33  |  Link
Warner306
Registered User
 
Join Date: Dec 2014
Posts: 1,126
Quote:
Originally Posted by Asmodian View Post
What errors have I made in this flow chart?


Where is deinterlacing, can I simply add it to DXVA2 scaling? Does deinterlacing return RGB or YCbCr?

I know it is over simplified, any details you want added?

Thanks!
Where are you planning on posting this? It is a good first point of contact before trying to talk about madVR.

I think I'm a layman and it's not oversimplified to me. Each bubble is an entry point to a discussion.

Last edited by Warner306; 21st February 2015 at 03:03.
Warner306 is offline   Reply With Quote
Old 21st February 2015, 04:15   #34  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
I have updated the chart.

Quote:
Originally Posted by Arm3nian View Post
Can you expand on image upscaling?

Let's say watching a 1080 video on a 1440 screen would look messy on youtube or maybe a mobile device, but it would look better with the advanced codecs in madvr?
I do not want to recommend particular resize methods or go into the subjective differences between them. The bar graphs in madVR already do a good job of that. The reason it might look messy on a mobile device is only because it uses bilinear, nearest neighbor, or similar which are also options in madVR.

Resizing methods are not codecs. Codec is short for "coder decoder" and usually referrers to software which codes images, video, or audio in a different format like JPEG, H.264, or MP3 and can then decode it back to the original format.

Quote:
Originally Posted by Arm3nian View Post
Also, for watching a 1920x1080 video on a 3840x2160 screen, 4x the res, would using the other codecs do anything compared to nearest neighbor? Wouldn't just adding the same pixels horizontally and vertically be all that is needed.
No. Imagine you start with an image at 3840x2160. You scale it down to 1920x1080. Now you want to upscale it so it looks as much like the original 3840x2160 image as it can. Nearest neighbor does not get very close. You want it to look as if it was the same content but at 2x the resolution, you do not want to represent the lower resolution source perfectly.

Also it is 2x the resolution, not 4x. 4x would be 8K or 7680x4320. A scaling factor of 1.414213562393095 is not a 2x upscale.

Image doubling generates 4 times the number of pixels. Image quadrupling generates 16 times the number of pixels.

Quote:
Originally Posted by Warner306 View Post
Where are you planning on posting this? It is a good first point of contact before trying to talk about madVR.

I think I'm a layman and it's not oversimplified to me. Each bubble is an entry point to a discussion.
I want to collect feedback on it for a bit before adding it to the end of the first post.
Asmodian is offline   Reply With Quote
Old 21st February 2015, 06:38   #35  |  Link
sheppaul
Registered User
 
Join Date: Sep 2004
Posts: 146
Quote:
Originally Posted by Asmodian View Post
What errors have I made in this flow chart?
Quote:
Originally Posted by Asmodian View Post
But then, when using image doubling, it converts to RGB and then immediately converts to YCbCr?
It looks like nonsense to me. If image doubling is performed with YCbCr 4:4:4, the RGB conversion should not be occurred directly before image doubling. So the arrow might be from chroma upsampling to image doubling IMO. Your flow chart really helps to understand a glimpse of rendering stages.



ps. I guess deinterlacing is likely to be placed at the very first stage of the flow chart. It's hard to think deinterlacing after image processing: Lav - deinterlacing - deband. Just my guess

Last edited by sheppaul; 21st February 2015 at 07:03.
sheppaul is offline   Reply With Quote
Old 21st February 2015, 07:49   #36  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
Quote:
Originally Posted by sheppaul View Post
It looks like nonsense to me. If image doubling is performed with YCbCr 4:4:4, the RGB conversion should not be occurred directly before image doubling. So the arrow might be from chroma upsampling to image doubling IMO. Your flow chart really helps to understand a glimpse of rendering stages.
I know that image doubling will always do a conversion to YCbCr even if doubling both luma and chroma with the same number of neurons. I don't think madVR will skip the RGB conversion before scaling if doing image doubling but I could be wrong.
edit: I think this step also does all the needed color space conversions (e.g. BT.601 to RGB or BT.709 to RGB) while only one matrix is used in image doubling.

Quote:
Originally Posted by sheppaul View Post
ps. I guess deinterlacing is likely to be placed at the very first stage of the flow chart. It's hard to think deinterlacing after image processing: Lav - deinterlacing - deband. Just my guess
I would assume this as well but does the video come out of deinterlacing as RGB or YCbCr 4:4:4? Maybe I will add it there and assume it returns as 4:2:0.
edit: after testing it is obvious chroma scaling is done after deinterlacing so I think it is safe to say the chroma is returned as 4:2:2 or 4:2:0. I think it might be 4:2:2 actually

edit: New chart with deinterlacing. Please let me know if I need to add / correct anything.

Last edited by Asmodian; 21st February 2015 at 10:02. Reason: added new chart
Asmodian is offline   Reply With Quote
Old 21st February 2015, 09:11   #37  |  Link
sheppaul
Registered User
 
Join Date: Sep 2004
Posts: 146
Quote:
Originally Posted by Asmodian View Post
Maybe I will add it there and assume it returns as 4:2:0.

I agree but we cannot confirm.
sheppaul is offline   Reply With Quote
Old 21st February 2015, 10:52   #38  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 3,699
Quote:
Originally Posted by sheppaul View Post
I agree but we cannot confirm.
I did a little testing and chroma scaling still has to be done after (or before?) deinterlacing. I also know deinterlacing uses DXVA for video mode and it would make sense for it to accept 4:2:0 as that is the most common. Doing chroma scaling before deinterlacing doesn't make sense. MadVR will not deinterlace RGB sources.

But to be honest I do not feel all that confident about the placement of deinterlacing and debanding.
Asmodian is offline   Reply With Quote
Old 21st February 2015, 11:15   #39  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,833
Deinterlacing has to be before chroma scaling, scaling interlaced chroma would be extra complexity and not make much sense, especially considering that GPUs prefer 4:2:0 in form of NV12 anyway.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 21st February 2015, 13:00   #40  |  Link
Arm3nian
Registered User
 
Join Date: Jul 2014
Location: Las Vegas
Posts: 177
Quote:
Originally Posted by Asmodian View Post
I have updated the chart.



I do not want to recommend particular resize methods or go into the subjective differences between them. The bar graphs in madVR already do a good job of that. The reason it might look messy on a mobile device is only because it uses bilinear, nearest neighbor, or similar which are also options in madVR.

Resizing methods are not codecs. Codec is short for "coder decoder" and usually referrers to software which codes images, video, or audio in a different format like JPEG, H.264, or MP3 and can then decode it back to the original format.



No. Imagine you start with an image at 3840x2160. You scale it down to 1920x1080. Now you want to upscale it so it looks as much like the original 3840x2160 image as it can. Nearest neighbor does not get very close. You want it to look as if it was the same content but at 2x the resolution, you do not want to represent the lower resolution source perfectly.

Also it is 2x the resolution, not 4x. 4x would be 8K or 7680x4320. A scaling factor of 1.414213562393095 is not a 2x upscale.

Image doubling generates 4 times the number of pixels. Image quadrupling generates 16 times the number of pixels.



I want to collect feedback on it for a bit before adding it to the end of the first post.
Yes, algorithm would be the correct term to use. However, your grammar lesson regarding resolution is incorrect. 4x the resolution of 1920x1080 is 3840x2160. Resolution implies the total number of the pixels. 7680x4320 is 4x horizontally and vertically, making it 8 times the resolution. It makes no sense to refer to resolution in only one dimension, there is 4x the amount of information, making it 4x the amount of resolution. Yes image doubling works in both directions, as Nev has stated to me in the past. Maybe madshi can explain why he calls it image doubling, I'm sure he has his reasons. Probably because to properly double an image, you would have to change the horizontal and vertical together, it would make no sense to say I doubled a 1920x1080 image to 3840x1080 even though the amount of pixels is 2x.

Anyway, a 1080p video looks quite good on my 1440p nexus 6, even though the renderer most likely uses crap interpolation. The 493ppi density hides artificats, not the same as a desktop monitor.
Arm3nian 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 15:18.


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