View Full Version : madVR - high quality video renderer (GPU assisted)
clsid
20th July 2013, 13:29
I hope the position override functionality will be made smart enough to known when accurate positioning is desired and restrict re-positioning to 'basic' subtitles? Then a single (default) setting would allow the casual viewer to see subs in the black bars (during fullscreen playback) and anime lovers will get accurate positioning for their complex animations and overlays.
madshi
20th July 2013, 13:33
The new subtitle interface is designed in that way that the subtitle consumer (madVR) asks the subtitle provider (XySubFilter) to reposition the subtitles, and the subtitle provider then decides whether the repositioning is acceptable. For styled ASS subtitles the repositioning should be rejected. That's the duty of the subtitle provider to make this decision smartly and correctly. If that fails at some point, I would consider that a bug which needs to be fixed.
Soukyuu
20th July 2013, 13:49
So you want a larger subtitle queue than decoder queue? Not sure if I want to offer that functionality. I guess it depends on how many people really need it. It might be a better idea to get the XySubFilter devs to implement proper multi-threading.Yes, precisely. I think most low end systems or AMD users (since AMD sucks single-threaded) would appreciate that. From what I understood, making xySubFilter multithreaded is not that trivial/not high priority cause the majority seems to be using Intel -_-
xabregas
20th July 2013, 13:53
Currently madVR is limited to only render subtitles onto the active video rect. So if the black bars in a 2.35 movie are stripped from the encoding, madVR can't render the subtitles into them. This will be fixed in some future version. For now I don't have a quick fix available, unfortunately...
ah ok, np, just knowing its going to be done is good. For now MPC int subtitle renderer is just fine. I know that consumes a lot of cpu power but nothing my phenom X4 965 cant handle :o
Still im doing several tests and im now with this settings. Just to see if there is something that can be doing minor ghosting or not.
Devices:
Sony TV:
edid version 1.3
manufacturer id SNY
manufacturer name Sony
product code 801
product name Sony TV
serial number 01010101
manufacturer date 2007, week 1
Raw Edid data:
00 FF FF FF FF FF FF 00 4D D9 01 08 01 01 01 01
01 11 01 03 80 A0 5A 78 0A 0D C9 A0 57 47 98 27
12 48 4C 21 08 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 66 21 50 B0 51 00 1B 30 40 70
36 00 40 84 63 00 00 1E 01 1D 00 72 51 D0 1E 20
6E 28 55 00 40 84 63 00 00 18 00 00 00 FC 00 53
4F 4E 59 20 54 56 0A 20 20 20 20 20 00 00 00 FD
00 30 3E 0E 30 09 00 0A 20 20 20 20 20 20 01 72
Properties: PC Levels (0-255) and 8bit (or higher)
calibration disabled
Display modes at madvr default values
Color and gamma (brightness at 11) all the rest at default or zero and gama processing disabled
Processing:
Everything at default values
scaling algorithms:
chroma: Jinc 3 taps AR enabled
Image UP: Jinc 3 taps AR enabled
Image Down: Catmull-ROM AR & Linear light enabled
Rendering:
Checked:
Delay playback start until render queue is full;
Delay playback start after seeking, too;
Enable automatic fullscreen esclusive mode
All the rest is unchecked
CPU queue = 64
GPU queue = 14
Windowed Mode:
8 buffers and default flushs
Exclusive Mode:
Checked:
show seek bar;
prevent several frames in advance;
Unchecked:
delay switch to exclusive mode by 3 sec
16 buffers and default flush settings
Smooth Motion:
enabled (first i put it to always but now ive changed to default)
Trade quality for performance:
Everything unchecked except "optimize subtitle quality for performance instead of quality". Not sure what it does to subtitles when they are rendered by MPC Int sub filter.
Everything else is at default values.
I have an ati HD7770, 4GB RAM DDR3 1333, amd phenom x4 965
My desktop resolution is 1360x768 60HZ (Sony TV)
my OS is windows 8 x64
konakona
20th July 2013, 14:26
i've a question about madvr processing when using 3d lut files-why is it mandatory for input and output to be rgb_video?
from what i understand madvr first does ycbcr-rgb conversion on its own,and then rgb data goes through the 3dlut,and then,finally everything is dithered to output bit-depth.
Why is it better method than allowing 3dlut to use YCbCr as input format and rgb_video 16 bits as output?
This is my current 3dlut created by making icc profile with xy values and then reading luminance (Y) values for rgbw by icc profile inspector, is it a correct 3dlut config file? (madvr accepts it but its better to be sure i did everything right)
Input_Format HD RGB_Video 8
Output_Format HD RGB_Video 16
Input_Primaries 0.640000000000000 0.330000000000000 0.300000000000000 0.600000000000000 0.150000000000000 0.060000000000000 0.31272661468101209 0.32902313032606195
Gamut_Measurements 1
0.24252 0.638760 0.324968
0.70639 0.300233 0.597345
0.05113 0.154012 0.059413
1.00000 0.312699 0.329001
Gamma_Curve 1.0 2.35
also,how are 10-bit files processed if input bitdepth has to be 8 bits? 10 bits are first dithered to 8,and then 3dlut does its magic?
madshi
20th July 2013, 14:41
RGB 3dlut input is mandatory because that's the way madVR is designed. Of course I could add support for YCbCr 3dlut input, but I don't really see what benefit it would bring. Your current 3dlut seems to be created by yCMS? I'd suggest trying ArgyllCMS as a hopefully better alternative. yCMS is somewhat outdated now.
madshi
20th July 2013, 15:03
madVR v0.86.10 released
http://madshi.net/madVR.zip
* fixed: #084: occasional black frames with smooth motion
* fixed: #115: XySubFilter: opaque black box on older GPUs
* fixed: smooth motion FRC could artifact with bilinear scaling
* added support for disabling XySubFilter auto-loading
* added "madVR_GetDeviceGammaRamp" calibration test pattern API
* when closing madTPG, original VideoLUTs gets restored at once
06_taro
20th July 2013, 15:45
Awesome for the fix of opaque black box on legacy GPUs!
Soukyuu
20th July 2013, 16:29
I'm more thrilled about the black frames being possibly fixed :o
Thanks for the fast update on the opaque box problem nonetheless!
dansrfe
20th July 2013, 19:38
Does LAV notify madVR if the source is telecined fim? Or do we have to change it manually in madVR? Also, is it possible to coordinate telling Reclock that the refresh rate is 23.976 and not 29.97? As of now I have to manually set Reclock to 23.976fps when IVTC'ing in madVR.
EDIT: force film mode fixes this.
Devrim
20th July 2013, 22:59
Do I have to reinstall madVR everytime there is an update or can I just replace the files?
dansrfe
20th July 2013, 23:10
Just replace the files in your current madVR folder with the ones from the folder in madVR.zip
secvensor
20th July 2013, 23:19
i'm more thrilled about the black frames being possibly fixed :o
+100500
ryrynz
20th July 2013, 23:21
* fixed: #084: occasional black frames with smooth motion
Was it a race condition as suspected by another user? I found that by disabling 'use separate device' and changing all the flush options to 'don't flush' I avoided seeing this occur.
secvensor
21st July 2013, 01:21
At me a problem with black colour.
The most dark zones are shown green-grey.
http://i46.fastpic.ru/big/2013/0721/be/840a5e8abe8c4a2b8cd6d01cdaa536be.png
http://i46.fastpic.ru/big/2013/0721/a2/a7bdfe1749c72fd2725b9033e069b7a2.png
xabregas
21st July 2013, 01:33
thats a problem with that specific movie :sly:
sherlock holmes 2 was a pain with wrong colour levels, i needed to tweak gamma a bit to make the movie watchable :(
cyberbeing
21st July 2013, 02:11
It might be a better idea to get the XySubFilter devs to implement proper multi-threading.
Patches welcome.
This is a difficult problem to solve when it comes to ass subtitles which are sequential in nature, especially since we desire to maintain near-identical compatibility to VSFilter output. This is nothing we intend to focus our time on. For the script Soukyuu speaks of we are already a few times faster than Libass, and at a certain point people authoring scripts need to exhibit self-control.
secvensor
21st July 2013, 10:13
xabregas
Hm.
OK.
cyberbeing
21st July 2013, 10:44
For anybody wondering, if you want subtitles from XySubFilter to show up in your madVR screenshots with MPC-HC there are a couple ways to do so:
First ensure that the Trade Quality for Performance option "optimize subtitle quality for performance instead of quality" is disabled. This is needed to ensure madVR blends subtitles early enough into the video frame to be included in screenshots.
A) Save the screenshot when the video is viewed at Original Video Size prior to resizing (100% Zoom, except on anamorphic video).
B) Save the screenshot at any Zoom level or fullscreen, when the "Render to Original Video Size" option is enabled in XySubFilter (note that this is a lower-quality option similar in appearance to VSFilter.dll RGB output)
This limitation exists because madVR outputs screenshots at original video size, prior to resizing the video frame. Without doing A) or B) the subtitle will only be alpha-blended into the video frame after resizing. Removing this limitation is something on madshi's to-do list, but no timeline that I'm aware of. For the time being you'll need to make do with the above, if you want subtitles in your screenshots with XySubFilter.
xabregas
21st July 2013, 13:56
Hey Madshi im not sure how but i solved the ghosting probblem entirely by reverting from windows8 x64 to win7 x86 :eek:
Now i just want to know if smooth motion will be affected by having the "pulldown detection" checked on CCC or not
TIA
Keiyakusha
21st July 2013, 14:33
For anybody wondering, if you want subtitles from XySubFilter to show up in your madVR screenshots with MPC-HC there are a couple ways to do so:
Actualy I find it good that subs can't be screenshoted. I was always finding myself disabling vsfilter before I want to do a screenshot... There is some rare cases when I want to show the text to someone. But in 99% cases I don't see why would someone want this.
cyberbeing
21st July 2013, 15:28
It can go both ways. There appears to be a segment of our userbase who used xy-VSFilter instead of the MPC-HC ISR for the sole reason that it makes it easy to take screenshots with subtitles to share with others. These users seem to require that 99% of there screenshots are taken including subtitles. You can always turn subtitles off before taking a screenshot, but you cannot suddenly add a function to take screenshots with subtitles included where none exists.
06_taro
21st July 2013, 15:52
Will it be easier if madVR adds a keyboard shortcut to toggle whether screenshots are taken with or without subtitles, when using XySubFilter or any other future filters of the same interface?
cyberbeing
21st July 2013, 16:30
Probably, but it's ultimately up to madshi. Though as mention above, no timeline. It could be months or more before he gets around to enhancing madVR's screenshot behavior.
I'm just happy it's at least in this half & half state at the moment to serve users with either preference, with only a minor inconvenience at times.
madshi
21st July 2013, 21:09
Was it a race condition as suspected by another user?
No. It was a simple math/logic error.
Now i just want to know if smooth motion will be affected by having the "pulldown detection" checked on CCC or not
No.
ikarad
21st July 2013, 22:01
You may want to change to XySubFilter, not to xy-vsfilter. XySubFilter allows you to render subtitles in the same quality as MPC's internal subtitle filter - but with less CPU consumption, with correct colors and with correctly scaled 3D effects. The MPC internal subtitle filter is slower, shows incorrect colors and has problems scaling certain ASS effects correctly.
What are the differences between xy-vsfilter and Xysubfilter?
pirlouy
21st July 2013, 22:08
Wrong thread + no search: http://forum.doom9.org/showthread.php?t=168282
Don't upset madshi please. :-)
ikarad
21st July 2013, 22:35
Some people are reporting ghosting. I don't know why, I don't see it myself. Either I'm just not as perceptive to this kind of artifacts, or maybe your display uses a different refresh rate than 60Hz. E.g. if your display internally uses 70Hz, then it will probably repeat some frames to get from 60Hz to 70Hz. If those repeated frames happen to be madVR blended frames, you will see obvious ghosting. But I don't really know if that's what's happening on your PC. Can your display handle 72Hz in native display resolution? If so, try that.
Reclock is not needed for smooth motion to work correctly.
.
1)With a 120hz monitor, smooth motion is it necassary or not?
2) With a 120hz monitor, smooth motion bring ameliorations or not?
DragonQ
21st July 2013, 23:23
With a 120 Hz monitor you wouldn't need smooth motion except for 25/50 fps stuff.
It does baffle me that any TV worth its salt can do 24, 50 and 60 Hz natively (or with integer multiples) but no PC monitors can, AFAIK, even the newer 120 Hz ones.
Moragg
22nd July 2013, 00:07
madshi: could you please add a link to the xy-subfilter thread in the first post so people know about it?
druneau
22nd July 2013, 00:09
1)With a 120hz monitor, smooth motion is it necassary or not?
2) With a 120hz monitor, smooth motion bring ameliorations or not?
What I did is use Toastyx's custom resolution tool (http://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU) and setup 100.00hz, 95.905hz, 90.001hz. Then let madvr switch to appropriate resolution.
Works great. I uninstalled reclock since they are so close to the appropriate multiple, 1frame every 20-30 minutes is not really noticeable on my end.
I also don't have/need to use FRC.
ikarad
22nd July 2013, 08:01
What I did is use Toastyx's custom resolution tool (http://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU) and setup 100.00hz, 95.905hz, 90.001hz. Then let madvr switch to appropriate resolution.
Works great. I uninstalled reclock since they are so close to the appropriate multiple, 1frame every 20-30 minutes is not really noticeable on my end.
I also don't have/need to use FRC.
Why switch to 100, 95 and 90? I don't understand why. If you can explain me, thanks.
120 is a multiple of 24,30 and 60. Reclock allow to transform 25p movie in 24p movie. I have never seen movie or broadcast at 50fps.
With a 120 Hz monitor you wouldn't need smooth motion except for 25/50 fps stuff.
It does baffle me that any TV worth its salt can do 24, 50 and 60 Hz natively (or with integer multiples) but no PC monitors can, AFAIK, even the newer 120 Hz ones.
Thanks.
QBhd
22nd July 2013, 09:11
What I did is use Toastyx's custom resolution tool (http://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU) and setup 100.00hz, 95.905hz, 90.001hz. Then let madvr switch to appropriate resolution.
Works great. I uninstalled reclock since they are so close to the appropriate multiple, 1frame every 20-30 minutes is not really noticeable on my end.
I also don't have/need to use FRC.
I did something similar, but I use 60, 72 and 75 as refresh rates. I also still use reclock since I believe 24 fps is a more natural look than 23.976 (30 for NTSC video). I too have ditched Smooth Motion. I also went one step further since I have an older 720p TV with rectangular pixels and only use the physical pixel reolution of my TV (1024x768). Everything looks silky smooth and the picture quality has never been better.
QB
Stephen R. Savage
22nd July 2013, 10:14
Is there any trick I can do to get madVR to display at 60 fps without dropping massive amounts of frames? I'm willing to make any quality tradeoff needed, but I can't seem to get it to run at a steady 60 fps even with GPU scalers and everything ticked under "trade quality for performance". I'm running on a GT650M.
ryrynz
22nd July 2013, 11:13
Is there any trick I can do to get madVR to display at 60 fps without dropping massive amounts of frames?
Guess it depends on what your issue is, what's your GPU utilisation like? If it's high the best thing you can do is change your resizing algorithms to something less demanding.
DragonQ
22nd July 2013, 11:20
I have never seen movie or broadcast at 50fps.
You mean like most broadcasts in the EU and Australia? :sly:
andybkma
22nd July 2013, 12:29
Guess it depends on what your issue is, what's your GPU utilisation like? If it's high the best thing you can do is change your resizing algorithms to something less demanding.
Stephen R, you could also try giving your 650M a little boost by overclocking the core clock just a tiny tad. I did that recently with my laptop GT-650M. Just giving it a 135Mhz core clock boost has helped me greatly. Read about it here, Post 489.
http://forum.notebookreview.com/gaming-software-graphics-cards/677169-nvidia-mobile-kepler-6xx-master-overclocking-guide-workaround-max-clocks-oc-stability-49.html
wanezhiling
22nd July 2013, 13:19
His player may run on iGPU not the 650M I guess.
ikarad
22nd July 2013, 15:20
You mean like most broadcasts in the EU and Australia? :sly:
I use madvr only for movie and anime, not broadcast. I confirm that I said above.
Broadcast at 50 fps exist but I have never watch a broadcast at 50fps with madvr.
DragonQ
22nd July 2013, 15:39
I use madvr only for movie and anime, not broadcast. I confirm that I said above.
Broadcast at 50 fps exist but I have never watch a broadcast at 50fps with madvr.
I know I was just being facetious.
Stephen R. Savage
22nd July 2013, 18:06
Guess it depends on what your issue is, what's your GPU utilisation like? If it's high the best thing you can do is change your resizing algorithms to something less demanding.
GPU usage is at 3%. I have basically everything disabled, but madVR still can't hold a steady 60 fps. It plays fine for a moment (the buffers even seem to hold steady) but then it suddenly starts dropping frames like mad. I'll add that the file is VFR and alternates between 24p and 60p.
Soukyuu
22nd July 2013, 20:30
What about video engine load? I had performance issues with CUVID/DXVA even though it had low GPU usage, but video engine load was 100%, leading to dropped frames.
turbojet
23rd July 2013, 00:17
Just the slightest gpu usage outside of media player makes the backbuffer empty and drops about half the frames on 3 computers here. It might be the same problem, with madvr being the likely culprit but switching to overlay or fse resolves it. Gpu, memory, video engine load can all be in the single digits with this happening.
pie1394
23rd July 2013, 04:37
GPU usage is at 3%. I have basically everything disabled, but madVR still can't hold a steady 60 fps. It plays fine for a moment (the buffers even seem to hold steady) but then it suddenly starts dropping frames like mad. I'll add that the file is VFR and alternates between 24p and 60p.
GTX650M should be capable of handling Lanczos3_AR with 60 fps progressive contents.
With VFR contents and 60Hz output signal, "smooth montion" should be enabled to get most smoothy playback.
When the output signal is 24Hz, 24/60-fps-mixed VFR contents will have the issue you described no matter how powerful the GPU is. If I don't remeber it wrong, "motion blur" type smooth motion is not implemented in madVR for 60 -> 24 fps blending...
Pat357
23rd July 2013, 11:03
GPU usage is at 3%. I have basically everything disabled, but madVR still can't hold a steady 60 fps. It plays fine for a moment (the buffers even seem to hold steady) but then it suddenly starts dropping frames like mad. I'll add that the file is VFR and alternates between 24p and 60p.
Are you sure the NVidia is used for rendering and not the iGPU ?
What are the reported rendering times by the OSD ? What cue (backbuffer, decoding, rendering or presentation cue,..) on Madvr OSD is going down first ?
A similar problem I had with my GTX-680 was that the card always went to the lowest power state during playback causing dropped frames.
I created a profile for each of my players (MPC-HC, J.River MC, Potplayer) in Nvidia CPL panel and set the power option to "always prefer max. performance".
Problem was solved, no frame drops any more. (all performance trade to OFF, scaling Jinc3 AR/ Jinc 3 AR/ Catmull ROM AR+LL)
wOxxOm
23rd July 2013, 17:38
Some issues in v0.86.10:
when I use hotkey assigned for "image upscaling anti-ringing filter toggle on/off", it only displays *current* state of the filter in OSD but doesn't toggle it.
instead of two separate hotkeys to enable and disable FRC, it would only be natural to have one to toggle FRC on and off.
Stephen R. Savage
23rd July 2013, 19:22
Are you sure the NVidia is used for rendering and not the iGPU ?
What are the reported rendering times by the OSD ? What cue (backbuffer, decoding, rendering or presentation cue,..) on Madvr OSD is going down first ?
A similar problem I had with my GTX-680 was that the card always went to the lowest power state during playback causing dropped frames.
I created a profile for each of my players (MPC-HC, J.River MC, Potplayer) in Nvidia CPL panel and set the power option to "always prefer max. performance".
Problem was solved, no frame drops any more. (all performance trade to OFF, scaling Jinc3 AR/ Jinc 3 AR/ Catmull ROM AR+LL)
There is no iGPU. The OSD shows that rendering/upload queue drops instantly on switchover to 60p segment. The stranger part is that the rendering frametime indicator holds at a steady 8 ms but jumps to 20 ms instantaneously on switch. Perhaps on a longer sequence the rendering time would return to a steady value, but the 60p segments are only a few seconds in length.
Edit:
On 60p CFR, I see madVR running fine for a brief period, up to a minute, with all buffers at max. Then they suddenly all drop, with the rendering time indicator reading 30-40 ms, causing massive frame dropping that madVR never recovers from. On 24p/60p VFR, I see all the buffers dropping instantaneously on switching from 24p to 60p.
dansrfe
24th July 2013, 02:49
Found this: Refresh Rate Multitool (http://hardforum.com/showthread.php?t=1423433) to be somewhat helpful in determining actual refresh rate and see if any frames are skipped/repeated when using custom resolutions.
G_M_C
24th July 2013, 07:33
Is there any trick I can do to get madVR to display at 60 fps without dropping massive amounts of frames? I'm willing to make any quality tradeoff needed, but I can't seem to get it to run at a steady 60 fps even with GPU scalers and everything ticked under "trade quality for performance". I'm running on a GT650M.
GPU usage is at 3%. I have basically everything disabled, but madVR still can't hold a steady 60 fps. It plays fine for a moment (the buffers even seem to hold steady) but then it suddenly starts dropping frames like mad. I'll add that the file is VFR and alternates between 24p and 60p.
There is no iGPU. The OSD shows that rendering/upload queue drops instantly on switchover to 60p segment. The stranger part is that the rendering frametime indicator holds at a steady 8 ms but jumps to 20 ms instantaneously on switch. Perhaps on a longer sequence the rendering time would return to a steady value, but the 60p segments are only a few seconds in length.
Edit:
On 60p CFR, I see madVR running fine for a brief period, up to a minute, with all buffers at max. Then they suddenly all drop, with the rendering time indicator reading 30-40 ms, causing massive frame dropping that madVR never recovers from. On 24p/60p VFR, I see all the buffers dropping instantaneously on switching from 24p to 60p.
You write the file alternates between 24p and 60p. Can it be that that somehow triggers madVR's 'IVTC'/Pulldown mechanism? And it is there that things go wrong?
ryrynz
24th July 2013, 08:26
Can it be that that somehow triggers madVR's 'IVTC'/Pulldown mechanism? And it is there that things go wrong?
Time to run the debug build a post a log perhaps?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.