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 4th December 2012, 23:13   #15961  |  Link
DragonQ
Registered User
 
Join Date: Mar 2007
Posts: 934
Quote:
Originally Posted by madshi View Post
The problem is the framerate in the MKV header. It says 50p. LAV Splitter reads that and passes it on to the decoder. The decoder passes that forward to madVR and that's why madVR decides not to deinterlace the video because madVR generally does not deinterlace 50p or 100i content.
I see. That's kinda strange because in MKVMerge I always tell it to make the frame rate "50i", not "50p".
__________________
TV Setup: LG OLED55B7V; Onkyo TX-NR515; ODroid N2+; CoreElec 9.2.7
DragonQ is offline   Reply With Quote
Old 4th December 2012, 23:14   #15962  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by sneaker_ger View Post
Now i cannot even reproduce the problem with LAV Video anymore. Maybe it was just the driver acting up again. I will keep an eye on the problem.
What still remains is the 0.5 seconds of transparent video area/delay until start.
Can you reproduce the 0.5 second delay with the debug build? If so, a log might help. Do you have the "delay playback start ..." option activated? Does that 0.5 second delay result in frame drops?

Quote:
Originally Posted by DragonQ View Post
I see. That's kinda strange because in MKVMerge I always tell it to make the frame rate "50i", not "50p".
Well, at least now you have something to report to Mosu. It's a clear bug, IMHO.
madshi is offline   Reply With Quote
Old 4th December 2012, 23:23   #15963  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
http://www.mediafire.com/?y7sao03466s4sd6
sneaker_ger is offline   Reply With Quote
Old 4th December 2012, 23:31   #15964  |  Link
DragonQ
Registered User
 
Join Date: Mar 2007
Posts: 934
Quote:
Originally Posted by madshi View Post
Well, at least now you have something to report to Mosu. It's a clear bug, IMHO.
Agreed. Mosu has asked you to post in his thread with more specifics, if you don't mind?

Hopefully fixing that will solve both the AAC and AC3 file issues, otherwise you'll be getting another set of samples soon!
__________________
TV Setup: LG OLED55B7V; Onkyo TX-NR515; ODroid N2+; CoreElec 9.2.7

Last edited by DragonQ; 4th December 2012 at 23:33.
DragonQ is offline   Reply With Quote
Old 4th December 2012, 23:51   #15965  |  Link
6233638
Registered User
 
Join Date: Apr 2009
Posts: 1,019
Quote:
Originally Posted by madshi View Post
Interesting. I haven't really measured performance, but it makes some sense. Chroma upsampling is cheaper because I hard coded it to do exactly 2x which allowed me to write more efficient shader code. Maybe using Bilinear as default for chroma upsampling isn't necessary. But then we come back to the very old discussion about which algorithm to use instead, and we never seem to be able to agree there.
...
I'm still not sure which chroma algorithm to use. With some content I prefer SoftCubic, but in the meanwhile I've also run into real life content where a sharper chroma algorithm looks noticeably better.
Yes, unfortunately it does introduce that problem. I still maintain that Bicubic 75 is probably the best Chroma algorithm to use as the default though. It has a minimal impact on performance, and looks almost the same as Lanczos 3 with less ringing in most cases. Most importantly, it also maintains the correct brightness/saturation for Chroma.

SoftCubic on the other-hand, desaturates and blurs Chroma, often causing it to bleed out the edges of things. SoftCubic 100 is the exception where it might work well in cases of extremely bad Chroma, but so far I have only been able to collect two samples of that, and all algorithms but SoftCubic 100 and Jinc 8 AR fail with them to equally bad levels. The problem there is the source. (I wonder if there was some version of a commercial encoder that did something wrong with Chroma)

In most cases, I think Bicubic 75 is the safest bet, and is also a clear improvement over Bilinear as used for Chroma elsewhere. I can find many more examples where SoftCubic 100 looks bad (most of them!) than ones where Bicubic 75 is a poor choice.

Quote:
Originally Posted by madshi View Post
I really hoped that going from Lanczos 4 (original default) to Lanczos 3 would allow me to activate AR by default, but maybe you're right and it's too taxing. However, from HD 4000 reports it seems that Lanczos 3 AR is not really a problem. So the big quesion is which hardware to use as reference.
...
Interesting. So Catmull-Rom AR downscaling in linear light is less taxing than Lanczos 3 AR upscaling?
I should have been clearer, but I was testing upscaling 1080p content to push the rendering numbers up and make the comparisons easier, to see which features (like Bicubic Chroma) could be enabled with a minimal performance hit on any system.

Using the same material and scale factor as I did last night, where Bicubic 75 Chroma & Lanczos 3 AR Luma are at 88ms, switching to Lanczos 4 Luma drops render times to 58ms, so it's still a big difference.
It just seems that the anti-ringing filter and linear light downscaling are both big performance hits on lower-end hardware.

I thought I could maybe get away with using the anti-ringing filter for Chroma, as the performance hit seemed minimal at or below 720p, but it became a much bigger hit at 1080p.
Downscaling in linear light using Catmull-Rom AR is still the biggest performance hit on my system though.

It has roughly 35ms render times (1080p at 50% size) and would constantly drop frames before I overclocked my card.
Upscaling 720p30 or 576i DVDs are roughly 30ms with Bicubic 75/Lanczos 3 AR.

At the factory speeds, I was unable to get smooth playback with these settings, and had to overclock the card.


I think that Bicubic 75 Chroma, and either Mitchell-Netravali (low performance requirement) or Spline/Lanczos 3 (medium performance requirement) would be your best choice for Luma upscaling.

For Luma downscaling, I would have to do more testing, but I think that Catmull-Rom without the AR filter or Linear Light option is probably still the best choice to have a sharp image without a lot of ringing or aliasing.
Quote:
Originally Posted by madshi View Post
All 2-tap algorithms should have exactly the same performance. And all 3-tap algorithms should have exactly the same performance. Etc...
That's what I thought, thanks.

Quote:
Originally Posted by madshi View Post
madVR v0.85.2 will change from NV12 -> NV12 DXVA2 scaling to NV12 -> RGB DXVA2 scaling. Maybe NVidia will use a better algorithm then? I don't know, but a retest might make sense.
I'll have a look later tonight, sounds like there are a lot of improvements again.

Quote:
Originally Posted by madshi View Post
Unfortunately I don't have access to the yCMS sources so I can't say what's wrong exactly or fix the problem myself. However, I would guess that inconsistencies in your measurements might be the problem.
I've been seeing this as well, and I just use the standard BT.709 primaries as my gamut, only using yCMS to fine-tune the gamma response on my display. I'm not sure when it happened (whether it's recent or not) as there was a long time where I was not using yCMS.
6233638 is offline   Reply With Quote
Old 5th December 2012, 01:02   #15966  |  Link
leeperry
Kid for Today
 
Join Date: Aug 2004
Posts: 3,477
for the new build!

Quote:
Originally Posted by madshi View Post
(4) Custom shaders should now produce 100% identical results to EVR/VMR9
O-M-G, it's a-l-i-v-e!


Only tried 0-255 RGB32 so far but I would guess that 16-235 YV12 would work equally well. I'm now more than ever eagerly awaiting the next build of PotP

Quote:
Originally Posted by madshi View Post
These "source" color control settings are not stored, so they reset themselves to neutral values when you close the media player or load a new video. You can change these source color controls to correct badly encoded videos without having to worry about resetting the color controls afterwards again. Then there are (c) the color controls of the media player. These don't really make too much sense because they are neither resetting themselves, nor are they really per monitor/display. But madVR supports them, nevertheless, just to have a complete solution.

(2) The "brightness" and "contrast" color controls now do not change the black and white levels, anymore. Instead they modify the look of the image to appear brighter/darker or more/less contrasty, while still keeping peak black and white identical. If you want to modify black and white output levels, you can now use the new custom output levels option in the madVR device manager. Or you can fix bad movie encodings by using the new "source black level" and "source white level" controls, which you can only modify by assigning a keyboard shortcut, and which auto reset themselves.
Ouh, messing with colorimetry blindly without a meter? All I know is that the brightness/contrast/saturation settings all seem to work fine in PotP but these can't convert levels apparently so I don't really understand their point.

The custom levels hotkeys are great news though, but pressing the same hotkeys 20/30 times in a row(for really broken encodes) doesn't really sound too manageable

Quote:
Originally Posted by 6233638 View Post
Jinc 8 AR for Chroma was the only option that looked really good, being the only choice that avoided aliasing and maintained the correct brightness/saturation for Chroma.
Jinc8 AR chroma, alright bring the pain! We all needed an excuse to buy a new GPU anyway

PS: oh BTW, it seems that some ppl can't really stand 48p after all.

Last edited by leeperry; 5th December 2012 at 03:31.
leeperry is offline   Reply With Quote
Old 5th December 2012, 01:32   #15967  |  Link
daltonm
Registered User
 
Join Date: Nov 2012
Posts: 3
Thanks for the new build.
Working perfectly.

settings;
Chroma upscaling; Softcubic softness 100
Image upscaling; Lanczos 4 taps + AR filter.
AMD 7750 12.10 and 1080p TV.
daltonm is offline   Reply With Quote
Old 5th December 2012, 01:49   #15968  |  Link
BetA13
cosmic entity
 
BetA13's Avatar
 
Join Date: May 2011
Location: outside the Box
Posts: 258
I LOVE YOU madshi !!!!!!!!!!!!!!!!!!!!

* added options for custom display output levels

Thanks so much for this option..i always had probs with the standart ranges on my hdtv, now with custom settings (10 - 255) its PERFECT..
madvr is now the best renderer out there for me..nothing can beat it in tearms of quality, functionality and more..

Thanks so much madshi...

-BetA-
BetA13 is offline   Reply With Quote
Old 5th December 2012, 02:08   #15969  |  Link
DarkSpace
Registered User
 
Join Date: Oct 2011
Posts: 204
Quote:
Originally Posted by madshi View Post
There was one other user with 120Hz which reported the same problem many months ago. The problem is that madVR tries to find a pattern in the VSync scanline position readings (which are done in high frequency by madVR) and it seems that sometimes when using 120Hz madVR has a problem finding a reliable pattern. As a result madVR is unable to figure out the exact refresh rate and when exactly the VSync interrupts will occur in the future. This is needed for playback, though, because the whole madVR presentation logic is based on syncing the frames to the future VSync interrupts. I would really like to fix this problem, but it's going to be hard without having a 120Hz display for testing, and unfortunately all my displays top out at 60Hz at the moment...
In that case, I guess I'll have to switch back to 60Hz refresh rate until you are able to figure something out... anyway, all this really means is that I should read the thread (it's on my To-Do list, but the thread is huge...).
In any case, thank you very much for your continued work on this!
DarkSpace is offline   Reply With Quote
Old 5th December 2012, 03:44   #15970  |  Link
6233638
Registered User
 
Join Date: Apr 2009
Posts: 1,019
Quote:
Originally Posted by madshi View Post
(2) The "brightness" and "contrast" color controls now do not change the black and white levels, anymore. Instead they modify the look of the image to appear brighter/darker or more/less contrasty, while still keeping peak black and white identical. If you want to modify black and white output levels, you can now use the new custom output levels option in the madVR device manager. Or you can fix bad movie encodings by using the new "source black level" and "source white level" controls, which you can only modify by assigning a keyboard shortcut, and which auto reset themselves.
I'm not sure how I feel about the "contrast" adjustment - it seems like it might not be done with much precision, or it's just highlighting compression etc. very quickly.

But the revised controls seem good, and I need to check out the input/output levels options. (though I shouldn't have to change the output levels from 0-255)

Quote:
Originally Posted by madshi View Post
(3) I've totally reworked the way madVR deals with DXVA2 output
This seems to work well - the colour matrix is correct for up and downscaling with DXVA2 now.
There is some minor colour shifting left though. With this overscan pattern, 128,128,128 becomes 129,128,130 for example:
DXVA2, Lanczos 3 AR
You will also see that there's still some of the sides being cropped off.

However, I still don't find DXVA2 to be much use on Nvidia. It's basically Bilinear scaling with a sharpening filter applied, and render times are still very high for how it looks.

With 1080p at 2x, I get 6ms for Bilinear Chroma & Luma.
With DXVA2 I get a large spike at the start of playback (over 1100ms) and then it settles at 56ms.

DXVA2 also has worse image quality than Bilinear Luma & Chroma in madVR due to the increased ringing and aliasing from the sharpening used.

With 1080p at 2x, I can run Bicubic 75 AR Chroma with Lanczos 3 Luma at 37ms total, or with Mitchell-Netravali Luma for 27ms.

Quote:
Originally Posted by madshi View Post
B. When not using DXVA2 scaling, but when using DXVA2 decoding and/or deinterlacing, madVR uses a different approach for NVidia and Intel GPUs compared to AMD GPUs. With AMD GPUs, madVR is able to access the DXVA2 NV12 output in lossless quality without needing to do fancy workarounds. With NVidia and Intel that's not possible, so with those I'm now using "copyback" to get lossless quality (only when your CPU supports SSE4.1, though). My copyback algorithm could/should be slightly more efficient than those used by external decoders, but I'm not sure by how much. Maybe someone can do a comparison test?
If I understand things correctly, if I set LAV Video to "DXVA2 Native" you now perform your own "copy-back" function, instead of using LAV Video's copy-back function, is that right?

From a two minute sample clip:

DXVA2 N: 84% GPU, 72% MCU, 24% VPU peak usage.
DXVA2CB: 83% GPU, 71% MCU, 20% VPU peak usage.

So it's not identical, but the difference between them is much smaller now.

Quote:
Originally Posted by leeperry View Post
Ouh, messing with colorimetry blindly without a meter? All I know is that the brightness/contrast/saturation settings all seem to work fine in PotP but these can't convert levels apparently so I don't really understand their point
I find having keyboard shortcuts to directly adjust saturation quite useful. I am generally all for watching as intended etc. but there have been some recent releases shot on digital that look anaemic to me and need a little boost in saturation to look right in my opinion:
Before, After

There have also been a few films I've come across from a particular group that, rather than being black and white, are encoded with a blue tint, that saturation controls can easily fix:
Before,After

I don't think I have any examples to hand, but there have definitely been one or two films in the last year that I've seen where a slight gamma bump would be useful. (-contrast in the new controls)
Quote:
Originally Posted by leeperry View Post
Jinc8 AR chroma, alright bring the pain! We all needed an excuse to buy a new GPU anyway
I'm not saying that I recommend it. In fact, I bet it would do very poorly in some tests. It's just that with bad chroma samples - of which I have two out of all my testing so far - Jinc 8 and SoftCubic 100 are the only two algorithms that "pass".
6233638 is offline   Reply With Quote
Old 5th December 2012, 04:16   #15971  |  Link
JarrettH
Registered User
 
Join Date: Aug 2004
Location: Canada
Posts: 860
Why the need for brightness/contrast settings? I already calibrate with a Spyder 2
JarrettH is offline   Reply With Quote
Old 5th December 2012, 04:21   #15972  |  Link
manma
Registered User
 
Join Date: Feb 2012
Posts: 18
God, I have a lot to learn apparently. Just how necessary is yCMS calibration? Also, how taxing is it on the GPU? It feels like I was having no trouble playing back most things until I went and set it up.
manma is offline   Reply With Quote
Old 5th December 2012, 04:22   #15973  |  Link
crotecun
Registered User
 
Join Date: Oct 2012
Posts: 27
Quote:
Originally Posted by madshi View Post

I really hoped that going from Lanczos 4 (original default) to Lanczos 3 would allow me to activate AR by default, but maybe you're right and it's too taxing. However, from HD 4000 reports it seems that Lanczos 3 AR is not really a problem. So the big quesion is which hardware to use as reference.
Going forward, the Intel HD 4000 as the reference hardware seems reasonable.
  • Ivy Bridge laptops almost always have HD 4000 as their graphics, with varying max clocks of 1 to 1.15 ghz.
  • Anandtech has an HTPC review using madVR for the HD 4000 (tables here) so we have a general idea on how it performs.
  • According to Tom's Hardware graphics card hierarchy, HD 4000 is only one step below the Radeon HD 6450 and three steps below the GT 430. Granted this metric is for gaming, but since madVR taxes the video card like a game would then it can be assumed that if the scaling settings perform acceptably on HD 4000 then it should also work fine on Radeon HD 6450 and GT 430 or higher.
crotecun is offline   Reply With Quote
Old 5th December 2012, 04:24   #15974  |  Link
mindbomb
Registered User
 
Join Date: Aug 2010
Posts: 576
Quote:
Originally Posted by madshi View Post
There are different types of content. If you have native video content, doubling the framerate is the only right thing to do. If you have native movie sources (telecined to 25i/30i) you can switch madVR into film mode (see keyboard shortcuts) and you'll get 24p/25p output instead of 50p/60p.
I understand that it is ideal to have the doubled framerate, but if I can't manage it without dropped frames, I would prefer to not have it if possible.
In this case, yea, I think film mode would be appropriate, but I can't get it to work without changing the fps to 50p. Do I have to turn off deinterlacing first?
mindbomb is offline   Reply With Quote
Old 5th December 2012, 05:04   #15975  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
It would be nice if someone wrote up a mini guide on how to calibrate madVR via yCMS with hfcr from scratch for people like me who are relatively new to hardware calibration and somewhat clueless.
dansrfe is offline   Reply With Quote
Old 5th December 2012, 07:17   #15976  |  Link
pie1394
Registered User
 
Join Date: May 2009
Posts: 212
Quote:
Originally Posted by crotecun View Post
Going forward, the Intel HD 4000 as the reference hardware seems reasonable.
  • Ivy Bridge laptops almost always have HD 4000 as their graphics, with varying max clocks of 1 to 1.15 ghz.
  • Anandtech has an HTPC review using madVR for the HD 4000 (tables here) so we have a general idea on how it performs.
  • According to Tom's Hardware graphics card hierarchy, HD 4000 is only one step below the Radeon HD 6450 and three steps below the GT 430. Granted this metric is for gaming, but since madVR taxes the video card like a game would then it can be assumed that if the scaling settings perform acceptably on HD 4000 then it should also work fine on Radeon HD 6450 and GT 430 or higher.
With MS DTV-DVD decoder + madVR 0.82.5 + Bi-linear Chroma (actually DXVA2 scaling ?) + DXVA2 Luma scaling + DXVA2 deinterlace, SandyBridge Core i5-2467M (1.6GHz, Turbo Boost 2.3GHz) + HD3000 is now capable of processing 1440x1080i30 --> 1920x1080p60 FSE. I think this is an important achievement for madVR to be useful on less powerful GPU HW.

With madVR Bi-linear Luma option, there is frame dropping when the interlaced HDTV content is played.
pie1394 is offline   Reply With Quote
Old 5th December 2012, 07:46   #15977  |  Link
toniash
Registered User
 
Join Date: Oct 2010
Posts: 131
some questions

@madshi Thanks for the new version!
I have some questions:
1-The "device controls" colour ,brigthness , etc appear grey and do nothing, I'm I missing something?
2- Where can I find the names for "special" keys to use in shortcuts?
the keystrokes are not detected I must write them
toniash is offline   Reply With Quote
Old 5th December 2012, 08:24   #15978  |  Link
manma
Registered User
 
Join Date: Feb 2012
Posts: 18
Is it normal for madvr to make your GPU usage shoot up intermittently while watching a video? Like, say I get 30 minutes of smooth playback, and then out of nowhere my GPU usage jumps up to 99% and madvr starts dropping frames every which way. I can't seem to pinpoint the "type" of video it does this too either. It just seems random. If it matters, I'm having this problem on both my GTX 460 and my Intel HD3000 (Jinc4 on the former and Spline3 on the latter).
manma is offline   Reply With Quote
Old 5th December 2012, 09:35   #15979  |  Link
khanmein
Registered User
 
Join Date: Oct 2012
Posts: 118
@6233638, bro i'm using mobility HD5650. can u suggest what setting for chroma, image up & downscale? thanks~

my setting
chorma 3 jinc AR
luma up 3 jinc AR
down Catmull-Rom AR + linear
khanmein is offline   Reply With Quote
Old 5th December 2012, 09:55   #15980  |  Link
disto
Registered User
 
Join Date: May 2007
Posts: 8
Thank You madshi for all of your work.I have one feature request.Can you please add an option for custom Gamma correction like you did for brightness and saturation.Maybe something with slider or something like ffdshow or potplayer.
disto is offline   Reply With Quote
Reply

Tags
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling

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


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