View Full Version : madVR - high quality video renderer (GPU assisted)
Ver Greeneyes
15th February 2016, 01:03
Okay, I applied a quick dirty fix to the collink source. I'll see if it works, then post to the ArgyllCMS mailing list or something (my fix is very ugly, but also very simple, so it shouldn't be hard for Graeme to address if my fix works).My hack was super slow, so I had to improve the code a lot, but now it works (at least on a low quality 3DLUT)! Would still be interested in a file format specification for madVR 3DLUTs while I have this code paged in :)
huhn
15th February 2016, 03:06
did you used/tried "input encoding TV RGB range 16-235 (clip WTW)?
Ver Greeneyes
15th February 2016, 08:48
did you used/tried "input encoding TV RGB range 16-235 (clip WTW)?... Oh wow, I missed that completely. I was looking for a separate option, and it's misaligned in the help file for some reason. Okay, well, at least you've saved me from an awkward exchange on the mailing list!
nevcairiel
15th February 2016, 10:09
My hack was super slow, so I had to improve the code a lot, but now it works (at least on a low quality 3DLUT)! Would still be interested in a file format specification for madVR 3DLUTs while I have this code paged in :)
Its documented here:
https://sourceforge.net/projects/thr3dlut/files/doc/
Manni
15th February 2016, 13:24
I re-installed Crimson (16.1.1 hotfix) last night to do some testing with the 3DClub DisplayPort 1.2 to HDMI 2.0 adapter on my HD7870, and unfortunately it's a no go as the levels are wrong and there is no way to set the pixel format, so I don't recommend it unless you only use MadVR. I had the wrong levels in PDVD and was unable to get them right.
However, I took the opportunity to do more tests with Crimson and the native HDMI 1.4 out, and I found two things:
1) I tested 3D and while it works fine in 1080p, when the desktop is set to 2160p MadVR doesn't set the desktop to 1080p when playing 3D, so I only get a crash from MPC-BE. My understanding was that it was supposed to switch to 1080p automatically, then back to 2160p after playback?
2) I found that if I set the pixel format to YCB 4:4:4 in Crimson I get the correct levels for MadVR (set to 0-255) and with PowerDVD, both in 2D and 3D. I checked the chroma multiburst test, and I get very good results there too. I couldn't see any obvious downside from a PQ point of view, so I was wondering if any of you could think of one? I haven't tried an Autocal with Calman or the JVC Software yet in that setting, but I don't see why it wouldn't work. The only potential downside would be an unnecessary colourspace conversion, but as the JVC converts to YCB even when fed RGB in order to process color/tint before reconverting to RGB internally, I think I end up with the same number of conversions. MadVR's RGB is converted to YCB 4:4:4 by the GPU, then YCB into the PJ is converted to RGB internally. When I set the GPU to RGB, it's converted to YCB byt the PJ, then reconverted to RGB. So in both cases, we have three conversions after the YCB 4:2:0 from the bluray to RGB for MadVR internal processing.
3) I'm also thinking forward and believe that HDR content will have to be sent in YCB when we have HDR support in the GPU/Driver/API and it's sent to the HDR display, either by MadVr when/if it supports HDR, or by PowerDVD as soon as their UHD Bluray version is out.
So can anyone think of any downside in using YCB 4:4:4 to a JVC projector set to HDMI standard (16-235) anyway. Otherwise I think I might stick to it, as it will allow me to keep Crimson and use the 3D support in MadVR/LAV.
Cheers!
madshi
15th February 2016, 13:28
It happens with 1080p videos, displayed at less than 1920 x 1080 resolution, as long as the resolution of the vobsub or the sup is also large (1920 x 1080). The subtitle renderer is xysubfilter 3.1.0.746 (the latest, as far as I know). Happens both in 32 and 64 bit.
Here's another sample (http://wikisend.com/download/509278/pgs_sample.mkv) [38 Mb], a mux directly from a BluRay, with only the video and the PGS subs.
Thanks. Reset my XySubFilter settings to default, now I can reproduce it.
A little comparison for those interested in hardware, I recently acquired 980ti and a full unlocked fury(think furyx). They fury(x) is slightly faster(about 1ms render time, avg ~14 vs ~15ms) for one of my 1080i60 clip upscale to 4k with following setting.
Interesting that they're so close!
Please advise: wondering about cpu-load<PCI-e bus load from the renderer through MadVR
or weather any A-situational processing occurs that you/we know of where lots of CPU-GPU copy-back or
CPU post processing occurs.. that may or may not load the pci-bus moreso than otherwise.
Could be caused by doing copyback (using any hardware assisted video decoding other than native DXVA), or maybe by using a shared GPU where rendering is performed on one GPU and output by another (e.g. NVidia Optimus or similar).
When NNEDI3 quadruple is in use, OSD reports that luma is downscale with Bicubic150 AR instead of SSIM AR. Any reason for that?
I found when I upgraded to. 9 after. 8 it defaulted to bicubic when I had SSIM detailed set in .8 what with it being deprecated and all. I actually tested quadrupling with SSIM the night before and the osd was correct for me so perhaps just change your Luma Scaler to something that's not SSIM and back again and that might fix it.
You may have to reselect SSIM when updating your madVR version because the SSIM internal names changed when I removed the "detailed" vs "clean" option. If that is not the problem, then could you please show a screenshot with the Ctrl+J OSD turned on?
Is there a way to change the active device in madVR settings?
The active device is the monitor the madVR video window is placed on. You can change it by moving the media player window to another monitor. Other than that I don't understand why it would make sense to try to use a different device (= monitor) than the one the window is rendered on?
http://hugefiles.net/4eeyrwm5p5xz
I've found out that if I stop the playback before closing the file or opening another, the leak is never there (and it is so in both v0.90.4 and v0.90.9 builds). But if I do this while playing or on pause - sometimes it leaks, sometimes not. It seems to be completely random - I haven't been able to identify any pattern or dependencies. Also, the "stop" case doesn't depend on the presence of "DontRenderAfterStop" file.
So I created two debug logs - one with stop&close case (so no leak) and the other with immediate close after playback started (and with a leak of course). I have a rather slow rig, so maybe that matters and it is some sort of race condition. But definitely there were no such problem with v0.90.3 and before.
That file host sucks big time. I've tried to download the file 3 times. It claims the file was downloaded in some fancy browser page, but it's nowhere on my PC. Found no way to actually successfully download your file.
Could you olease use mediafire or another decent file host? Thanks.
madshi
15th February 2016, 13:34
1) I tested 3D and while it works fine in 1080p, when the desktop is set to 2160p MadVR doesn't set the desktop to 1080p when playing 3D, so I only get a crash from MPC-BE. My understanding was that it was supposed to switch to 1080p automatically, then back to 2160p after playback?
Yes, it's supposed to do that. Which madVR version did you test with? I did a related change in v0.90.9, I think. Does it work in v0.90.8?
k4rma
15th February 2016, 13:40
Is this a new problem with 0.90.9? If so, please try to find out which exact madVR version introduced it. You can download old versions from here:
http://www.videohelp.com/software/madVR/old-versions#download
I cant seem to be able to take a screenshot that matches what im seeing, but i can tell now that the stuttering is because the rendering stats hit the roof (ie. 60-80ms) when in full screen. However my CPU doesnt appear to be taxed that much...strange.
I did try to look using some older versions but the problems keeps reoccurring, so perhaps its not MadVR. Can only think its either Intel drivers (im using HD5000), LAV 0.67 or MPC-HC (1.7.10).
madshi
15th February 2016, 13:48
I cant seem to be able to take a screenshot that matches what im seeing, but i can tell now that the stuttering is because the rendering stats hit the roof (ie. 60-80ms) when in full screen. However my CPU doesnt appear to be taxed that much...strange.
I did try to look using some older versions but the problems keeps reoccurring, so perhaps its not MadVR. Can only think its either Intel drivers (im using HD5000), LAV 0.67 or MPC-HC (1.7.10).
Attaching stuff to this forum doesn't work, takes ages to get it approved. Please upload somewhere else.
Manni
15th February 2016, 14:15
Yes, it's supposed to do that. Which madVR version did you test with? I did a related change in v0.90.9, I think. Does it work in v0.90.8?
I used the latest 0.90.9, but I tried an earlier version with Catalyst last week and it didn't work either, so I waited to be able to test with Crimson before reporting, as Catalyst doesn't work properly with 3D anyway.
Just to be sure, can you tell me which options in MadVR have to be enabled for this automatic switch to happen? I don't use the auto display mode feature of MadVR as it's MyMovies which handles this in my set-up, but my understanding when we last discussed this was that it wasn't necessary.
Here are the options I set: 3D to auto in device property, and enable 3D stereo in rendering / stereo 3D.
I have a separate profile for 3D, which is enabled, so I have specific scaling/rendering etc options for 3D, in case it matters.
leeperry
15th February 2016, 14:30
BTW, I would like to have FRC always enabled except when refresh rates and fps match(50fps@50Hz/59.94fps@60Hz with Reclock forcing 60fps). I would have to create profiles apparently?
mogli
15th February 2016, 14:47
[...]
Could you olease use mediafire or another decent file host? Thanks.
No problem here. Since I downloaded it, I also provide a mirror (http://www.solidfiles.com/d/d38fe88aa0/) (click 'Direct download link', *not* the big green download button).
aufkrawall
15th February 2016, 14:49
That file host sucks big time. I've tried to download the file 3 times. It claims the file was downloaded in some fancy browser page, but it's nowhere on my PC. Found no way to actually successfully download your file.
I suggest JDownloader 2, it can download files and videos from many hosters and is open source.
However, watch out during the installation to uncheck the adware crap (don't use express installation).
It's btw. a very useful tool to watch most videos from the web with madVR.
Ver Greeneyes
15th February 2016, 16:44
did you used/tried "input encoding TV RGB range 16-235 (clip WTW)?Yep, I can confirm that using the right bloody setting (-eT as opposed to -et) also fixes the problem. Classic PEBKAC :\
Its documented here:
https://sourceforge.net/projects/thr3dlut/files/doc/Thanks!
huhn
15th February 2016, 16:59
BTW, I would like to have FRC always enabled except when refresh rates and fps match(50fps@50Hz/59.94fps@60Hz with Reclock forcing 60fps). I would have to create profiles apparently?
doesn't option 2 in FRC with using display mode xxxxp50, xxxxp60 doesn't do the trick?
madshi
15th February 2016, 18:01
I used the latest 0.90.9, but I tried an earlier version with Catalyst last week and it didn't work either, so I waited to be able to test with Crimson before reporting, as Catalyst doesn't work properly with 3D anyway.
Just to be sure, can you tell me which options in MadVR have to be enabled for this automatic switch to happen?
3D enabled and display set to "auto".
Please create a debug log with v0.90.10, maybe I can see something.
No problem here. Since I downloaded it, I also provide a mirror (http://www.solidfiles.com/d/d38fe88aa0/) (click 'Direct download link', *not* the big green download button).
Thanks!
http://hugefiles.net/4eeyrwm5p5xz
I've found out that if I stop the playback before closing the file or opening another, the leak is never there (and it is so in both v0.90.4 and v0.90.9 builds). But if I do this while playing or on pause - sometimes it leaks, sometimes not. It seems to be completely random - I haven't been able to identify any pattern or dependencies. Also, the "stop" case doesn't depend on the presence of "DontRenderAfterStop" file.
So I created two debug logs - one with stop&close case (so no leak) and the other with immediate close after playback started (and with a leak of course). I have a rather slow rig, so maybe that matters and it is some sort of race condition. But definitely there were no such problem with v0.90.3 and before.
Ok, I've done one more change. Is it fixed in v0.90.10? If not, please create a new debug log with v0.90.10. Please use mediafire (or some other *good* upload site) for uploading instead of hugefiles. Thanks.
I suggest JDownloader 2, it can download files and videos from many hosters and is open source.
However, watch out during the installation to uncheck the adware crap (don't use express installation).
It's btw. a very useful tool to watch most videos from the web with madVR.
Thanks, will give it a try.
madshi
15th February 2016, 18:10
madVR v0.90.10 released
http://madshi.net/madVR.zip
* added support for Jinc (AR) downscaling
* added support for SSIM 1D vs. 2D downscaling
* added a couple of SSIM performance improvements
* added support for reading 3D eye order information from splitter/decoder
* fixed: bitmap subtitles (DVD/Blu-Ray) were not always properly downscaled
* fixed: DXVA deint + SSIM downscaling could result in bad image quality
* fixed: memory leak (maybe)
Notes:
1) Jinc downscaling is quite a bit slower than most other downscaling methods. Benefits and costs are similar to upscaling (less aliasing & moire, slightly less sharp than Lanczos), but less pronounced. Whether it's a good downscaler or not I'll leave for you guys to judge. If you've fun to test Jinc downscaling, please especially test the AR filter. It's quite aggressive. I hope the agressiveness doesn't come with negative side effects?
2) "SSIM 1D" is the same as "SSIM" in v0.90.9 (just a bit faster, I hope). It's based on a Bicubic kernel. "SSIM 2D" is based on a Jinc kernel, so it's rather slow.
3) 3D users please update to the latest LAV build:
https://files.1f0.de/lavf/nightly/LAVFilters-0.67.0-85.exe
This LAV build now tells madVR which order the left/right eyes have. This information is read from the MKV file. Unfortunately MakeMKV doesn't store this information yet. BUT, you can manually edit your MKV files to add this information. Here's how:
Use the mkvtoolnix MKV header editor to add the field "StereoMode" to the video track. Set it to value "13" to signal that the left eye comes first. Set it to "14" to signal that the right eye comes first. Using the latest LAV build and madVR v0.90.10, your MKV files should then play perfectly without you having to toggle the "swap left/right eye" option in the madVR display properties all the time.
aufkrawall
15th February 2016, 19:14
Thanks for the new build.
I think I will just stick with bicubic 150 for downscaling to WQHD, I don't see any real drawback with it with any real video.
kasper93
15th February 2016, 20:35
You may have to reselect SSIM when updating your madVR version because the SSIM internal names changed when I removed the "detailed" vs "clean" option. If that is not the problem, then could you please show a screenshot with the Ctrl+J OSD turned on?
Nah, that's not it. It only happens when NEEDI is used, for example super-xbr works with SSIM. That's why it seems little bit off. https://www.dropbox.com/s/lm5d4tuk6r3oe22/SSIM.png
QBhd
15th February 2016, 20:39
I also seem to keep coming back to bicubic150 for downscaling. I mainly have two scenarios 1) 1280x720 doubled then downscaled to 1024x768 and 2) 1920x1080 downscaled to 1024x768.
QB
Stereodude
15th February 2016, 20:59
I have a question about dropped frames and the "reduce banding artifacts" option. With it enabled I will get dropped frames in the OSD statistics but the max rendering time while the frames drop is still well below 1/FPS. IE: 23.976 content being displayed at "23p" and the max rendering time is less than 20ms and the queues don't empty while the counter increases (in fades), so are the dropped frames real or just an indicator the algorithm is working? It usually drops about 5-6 at a time. If I turn off the "reduce banding artifacts" option I can play back the same file with no dropped frames.
aufkrawall
15th February 2016, 21:09
I don't think that any framedrops should be reported if you want to have a stable playback as granted.
Have you disabled the quality tradeoff option for deband's fade detection? If yes, either
-turn it on again
-increase the queue lengths (I recommend by a lot)
-disable fade detection of deband
Stereodude
15th February 2016, 22:13
I don't think that any framedrops should be reported if you want to have a stable playback as granted.
Have you disabled the quality tradeoff option for deband's fade detection? If yes, either
-turn it on again
-increase the queue lengths (I recommend by a lot)
-disable fade detection of deband
If the max rendering time doesn't spike, the queues don't hiccup (momentarily go empty), and there's not a refresh rate sync issue, where are the dropped frames coming from? Everything else in the OSD says playback is stable and keeping up. Visually, I don't notice any playback glitches when it happens. Hence my question about what the counters mean specifically as it pertains to the "remove banding artifacts" feature.
FWIW, my CPU & GPU queues are 12 and the present queue is 10.
leeperry
15th February 2016, 22:17
doesn't option 2 in FRC with using display mode xxxxp50, xxxxp60 doesn't do the trick?
I'll give you that this option is confusing but it doesn't appear to do what I want when to me FRC only makes sense when fps and refresh rate aren't the exact same, oh well I might look into creating a profile that doesn't enable FRC for 50@50 and 59.94@60.
1) Jinc downscaling is quite a bit slower than most other downscaling methods. Benefits and costs are similar to upscaling (less aliasing & moire, slightly less sharp than Lanczos), but less pronounced. Whether it's a good downscaler or not I'll leave for you guys to judge. If you've fun to test Jinc downscaling, please especially test the AR filter. It's quite aggressive. I hope the agressiveness doesn't come with negative side effects?
:thanks: for the new build.
Truth is, I've been messing around with all the latest features yesterday and long story short:
-I keep RS+SR@1 chroma coz it looks smooth and very detailed, nothing touches it to my eyes and it makes high bitrate 1080p60 video footage breathtaking :cool:
-CR AR LL had been the most sensible choice for a while for a good reason as it's neither too sharp or too blurry. I just tried Jinc downscaling but indeed there's no free lunch to be expected, I'll run more tests later.
-SSIM in 0.90.9 is nice all but for 2X SD/720p@1080p it looks hell too sharp and digital, great choice for PIP indeed. I'll look into its new sub-options that were introduced in .10
-sometimes any 2X luma gives a nasty digital look, sometimes NNEDI3 looks like oil painting or artificial to death, sometimes sxbr25 looks too thick and rings wayyy too much(amplified by both luma & chroma SR's EE), sometimes NEDI looks the most natural by far and some other times all three look oversharp anyway with Jinc AR+SR@2 looking more credible and providing that highly sought after "looking through a window" feeling :)
-still undecided on the Jinc AR "sigmoidal light", I seem to prefer it off on most material
-SR@1 for luma looks very smooth and is most likely my fav sharpen filter in mVR, too bad there's no softer strength but c'est la vie, not gonna ask for a refund just yet anyway :p
-2X SR@1 for luma on lowres is just too much on most material when used in combination with my other settings because SR@1 is already very sharp on its own so too much of a good thing.....less is more sometimes :o
Bottom line is a "set and forget" mVR config is a wild dream at best because as Bruce Lee said "the best technique is to have no technique" and there are no 100% foolproof settings that will look best in any given situation IMO. All this said, it's quite fun to tinker around till you get proud of what you're seeing heh....much like adjusting an EQ till you manage to get rid of most edginess/bumpiness :)
I guess much like EQ, field experience can teach you what combination will look best right away :p
aufkrawall
15th February 2016, 22:24
If the max rendering time doesn't spike, the queues don't hiccup (momentarily go empty), and there's not a refresh rate sync issue, where are the dropped frames coming from? Everything else in the OSD says playback is stable and keeping up. Visually, I don't notice any playback glitches when it happens. Hence my question about what the counters mean specifically as it pertains to the "remove banding artifacts" feature.
FWIW, my CPU & GPU queues are 12 and the present queue is 10.
I think madshi mentioned that without the tradeoff option ticked, the deband fade detection discards some prerendered frames since it can only start the higher deband intensity for the fade detection when the actual fade is detected, and not before.
I don't know if discarded frames are reported as dropped. I assume when the queues are staying full enough and you don't notice any stutter, it should be fine.
However, imho it would be better to move this tradeoff option to the bottom to the options which shouldn't be changed. Imho it's too confusing.
BetA13
15th February 2016, 22:44
Nvidia? Reinstall your drivers with a clean install.
:thanks::thanks:
worked perfect... NNEDI3 works again :)
Also, im wondering if madshi did some performance improvements, or was it nevcairiel or maybe Nvidia i didnt know it..
who knows...anyway, why im writing this, is that i now, all of a sudden can watch 4k stuff and "DucksTakeOff_2160p50.x264.CRF24.mkv" without framedrops?!?!?! and its all smooth..
Before it was struggling to get 1 or 2 fps, if at all...
What happened??? its like a whole new world for me.. the quality is, aahhrgh, i dont know, overhelming?!?!
i have an gtx670, and therefor no native 4k support or HEVC..
Why does it work now?? Its using my GPU not the CPU also.. so thats good..
I even tested an 1080p x265 HEVC encoding and it worked like charm, and the gpu was doing teh work...
i dont know why, or how, but its working now flawless for me.. Never ever could do 4k before with my madvr setup..now i can...
Am i wrong or does teh gtx670 has 4k support??
greetz
madshi
15th February 2016, 23:01
Thanks for the new build.
I think I will just stick with bicubic 150 for downscaling to WQHD, I don't see any real drawback with it with any real video.
I don't think there's a drawback, it's just not as detailed as SSIM in many situations. Do you like Bicubic 150 *better* than SSIM? Or are you using it just because of performance reasons? If so, try SSIM again in v0.90.10. It's not that much slower than Bicubic, anymore, at least with a decent GPU and with a reasonably large downscaling factor (the smaller the downscaling factor, the more extra performance SSIM costs over Bicubic).
Nah, that's not it. It only happens when NEEDI is used, for example super-xbr works with SSIM. That's why it seems little bit off.https://www.dropbox.com/s/lm5d4tuk6r3oe22/SSIM.png
Ah, I see. SSIM currently requires both X and Y to be downscaled (or at least not upscaled). In your case one direction needs upscaling, the other downscaling. In that case SSIM doesn't work. Well, I suppose I could force image doubling in such a way that both X and Y are doubled the same number of times so that SSIM can be used afterwards. But to be honest, I don't think for downscaling after doubling SSIM has much benefit over Bicubic150.
I also seem to keep coming back to bicubic150 for downscaling.
Your own choice like aufkrawall? Or against your will like kasper93?
FWIW, my CPU & GPU queues are 12 and the present queue is 10.
Fade detection is done by CPU. Try 24 CPU queue and 16 GPU queue, in addition to your 10 present queue. Basically fade detection drops some frames of your queues, so it helps having some extra head room available. Especially increasing the CPU queue size doesn't cost you *anything*, other than RAM.
I'll give you that this option is confusing but it doesn't appear to do what I want when to me FRC only makes sense when fps and refresh rate aren't the exact same
Which is what that option should do.
Bottom line is a "set and forget" mVR config is a wild dream at best because as Bruce Lee said "the best technique is to have no technique" and there are no 100% foolproof settings that will look best in any given situation IMO.
Well, if you're aiming to get about the same sharpness level for all kinds of content then you'll have to tweak settings all the time. Different sources come with different sharpness levels. If you're willing to accept that, it should be possible to find some allround settings which might not be perfect every time, but should be more than acceptable almost every time.
But then, I really don't want you to stop tinkering since you seem to like it.
Also, im wondering if madshi did some performance improvements, or was it nevcairiel or maybe Nvidia i didnt know it..
who knows...anyway, why im writing this, is that i now, all of a sudden can watch 4k stuff and "DucksTakeOff_2160p50.x264.CRF24.mkv" without framedrops?!?!?! and its all smooth..
Before it was struggling to get 1 or 2 fps, if at all...
What happened??? its like a whole new world for me.. the quality is, aahhrgh, i dont know, overhelming?!?!
i have an gtx670, and therefor no native 4k support or HEVC..
Why does it work now?? Its using my GPU not the CPU also.. so thats good..
I even tested an 1080p x265 HEVC encoding and it worked like charm, and the gpu was doing teh work...
i dont know why, or how, but its working now flawless for me.. Never ever could do 4k before with my madvr setup..now i can...
Am i wrong or does teh gtx670 has 4k support??
I did do a lot of work on downscaling in general lately, some of which served to improve performance. I'm not sure, maybe that's what helped. Or maybe the old drivers worked very badly for you.
madshi
15th February 2016, 23:13
Here's one more comparison, which shows that sometimes SSIM is *much* better than Bicubic150:
Bicubic150 (http://madshi.net/moireBicubic150.png) - - | - - SSIM (http://madshi.net/moireSSIM.png) - - | - - original (http://www.mediafire.com/download/49ahiwm5ukfu6c9/7640_CO40_FM1-175pct_sRGB.jpg) - - | - - (make sure your browser doesn't zoom these!)
This mostly only applies to high quality high res sources, though. I believe for downscaling after doubling Bicubic150 will almost always be pretty much the same quality as SSIM.
QBhd
15th February 2016, 23:14
Your own choice like aufkrawall? Or against your will like kasper93?
Sorry, we both posted very close together and I did not quote either... Preference for me, not "against my will". However, that was a nice way to phrase that. :)
edit:
Here's one more comparison, which shows that sometimes SSIM is *much* better than Bicubic150:
Bicubic150 (http://madshi.net/moireBicubic150.png) - - | - - SSIM (http://madshi.net/moireSSIM.png) - - | - - original (http://www.mediafire.com/download/49ahiwm5ukfu6c9/7640_CO40_FM1-175pct_sRGB.jpg) - - | - - (make sure your browser doesn't zoom these!)
This mostly only applies to high quality high res sources, though. I believe for downscaling after doubling Bicubic150 will almost always be pretty much the same quality as SSIM.
Hmmm.... Maybe I will use SSIM for my case 2) and Bicubic150 for 1) (1&2 listed above)... will need to pop in a 1080p remux to test that
QB
Manni
15th February 2016, 23:28
3D enabled and display set to "auto".
Please create a debug log with v0.90.10, maybe I can see something.
Fixed in 0.90.10 :)
aufkrawall
15th February 2016, 23:43
I don't think there's a drawback, it's just not as detailed as SSIM in many situations. Do you like Bicubic 150 *better* than SSIM? Or are you using it just because of performance reasons? If so, try SSIM again in v0.90.10. It's not that much slower than Bicubic, anymore, at least with a decent GPU and with a reasonably large downscaling factor (the smaller the downscaling factor, the more extra performance SSIM costs over Bicubic).
Most common video resolution to downscale from is 4k.
The larger the difference between source and target resolution is, the larger gets the advantage of SSIM. I clearly see that when downscaling even higher resolutions than 4k to WQHD, but videos with such a resolution are rather uncommon yet.
A comparison of bicubic 150 vs. SSIM 1D:
Bicubic 150:
http://abload.de/thumb/bic150znjn2.png (http://abload.de/image.php?img=bic150znjn2.png)
SSIM 1D:
http://abload.de/thumb/ssim1dsuk3u.png (http://abload.de/image.php?img=ssim1dsuk3u.png)
With just 4k to WQHD, the foliage with bicubic 150 still looks a little bit sharper to me than with SSIM 1D.
Original:
http://abload.de/thumb/harbor4ks5jd0.jpg (http://abload.de/image.php?img=harbor4ks5jd0.jpg)
I can imagine that it may be totally different when downscaling to 1080p.
AngelGraves13
15th February 2016, 23:50
Thanks for Jinc downscaling. I prefer Jinc AR to most other scaling algorithms. It's not as sharp as others, but has less aliasing and artifacts.
I wonder if we'll ever see an algorithm with sharpness all the way to the right in the graph and no aliasing or other artifacts or ringing of any kind.
A man can dream.
leeperry
15th February 2016, 23:50
Here's one more comparison, which shows that sometimes SSIM is *much* better than Bicubic150
"much better"' as in "sharper than reality"? I've seen boats and windmills in Holland and they looked nowhere near as sharp as through SSIM.
This comparison makes clear to me again that SSIM needs a strength knob *very* badly in order to become usable(to me at least). My goal with mVR is to get a constant feeling of looking through a window and SSIM makes me feel like looking at an overprocessed digital picture, but then again I fully understand that we might all have different goals.
Which is what that option should do.
Fair enough, lemme try again then :confused:
Well, if you're aiming to get about the same sharpness level for all kinds of content then you'll have to tweak settings all the time. Different sources come with different sharpness levels. If you're willing to accept that, it should be possible to find some allround settings which might not be perfect every time, but should be more than acceptable almost every time.
I strive to squeeze the highest sharp/natural ratio out of anything, at least RS+SR@1 got chroma covered so I only get to mess with luma which is indeed quite fun as sometimes magic occurs :)
aufkrawall
15th February 2016, 23:58
My goal with mVR is to get a constant feeling of looking through a window and SSIM makes me feel like looking at an overprocessed digital picture, but then again I fully understand that we might all have different goals.
We are very limited by the small amount of pixels our displays or projectors have, you simply can't make an image with much fewer pixels look almost as good as the source.
4k or better is simply mandatory for having a good image quality.
Stereodude
16th February 2016, 00:15
Fade detection is done by CPU. Try 24 CPU queue and 16 GPU queue, in addition to your 10 present queue. Basically fade detection drops some frames of your queues, so it helps having some extra head room available. Especially increasing the CPU queue size doesn't cost you *anything*, other than RAM.
Thanks for the reply.
I tried your suggestion and that helped some, I still get reported dropped frames, but less of them. Now they seem to come in pairs instead of 5's. I'm running a Haswell i3-4370 (3.8gHz) with Win 8.1 x64 with x64 MPC-HC and x64 madVR. I can't get much more single threaded performance than I have. Going to 48 on the CPU queue did not help any.
FWIW, checking "don't rerender frames when fade in/out is detected" eliminates the reported dropped frames.
BTW, with madVR 0.90.10 the OSD is all kinds of wacky when it comes to reporting which scaling routine is used in conjunction with image doubling. It likes to Display Lanczos3 when Jinc is selected. However, changing the downscaling option to Jinc from Catmull-Rom causes the OSD to change to Jinc from Lanczos3 even though no downscaling is happening. I'm rather confused as to what exactly it's doing.
iSeries
16th February 2016, 00:46
My observations: I can't see any difference between 1d and 2d SSIM. With image doubling 720p and downscaling to 1080p, SSIM looks identical to bicubic100. However, downscaling 4k to 1080p, holy moly SSIM is sharp, sharper even than bicubic150, the image seems to leap out of the screen. Looks awesome. I would agree with leeperry though that perhaps it isn't entirely natural, but without a 4k TV of identical size to compare it to I can't really say for sure.
For doubling 720p and downscaling to 1080p, I've settled on bicubic100. It seems to be the same sharpness that superres 3 adds to catmull-rom, without the drawbacks that I find with superres (adding back aliasing that NNEDI3 doubling so nicely removes).
Stereodude
16th February 2016, 01:24
BTW, with madVR 0.90.10 the OSD is all kinds of wacky when it comes to reporting which scaling routine is used in conjunction with image doubling. It likes to Display Lanczos3 when Jinc is selected. However, changing the downscaling option to Jinc from Catmull-Rom causes the OSD to change to Jinc from Lanczos3 even though no downscaling is happening. I'm rather confused as to what exactly it's doing.
Here's a specific example:
Chroma Upscaling:
http://i.imgur.com/prQ3SrQ.png
Image Downscaling:
http://i.imgur.com/I4kUM5m.png
Image Upscaling:
http://i.imgur.com/1SxGphy.png
Image Doubling:
http://i.imgur.com/oBiE6Xb.png
And the OSD:
http://i.imgur.com/v9QcQzy.jpg
I change one setting, specifically Image Downscaling to Jinc from Catmull-rom and the OSD now shows:
http://i.imgur.com/LAMNSXc.jpg
Keep in mind downscaling isn't being used at all in this scaling operation...
:confused: Is the OSD messed up or is it really not using the modes I've selected and the OSD is accurately reflecting that?
x7007
16th February 2016, 03:20
Madshi
Using Exclusive + 10 bit mode + PotPlayer x86
If I have nvidia 970 , and I have set Pre-render in the NVCP to 3 (Default) , and in Madvr Control Panel I've set it to 3 . it shows me in OSD Present Queue 2-3 /3 , should I change the Pre-render in MadVR Control Panel to 4 so it will be 3-4/4 ? going above 4 for example 6 is after in MadVR causing present queue to be 1-1 or just lower than what was set. Nvidia Control Panel can use maximum of 4 in the NCP .
aufkrawall
16th February 2016, 03:25
3 is default for DirectX games, but it's not default in the Nvidia Control Panel. Set it to application controlled.
If you don't experience frame drops, your queue is long enough. However, 3 is a bit low for edge-cases. It's 8 by default for a reason and with enough VRAM, the more should be the better.
x7007
16th February 2016, 04:05
3 is default for DirectX games, but it's not default in the Nvidia Control Panel. Set it to application controlled.
If you don't experience frame drops, your queue is long enough. However, 3 is a bit low for edge-cases. It's 8 by default for a reason and with enough VRAM, the more should be the better.
I double checked yes, it works with more pre-render when it's on default, but my guess I did give more CPU Decoder queues instead 16 > 24 so it might affect it on this way that it works now. I had Fading - Deband on high-high so I saw last couple madshi posts he said it effect the CPU Decoder by 5 , so it could have caused my issues with the pre-render.
mogli
16th February 2016, 08:54
[...]
I had Fading - Deband on high-high so I saw last couple madshi posts he said it effect the CPU Decoder by 5 , so it could have caused my issues with the pre-render.Having both Fading - Deband at the same value should turn off the fade-in detection and therefore not cause any redone/dropped frames.
madshi
16th February 2016, 09:18
Hmmm.... Maybe I will use SSIM for my case 2) and Bicubic150 for 1) (1&2 listed above)... will need to pop in a 1080p remux to test that
That might make sense.
Fixed in 0.90.10 :)
Great!
Not sure which change caused that to be fixed, though...
Most common video resolution to downscale from is 4k.
The larger the difference between source and target resolution is, the larger gets the advantage of SSIM. I clearly see that when downscaling even higher resolutions than 4k to WQHD, but videos with such a resolution are rather uncommon yet.
With just 4k to WQHD, the foliage with bicubic 150 still looks a little bit sharper to me than with SSIM 1D.
I can imagine that it may be totally different when downscaling to 1080p.
Yes, with your test image and scaling factor I agree that Bicubic is just as good as SSIM, or maybe even a touch better. Maybe the scaling factor is too small when downscaling 4k to WQHD? Or maybe the source image doesn't have enough sharp detail? It's not just edges, it's especially fine detail where SSIM has its advantages. The sort of detail (like brick walls) which can cause moire when using Box downscaling.
Thanks for Jinc downscaling. I prefer Jinc AR to most other scaling algorithms. It's not as sharp as others, but has less aliasing and artifacts.
I wonder if we'll ever see an algorithm with sharpness all the way to the right in the graph and no aliasing or other artifacts or ringing of any kind.
Well, to be fair, I guess there probably won't come anything sharper than SSIM, so I maybe I should change the graphs to have SSIM all the way to the right.
"much better"' as in "sharper than reality"? I've seen boats and windmills in Holland and they looked nowhere near as sharp as through SSIM.
I've linked the original image. Look at it in original resolution and then look again at the downscaled images. Bicubic drops a lot of details which are visible in the SSIM image. SSIM is not a simple sharpener. It measures the detail level in the original image and tries to reproduce it properly (for human perception) in the downscaled image. SSIM is supposed to reproduce exactly the image we would see with our eyes, if we just put some distance between us and the object we're looking at. Of course SSIM is limited by the number of pixels and the aliasing the lower number is causing. But other than that, the sharpness produced by SSIM should be fairly accurate.
I've always been rather unhappy with how soft downscaled images got and thought they should really look sharper.
I tried your suggestion and that helped some, I still get reported dropped frames, but less of them. Now they seem to come in pairs instead of 5's. I'm running a Haswell i3-4370 (3.8gHz) with Win 8.1 x64 with x64 MPC-HC and x64 madVR. I can't get much more single threaded performance than I have. Going to 48 on the CPU queue did not help any.
FWIW, checking "don't rerender frames when fade in/out is detected" eliminates the reported dropped frames.
That's somewhat strange. If you create a debug log with those queue sizes I can have a look. Maybe I'll see some sort of bug.
My observations: I can't see any difference between 1d and 2d SSIM. With image doubling 720p and downscaling to 1080p, SSIM looks identical to bicubic100. However, downscaling 4k to 1080p, holy moly SSIM is sharp, sharper even than bicubic150, the image seems to leap out of the screen. Looks awesome. I would agree with leeperry though that perhaps it isn't entirely natural, but without a 4k TV of identical size to compare it to I can't really say for sure.
For doubling 720p and downscaling to 1080p, I've settled on bicubic100. It seems to be the same sharpness that superres 3 adds to catmull-rom, without the drawbacks that I find with superres (adding back aliasing that NNEDI3 doubling so nicely removes).
In most images I don't see a big difference between 1D and 2D SSIM, either. There are a couple of extreme cases where 2D has slightly less aliasing, though.
Here's a specific example:
I change one setting, specifically Image Downscaling to Jinc from Catmull-rom and the OSD now shows:
Keep in mind downscaling isn't being used at all in this scaling operation...
:confused: Is the OSD messed up or is it really not using the modes I've selected and the OSD is accurately reflecting that?
I'll try to reproduce this when I find some time. Especially the double Jinc is clearly wrong.
AngelGraves13
16th February 2016, 09:37
Can SSIM be used for upscaling? Chroma or Image.
ryrynz
16th February 2016, 09:37
The lack of ringing with SSIM 2D is a sight to behold, getting ever closer to the reigning champion Jinc! Gorgeous.
Not a big difference in perceivable image "quality" wise between 1D and 2D which is quite nice.
A few darker pixels of ringing over 1D but overall it's a solid improvement.
http://screenshotcomparison.com/comparison/162056
With just 4k to WQHD, the foliage with bicubic 150 still looks a little bit sharper to me than with SSIM 1D.
Look at the ends of the crates..
raymondjpg
16th February 2016, 10:30
The active device is the monitor the madVR video window is placed on. You can change it by moving the media player window to another monitor. Other than that I don't understand why it would make sense to try to use a different device (= monitor) than the one the window is rendered on?
Thanks for your reply. The reason I ask is because on occasion, for some reason, madVR picks up another (unknown) device from the same TV monitor, and when I try to delete it in favour of the original (correct) device it refuses to do so saying it cannot delete an active device. The only way I can resolve the issue is to delete the correct device, then restart windows and MPC-HC, and madVR then picks up the correct TV monitor again, and I can then delete the first unknown device.
madshi
16th February 2016, 10:46
Can SSIM be used for upscaling? Chroma or Image.
Not at the moment. Maybe Shiandow will try to make it work for upscaling, but I'm not sure.
The lack of ringing with SSIM 2D is a sight to behold, getting ever closer to the reigning champion Jinc! Gorgeous.
Not a big difference in perceivable image "quality" wise between 1D and 2D which is quite nice.
A few darker pixels of ringing over 1D but overall it's a solid improvement.
Jinc AR should be totally ringing free, right? Did you find any problems with Jinc AR downscaling? I wasn't sure whether having AR to be that aggressive might have negative side effects.
FWIW, at some point I might try getting rid of all the remaining ringing with SSIM (at least 2D).
Thanks for your reply. The reason I ask is because on occasion, for some reason, madVR picks up another (unknown) device from the same TV monitor, and when I try to delete it in favour of the original (correct) device it refuses to do so saying it cannot delete an active device. The only way I can resolve the issue is to delete the correct device, then restart windows and MPC-HC, and madVR then picks up the correct TV monitor again, and I can then delete the first unknown device.
That means that your display device (or AVR?) sometimes sends a slightly different EDID. You can fix this easily: When that unknown device shows up, simply in the settings dialog drag&drop the ID of the unknown device to the real monitor, so that the real monitor has two IDs and the unknown has none, anymore. Doing that should make the real monitor go active (and automatically in the future in the same situation), and you should be able to delete the unknown device afterwards.
ryrynz
16th February 2016, 10:56
Jinc AR should be totally ringing free, right?
It sure looked that way.. VERY clean.
Did you find any problems with Jinc AR downscaling? I wasn't sure whether having AR to be that aggressive might have negative side effects.
Haven't seen any issues yet.
FWIW, at some point I might try getting rid of all the remaining ringing with SSIM (at least 2D).
:D
Jinc AR looks similar to Catmull-Rom with 4K to 1080, it's a little more natural I feel, it's a good downscaler it just suffers from the same softening effect that SSIM overcomes.
Is linear light recommended with downscaling generally? It certainly pumps up whites, I notice black text on white backgrounds seems to suffer some fading.. probably a bit hit and miss.
k4rma
16th February 2016, 12:59
Attaching stuff to this forum doesn't work, takes ages to get it approved. Please upload somewhere else.
http://s11.postimg.org/6adrsue6b/madvr.jpg
Would love to understand what is driving up the rendering stats when my CPU appears to be un-taxed...
k4rma
16th February 2016, 13:07
ok...rebooting my computer seemed to fix the problem...yes that old cookie! Should have tried it earlier.
thanks for trying to help anyways madshi...love the renderer btw!
raymondjpg
16th February 2016, 13:30
That means that your display device (or AVR?) sometimes sends a slightly different EDID. You can fix this easily: When that unknown device shows up, simply in the settings dialog drag&drop the ID of the unknown device to the real monitor, so that the real monitor has two IDs and the unknown has none, anymore. Doing that should make the real monitor go active (and automatically in the future in the same situation), and you should be able to delete the unknown device afterwards.
That is very helpful thank you. I have copied your instructions for future reference.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.