View Full Version : madVR - high quality video renderer (GPU assisted)
TinTime
9th April 2009, 15:09
My first impressions...
Testing
I thought the best way to test madVR would be to sit down and watch a movie all the way through, rather than trying lots of different clips.
Hardware
Athlon X2 5000, Nvidia 8600GT (512MB) feeding 1080p plasma telly (DVI to HDMI) at 24Hz (23.998Hz according to ReClock).
Software
Win XP SP3, Zoom Player, CoreAVC with CUDA enabled, ReClock in S/PDIF passthrough mode. Er, and madVR ;)
Source file
mkv ("Revenge of the Sith" if anyone cares), 1024x576 h264, DTS audio. Encode from a PAL DVD but a/v slowed to 23.998Hz (prior to playback) to match my refresh rate as reported by ReClock.
Installation
No problems here - worked as advertised, but I guess those having difficulties were using Vista.
Playback
Initial brightness levels were off for me so there was a brief interlude where I went from "What on earth is cr3dlut?" to generating a new 3D LUT (PAL DVD to RGB Video) :D
I then watched the film. As I said above the source file frame rate matches the display refresh rate.
So after 2hrs+ I'm happy to report that playback was smooth for me - no stuttering, no tearing. General image quality is as good as I've ever seen, although I need to calibrate my display or play around with different 3D LUTs to get the levels correct (low blacks are currently too bright). EDIT - changed output format from sRGB to Blu-ray and this sorted it. I need to read up on cr3dlut. If I use VMR9 or Haali at 24Hz (but not 50Hz or 60Hz) I get occasional tearing and stuttering when I first start playback which can be fixed by pausing the video. This never happened with madVR. Not bad for v0.1 beta :)
No problems either running madVR and CoreAVC CUDA at the same time, although I haven't tried any HD video yet.
STaRGaZeR mentioned weirdness when going from windowed to fullscreen. When I do this there is a split second where the windowed image is displayed within the fullscreen image - I think. It is for a split second so it's kind of hard to tell, and not a problem as far as I'm concerned unless it's a symptom of a bigger issue.
Conclusions
Very impressive and no problems for me on my system so far. I went on a bit of a clicking frenzy, trying all the resizers and turning performance options on and off at random, and none of the settings caused any crash.
And so to the inevitable feature request... In the future you mentioned adding support for user switching between 3D LUTs. I have absolutely no idea whether this is possible or not, but what would seem to be ideal for playback purposes would be to flag mkv files somehow to indicate to madVR which 3D LUT to use when playing it back. Perhaps the appropriate LUT could be attached to the mkv and madVR would load it from there? That's for further down the line anyway.
So that's it for now - another quality product :thanks:
yesgrey
9th April 2009, 16:27
madshi, have you tested this with neuron2's VC1/AVC CUDA decoder, or coreavc's CUDA? That can get you back some h/w acceleration. :)
I've tested this, but it did not worked fine. My card is a GF8600GT 256MB, but I think it's not lack of GPU power, it seems to be some kind of "fighting" for resources between CoreAVC with CUDA and madVR. One user with a GF 8600GT 512MB reported good results, so, perhaps it's only a "fighting" for graphics card memory (mine has only 256MB)...
List of things to improve to make it perfect for me:
- Improve load time. It's not that slow but if it can be improved... :p
It's in our plans adding compression for the 3DLUT files to reduce size and (hopefully) improve load time.
I'm planning to add support for 10bit and 16bit output modes once Windows 7 arrives.
Some graphics cards seems to already support 10bit output mode when using fullscreen (Belyiaal add that to mpc-hc evr-cp).
Or is the image just squeezed for a short time?
I also see this.
BTW, forgot to mention: Subtitle rendering is currently not supported. That needs to be added, too.
Yes, It would be good. Currently I have to keep using ffdshow's subtitle rendering.
Thunderbolt8
9th April 2009, 16:36
regarding speed: I played a few HD remuxes now with madVR and ffdshow on my system (c2d @2800, 400MHz bus + 7600GT). most stuff starts around 30fps and then very(!) slowly pends down to little above 24fps (but mostly doesnt reach 23.9 fps). but the picture is actually never really fluid and theres can also a very little audio delay perceived. guess my hardware is a little too slow, at least for v0.1. seems to be a little faster with coreavc instead of ffdshow, but not as fluid as ffdshow or coreavc with haali.
edit: another little things, step forward (right arrow button) in mpc also doenst work yet ;)
leeperry
9th April 2009, 16:39
In the future you mentioned adding support for user switching between 3D LUTs. I have absolutely no idea whether this is possible or not, but what would seem to be ideal for playback purposes would be to flag mkv files somehow to indicate to madVR which 3D LUT to use when playing it back. Perhaps the appropriate LUT could be attached to the mkv and madVR would load it from there? That's for further down the line anyway.
well, one LUT for SD/one for HD would do IMHO(like <1024 horizontal>)
noone can guess if you're watching US, PAL or HDTV gamut stuff...so shortcuts in the start menu would enable you to change that(by renaming/decompressing), because having (2x96)x3 is nearly 600MB of LUT data.
PS: or maybe they could be compressed?
yesgrey
9th April 2009, 16:43
because having (2x96)x3 is nearly 600MB of LUT data.
That's why we want to add compression...
For example, a 96MB 3DLUT file compressed with winrar at the best compression method could end up to a size of only... 640kB!...
racerxnet
9th April 2009, 16:46
Using MPC-Hc I get a macrovision failure when opening a disk.:scared:
MAK
Win XP SP2
DX updated
ATI 3850 ATI 9.2 drivers
C2 Duo 6320
leeperry
9th April 2009, 16:47
That's why we want to add compression...
For example, a 96MB 3DLUT file compressed with winrar at the best compression method could end up to a size of only... 640kB!...
yeah that's what I use atm on my ramdisk(decompressing if I wanna go PAL/NTSC/HDTV), but it takes 2/3 seconds to unRAR...I'd rather waste 200MB of RAMDISK than wait 3" before each movie opens :o
plus MPC's major point is that it takes 100ms to open up, KMPlayer is so darn slow...my benchmarks are available here : http://www.kmplayer.com/forums/showthread.php?t=11629
PS: oh well, 2x96 of LUT is fine...forget what I said, just setting one LUT for SD/one for HD and we'd be all set :cool:
TinTime
9th April 2009, 17:02
well, one LUT for SD/one for HD would do IMHO(like <1024 horizontal>)
noone can guess if you're watching US, PAL or HDTV gamut stuff
You're right that you can't guess. I know when I create an mkv file what it is though. That's why I thought that if I can tag the mkv in some way (BT.601 or BT.709 I suppose) that madVR could then pick up on this and choose the LUT accordingly. No manual selection then and no assumptions based on resolution.
But as I said before I've got no idea if this is feasible or not, and this is a purely selfish idea based on how I'd like my HTPC to work :)
That's why we want to add compression...
For example, a 96MB 3DLUT file compressed with winrar at the best compression method could end up to a size of only... 640kB!...
Sounds good - thanks for your work too on the LUT side of things!
leeperry
9th April 2009, 17:10
You're right that you can't guess. I know when I create an mkv file what it is though. That's why I thought that if I can tag the mkv in some way (BT.601 or BT.709 I suppose) that madVR could then pick up on this and choose the LUT accordingly.
indeed a tag in the filename would be great, like no tag=SMPTE-C otherwise [EBU]/[REC.709] :)
cyberbeing
9th April 2009, 17:10
Could you make a small change so the properties settings are retained? It would be nice to not have to change the settings every time I load a video.
Another thing that would be nice is some simple statistics that show the achieved framerate, actual framerate, jitter, sync offset, and frame drops (is madVR able to drop frames or does it never drop frames?).
BTW, forgot to mention: Subtitle rendering is currently not supported. That needs to be added, too.
Subtitles are currently working perfectly with VSFilter auto-loading.
Thunderbolt8
9th April 2009, 17:20
yes, but only with autoloading. but then you cant choose between differents subs, for example different ones inside one mkv file or between an internal or an external file.
clsid
9th April 2009, 17:23
Then you are doing something wrong! DirectVobSub (aka VSFilter) supports subtitle switching and works for both embedded and external subs.
Rectal Prolapse
9th April 2009, 18:23
both, haali and madvr look quite similar to each other, apart from that one can see that haali outputs a bit too much red.
I believe this is because haali has the incorrect colorspace conversion for 709. AFAIK, Haali Renderer has always had the wrong colors, which is why I don't use it (I have calibrated displays and I can see the problems hehe).
leeperry
9th April 2009, 18:37
haali has the incorrect colorspace conversion for 709.
it's also wrong for 601....HR in YUY2 is a no no :o
Rectal Prolapse
9th April 2009, 19:09
heh, I didn't know that leeperry!
Anyhow - kudos to madshi for this cool renderer.
leeperry
9th April 2009, 19:14
heh, I didn't know that leeperry!
well, there's some new comers that didn't follow all the previous episodes :D
Dark Shikari
9th April 2009, 19:43
@Dark
this is not about dithering to RGB16, but dithering from YV12 (i.e. floating point)YV!2 isn't floating-point.to RGB24/32. What you observed is something totally different, namely GDI dithering from RGB24 to RGB16. ;)But then why does it still dither even when I use FFDshow for the conversion? ;)
cyberbeing
9th April 2009, 19:46
yes, but only with autoloading. but then you cant choose between differents subs, for example different ones inside one mkv file or between an internal or an external file.
Then you are doing something wrong! DirectVobSub (aka VSFilter) supports subtitle switching and works for both embedded and external subs.
Subtitle switching is working fine over here as well using VSFilter and Haali Media Splitter on MKVs with multiple subtitles. Switching between internal and external subs also is working fine. I think clsid is right, you must be doing something wrong.
TripleH
9th April 2009, 20:12
My findings (all tests was made with remuxed BDs):
Configuration:
Intel Core 2 Quad Q9400
2GB DDR2 800Mhz CL4
Radeon HD 4670 512MB GDDR3
Windows Vista Ultimate SP1 32bit
ATi Catalyst 9.2
FFDShow video decoder, MPC-HC and Reclock latest version
1080p@23.976hz to Optoma HD81 projector
Result:
The video is suffering from massive tearing, and Reclock Vsync correction doesn't seem to work on it (the Vsync cross is always stays at the same area, even if I move the Vsync target position).
Moreover, I've tried setting Reclock hardware access method to both automatic (then it choose DirectDraw) and Direct3D, and the result is the same.
I think it'll be one hell of a renderer when it stables.
cyberbeing
9th April 2009, 21:24
Configuration:
AMD X2 4800+ @ 2.64Ghz
2GB DDR400 @ 440Mhz 2-3-3-6-1T
NVIDIA 7800GTX 512MB
Windows XP SP3 x86
NVIDIA Forceware 182.50
Tested Resolutions:
1920x1080@120Hz, 1280x720@144Hz, 1600x1200@96Hz
on Sony GDM-F520
Software:
CoreAVC(software only)/FFDshow, MPC-HC, Reclock 1.8.4.2
I'm seeing no tearing with or without Reclock. It's not as smooth as Haali Renderer, but since you haven't done any work on smoothness yet, that is to be expected. It is very watchable with the current smoothness, but I will welcome any improvements you are able to make in that area.
Other then the simple changes in my previous post, and the ability to switch between two different LUTs automatically depending on the video resolution, I have no other wishlist features in mind.
BUG:
madVR freezes (locks up) when I check both use 10bit luma & chroma buffer during playback and hit apply. It recovers when I uncheck the options and click apply.
madVR freezes (locks up) when I check use 10bit luma buffer and click apply. It recovers when I uncheck the options and click apply.
madVR crashes the player silently when I check use 10bit chroma buffer and click apply.
Thunderbolt8
9th April 2009, 22:05
Then you are doing something wrong! DirectVobSub (aka VSFilter) supports subtitle switching and works for both embedded and external subs.
hm seems like it. on another system that button is not greyed out, although I did exactly the same on I did on my PC. strange :S
Mark_A_W
9th April 2009, 22:48
My setup:
Q6600
HD2600XT
Vista32
CRT monitor/projector running 1920x1080 interlaced at 95.904hz exactly.
CoreAVC for AVC
FFdshow using WMV9 decoder for VC-1
(Therefore no DXVA...ever!!)
Ffdshow doing RGB HQ for Haali Renderer
Reclock
Madflac for Flac (of course ;) )
With MadVR I get slight stutters and tearing. The tearing is odd, there are about 5 little tears, rather than the more normal big single tear towards the top of the screen (I get that with EVR back on XP).
More info:
I'm watching 1080p BD/HD-DVD transferred to MKV.
And the levels were fine. They were unmolested, with black at 16 and white at 235....just the way they should be ;)
When I play a file with a freshly opened ZP, all is well. But if I try to play another file, or replay the original, ZP just disappears.
I haven't played with the scaling options...because I don''t scale anything (HD on HD baby!).
Thanks Madshi
Mark
vucloutr
9th April 2009, 23:03
..
NVIDIA 7800GTX 512MB
..
BUG:
madVR freezes (locks up) when I check both use 10bit luma & chroma buffer during playback and hit apply. It recovers when I uncheck the options and click apply.
madVR freezes (locks up) when I check use 10bit luma buffer and click apply. It recovers when I uncheck the options and click apply.
madVR crashes the player silently when I check use 10bit chroma buffer and click apply.
I encoutered the same problem with GeForce 7 Series onboard graphics.
silent crash on 10bit luma and/or chroma when hitting apply.
btw: great work madshi !
first eac3to and now this gem. thanks ! ^.^
Rectal Prolapse
10th April 2009, 01:09
Hmmm. If I use Haali Media Splitter + Autoloading VSFilter, the madVR renderer is never loaded. Only the regular Video Renderer is loaded, and the subtitle rendering is awful. If I disable VSFilter.dll, madVR loads fine again. What am I missing?
(I am using an older Haali Media Splitter, from June 2007, the last known Haali splitter that doesn't blow out my speakers when playing LPCM in .m2ts files).
TinTime
10th April 2009, 01:21
Is VSFilter passing out YV12? If not then madVR won't connect.
Rectal Prolapse
10th April 2009, 01:21
Hmm didn't work with latest Haali splitter either.
madshi
10th April 2009, 10:04
Second, the output color is certainly different from EVR CP and everything else. I think madVR is wrong though
You were right after all. There is a bug in madVR's color handling. This will be fixed in the next build.
I think the scaling method crash may have something to do with something else entirely and not relate to the scaling itself. The thing is, I can't change the scaling method by go to MPC-HC options->external filter. When I change it there and play a file, it go back to default. When I right click while playing and change it by go to filter->madVR then close the file and reopen it, MPC-HC crash as soon as (I guess) the 96mb is filled and it try to display the video.
Strange. You don't need to close the file and reopen, though. Changing scaling settings by right clicking during playing should show immediate effect.
If you want any hardware acceleration working best on ATI you must use NV12, be it hardware decoding, deinterlacing, post processing or color conversion.
Well, I've retested and I get ugly chroma upsampling with ATI when using NV12, too. However, Beliyaal has sent me a screenshot of his ATI card which looks a lot nicer. We're not sure yet why he gets different results than I do. Might be due to different OS, driver version or graphics card...
Will this work on popular integrated video card Intel GMA X3100/X3000 (http://en.wikipedia.org/wiki/Intel_GMA#Table_of_GMA_graphics_cores_and_chipsets)?
Technically it should work. But I rather guess that the Intel GMA shaders and memory access speed will not be fast enough for fluid playback. But you can give it a try...
With default upscaling, I get substantial tearing at 24Hz. Switching to 3tap Lanzcos or Spline helps. Haven't tried any other settings. When I switch to 60Hz, the tearing goes away.
The video is suffering from massive tearing
Not sure why you guys get tearing. I've not seen any tearing on my setup. But I'll investigate. I plan to implement a fullscreen mode, which should get rid of any tearing, if all else fails...
edit: another little things, step forward (right arrow button) in mpc also doenst work yet ;)
I know, but I don't know why it doesn't work right now. Will have to see...
Would it be possible to get DXVA working with madVR?
Nope, sorry.
Great work, specially the dithering is impressive. ffdshow's output is inferior just because it does not have dithering. I'm sure ffdshow converters calculate in 10bit and round to 8bit.
With "Allow output format change during playback" checked and "Connect to compatible filters only" unchecked,
I found two issues,
I cannot toggle resize during playback.
I cannot play DVD at all (DVD: Macrovision Fail) whichever the decoder is.
Reconnecting filters is the most difficult and important step in DirectShow.
Each video renderer has its own API to reconnect, and most open source DirectShow filters have workaround for each video renderer. This is a big mess. I don't want to add new workaround in ffdshow.
Please simulate one video renderer's behavior so that we don't have to code too much.
Also please document how to reconnect with your video renderer.
You may want to check out our svn and read Tffdecoder.cpp TffdshowDecVideo::reconnectOutput (which is a mess) or DScaler5's DSVideoOutPin.cpp.
Thanks for the feedback! I'll see what I can do about the reconnect problems. Can you give me a hint what I need to do to make this macrovision error go away? I've no clue right now...
My first impressions...
Thanks!
And so to the inevitable feature request... In the future you mentioned adding support for user switching between 3D LUTs. I have absolutely no idea whether this is possible or not, but what would seem to be ideal for playback purposes would be to flag mkv files somehow to indicate to madVR which 3D LUT to use when playing it back. Perhaps the appropriate LUT could be attached to the mkv and madVR would load it from there? That's for further down the line anyway.
I'm not sure how I will handle that. Theoretically the video bitstream contains information about which color transformation has to be used, but sometimes this information is not available.
Could you make a small change so the properties settings are retained?
That's on my to do list, of course.
BUG:
madVR freezes (locks up) when I check both use 10bit luma & chroma buffer during playback and hit apply. It recovers when I uncheck the options and click apply.
madVR freezes (locks up) when I check use 10bit luma buffer and click apply. It recovers when I uncheck the options and click apply.
madVR crashes the player silently when I check use 10bit chroma buffer and click apply.
I encoutered the same problem with GeForce 7 Series onboard graphics.
silent crash on 10bit luma and/or chroma when hitting apply.
It seems that either your graphics card hardware or the driver you're using doesn't support 10bit temp buffers. I'll need to handle that situation gracefully, of course, but I'll probably not be able to make 10bit work for you.
When I play a file with a freshly opened ZP, all is well. But if I try to play another file, or replay the original, ZP just disappears.
Strange. Doesn't happen with MPC HC, it seems. Will have to check that...
madshi
10th April 2009, 10:05
madVR 0.2 released
http://madshi.net/madVideoRenderer.rar
* fixed: colors were not fully correct
* improved install/uninstall
Thunderbolt8
10th April 2009, 10:37
thanks! :D
haruhiko_yamagata
10th April 2009, 10:52
Thanks for the feedback! I'll see what I can do about the reconnect problems. Can you give me a hint what I need to do to make this macrovision error go away? I've no clue right now...
Well, just random guesses...
For DVD playback, renderers have to implement subpicture input pin. ffdshow does alpha blending in itself, this shouldn't be necessary (only if you use ffdshow) though.
Renderers have to support switches between 16:9 and 4:3 during playback. Even if it is the first picture, it's technically during playback.
You could ask Casimir for support.
Matching_Mole
10th April 2009, 12:41
madVR is really interesting and if you succeed to improve its smoothiness at the level of HR or EVR CP customized by Beliyaal, it will be the best renderer on Windows.
Just a question, do you plan to handle the subtitles like doing VRM9 and EVR?
Thanks.
STaRGaZeR
10th April 2009, 13:40
Well, I've retested and I get ugly chroma upsampling with ATI when using NV12, too. However, Beliyaal has sent me a screenshot of his ATI card which looks a lot nicer. We're not sure yet why he gets different results than I do. Might be due to different OS, driver version or graphics card...
Try with other renderers, in Vista if you use NV12 and EVR Custom, you get bad chroma upsampling. However if you use plain EVR instead you get good chroma upsampling. Weird.
Mike5
10th April 2009, 15:47
XP SP3
Radeon 9700 Pro 128MB
Catalyst 9.1
I can't have madVR working. I tried MPC-HC (special version) and ZP6 with or without the last reclock and get audio but no video for several second, then both players freeze.
I checked YV12 in decoder output (both internal MPC-HC and ffdshow tried) and in Reclock.
Finally I tried Graphedit, changing the video renderer to madVR and get the same behaviour: audio, no video, after a few seconds Graphedit freezes.
Perhaps the video card is too old (it's my workplace PC and dates back to 2002).
Tonight at home I'll try on a recent PC.
Xorp
10th April 2009, 16:21
I get some wackiness trying to play VC1 content:
http://img208.imageshack.us/img208/1112/bad1.th.png (http://img208.imageshack.us/img208/1112/bad1.png)http://img167.imageshack.us/img167/7917/bad2.th.png (http://img167.imageshack.us/img167/7917/bad2.png)
None of those color issues with AVC, but playback is very choppy on higher bitrate stuff, get about 15fps. But CPU is at 100% (C2D @ 3.4ghz)
No issues with MPEG2 stuff it seems.
Graphics card is a 8800GTS 640MB, its the original G80 version so no DXVA or CUDA.
Also, madVR didn't work for me at all with v0.1, just got a black screen.
Keiyakusha
10th April 2009, 16:47
After installing version 0.2, in settings it still shows ver 0.1. Thats normal?
http://www.petaimg.com/u397/858111.png
Mike5
10th April 2009, 18:14
Tonight at home I'll try on a recent PC.
Tried on a E8500, ATI HD 4650 (my HTPC)
XP SP3 Catalyst 9.1
Now it works fine with HD content, quality appears excellent to me. As for smoothness, I need to watch a whole movie.
As for DVD on Hard Disk, if I open the .IFO file, MPC-HC hangs. No problem with single .VOB files.
Windows 7 7048 Catalyst 9.3
Perfect with HD content.
As for DVD on Hard Disk, if I open the .IFO file, I get the error: DVD: Macrovision Fail. No problem with single .VOB files.
So, probably the problems in the workplace PC were due to the old video card, but there is still a problem on DVD.
What's this Macrovision Fail that I have seen reported by others above,too ? It reminds me old analogic stuff.
P.S. Both in XP and Windows 7 madVR needs d3dx9_35.dll to be present in C:\Windows\System32. I downloaded it from the Internet.
Brazil2
10th April 2009, 19:28
I get some wackiness trying to play VC1 content:
http://img208.imageshack.us/img208/1112/bad1.th.png (http://img208.imageshack.us/img208/1112/bad1.png)http://img167.imageshack.us/img167/7917/bad2.th.png (http://img167.imageshack.us/img167/7917/bad2.png)
I got the same but only when the MPC-HC internal VC-1 decoder is used. It's Ok with the Microsoft VC-1 decoder (wvc1dmod.dll).
However I have a 1920*1080 VC-1 video in a MKV container (demuxed from the M2TS with TsMuxer and muxed in a MKV with MKVToolNix) that doesn't want to be displayed with the correct aspect ratio with MadVR and only with MadVR. Aspect ratio is correct with other renderers (VMR and EVR).
Video
ID : 1
Format : VC-1
Format profile : AP@L3
Codec ID : WVC1
Codec ID/Hint : Microsoft
Duration : 1h 37mn
Bit rate : 26.8 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.539
Egh
10th April 2009, 21:49
madVR is really interesting and if you succeed to improve its smoothiness at the level of HR or EVR CP customized by Beliyaal, it will be the best renderer on Windows.
Oh, someone really started doing the right job! HR is the best, let's see if this renderer can match it ;)
16bit per channel per design is the way to go!!!! I just love it!
As for Beliyaal's or even not customized EVRCP, I love your sarcasm. Just in case you didn't know, both Beliyaal's and SVN versions output junk instead of video on EVRCP on my system. If not Haali or now madVR I'd be stuck with VMR9 on a system with pulls Crysis in medium settings easily....
As for DXVA with modern systems it is not a priority for mainstream PCs, only for nettops and stuff, and even that realistically is a bit too early as first nettop with integrated GeForce 9400M has just been announced.
I will choose CPU&Quality over "Fast, unreliable and limited in functionality" DXVA anytime...
Besides, due to GPU usage on HR and on madVR, much of the quality improvement is achieved on GPU anyway.
I will probably start saving for true 10bit capable LCD panel :)
KoD
10th April 2009, 22:30
Laptop with a Merom Core 2 Duo T5800 (800 Mhz FSB), 2GHz and Nvidia GeForce 9600M GT with 512MB DDR3 dedicated memory graphics.
Media files are played with ZoomPlayer. No ReClock or other similar filters. Using latest "official" notebook drivers from Nvidia's website, no "modded" ones (so no CUDA for video, either).
Good things:
- playback is good, colors seem to be appropriate, no tearing that I was aware of
- loading time is low enough, but it's true it causes a litle desync at the beginning of playback, with sound going on and video playing catch up. However, catching up happens very fast, even with 1080p files. In comparison, Haali's renderer, once it loses sync, it keeps on widening it as playback goes, and never catches it up (well, unless you pause the video and let the buffer fill in, then resuming playback and pausing it again, to allow the buffer to fill in some more, and so on untill you get to around 4 ms, after which Haali's renderer seems to be able to keep sync). madVr catches up sync very fast and keeps it, so this is a great improvement over Haali's behavior. This is most noticeably on laptops, where power management might keep the CPU running at a lower frequency when starting playback, until it figures out the load went sky high and it needs to increase the clock speed.
- subtitles work perfectly with VSFilter. The issues people are reporting are either related to filter management issues on their system, or MPC random bugs (if they're using MPC).
- CPU load is light, however the GPU load is not. I notice that when I look at the temperatures monitor: CPU temps stay low, but GPU ones rise.
- regarding playback smoothness, there are issues, but I don't know if they're ZoomPlayer related or madVR related. Let's explain:
I start a file in ZoomPlayer and playback seems smooth. I stop playback, without closing the player. I start another file, and now playback might be smooth, or it might be jerky (visible on long pans). No matter what I do, like opening another file (but still not having closed ZoomPlayer), I can't seem to get rid of the jerkiness. Now, I close ZoomPlayer. I open ZoomPlayer again and start playing the file I got jerkiness. However, this time playback is smooth...
I should say playback of one file after another in ZoomPlayer is always smooth with Haali's renderer, it doesn't randomly start to get jerky like with madVR.
Features requests:
- having the renderer remember the settings is a must. Each time playback starts, it forgets what the settings were.
- remembering the position of the settings panel on the screen, is also a good thing to have.
Questions:
- how does the filter know whjat .3dlut file to use. What if I have many .3dlut files in the folder where madvideorenderer.ax is, will it load one at random, or will it load only the out16.3dlut one ?
Issues:
- madVR accepts YUY2 input, however it can't handle it and shows a black screen. The proper behavior in this case would be to reject a connection with YUY2 input, not to accept it.
- sometimes, after changing the resizing algorithm in the settings panel, the renderer doesn't show a picture anymore, but only a black screen. This seems to happen randomly. Remember, I'm using ZoomPlayer, so it might be an issue between the two, as well.
- yes, switching from fullscreen to windowed is not very visually pleasing, but we can live with that.
- wrong AR on some anamorphic video mkv files, in conjunction with the "Derived" aspect ratio option in ZoomPlayer. Haali's renderer shows proper behavior.
This is related to the issue haruhiko mentioned: the renderer should accept a change of the aspect ratio during playback and adapt accordingly. Why ? Well, on anamorphic video files (like the one I'm mentioning), during intial graph connection and before playback starts, the advertised biWidth and biHeight in BITMAPINFOHEADER are those of the source size (like, let's say, 688x448), and only as soon as playback starts the desired display size gets entered into biWidth and biHeight (like 768, -448). madVR doesn't catch this change, and ends up displaying the image at an aspect ratio of 688/448 (=1.53571) instead of 768/448 (=1.776785).
One more note: dwPictAspectRatioX and dwPictAspectRatoY members in the VIDEOINFOHEADER2 structure are initialized to a value that almost reflects the correct display AR even before playback, but the value is in fact not very correct (it's rounded up). In the case above, they were dwPictAspectRatioX = 0x000031bf and dwPictAspectRatoY = 0x00001c00, which gives display AR = 1.776646. This might be considered a good enough approximation or not.
Great job with this renderer, by the way. Way to go, madshi !
Finally: login management on Doom9 Forum needs some improvement. Save goodness I had the inspiration to copy to clipboard all this text before pressing the submit button, or I would have lost everything when the forum suddenly decided I was no longer logged in. I learned this behavior from previous experiences, that's why I copied everything to clipboard before trying to submit. It happens if one doesn't enable the "Remember me" option at login.
Final edit: to all the people reporting issues with madVR: try using another player than MPC. You may not like to hear this, but you might be encountering bugs in MPC instead of bugs in madVR.
Snowknight26
10th April 2009, 22:35
I get the same thing that Xorp does except with H.264 content as well. MPC Video Decoder (YUV2) -> ffdshow video decoder (YV12) -> madVR. (Edit: Nevermind, guess it's an MPC Video Decoder issue. Blocking that filter so that only ffdshow does the decoding shows the videlo correctly.)
Also, on a laptop of mine (GM45), MPC-HC freezes and maxes out a single core while its frozen. RAM usage keeps climbing but nothing else happens.
Also, when you go to fullscreen in MPC-HC, it takes up to half a second for the video's AR to adjust to the correct AR.
Egh
10th April 2009, 23:00
This renderer potentially is top#1 choice for video elite ;)
However some issues already: massive CPU load (independent of the videocodec or original resolution), typically uses here in between 60% and 90% CPU, that is on 7900GTX (fastest 7xxx GForce) and E8500 stock freq (3.1GHzX2) Funny enough even when I pause the video it still uses around 50% so I sense a bug here as well ;)
For the same content but with Haali renderer overall CPU usage is typically around 10-15% for 720p AVC content.
So, does it really support older than 8xxx series of GForce of GPUs? If so, why so much CPU%? In order to be really usable here needs to be probably around half of the current load and definitely as minimal as possible whilst paused.
Mark_A_W
10th April 2009, 23:06
Interesting.
I'm not getting any unusual CPU load watching BD's converted to 1080p MKV.
But I am getting major tearing, which I don't get with EVR/VMR9/Haali/etc.
On an ATi 2600XT (which has been fine so far, I don't game).
Thunderbolt8
10th April 2009, 23:25
perhaps it might be optimized more for ATI card, as madshi has no nvidia card (provided that optimization has to be done into that direction and cannot be generally be done for all cards/manufactors by generally optimizing direct3d stuff or something similar). so it could make sense here to have another programmer with nvidia card trying to optimze nvidia playback then?
noee
11th April 2009, 00:23
...
But I am getting major tearing, which I don't get with EVR/VMR9/Haali/etc.
On an ATi 2600XT (which has been fine so far, I don't game).
I have the same card and the same issues here, with SD material inside MKV (AVC) and 1080P material inside MKV (AVC).
I've tried turning all of the "quality" settings off and same tearing results. Perhaps this card just doesn't have the guts?
Mark_A_W
11th April 2009, 00:27
I have the same card and the same issues here, with SD material inside MKV (AVC) and 1080P material inside MKV (AVC).
I've tried turning all of the "quality" settings off and same tearing results. Perhaps this card just doesn't have the guts?
Maybe...but like I said, it's fine with every other renderer on Vista (but not EVR on XP....but that's a bad idea).
It's early days yet, let's see what Madshi can pull out of his hat ;)
Rectal Prolapse
11th April 2009, 00:42
I fixed my VSFilter issue - I had to block several filters: Arcsoft Video Decoder, Cyberlink PDVD8 h264 Decoder, CoreAVC (it has trouble with AR on some videos), etc. and chose FFDShow as the decoder for the target videos (x264). Now it can connect! Naturally, VSFilter is limited by the resolution output by ffdshow - if I leave the resolution untouched and let madVR do the scaling, the video looks quite good, but of course the subtitles are soft and/or jaggy!
I can't wait for the subpicture pin to be implemented in madVR! :)
Hypernova
11th April 2009, 01:53
Dithering is the best indeed. Color from madVR still looks different (and looks wrong) for me, though. I still don't have time to learn about 3dlut file either. But now a lot of people already giving their feedback, I'll just sit back and wait, I think.
Edit: Now I'm spoiled by madVR dithering, could anyone suggest me the setting that give me the closest to what madVR have? I'm using Beliyaal's MPC-HC build with EVR CP right now. Sometimes I use Kovensky's mplayer build with software upscaling to my desktop resolution as well.
ice25
11th April 2009, 09:43
Interesting.
I'm not getting any unusual CPU load watching BD's converted to 1080p MKV.
But I am getting major tearing, which I don't get with EVR/VMR9/Haali/etc.
On an ATi 2600XT (which has been fine so far, I don't game).
Yup quite a bit of tearing here as well, i'm on a 8800 GTS though.
red5goahead
11th April 2009, 10:34
Any Media Portal users in there?
now I'm using Media Portal under Vista with Evr and Aero with an Asus Ati HD 3850 graphic card. I use Slysoft Reclock.
My monitor is a plasma Panasonic 37PV60 it hasn't 24p support only 50 and 60 HZ. so reclock speedup play to Pal mode. No meaningful problem.
the minor problems with this configuration are:
1) with Ati card the secondary monitor in extended desktop mode do not work very well. so when start Media Portal I switch the two monitor and plasma became the primary one.
2) with reclock the evr vsynch does'nt work. I have to use the embedded reclock vsynch correction to get the perfect smooth play (24p to Pal and Pal/25 fps either).
And only with Aero on because without Aero reclock and evr do not work fine. I got stuttering for vysnch problems.
Could be important a combined developer with Slysoft to obtain the ultimate renderer for the perfect and troubleless htpc (very optimistic :D )
yesgrey
11th April 2009, 11:38
This renderer potentially is top#1 choice for video elite ;)
7900GTX (fastest 7xxx GForce)
On an ATi 2600XT
Perhaps this card just doesn't have the guts?
Maybe...but like I said, it's fine with every other renderer on Vista
So the "video elite" want's to run madVR in such old graphics cards?:D
Please remember that madVR needs lot of shader processing power, and the old cards have very few shader processing units... My GF 8600GT only has 16, and it barelly keeps up with it. So, if we really want to use madVR, we should start thinking in upgrading... of course madshi could be able to optimize the code, but in the end it will always be a question of shading power. You have it or not.;)
It would be great if people with more recent cards would test it and post the results, so we could be able to see if it's just our cards that cannot handle it.
Dithering is the best indeed. Color from madVR still looks different (and looks wrong) for me, though. I still don't have time to learn about 3dlut file either.
I can help you with the 3dlut files creation, but you have to be more specific with your problems... Which source, which other renderers are you comparing? video levels or PC levels?
madshi,
are you ok with using this thread for 3dlut discussions, or will you prefer that we discuss 3dlut stuff in another thread?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.