View Full Version : madVR - high quality video renderer (GPU assisted)
madshi
16th January 2013, 19:06
Surely that's the problem. Even 23.977 vs 23.976 (far more accurate than most GPUs out of the box) results in a drop every 17mins. To guarantee no drops in a movie you would need almost 10 times that accuracy, which is pretty hard even with custom timings.
Maybe you're right. At the moment it's hard to be sure because madVR doesn't report frame repeats. I'm planning to add that soon, probably already in the next build. That should allow us to more reliably check how many frame drops/repeats there really are per movie, and to then maybe tweak the custom resolution more.
just how much deviation between refresh/frame rates can there be before having to resort to resampling audio with reclock to prevent frame drops/repeats?
The problem is that audio deviation makes everything more complicated. You can't just try to make the madVR measured refresh rate be equal to 24.000/1.001. The best way to create a "perfect" refresh rate should be to first aim for 24.000/1.001, then in the next step watch a movie and check how many frame drops/repeats occurred. If you had frame repeats, your refresh rate is too high. If you had frame drops, your refresh rate is too low. So you can adjust accordingly.
So what is the alternative here, implementing DXVA IVTC? Isn't madVR's own IVTC the best way to go (for quality) anyway?
"implementing DXVA IVTC"? I don't know what you mean. DXVA is a fixed algorithm of the GPU/driver. Yes, madVR's own IVTC should be the "best" solution for playing back telecined content. So basically that means you just can't use native DXVA decoding at the moment, if you want to use madVR's IVTC algorithm. You can still use DXVA copyback (LAV Video Decoder), CUVID decoding or software decoding.
Everything is "at the moment". madVR has not reached v1.0 yet.
movie resolution 640,360
target rectangle 0, 0, 1920, 1080
and madVR reports v0.85.7
Can I have a small sample, please? I don't think I have a video in this exact resolution.
truexfan81
16th January 2013, 19:14
Can I have a small sample, please? I don't think I have a video in this exact resolution.
sample vid (http://truexfan81.webs.com/sample_vid.zip)
mark0077
16th January 2013, 19:38
Actually matching rates *should* be good enough. Audio clock deviation should be constant, so it's not like at some point in time suddenly the clock deviates and madVR has to drop a frame. madVR drops frames to keep audio and video in sync when there's a constant drift between audio and video clocks. If you match clocks reasonably well, there should not be frame drops/repeats for several hours at least.
Thanks madshi. For me this isn't the case though. Exactly matching the rate down to 0.0001 with SVP I get frame drops. Adjusting slightly below it (59.950XX playback rate vs 60.001XX reported display rate), I was able to prevent frame drops, but maybe now I'm getting frame repeats but can't see them. Maybe I'll see those repeats reported in future madVR versions. Exactly matching rates definitely didn't prevent drops for me :( I could almost guarantee to see 1 drop every half an hour at the very least. 0 drops with the playback rate lower than display rate reported by madVR. I really don't know what to do..
madshi
16th January 2013, 19:45
sample vid (http://truexfan81.webs.com/sample_vid.zip)
Thx, will have a look at that later.
For me this isn't the case though. Exactly matching the rate down to 0.0001 with SVP I get frame drops.
Matching what to what, though? Please read my previous comment in this thread (about audio clock deviation).
mark0077
16th January 2013, 20:01
Matching the display rate reported by madVR OSD, to the rate output by SVP. Is this what should be matched exactly?
EDIT: Yes I see your post, very interesting indeed, thanks very much. Seems slight adjustments are needed. Thank you.
EDIT2: Is there any way that you can think of, of figuring out from the audio clock deviation and display rate, a playback rate that should produce no drops? Or is it always a matter of trial and error to find a value that doesn't produce drops / repeats. I'm just concerned how long it might take to get a good calibration (although I personally don't mind putting in that effort to get 0 drops , 0 repeats :) ).
Jong
16th January 2013, 20:13
Actually matching rates *should* be good enough. Audio clock deviation should be constant.Whilst this might be true on any given day, I'd be concerned that to the very high accuracy we are talking about here it would deviate over weeks/months/years and need constant recalibration.
glc650
16th January 2013, 20:24
The problem is that audio deviation makes everything more complicated. You can't just try to make the madVR measured refresh rate be equal to 24.000/1.001. The best way to create a "perfect" refresh rate should be to first aim for 24.000/1.001, then in the next step watch a movie and check how many frame drops/repeats occurred. If you had frame repeats, your refresh rate is too high. If you had frame drops, your refresh rate is too low. So you can adjust accordingly.Almost all of the 23/24 fps content I play is actually 23.976. Should I still be aiming for 24Hz? My TV/video card can do both 23.976 (madVR reports 23.977) and 24.000 (madVR reports 24.001). So what I've been doing is using madVR's display mode switcher to switch to either 23 or 24 based on the fps of the media.
"implementing DXVA IVTC"? I don't know what you mean.Sorry I was just wondering what the alternative was to madVR's own IVTC. I figured it wouldn't be as good as madVR's implementation.
yok833
16th January 2013, 21:02
Hello guys,
I have to change my old graphic card, a HD6850, and i would like to know if there is a card or a brand better than an other...
Do you think that it is possible to see an improvement and have a better picture quality with the last generation ???
I know that Nvidia has CUDA but it doesn't give a better picture, it only helps to decode more quickly...
Jong
16th January 2013, 21:04
I'm just concerned how long it might take to get a good calibration (although I personally don't mind putting in that effort to get 0 drops , 0 repeats :) ).This is exactly what I did around 2007 when I had to bitstream my audio - Leaving whole movies to run, noting if there were any skips (at one stage I had to do this by eye! At least MadVR has a reliable OSD you can just leave running :) ) it was a labour of love, but I was never sure it would be consistently accurate. Due to my incompetence, the limitation of the tools of the time or maybe natural variability (not sure, see post above) I was constantly recalibrating. Trying to get accuracy to 1/240,000 (ish) is not easy :)
madshi
16th January 2013, 21:04
sample vid (http://truexfan81.webs.com/sample_vid.zip)
I can reproduce it. It should be fixed in the next build.
Is there any way that you can think of, of figuring out from the audio clock deviation and display rate, a playback rate that should produce no drops?
The key problem is that the audio clock is very jittery, which makes it hard to measure the exact audio clock deviation correctly. If we knew the exact audio clock deviation, calculating the "perfect" refresh rate would be easy.
Whilst this might be true on any given day, I'd be concerned that to the very high accuracy we are talking about here it would deviate over weeks/months/years and need constant recalibration.
Maybe you're right, but I'm not sure. I don't know if hardware clocks drift (in any meaningful way) over weeks/months/years, when configured the same way.
Almost all of the 23/24 fps content I play is actually 23.976. Should I still be aiming for 24Hz? My TV/video card can do both 23.976 (madVR reports 23.977) and 24.000 (madVR reports 24.001). So what I've been doing is using madVR's display mode switcher to switch to either 23 or 24 based on the fps of the media.
Switching between 23.976 and 24.000 depending on the fps of the media is perfectly fine. When I say "24.000/1.001" then that's the proper way to calculate the 23.976 refresh rate. 23.976 is not actually correct. It's 24.000/1.001 = 23.976023976[...]. But again, we have to take audio/video clock deviation into account, too.
Sorry I was just wondering what the alternative was to madVR's own IVTC. I figured it wouldn't be as good as madVR's implementation.
When using native DXVA decoding, there is no good alternative. I might eventually move madVR's IVTC algorithm to the GPU sooner or later, then it will also work together with native DXVA decoding. But that's future talk...
Jong
16th January 2013, 21:08
Hello guys,
I have to change my old graphic card, a HD6850, and i would like to know if there is a card or a brand better than an other...
Do you think that it is possible to see an improvement and have a better picture quality with the last generation ???
I know that Nvidia has CUDA but it doesn't give a better picture, it only helps to decode more quickly...not sure the quality is that improved in the latest gen, maybe a bit, but the real benefit for an HTPC is the reduced power and heat. It is now quite possible to have a silent GPU that comfortably does MadVR and video decoding.
6233638
16th January 2013, 21:11
You'll get ringing in any case. Audio upsampling isn't so very different from video upsampling.That's true, but SSRC seems to do very well on these characteristics: http://src.infinitewave.ca/
I was able to find examples where the Libsamplerate resampler (the default) produced audible aliasing. (in tests specifically designed to reveal it)
I disagree. If you have managed to get the refresh rate close enough, there shouldn't be frame drops/repeats long enough to play the longest movie out there, rendering Reclock's resampling/sync corrections useless. In that case it does make a lot of sense to enable the "slave reference clock to audio" option, so that you can get kernel mode streaming without having to resample audio.I think that's a nice idea in theory, but it depends where the point it has to drop frames is. While your current sync may theoretically allow for 10 hours of playback without dropped/repeated frames, in practice that point seems to happen during a film. At least I've never had perfect playback even when my refresh has been 24.00008 and the content is 24fps native, for example.
And with Windows 8, until this refresh rate bug gets sorted (unclear on whether it's Nvidia, Windows 8, or madVR at fault) you don't necessarily have the option for perfect timings. I can't get 24Hz playback in Fullscreen Exclusive any more, and a large number of my Blu-rays are 24.0fps, not 23.976.
Something I thought was interesting, and may be somewhat related; when playing Deus Ex Human Revolution the other night, it gives me the full list of resolutions and refresh rates to choose from in the config, when set to DX9. If I enable DirectX 11, I can only choose 59Hz. I don't know if that's just the game, or something that's happening with Windows 8, but maybe that has something to do with it? (I know madVR shouldn't be using DX11 now)
And if your sync is good enough that ReClock shouldn't have to do any work... then won't it not do any resampling?
Fair enough; I rarely consider "telecined content" (2:3 pulldown) since it doesn't exist in "PAL regions", thus I never encounter it.
Also, wouldn't that technically be detelecining/IVTC, not deinterlacing? ;)You still need 2:2 pulldown with a lot of PAL film content. In fact, I have my madVR deinterlacing settings set to force Film mode by default, because it is often not selected with these titles, and it is rare that I encounter Video content.
Video Mode deinterlacing of telecined PAL just results in 50p, even if it would be supposed to only be 25p, so usually we never notice any such problems.Halved resolution is noticeable to me. I need to have madVR force film-mode deinterlacing.
With all this talk of deinterlacing, I'll have to get a sample of another film that I just recently received, which is giving poor results regardless of what I set. I suspect it's a mastering issue, but I might as well upload it to see if there's anything that can be done. I'll try and get something up within the hour.
EDIT: Won't be for a while now, something came up.
madshi
16th January 2013, 22:11
That's true, but SSRC seems to do very well on these characteristics: http://src.infinitewave.ca/
It does reasonably well, I know. There's a reason I'm using SSRC for resampling in eac3to. However, it still does introduce ringing, there's no denying that. Whether it's audible or not is a different matter. I'm much better at seeing video artifacts than I'm at hearing audio artifacts.
At least I've never had perfect playback even when my refresh has been 24.00008 and the content is 24fps native, for example.
Check back the last few posts about audio clock deviation. Getting a refresh of 24.00000 won't help if your audio clock deviates from your system clock (which it usually does). You should not aim for 24.00000, but for a different refresh rate, based on audio clock deviation.
And if your sync is good enough that ReClock shouldn't have to do any work... then won't it not do any resampling?
I don't think it works that way. Either you enable the resampler or you disable it. I don't think you enable it for one audio block and then disable it for the next, depending on whether the sync is "good" or not. Resampling is based on a sliding window, so enabling/disabling isn't as simple as just turning it on/off. I believe if you allow Reclock to resample, it will *always* do so, regardless of how good the sync is.
Dodgexander
16th January 2013, 22:33
What does the OSD say about deinterlacing for those h264 files? If it's disabled, what happens if you press Ctrl+Alt+Shift+D twice to manually enable deinterlacing in madVR? Does that work? Can you upload a small sample with which I can reproduce the problem on my PC?
After cutting a sample. I found something interesting and probably the answer to why this is happening.
My samples are taken from the same file; A recording from BBC One HD, a DVB-T2 channel in the UK.
I first took a sample in the middle of the file, played the file and it worked fine, MadVR recognised the interlaced content and automatically did the job. I was so surprised I checked the mediainfo of the file, it was labeled as Interlaced.
So i checked the source file in mediainfo and it was labeled "progressive".
Then I realised something I read online. The BBC said that it would be switching its broadcasts between 25p and 25i, depending on the program shown.
I duly took a sample from the advertisements at the beginning of my recording and as I thought, it was labeled as progressive, meaning the recording changed from 25p to 25i when the program started, the stream was changed.
So this begs the question really, I'm guessing this is the cause of the error, but is it possible for Madvr to detect the change?
I have uploaded 3 files, one of which i think is when the change occurs, but for certain you can see the differences in flags for interlacing between the files.
Obviously at the moment I can just force deinterlacing or just use the Cyberlink decoder. But its odd this occurs using the FFDSHOW Dxva, LAV and Windows default decoder.
http://www.mediafire.com/?737zdww3dz4yx
Your work Madshi is commendable, the amount of time it must take you to help everyone in this thread. Truly amazing. Thanks!
dansrfe
16th January 2013, 23:26
Changing from DXVA2 (under Image downscaling) to something else with DXVA2 native decoding on in LAV Video doesn't make a difference :( The video basically freezes for 10 seconds and then LAV switches over to software decoding with avcodec and playback starts again.
DragonQ
17th January 2013, 00:24
You still need 2:2 pulldown with a lot of PAL film content. In fact, I have my madVR deinterlacing settings set to force Film mode by default, because it is often not selected with these titles, and it is rare that I encounter Video content.
Yes but showing each frame twice does no harm whatsoever, as long as the deinterlacer is not retarded. Which leads me to your next point...
Halved resolution is noticeable to me. I need to have madVR force film-mode deinterlacing.
Halved resolution? That shouldn't be happening at all unless you're using bob deinterlacing. What video card do you have? Here's a screenshot comparison of 25p video in a 50i stream, using hardware deinterlacing on an nVidia GTS250:
Auto Mode (detected as "video") (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Peep%20Show%20-%20Video%20Mode.png)
Film Mode (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Peep%20Show%20-%20Film%20Mode.png)
They are identical.
Mangix
17th January 2013, 00:56
I have two crash reports relating to VSync functions. As I remember reading a few pages back about crashes with DXVA2 decoding and two displays, this might already be known. Let me know if they are needed. One crash is in d3d9.dll and the other in madVR.ax
nub234
17th January 2013, 01:32
Weird. Could you please double check with LAV Splitter/Decoders in MPC-HC? Are you using software or hardware decoding? Try software decoding. If the problem then still occurs, please upload a sample where it's especially obvious, and please tell me what you're doing exactly in MPC-HC to reproduce the problem. Thanks.
Double checked on MPC-HC with LAV Splitters/Decoders and can confirm the problem exists there too with MadVR 0.85.2+
The exact steps I took are basically load up the file, pause the file frame step a few times really quickly to try and navigate to a specific frame and it throws a freeze. It then seems to be ok for a few seconds of frame stepping, and then freezes again. Each time it freezes the video also seems to skip a few seconds.
I cannot differentiate the freezes between different files, ie. they all seem to freeze equally, so I've uploaded a short file.
http://www56.zippyshare.com/v/1652887/file.html
6233638
17th January 2013, 04:38
Yes but showing each frame twice does no harm whatsoever, as long as the deinterlacer is not retarded. Which leads me to your next point...
Halved resolution? That shouldn't be happening at all unless you're using bob deinterlacing. What video card do you have? Here's a screenshot comparison of 25p video in a 50i stream, using hardware deinterlacing on an nVidia GTS250:
Auto Mode (detected as "video") (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Peep%20Show%20-%20Video%20Mode.png)
Film Mode (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Peep%20Show%20-%20Film%20Mode.png)
They are identical.Seems to depend on the source. Sometimes that works, many times it does not, in my experience.
Auto (Video) (http://www.abload.de/img/autoffu2v.jpg)
Film (http://www.abload.de/img/filmt8uqa.jpg)
That's why I have madVR set to force film mode by default, and change it to auto myself if that causes problems, which is rare. (rarer than this, at least)
Have you got the same comparison for JINC 3-4-8 with and without AR (or only if AR is already 'the best quality that we can have)So I went to do this comparison, and honestly, there's so little difference between Jinc 3/4/8 with chroma on that sample, that it's not even worth posting here. The only real difference is an increase in ringing as you move to higher levels.
It's only when you are dealing with "faulty" chroma samples where there is any real difference between them, and where Jinc 8 or SoftCubic 100 show any benefit. That is extremely rare, and so I do not recommend using those settings for chroma in general use.
What I did notice, however, was that the anti-ringing filter introduces artifacts (aliasing?) with that sample:
http://www.abload.de/img/untitled-1nxudi.gif
Lanczos 3 (no AR) for Luma.
That's not to say you shouldn't use the AR filter, just that it can cause problems in some cases.
I also found that going above a certain scaling factor seems to just give me a blank image now. With MPC-HC set to "Double Image" zooming in beyond 2.122 blacks out with Blu-ray.
ryrynz
17th January 2013, 04:57
That's not to say you shouldn't use the AR filter, just that it can cause problems in some cases.
Yeah the AR is making it lumpy, it still cleans up the edges fairly nicely though, I think I'd go with AR disabled there (I'm all for nice smooth gradients) and maybe we'll get improved AR sometime that will be best in all cases.
squall12
17th January 2013, 06:28
Hi guy,
Anyone using the shader effect on the MPCHC with madvr? If yes what shader is best recommend to use with madvr for watch bluray movie only.
Thanks
G_M_C
17th January 2013, 08:54
Hi guy,
Anyone using the shader effect on the MPCHC with madvr? If yes what shader is best recommend to use with madvr for watch bluray movie only.
Thanks
Q: Why do you think you want or have to use a shader?
PS: Also see no 12 @ http://forum.doom9.org/forum-rules.htm
AndreaMG
17th January 2013, 09:31
Hi guy,
Anyone using the shader effect on the MPCHC with madvr? If yes what shader is best recommend to use with madvr for watch bluray movie only.
Thanks
See here:
http://forum.doom9.org/showthread.php?t=157634
If by "effects" you mean sharpening I personally like "r=1, sharpen edge complex, deband and minimal denoise.txt", I have a plasma and edge sharpening helps, it really depends on personal tastes and your tv/monitor.
DragonQ
17th January 2013, 09:51
Seems to depend on the source. Sometimes that works, many times it does not, in my experience.
Auto (Video) (http://www.abload.de/img/autoffu2v.jpg)
Film (http://www.abload.de/img/filmt8uqa.jpg)
That's why I have madVR set to force film mode by default, and change it to auto myself if that causes problems, which is rare. (rarer than this, at least)
Is this US TV? Can you post a sample please?
toniash
17th January 2013, 10:11
See here:
http://forum.doom9.org/showthread.php?t=157634
If by "effects" you mean sharpening I personally like "r=1, sharpen edge complex, deband and minimal denoise.txt", I have a plasma and edge sharpening helps, it really depends on personal tastes and your tv/monitor.
I use this ->
// script=ps_3_0
// SuperResolution - V1.0=ps_2_0
// Emmanuel - 6/03/2010
// www.homecinema-fr.com/forum/viewtopic.php?f=1195&t=29814317&start=981
// Super-resolution filter to be used behind a sharpen filter
// such as unsharp mask, ffdshow or avisynth LSF.
#define FinesseRendu 1 // 0: very fine, 1: end, 2: medium, 3: coarse
#define SeuilBruit 0.15 // to prevent the rise in background noise and
// The enhancement of small details in the textures
// Between 0.1 and 0.2
#define diff 0.49 // affect the rendering "3D-Like", type:
// 0.49 => 3D-Like + now
// 0.50 => 3D-Like this
// 0.51 => 3D-Like - this
#define ICG 3 // Intensity of gamma correction, type 0 to 5
// 0: low, 5: high
#define IAT 0 // Intensity enhancement of textures, from 0 to 3 type
// 0: strong (recommended for diffuser 720p)
// 3: low (recommended for diffuser 1080p)
sampler s0 : register(s0);
float4 p1 : register(c1);
#define dx (p1[0])
#define dy (p1[1])
float4 main( float2 tex : TEXCOORD0 ) : COLOR
{
// Pixel original, blurred, corrected
float4 ori = tex2D(s0, tex);
float4 flou;
float4 cori;
float seuil = 0.82 + FinesseRendu/100;
// Get the matrix of 9 points
// [1, 2, 3]
// [4, ori, 5]
// [6, 7, 8]
float4 c1 = tex2D(s0, tex + float2(-dx,-dy));
float4 c2 = tex2D(s0, tex + float2(0,-dy));
float4 c3 = tex2D(s0, tex + float2(dx,-dy));
float4 c4 = tex2D(s0, tex + float2(-dx,0));
float4 c5 = tex2D(s0, tex + float2(dx,0));
float4 c6 = tex2D(s0, tex + float2(-dx,dy));
float4 c7 = tex2D(s0, tex + float2(0,dy));
float4 c8 = tex2D(s0, tex + float2(dx,dy));
// Edge detection
// Filter by sobel
float delta1,delta2,value;
// Horizontal gradient
// [ -1, 0 ,1 ]
// [ -2, 0, 2 ]
// [ -1, 0 ,1 ]
delta1 = (c3 + 2*c5 + c8)-(c1 + 2*c4 + c6);
// Vertical Gradient
// [ -1,- 2,-1 ]
// [ 0, 0, 0 ]
// [ 1, 2, 1 ]
delta2 = (c6 + 2*c7 + c8)-(c1 + 2*c2 + c3);
// Calculation
value = sqrt(mul(delta1,delta1) + mul(delta2,delta2)) ;
// Gamma adaptive near a transition
cori = ori;
if ((value >= seuil-diff*1.15)&&(value <= seuil)) cori = pow(ori,1./(1-value/(10.5-ICG/10)));
//If ((value> = threshold-diff * 1.15) && (value <= threshold)) cori = float4 (1,0,0,0);
// Unsharp Mask to enhance the textures
// Calculate blurring (Gaussian)
// To normalize the values, divide by the sum of the coef
// 1/(1+2+1+2+4+2+1+2+1) = 1/ 16 = .0625
flou = (c1+c3+c6+c8 + 2*(c2+c4+c5+c7)+ 4*cori)*0.0625;
// Sharpen textures if they are far from an edge
if ((value > SeuilBruit) && (value < seuil-diff)) cori = (2-IAT/10)*cori - (1-IAT/10)*flou;
//If ((value> SeuilBruit) && (value <prev-line)) cori = float4 (0,0,1,0);
return cori;
}
madshi
17th January 2013, 10:28
After cutting a sample. I found something interesting and probably the answer to why this is happening.
My samples are taken from the same file; A recording from BBC One HD, a DVB-T2 channel in the UK.
I first took a sample in the middle of the file, played the file and it worked fine, MadVR recognised the interlaced content and automatically did the job. I was so surprised I checked the mediainfo of the file, it was labeled as Interlaced.
So i checked the source file in mediainfo and it was labeled "progressive".
Then I realised something I read online. The BBC said that it would be switching its broadcasts between 25p and 25i, depending on the program shown.
I duly took a sample from the advertisements at the beginning of my recording and as I thought, it was labeled as progressive, meaning the recording changed from 25p to 25i when the program started, the stream was changed.
So this begs the question really, I'm guessing this is the cause of the error, but is it possible for Madvr to detect the change?
I have uploaded 3 files, one of which i think is when the change occurs, but for certain you can see the differences in flags for interlacing between the files.
We've just discussed this very problem in the last 2 pages. But thanks for the samples, maybe they'll be helpful.
Changing from DXVA2 (under Image downscaling) to something else with DXVA2 native decoding on in LAV Video doesn't make a difference :( The video basically freezes for 10 seconds and then LAV switches over to software decoding with avcodec and playback starts again.
Ok, so it's not DXVA scaling. I'm not sure what it is then. It seems most other people don't have this problem? The creation of the Direct3D device on the new monitor doesn't seem to work. I don't know why... :(
Halved resolution? That shouldn't be happening at all unless you're using bob deinterlacing. What video card do you have? Here's a screenshot comparison of 25p video in a 50i stream, using hardware deinterlacing on an nVidia GTS250:
Auto Mode (detected as "video") (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Peep%20Show%20-%20Video%20Mode.png)
Film Mode (http://www.aotplaza.com/Files/HTPC/Screengrabs/MadVR/Peep%20Show%20-%20Film%20Mode.png)
They are identical.
Sometimes DXVA gets it right, sometimes not. I've several PAL DVD samples where DXVA switches to video mode deinterlacing which introduces artifacts compared to proper IVTC. Most of the time it's not really half resolution, but still, it can be quite visible. If artifacts show up, they can be worse than just softness. Artifacts can be things like moire, or "line jumping", which can be quite distracting.
Is this US TV? Can you post a sample please?
This is a PAL DVD. 6233638 sent me a sample of this a while ago. This is a rare case, though. Most other PAL DVDs are not as bad as this. Also my AMD card handles this a lot better than 6233638's GPU. Seems that AMD vs. NVidia are quite different in their PAL DVD IVTC quality.
Double checked on MPC-HC with LAV Splitters/Decoders and can confirm the problem exists there too with MadVR 0.85.2+
The exact steps I took are basically load up the file, pause the file frame step a few times really quickly to try and navigate to a specific frame and it throws a freeze. It then seems to be ok for a few seconds of frame stepping, and then freezes again. Each time it freezes the video also seems to skip a few seconds.
I cannot differentiate the freezes between different files, ie. they all seem to freeze equally, so I've uploaded a short file.
http://www56.zippyshare.com/v/1652887/file.html
Hmmmm... The only way I can reproduce any problems is if I hold the frame step keys pressed for a while. Then video plays fast forward for a few seconds, and then freezes. But when frame stepping quickly frame by frame, I can't reproduce any issues. Anyway, I can see if I can find the cause of the freeze when holding the frame stepping keys. Maybe that will also fix the issue you're seeing.
PetitDragon
17th January 2013, 12:54
Q: Why do you think you want or have to use a shader?
Just likes "Why do you think you want or have to use MadVR?"?
pururin
17th January 2013, 14:05
That's true, but SSRC seems to do very well on these characteristics: http://src.infinitewave.ca/
I was able to find examples where the Libsamplerate resampler (the default) produced audible aliasing. (in tests specifically designed to reveal it)
In real world scenarios, is it worth costing more CPU power for using SSRC over the default Libsamplerate?
I've read some posts on Hydrogenaudio stating that good quality resamplers aren't much different as long as they do their math right.
nub234
17th January 2013, 14:28
Hmmmm... The only way I can reproduce any problems is if I hold the frame step keys pressed for a while. Then video plays fast forward for a few seconds, and then freezes. But when frame stepping quickly frame by frame, I can't reproduce any issues. Anyway, I can see if I can find the cause of the freeze when holding the frame stepping keys. Maybe that will also fix the issue you're seeing.
Thanks madshi, appreciate it.
Dodgexander
17th January 2013, 15:09
Thanks Madshi. Can someone explain what the problem is to me? I have tried to scan through the thread to understand, but have had no success.
So far I notice that the problem relates to "film mode" rather than "video mode".
So film mode presumes theres no deinterlacing?
Video mode presumes there is?
How does this work with pal compared to ntsc?
6233638
17th January 2013, 16:22
In real world scenarios, is it worth costing more CPU power for using SSRC over the default Libsamplerate?
I've read some posts on Hydrogenaudio stating that good quality resamplers aren't much different as long as they do their math right.It's probably negligible to be honest, but I have the CPU cycles to spare, and was able to find at least one test (that may have no bearing on the real world) where SSRC performed better.
As Madshi says, it's far easier to see problems with video processing than it is to hear problems with audio processing.
Thanks Madshi. Can someone explain what the problem is to me? I have tried to scan through the thread to understand, but have had no success.
So far I notice that the problem relates to "film mode" rather than "video mode".
So film mode presumes theres no deinterlacing?
Video mode presumes there is?
How does this work with pal compared to ntsc?Film mode assumes the content is supposed to be deinterlaced as a progressive frame (576p25 using 2:2 rather than 288p50 for example) or that it requires IVTC if it is a 59.94fps source. (3:2 pulldown applied to turn it into 480p24) That's not all it does, but is the general idea.
DragonQ
17th January 2013, 16:39
Thanks Madshi. Can someone explain what the problem is to me? I have tried to scan through the thread to understand, but have had no success.
So far I notice that the problem relates to "film mode" rather than "video mode".
So film mode presumes theres no deinterlacing?
Video mode presumes there is?
How does this work with pal compared to ntsc?
In "PAL" video streams (1080i/25 or 576i/25), there's basically only two types of video you can get: true interlaced content (1080i/25 or 576i/25), or progressive content (1080p/25 or 576p/25). With interlaced content you want to deinterlace using the best algorithm available (e.g. vector/motion adaptive) to get a progressive video suitable for display (1080p/50 or 576p/50). For progressive content, you want to simply merge pairs of fields together because they belong to a single frame with no motion (i.e. weave deinterlacing).
However, when you tell a GPU to perform deinterlacing, it should detect whether the video is actually progressive and thus weave needs to be used rather than vector/motion adaptive. Therefore, you can basically leave deinterlacing on all the time ("video mode") and it'd play back everything perfectly (25p content would be frame-doubled to 50p but this should have no impact on image quality).
Unfortunately, there are apparently some combinations of GPUs and progressive video content where this doesn't happen as intended. Therefore you need to force "film mode" for these to get proper weave deinterlacing so that quality isn't sacrificed by unnecessary vector/motion adaptive deinterlacing.
I don't believe I have any such content (or my GPUs aren't affected) so I can't test this.
Film mode assumes the content is supposed to be deinterlaced as a progressive frame (576p25 using 2:2 rather than 288p50 for example)...
Again, deinterlacing shouldn't halve vertical resolution. Obviously 576p/50 that has come from a 576i/25 source won't look as good as the 576p/50 original, but it'll look a hell of a lot better than 288p/50. This half-resolution thing is something going wrong and is not the norm for deinterlacing. For what it's worth, I have read that one or two TV models get this wrong too and fail to apply weave properly to progressive material so it's not exclusive to GPUs.
6233638
17th January 2013, 17:45
Again, deinterlacing shouldn't halve vertical resolution. Obviously 576p/50 that has come from a 576i/25 source won't look as good as the 576p/50 original, but it'll look a hell of a lot better than 288p/50. This half-resolution thing is something going wrong and is not the norm for deinterlacing. For what it's worth, I have read that one or two TV models get this wrong too and fail to apply weave properly to progressive material so it's not exclusive to GPUs.What should, and what does happen, are often very different things. Proper 2:2 cadence detection seems difficult to get right, and it's not "one or two TV models" that get this wrong - the majority of televisions don't even attempt 2:2 cadence detection and just treat everything as "288p" video content.
If they do, it's often listed as an optional "film mode" option that is off by default, because wrongly jumping into or out of film/video mode looks terrible. Even Pioneer, whom everyone seems to praise, did a terrible job with film-type PAL content.
madshi
17th January 2013, 18:14
FWIW, I've turned film mode detection off on my JVC X3 projector, because it often switched to film mode when watching soccer, with terrible results. I guess only Gennum und VXP processors have a reasonably well working 2:2 auto film mode detection.
6233638
17th January 2013, 18:28
FWIW, I've turned film mode detection off on my JVC X3 projector, because it often switched to film mode when watching soccer, with terrible results. I guess only Gennum und VXP processors have a reasonably well working 2:2 auto film mode detection.I seem to recall even having problems when I had a Lumagen Radiance, and I managed to convince DVDO to implement a forced film mode on one of the products I did testing for, because auto-detection rarely works satisfactorily, and few people seem to watch video-type DVDs - they're mostly films.
madVR's film mode has worked very well for me since you made some improvements to the cadence detection after the first few releases.
DragonQ
17th January 2013, 18:39
What should, and what does happen, are often very different things. Proper 2:2 cadence detection seems difficult to get right, and it's not "one or two TV models" that get this wrong - the majority of televisions don't even attempt 2:2 cadence detection and just treat everything as "288p" video content.
Nothing is treated as 288p, I don't know what you're talking about here. Do you have evidence for this claim? The fact that I only found one or two models where this problem is actually mentioned seems to suggest it's against the norm.
If they do, it's often listed as an optional "film mode" option that is off by default, because wrongly jumping into or out of film/video mode looks terrible. Even Pioneer, whom everyone seems to praise, did a terrible job with film-type PAL content.
Yes, leaving "film mode" on makes interlaced content look horrible - far worse than deinterlacing progressive material would look if the deinterlacer is working correctly. Again, I haven't encountered this (on my HTPC or on the few HDTVs I've used), yet you seem to be suggesting it's extremely common. Even madshi said your sample was a rare case.
6233638
17th January 2013, 19:05
Nothing is treated as 288p, I don't know what you're talking about here. Do you have evidence for this claim? The fact that I only found one or two models where this problem is actually mentioned seems to suggest it's against the norm.If you try and perform any kind of complex deinterlacing to get a 576p50 signal, from a 576i video source, you will have deinterlacing artifacts.
576i neatly becomes 288p50, and while you lose half the resolution with film-type (progressive) content, most people think it looks fine.
If you allow for switching between video and film-type deinterlacing, it will invariably make the wrong guess at some point, switch to the wrong mode, and the result is a disaster that stutters, is full of combing artifacts or aliasing, or jumps between a high and low resolution image noticeably.
It's far easier to treat all interlaced content (at least 576i, perhaps not 1080i) as 288p and you never have any artefacts, other than a softer, lower resolution image. One with hard aliasing like the example I posted above is less common.
Yes, leaving "film mode" on makes interlaced content look horrible - far worse than deinterlacing progressive material would look if the deinterlacer is working correctly. Again, I haven't encountered this (on my HTPC or on the few HDTVs I've used), yet you seem to be suggesting it's extremely common. Even madshi said your sample was a rare case.But enabling the "film mode" option on a television doesn't say "treat this input as progressive content" all it does is enable the display to attempt 2:2 cadence detection - of which I have never seen a television do a good job, if it even has the option. Even if they do a good job of displaying films without artifacts, they tend to incorrectly identify video content as film-type and switch to the wrong mode, with very bad results, so you can't leave the option enabled all the time - and most people don't want to be jumping into the menus to toggle it on/off all the time, so it gets left off.
DragonQ
17th January 2013, 19:28
If you try and perform any kind of complex deinterlacing to get a 576p50 signal, from a 576i video source, you will have deinterlacing artifacts.
576i neatly becomes 288p50, and while you lose half the resolution with film-type (progressive) content, most people think it looks fine.
I still don't know what you mean. Performing "complex deinterlacing" doesn't get you 288p/50 video. Performing bob deinterlacing would have that effect but that is clearly not what is meant by proper "complex deinterlacing".
Jong
17th January 2013, 19:33
It's far easier to treat all interlaced content (at least 576i, perhaps not 1080i) as 288p and you never have any artefacts, other than a softer, lower resolution image.are you really suggesting playing all PAL DVDs at half resolution?!
I have to say I've never had a problem with either the MPC-HC or, now, MadVR handling PAL movies. Maybe the odd TV show, but going half resolution on all movies (90+% of my viewing) would be mad!
6233638
17th January 2013, 20:08
I still don't know what you mean. Performing "complex deinterlacing" doesn't get you 288p/50 video. Performing bob deinterlacing would have that effect but that is clearly not what is meant by proper "complex deinterlacing".Bob deinterlacing is half resolution.
With interlacing you only get full resolution at half framerate, or half resolution at full framerate. Never both.
"Complex deinterlacing" would be motion compensated deinterlacing, which attempts to create a 576p50 image from a 576i50 source. This type of deinterlacing always results in artifacts.
are you really suggesting playing all PAL DVDs at half resolution?!
I have to say I've never had a problem with either the MPC-HC or, now, MadVR handling PAL movies. Maybe the odd TV show, but going half resolution on all movies (90+% of my viewing) would be mad!No, I'm saying that most televisions play back 576i sources at half resolution, and don't even attempt 2:2 cadence detection, because it means you're never going to have deinterlacing artifacts, and most people don't notice.
If you have the option, it's usually called something like "film mode" which enables the TV to attempt 2:2 cadence detection. This means that you may have films played back at full resolution, but it is likely to drop out of cadence on occasion, and attempt 2:2 when watching video-type content, which results in ugly artifacts - the reason why if the set has that option at all, it is disabled by default.
With madVR you have the luxury of being able to force film mode, which works the vast majority of the time.
DragonQ
17th January 2013, 21:22
Bob deinterlacing is half resolution.
With interlacing you only get full resolution at half framerate, or half resolution at full framerate. Never both.
Correct in terms of the pure information that's included in the signal.
"Complex deinterlacing" would be motion compensated deinterlacing, which attempts to create a 576p50 image from a 576i50 source. This type of deinterlacing always results in artifacts.
Yes, you get some artefacts from the interpolation, but it still looks mightily better than bob deinterlacing. I'd never consider deinterlaced content to be "half resolution" - modern deinterlacers are much better than that.
No, I'm saying that most televisions play back 576i sources at half resolution, and don't even attempt 2:2 cadence detection, because it means you're never going to have deinterlacing artifacts, and most people don't notice.
BS. There is no way that "most" televisions don't go beyond bob deinterlacing, that is easy to notice and I have rarely seen it. On the rare occasions I have seen it, it was usually in the source material.
ajp_anton
17th January 2013, 22:47
Telecined PAL content is 50i. It absolutely exists. E.g. I have samples of a PAL DVD where each encoded frame contains the bottom field of the previous frame and the top field of the next frame. Without proper IVTC you'd either get combing or 50p output instead of 25p.Out of curiosity, why does this even exist?
madshi
17th January 2013, 22:54
I agree with 6233638 that the automatic film vs video detection for PAL content doesn't work that well in many of today's devices. At least that's my own experience.
However, I agree with DragonQ that "proper" video deinterlacing is much better than simple Bob. I don't know of any consumer hardware solution which uses motion compensation for video mode deinterlacing (not sure about what ATI and NVidia do, though, maybe they do some sort of motion compensation, I don't know). The deinterlacer hardware chips in TVs, Receivers, Blu-Ray players etc all use motion-adaptive deinterlacing with some sort of diagonal filtering. The key feature of motion-adaptive deinterlacing is that it detects static vs. moving image areas. For static image areas you can safely weave the fields together without getting artifacts and as a result for static image areas you get full progressive resolution. For moving parts most implementations use a Bob scaling algorithm with diagonal filtering, which produces results which are better than a Bob algorithm based on simple Bilinear scaling.
I would guess that if you used something like Jinc on every separate field (like 6233638 seems to suggest), you'd get better image quality for *moving* parts than what the typical CE deinterlacer chip does. However, if you don't weave static image areas then you're going to lose a lot of resolution during "quiet" scenes.
Out of curiosity, why does this even exist?
Because some studios/encoding houses don't know what they're doing.
dukey
17th January 2013, 22:57
It exists because someone fucked up basically. It is and it isn't fixable. You can shift the fields back into the frames they should be in. But often you'll be left with residual interlacing. So really should deinterlace it after field shifting.
IVTC is only for NTSC material, it has no meaning in the PAL world.
Pomegranate
17th January 2013, 22:58
Out of curiosity, why does this even exist?
24p -> 50i , no audio speed-up required.
madshi
17th January 2013, 23:07
IVTC is only for NTSC material, it has no meaning in the PAL world.
I totally disagree. Both wikipedia and NVidia are using the term "Telecine" for PAL content, too:
http://en.wikipedia.org/wiki/Telecine
http://www.nvidia.com/object/IO_26271.html
IVTC just means "Inverse Telecine", which is the proper term for finding the correct fields and weaving them back together. Which is what madVR does for PAL content, too, when you enable film mode.
DragonQ
17th January 2013, 23:36
(not sure about what ATI and NVidia do, though, maybe they do some sort of motion compensation, I don't know)
They all do better than this.
The deinterlacer hardware chips in TVs, Receivers, Blu-Ray players etc all use motion-adaptive deinterlacing with some sort of diagonal filtering. The key feature of motion-adaptive deinterlacing is that it detects static vs. moving image areas. For static image areas you can safely weave the fields together without getting artifacts and as a result for static image areas you get full progressive resolution. For moving parts most implementations use a Bob scaling algorithm with diagonal filtering, which produces results which are better than a Bob algorithm based on simple Bilinear scaling.
That sounds about right for motion adaptive deinterlacing but modern GPUs use vector adaptive deinterlacing, which is far better at reproducing the "original" full resolution progressive video than motion adaptive deinterlacing. Both the GTS250 and GT430 do some form of vector adaptive deinterlacing.
These examples are from the Cheese Slice test:
http://dl.dropbox.com/u/8424544/Slices/Pictures/reference.jpg
xabregas
18th January 2013, 01:11
That's hard to say. Personally, I'd take the NVidia for various reasons. But maybe next week I'll have a different opinion, I don't know...
I got the ati, i read it too late :o
And im paying for that already, this gpu drivers are making me crazy, madvr is not smooth at all, i disabled everything i found in CCC video section and still sometimes is good and smooth, others is not smooth...
Maybe is powerplay changing the clocks for power saving or other crap saving, how can i disable that waste of technology in CCC?? I think the problem is CCC, i can see the clocks go to 1000HZ and then drop to 300 and up and thats making madvr exclusive mode unstable :scared:
Anyway, it could also be 3d settings, because madvr exclusive mode is 3D and CCC has some amazing 3d settings that simply cant be disabled, some of them i can choose "let 3d aplllication decide", but there are 2 3d options without the "let 3d apllication decides" and there is no option to disable them :angry:
I disabled the scaling in CCC and IVT (dunno i dont know what it does, better stay off)
only have pulldown detection checked to auto, forcing smooth playback and thats all...
still need to disable the powerplay garbage??
anyway, i made a reset to madvr and only changed upscaling methods to lanczo 4 taps (AR enabled). Thats my settings...
plus lav filters + mphc and reclock for wasapi only...
Ah, i have aero disabled. With aero enabled i only get errors, f&$/&$/ aero :mad:
Lets see...
its a 7770, it must handle madvr without problems...i`m scaling 720p videos to 1360x768 resolution, so its not so big upscaling i think :sly:
I did change the buffer in exclusive mode settings several times to 10 and 8, maybe it was that, i have amd phenom x4 965 BE OC at 4GHZ :sly:
TIA
noee
18th January 2013, 01:34
xabregas, what driver are you running with your HD7770? Also, which decoder, player and what OS?
leeperry
18th January 2013, 01:39
Obviously 576p/50 that has come from a 576i/25 source won't look as good as the 576p/50 original, but it'll look a hell of a lot better than 288p/50. This half-resolution thing is something going wrong and is not the norm for deinterlacing.
It's only recently that I've gained interest in interlaced material, but CUVID does a hell of a job deinterlacing 29.97fps video material to 59.94fps. Quite frankly, it looks fantastic to me. James Cameron keeps saying that frame rate is more important than resolution(tring to push for 1080/48p instead of 4K/24p) and it sure doesn't look 288p to me :o
Now how much resolution do we lose when watching a NTSC (video mode) DVD deinterlaced to 59.94fps? GPU's use fairly advanced algorithms IIRC.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.