Log in

View Full Version : madVR - high quality video renderer (GPU assisted)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 [972] 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329

aufkrawall
21st January 2018, 19:02
I originally tested with 4k material.
With WQHD material, the relative performance hit is even bigger. Are you sure that deband is applied before downscaling? Or perhaps it just happens before upscaling, but after downscaling?

I also remember that when I applied deband after downscaling in MPDN, I could save a ton of performance while not really sacrificing quality compared to applying it before downscaling.

huhn
21st January 2018, 20:03
depending is done after chroma scaling and it is hard to measure.

and it looks to me that it cost less than bicubic for chroma.
https://abload.de/img/debend2ru4p.png
so it is as free as it can get.

aufkrawall
21st January 2018, 20:10
I don't think we agree on the definition of "free". Also looking at single rendertimes is likely just academical since only the total rendertime counts in the end.

huhn
21st January 2018, 20:13
ok now i use deband with NGU very high so it only adds 2 % rendertimes

aufkrawall
21st January 2018, 20:23
ok now i use deband with NGU very high so it only adds 2 % rendertimes
And that is supposed to tell me what? That your GPU didn't run with the same clocks?

huhn
21st January 2018, 20:33
you talk about 30 % of all rendertimes that means what?

so to put it into prospective i posted a screen that shows debanding is as fast if not faster than bicubic for chroma.

my clocks doesn't matter if my GPU clocks higher both will be render faster and the ratio will stay about the same.

but yeah i can create screen where debanding is increasing rendertimes by over 140 %. so what's the point?
https://abload.de/img/debend2vtj2z.png

so the only thing that matter is if we can agree that bicubic chroma is a very cheap scaling algorithm so debanding is very cheap too or we disagree about that.

aufkrawall
21st January 2018, 20:49
D3D GPU usage without deband (full clocks forced via ClockBlocker): stable ~53%
D3D GPU usage with deband (again full clocks forced): stable ~87%

Very, very far from free.

huhn
21st January 2018, 21:00
feel free to post the screen with advanced rendertimes.

if your numbers are correct it should be ~4.8 ms for debanding on a 60 fps source.
edit: can you please check if you use the default trade for quality settings?

aufkrawall
21st January 2018, 21:45
Or perhaps a practical example?
Jinc chroma upscale: ~75% GPU usage, no dropped frames
Jinc chroma + deband: ~95% GPU usage and lots of dropped frames (even with "dont analyze gradient angles for debanding" checked)

huhn
21st January 2018, 21:53
can you please post a screen with advanced rendersteps plz.

mclingo
21st January 2018, 22:20
just tried new AMD driver, 18.1 unfortunately still broken, 3D works fine but loss of HDMI handshake on stopping unless you start the 3D movie in 1080p rather then 2160p, non 4k display users probably wont be aware of this.

this happens with MPC and KODI DS on all driver versions with creators update, any chance you could investigate this problem MADSHI?, it must be something to do with switching modes back from 3D 1080p to 2D 2160p.

note I can usually get handshake back but its a faff, HDMION doesnt always work, neither does DEVCON reset, sometimes I have to switch channels or turn my receiver and TV off, its becoming a bit of a pain.

aufkrawall
21st January 2018, 22:31
can you please post a screen with advanced rendersteps plz.
trade quality on:
https://abload.de/thumb/tqonc4s83.png (http://abload.de/image.php?img=tqonc4s83.png)

trade quality off:
https://abload.de/thumb/tqoffhusyy.png (http://abload.de/image.php?img=tqoffhusyy.png)

It seems to me that unfortunately madVR is very slow in general with Polaris 11/21. :(

huhn
21st January 2018, 22:36
the card can run debanding on UHD 60 FPS with reasonable scaler so it'S not the end of the world

el Filou
21st January 2018, 23:00
Maybe it would be interesting to have an option like "apply post-processing after scaling when downscaling" in the 'trade quality for performance' section for cases like this. (@madshi ?)

Statick
22nd January 2018, 00:45
is there a way to set the zoom control in MadVR to only remove black bars from the left/right sides of the display, and not black bars from the top and bottom?

basically I want to zoom 4:3 content (old TV shows mostly) to something more like 14:9, but I don't want to touch 21:9 stuff (modern movies) at all. at the moment I can only seem to set it to zoom away all black bars, or not at all.

if it's not possible, would it be possible for this feature to be added in a future release?
thanks

Clammerz
22nd January 2018, 03:58
basically I want to zoom 4:3 content (old TV shows mostly) to something more like 14:9, but I don't want to touch 21:9 stuff (modern movies) at all.
Advanced media players should be able to handle your zooming requirements. Zooming is usually controlled by the media player.

SamuriHL
22nd January 2018, 04:53
You mean after every driver update you have to re-do the custom refresh rate optimisation, and it's not guaranteed the results will be as good as earlier? There isn't a way to save the custom refresh rates settings before updating the drivers and restore them afterwards?
No I had to get a replacement 1060 and lost my custom res in between. Not sure about between driver updates tbh.
If you are on nVidia, please can you provide a step by step regarding using CRU to create a custom profile for 1080p23FP that would work with MadVR? I tried and wasn't able to.It wasn't hard. I set the driver to 1080/60 and loaded j River mc. Brought up the madvr settings and edited the 1080/23 custom res. I found the setting I figured would work, hit test, and then ran a video in that res after hitting optimize. I let it run for 20 to 30 minutes and hit optimize again and custom res was created. But it hasn't fixed 3d. I need to play with it more when I get back next weekend.

Sent from my Pixel XL using Tapatalk

ryrynz
22nd January 2018, 06:56
Maybe it would be interesting to have an option like "apply post-processing after scaling when downscaling" in the 'trade quality for performance' section for cases like this. (@madshi ?)

Indeed, this is a good option.


It seems to me that unfortunately madVR is very slow in general with Polaris 11/21. :(

You mean polaris is slow in general with madVR..
Honestly just grab an Nvidia card and never look back :P

Manni
22nd January 2018, 10:52
It wasn't hard. I set the driver to 1080/60 and loaded j River mc. Brought up the madvr settings and edited the 1080/23 custom res. I found the setting I figured would work, hit test, and then ran a video in that res after hitting optimize. I let it run for 20 to 30 minutes and hit optimize again and custom res was created. But it hasn't fixed 3d. I need to play with it more when I get back next weekend.

Sent from my Pixel XL using Tapatalk

Yes, that's why I was asking specifically about 1080p23FP (frame packed, that means 3D). 1080p23 is easy to fix if you're interested, but I play everything (except 3D) in 4K23p, so I have no need for an optimized 1080p23p. I have an optimized 4K23p that works fine (one frame drop every hour, which is not perfect but acceptable).

MadVR can't handle 1080p23pFP specifically, and using CRU doesn't work either (well at least I couldn't find a way to get it to optimise and save the results for a 1080p23FP resolution). The main issue is that the frame rate is 24.00, not 23.976 by default, but I didn't find a way to change that and save it. I can edit, but the changes are not saved and I'm back to default when I check again.

I misunderstood your earlier post. I thought you had found a way using CRU (not MadVR's but nVidia's CP custom res utility) to get 1080p23FP to better than 1 frame drop every hour, but it doesn't seem to be the case.

ryrynz
22nd January 2018, 11:08
Posting this again, i tried the custom modes thing but it seems complicated, time consuming and didn't yield me any results, I gave up on it. This is simple and works very well.

Try this: in nv control panel create a custom resolution. Then use this options:

http://fs5.directupload.net/images/160928/rfiaj3hh.jpg (http://www.directupload.net)

just lower the last vertical pixel counter 1. In this case it would be 1124. Save it and try running a 23,976 movie. It leads to 1 frame drop every 3-4 hours on my machine with my old 970, 960 and new 1060.

mclingo
22nd January 2018, 11:22
Indeed, this is a good option.



You mean polaris is slow in general with madVR..
Honestly just grab an Nvidia card and never look back :P

I agree, if you dont want to use 3D NVIDIA should be your only choice, however 3D is still problematic with NVIDIA and I think perhaps always will be, ATI's 3D implementation has always been better.

I think the best I could get with my NVIDIA card was 11 minutes after a day of fiddling, with standard CRU in MADVR I was getting repeats every 4 mins.

If this gets fixed I may switch to my 1050 but it might not be much better anyway.

ryrynz
22nd January 2018, 11:24
Wouldn't the above work for 3D?

nevcairiel
22nd January 2018, 11:56
I agree, if you dont want to use 3D NVIDIA should be your only choice, however 3D is still problematic with NVIDIA and I think perhaps always will be, ATI's 3D implementation has always been better

Except that you keep complaining about entirely and irreparably losing HDMI sync (which quite clearly is a driver bug, not something madVR causes), so clearly its not as perfect as you make it out to be.

aufkrawall
22nd January 2018, 13:08
You mean polaris is slow in general with madVR..
Honestly just grab an Nvidia card and never look back :P
I know that madVR runs fine on Nvidia, but I got the RX 560 4GB with full chip for just ~115€ incl. shipment.
The GPU can btw. run Jinc scaling quite fast via compute shaders and Vulkan, just saying. ;)

Manni
22nd January 2018, 13:56
Wouldn't the above work for 3D?

No it doesn't, that's what I told SamuriHL above.

If you change the frame rate to 23 for 1080p23FP in nVidia's CRU, it's not saved and the wrong default of 24p remains.

MadVR's custom res works great here by the way, it reduced my dropped frames in 4K23p from one every 5mn to one every hour. Sadly it can't support 1080p23FP.

madshi
22nd January 2018, 14:19
Madvr up to version 0.91.11 all work fine and correctly identify my two separate monitor feeds, a Dell and a Denon AVR.

Anything after this version 0.91.11 (eg.V0.92.1 and upwards) is when things start to go wrong and only displays the 1 Dell monitor device with 1 identification card showing the Denon ID and it's edid.

The issue also looks to get worse further up the revisions as testing version 0.92.1 - one Dell display shows with one identification card - Denon/edid

Testing the latest version - again one Dell display but with 2 identification cards inside at first, both with Denon/edid's, then every time the Denon output is used another identification card appears and stack up (all with Denon/edid's) as first reported and shown in the image I uploaded (eg 10x Denon used, 10x identifications show).

Previously mentioned if I completely remove the Denon and the Dell ID/edid is then detected, this ID/edid then becomes predominant and the dell/edid populates the identifications as they appear instead of the denon ID/edid.

Whatever ID/edid madvr detects first, this is always used and will not detect the 2 separate displays with 2 separate display ID/edids.
Ok, so v0.92.1 is one step down compared to v0.91.11. But you say there's another step down after v0.92.1 somewhere. Could you please check which exact version after v0.92.1 introduced the other step down? Also, it would be greatly helpful if you could make a copy of your "settings.bin" file *) from v0.91.11, v0.92.1 and v0.92.11, zip all 3 of them up and upload them to some file host (don't attach to this forum). Thanks!

*) The "settings.bin" file is only there if madVR has write access to its own folder. Otherwise please export HKEY_CURRENT_USER\Software\madshi\madVR\Settings.

Any chance to get the active 3D LUT displayed on the OSD?
Of course it would be technically possible, but I think only a very small percentage of madVR users is using 3dluts, so adding another line to the OSD just for a very small percentage of users doesn't sound very good to me. The OSD list of information is already very long. I'd like to keep it as short as possible, and only add information that is useful for the majority of users.

1) external command seems a bit flimsy, even on enable. I've created a group profile testing HDR, and selecting a custom profile for calibration based on content (SDR=select Rec-709 calibration on the JVC, HDR=select SDR-BT2020 on the JVC). Although the correct profile is selected based on content, the external command on enable seems hit and miss. It should execute every time I change content type, but it doesn't. I haven't identified a pattern, but I think it was working all the time earlier because it was always the same profile that was selected. I tried reverting to the official build but I get the same results as the test build.
Can you please double check this with something 100% reliable as e.g. "start notepad.exe"? By default madVR calls your batch file in hidden state, so we don't know for sure if madVR didn't call your batch file, or if the batch file started but didn't do its job properly. Testing with e.g. "start notepad.exe" means we know for 100% sure who's to blame: If notepad sometimes doesn't come up, it must be madVR's fault.

EDIT: in case it helps, if I switch the user mode to call in the custom enable field, the mode changes right away when I click apply
I'm sorry, but I don't understand the grammar/english of this sentence. "if I switch the user mode to call". What does that mean?

It seems to be that in some cases but not always the command is either not sent on profile enable or missed.
You seem to consider "not sent" and "missed" to be 2 different things. I don't understand the distinction. Can you explain?

2) Is it just me or has vertical shift according to A/R stopped working in the latest build? I haven't changed anything in my settings, but the picture isn't shifting anymore according to A/R.
Works for me. You're aware of that the zoom control settings don't work with DXVA Native and D3D11 Native decoding, right?

Interesting setting, I never paid it any attention until now.

I would make sure to have a profile set up for using this specifically for 4K content only, it does however make the picture less sharp when it's enabled and it's obviously now not using my set chroma scaler (NGU AA) according to the OSD and changing the scaler makes no difference to the picture so it's using bicubic 150? which is my luma downscaler for 4K.

This doesn't seem entirely correct, it's definitely faster but given the changes it's not just scaling separately, Madshi how is chroma being handled here exactly?

Thing is on my 960 is drops render time from about 30ms on The World in HDR to about 8ms.. but there are obvious differences in the picture which you can see from the screenshot below.
If chroma is scaled separately, it's almost never an exact 200% upscale, anymore. As a result, any resolution doubler is replaced with Jinc (if chroma still needs to be upscaled at all) or Bicubic75.

Since we have real 4K content now, maybe I should activate the trade quality option "scale chroma separately" by default, because it will give a pretty large performance boost for 1080p displays, with only a very small quality loss?

I downloaded the latest MadVR 0.92.11 and must report that I can now play, on GT 1030, UHD HDR 60 fps with HDR conversion on max settings, scaling is DXVA, chroma upscaling set to NGU: Sharp very high quality...can't say that switching chroma scaling between separately or not effects the playback...can't say if I did something wrong before and it's actually not up to the new version...
JFWIW, if image scaling is done with DXVA, chroma is also done with DXVA, so setting chroma to NGU is ignored in this situation.

debanding - you lose detail even on low, this should be off and only used for really poor quality content.
Actually, debanding "low" strength was tuned very carefully to not destroy image detail. While there's no 100% guarantee that it will never destroy any image detail at all, most users who participated in testing agreed that it was not a problem keeping debanding low strength on at all times.

Deband increases render time here by ~30% with RX 560 in WQHD 8 bit. Not exactly very cheap to me.
IMHO, a percentage increase compared to the rest of the rendering pipeline is not a good measurement of cost. E.g. if you use Bilinear for everything, debanding cost might increase to 80%. But if you use NGU for everything, debanding cost might decrease to 3%. A much better cost measurement would be the millisecond render cost per 1080p or 4K frame. Testing with GPU consumption percentage is not good, either, IMHO. Because if you test with the most demanding content (4Kp60), it will make GPU usage percentage numbers look extra bad.

It seems to me that unfortunately madVR is very slow in general with Polaris 11/21. :(
No, that's not true at all, as far as I know. The only problem is with NGU, not with anything else. Furthermore, saying that madVR (or NGU) is slow with Polaris suggests that it's madVR's fault. You should really say that Polaris is slow with NGU, because previous AMD GPU generations had no problems with NGU at all. And Intel and Nvidia don't have any problems with NGU, either. It's just Polaris, which makes is unlikely that it's madVR's fault.

Anyway, if you want to compare overall madVR speed to other renderers/media players, you should carefully make sure that you compare with the same settings. You want an apples to apples comparison, don't you?

So let's see: According to your screenshots, madVR is upscaling chroma to luma resolution first, then you're downscaling to display resolution. That's the default madVR behaviour, so I can't blame you for using that. But I think most other renderers/media players don't upscale chroma first. So for a fair comparison you should probably activate madVR's "scale chroma separately" trade quality option. Also, for luma downscaling, you're using Bicubic AR. As far as I know, your preferred media player's AR filter is not very good, so you're probably not using it. Or if you're using it, there's a chance madVR could be slower due to the AR filter doing better work. So I'd suggest that you turn AR off to make the comparison really fair.

is there a way to set the zoom control in MadVR to only remove black bars from the left/right sides of the display, and not black bars from the top and bottom?

basically I want to zoom 4:3 content (old TV shows mostly) to something more like 14:9, but I don't want to touch 21:9 stuff (modern movies) at all. at the moment I can only seem to set it to zoom away all black bars, or not at all.
You can use profiles. E.g. something like

if (AR > 1.35) "dontTouchBarsProfile" else "43Profile"

I agree that it's not very useful and can be confusing/misleading if not explained in GUI. Once you know, it doesn't hurt to have it there.

I don't really see a benefit of having a different command when disabling a profile and enabling another one though, but there might be a case for that.

The main use is to go back to the state before the profile is called right after playback, if that's not possible then I don't see a use for it.
Hmmmm... The problem with the deactivation command line is this:

Most media players free and recreate the madVR instance when switching to another video file. Which means in the moment when the media player frees the madVR instance, madVR doesn't know if the media player exist, or if it just switches to another video file.

Now I could execute the deactivate command line whenever the media player frees the madVR instance. But if I do that, and if then you just switch from one 1080p23 movie to the next, madVR would execute first the deactivate command line, and then right afterwards the activate command line. Due to multi tasking there isn't even a guarantee that the 2 batch files execute in the "right" order. They must run at the same time, or with bad luck the activation command line might even be executed before the deactivation command line. Which means both batch files might try to talk to your projector at the same time, asking it to do contradicting things at the same time. Which could result in chaos, or in worst case even the projector firmware crashing.

So I'm not really sure what to do with the deactivation command line.

jasonwc18
22nd January 2018, 14:45
Of course it would be technically possible, but I think only a very small percentage of madVR users is using 3dluts, so adding another line to the OSD just for a very small percentage of users doesn't sound very good to me. The OSD list of information is already very long. I'd like to keep it as short as possible, and only add information that is useful for the majority of users.


It's one of the reasons I'm using madvr. Do you have stats on what percentage of users are using this feature? It seems pretty popular with us JVC owners (expensive projector with only 2 point manual greyscale adjustment; 11 point is possible but only with the inferior Spyder meter and JVC's Autocalibration software so no Calman, DisplayCal etc.. In contrast, with a 3DLUT, I get reference results and I can use my existing and superior iDisplay Pro). My understanding is that some of the LG OLEDs have limited manual calibration options as well. 3DLUTs seem to be a perfect solution for people that want to use their existing meters and calibration software to achieve far better results than what's achievable manually.



IMHO, a percentage increase compared to the rest of the rendering pipeline is not a good measurement of cost. E.g. if you use Bilinear for everything, debanding cost might increase to 80%. But if you use NGU for everything, debanding cost might decrease to 3%. A much better cost measurement would be the millisecond render cost per 1080p or 4K frame. Testing with GPU consumption percentage is not good, either, IMHO. Because if you test with the most demanding content (4Kp60), it will make GPU usage percentage numbers look extra bad.

I saw a user post a screenshot of the madvr OSD (Ctrl-J) that broke down rendering times by task (luma upscale, chrome upscale, debanding etc.). However, I only see times for rendering and presentation. How do I enable this detailed information? I'm not sure if this matters but I'm using DXVA Native for video decoding and DX11 FSE mode (10 bit) for display.

Manni
22nd January 2018, 14:51
Of course it would be technically possible, but I think only a very small percentage of madVR users is using 3dluts, so adding another line to the OSD just for a very small percentage of users doesn't sound very good to me. The OSD list of information is already very long. I'd like to keep it as short as possible, and only add information that is useful for the majority of users.


I'm trying to get more people to use MadVR instead of shelling for a Radiance Pro when they don't necessarily need to. To achieve this, I need to do some tests with 3D LUTs and have no doubt about which LUT is applied at any time. It would be extremely useful to me (and those who do use 3D LUTs) to get this info on the OSD.

If you don't want to get more users to know about MadVR's great ability to use 3D LUTs and therefore be more willing/ready to go through the hassle of setting up a HTPC, then it's fine by me. I'll do my tests when I find the time, but it won't be anytime soon because I'm too busy right now to spend the time guessing whether what I'm seeing (which is wrong in some instances, which is why I still haven't posted any recommended settings to JVC users) is due to a wrong calibration or MadVR's HDR to SDR conversion.


Can you please double check this with something 100% reliable as e.g. "start notepad.exe"? By default madVR calls your batch file in hidden state, so we don't know for sure if madVR didn't call your batch file, or if the batch file started but didn't do its job properly. Testing with e.g. "start notepad.exe" means we know for 100% sure who's to blame: If notepad sometimes doesn't come up, it must be madVR's fault.


I already have and confirmed this. Half the time Notepad.exe is not launched. I also have provided proof that my command wasn't the issue even when launched from MadVR, see below.


I'm sorry, but I don't understand the grammar/english of this sentence. "if I switch the user mode to call". What does that mean?


My command calls a different user mode in the JVC according to the custom profile enabled according to the content played. If it's HDR, it selects an SDR BT2020 calibration in the projector, otherwise it selects an SDR REC-709 calibration in the projector.

Half the time, the correct calibration is not selected when the custom profile is enabled.

Apart from doing the notepad.exe test, which doesn't launch, I have 100% ruled out my commands doing the following tests:

I'm playing a file and I verify that the correct custom profile is enabled according to content (it is 100% of the time). Then I go to the enabled profile, and I simply change, in real-time, the command that isn't (always) launched on custom enable, so that it selects a different calibration. 100% of the time, it works when I press apply. If I then change the command again to the original command that isn't always executed on profile enable, it is also executed 100% of the time when I press apply. I can do this 1000 times using any of the 6 user modes supported, when I ask MadVR to execute any of my commands in real-time from the enabled profile, it works 100% of the time.


You seem to consider "not sent" and "missed" to be 2 different things. I don't understand the distinction. Can you explain?


Once we have ruled out 1) the testing selecting each custom profile and 2) the command to be executed, which we have, it leaves two major possibilities I can think of:

1) MadVR doesn't (always) send the command when the profile is enabled
2) MadVR sends the command, but that command is (sometimes) missed by the projector.

As you know, the JVCs won't accept a command if they are already either processing one, or dealing with a HDMI resync (this is why I implemented a user selectable delay in the Vertex, usually between 15-20 seconds, to limit the risks of such a miss to happen). So I have made sure that neither of these was happening when MadVR starts to play the file:

1) The JVC is ready and stable when the file starts playing
2) The correct frame rate is already selected, so that MadVR doesn't have to cause an HDMI resync, which would 100% of the time lead to the command being missed even if it was sent. In fact, I have disabled temporarily the auto frame rate to make sure that there was no risk of this to happen.

Also if it was the JVC missing the command, notepad would launch 100% of the time, which isn't the case, so I don't think it has anything to do with that.


Works for me. You're aware of that the zoom control settings don't work with DXVA Native and D3D11 Native decoding, right?


No, I didn't know that, but I have been using my current settings for ages and zoom control settings were working fine until I upgrade to the latest build. I'll try to see what might have changed in LAV or in MadVR that could explain this. Thanks for confirming they work for you.


Hmmmm... The problem with the deactivation command line is this:
<snip>
So I'm not really sure what to do with the deactivation command line.

I'm not sure either. It's not hurting anything and it seems to be useful to some, so I suggest to leave it and simply provide some info in the GUI/Help if you think I might not be the only one stupid enough to think it works the way I initially thought it did. If that's the case, there is nothing to change, now that I know, hopefully I won't forget :).

mclingo
22nd January 2018, 14:57
Except that you keep complaining about entirely and irreparably losing HDMI sync (which quite clearly is a driver bug, not something madVR causes), so clearly its not as perfect as you make it out to be.

its perfect apart from that, yeah its a bit annoying because nobody is addressing it but there is a workaround as stated.

Flawless 3D playback on AMD with the workaround is better than stuttering playback which has no workaround on NVIDIA cards - and thats when 3D actually works at all...

madshi
22nd January 2018, 15:15
It's one of the reasons I'm using madvr. Do you have stats on what percentage of users are using this feature?
No. I don't have any "phone home" functionality in madVR whatsoever, so I have no clue how many users are using it and how many of them are using 3dluts. But judging from the posts in this thread, I'd say it's max 10% of users who use 3dluts, probably less.

I saw a user post a screenshot of the madvr OSD (Ctrl-J) that broke down rendering times by task (luma upscale, chrome upscale, debanding etc.). However, I only see times for rendering and presentation. How do I enable this detailed information? I'm not sure if this matters but I'm using DXVA Native for video decoding and DX11 FSE mode (10 bit) for display.
Create an empty file or folder named "ShowRenderSteps" in your madVR folder. It's a hack I had originally implemented for my own debugging needs, only, but sometimes users seem to find it useful, too.

I'm trying to get more people to use MadVR instead of shelling for a Radiance Pro when they don't necessarily need to. To achieve this, I need to do some tests with 3D LUTs and have no doubt about which LUT is applied at any time. It would be extremely useful to me (and those who do use 3D LUTs) to get this info on the OSD.
Alright.

I already have and confirmed this. Half the time Notepad.exe is not launched.
Ok. Was it ever launched twice? There's a chance in some cases madVR might activate 2 different profiles in quick sucession during playback start. If that happens, your JVC will probably only react to one of them, or not at all.

I also have provided proof that my command wasn't the issue even when launched from MadVR, see below.

My command calls a different user mode in the JVC according to the custom profile enabled according to the content played. If it's HDR, it selects an SDR BT2020 calibration in the projector, otherwise it selects an SDR REC-709 calibration in the projector.

Half the time, the correct calibration is not selected when the custom profile is enabled.

[...] I have 100% ruled out my commands doing the following tests:

I'm playing a file and I verify that the correct custom profile is enabled according to content (it is 100% of the time). Then I go to the enabled profile, and I simply change, in real-time, the command that isn't (always) launched on custom enable, so that it selects a different calibration. 100% of the time, it works when I press apply. If I then change the command again to the original command that isn't always executed on profile enable, it is also executed 100% of the time when I press apply. I can do this 1000 times using any of the 6 user modes supported, when I ask MadVR to execute any of my commands in real-time from the enabled profile, it works 100% of the time.
These tests seem conclusive, but they're really not 100% reliable. The reason is that there are some things going on in the background that you don't know about. E.g. there's an "mvrSettings.dll" loaded in both the media player and in the madHcCtrl.exe process (which is reponsible for the settings dialog). When you change settings via the settings dialog, it could be either the "mvrSettings.dll" loaded in the madHcCtrl.exe process or the one in the media player process which calls the command line. And the environment variables and working directory might be different in either case. Which means the batch file could in theory be started in both cases, but with different environment variables, which could result in it sometimes succeeding and sometimes failing.

Please just trust me if I say that testing with "start notepad.exe" is the most reliable test. BUT you already did that, so no further discussion needed!! :)

Once we have ruled out 1) the testing selecting each custom profile and 2) the command to be executed, which we have, it leaves two major possibilities I can think of:

1) MadVR doesn't (always) send the command when the profile is enabled
2) MadVR sends the command, but that command is (sometimes) missed by the projector.
3) Or madVR activates 2 profiles at nearly the same time, meaning two batch files run in 2 different processes, trying to convince the projector to do 2 contradicting things.
4) Or something happened which we didn't think of yet.

It's always good to test with the most reliable test that is possible (in this case "start notepad.exe"). Which you already did, so everything's fine.

So can you confirm that in your test, sometimes Notepad shows up, sometimes it doesn't show up, but it never shows up twice? That would mean that madVR sometimes simply doesn't execute the command line, for reasons yet unknown.

How often does the problem occur? And how can I best reproduce it? Does simply starting playback of the *same* video file again and again already produce the error sometimes? Do I have to close the media player between 2 video file test runs, or can I keep it running, and the problem still occurs? What is your exact activation rule?

Manni
22nd January 2018, 15:28
Ok. Was it ever launched twice? There's a chance in some cases madVR might activate 2 different profiles in quick sucession during playback start. If that happens, your JVC will probably only react to one of them, or not at all.


There is a chance for that to happen if the command on profile disable is sent just before or at the same time as the command on profile enable. Initially, I only used the command on profile enable. When I started noticing the issues, I tried to add the opposite command on the profile disable, thinking it might increase the chances for the command to get through if randomly it's not sent. In my further tests I'll go back to using only a command on each profile enable, to rule out a double command.


These tests seem conclusive, but they're really not 100% reliable.
It's always good to test with the most reliable test that is possible (in this case "start notepad.exe"). Which you already did, so everything's fine.

100% agree, this is why I said the main reasons I can think of, I'm sure you can see many others when looking under the hood :)


So can you confirm that in your test, sometimes Notepad shows up, sometimes it doesn't show up, but it never shows up twice? That would mean that madVR sometimes simply doesn't execute the command line, for reasons yet unknown.

How often does the problem occur? And how can I best reproduce it? Does simply starting playback of the *same* video file again and again already produce the error sometimes? Do I have to close the media player between 2 video file test runs, or can I keep it running, and the problem still occurs? What is your exact activation rule?

When I can (probably not before Thursday), I'll run more tests with just notepad.exe and using only the command on custom enable to rule out as many factors as possible and try to identify a pattern and I'll report back ASAP.

Thanks for agreeing to display the active LUT to the OSD, much appreciated. If you only display the line when a LUT is active, it shouldn't clutter the view of those missing out on MadVR's 3D LUT goodness. :)

madshi
22nd January 2018, 15:38
If you only display the line when a LUT is active, it shouldn't clutter the view of those missing out on MadVR's 3D LUT goodness. :)
Good idea!!

clsid
22nd January 2018, 16:13
Since we have real 4K content now, maybe I should activate the trade quality option "scale chroma separately" by default, because it will give a pretty large performance boost for 1080p displays, with only a very small quality loss?Seems a wise plan. The default settings should be optimized for performance to be compatible with as much systems as possible. Madvr is pretty much a requirement for HDR playback (in case of MPC-HC) so an good out-of-the-box experience is essential for novice users.

Will there be another Madvr release this week? Is the settings reset through the api already near top of your todo list? ;)

madshi
22nd January 2018, 16:17
Will there be another Madvr release this week? Is the settings reset through the api already near top of your todo list? ;)
Not sure when exactly, but I'm working on another release. Currently concentrated on fixing bugs and implementing small improvements. I've 17 small-ish things in my to do list (one of those is the "use RCA only if it comes for free" option you requested) with higher priority than the settings reset API, after that it's time for settings reset API... ;) So it shouldn't be too long, but can't say when exactly.

aufkrawall
22nd January 2018, 16:39
Testing with GPU consumption percentage is not good, either, IMHO. Because if you test with the most demanding content (4Kp60), it will make GPU usage percentage numbers look extra bad.

But it relatively reliably shows how far the GPU is from being pushed to its limits.
I know that I said that GPU usage reported by AMD's driver is garbage, but Creators Update 2 Taskmanager shows GPU D3D usage which should be reliable enough with just DX9/11 and HLSL shaders and I also always enforce full clocks with ClockBlocker.
It also matches the total rendertime quite well.


No, that's not true at all, as far as I know. The only problem is with NGU, not with anything else. Furthermore, saying that madVR (or NGU) is slow with Polaris suggests that it's madVR's fault. You should really say that Polaris is slow with NGU, because previous AMD GPU generations had no problems with NGU at all. And Intel and Nvidia don't have any problems with NGU, either. It's just Polaris, which makes is unlikely that it's madVR's fault.

I totally agree with you on NGU, but I wasn't using it. :)
It's just that madVR doesn't seem to use the potential of the GPU well in general, I can provide you with more details via PM.

blackmickey
22nd January 2018, 19:59
HDR Video + madVR + MPC internal subtitle renderer on SDR monitor
https://i.imgur.com/rK0O8Ut.jpg

HDR Video + madVR + XySubFilter on SDR monitor
https://i.imgur.com/BuFpX6o.jpg

The latter is wrong color. :(

madshi
22nd January 2018, 20:05
It's just that madVR doesn't seem to use the potential of the GPU well in general, I can provide you with more details via PM.
Sure, PM me.

HDR Video + madVR + MPC internal subtitle renderer on SDR monitor

HDR Video + madVR + XySubFilter on SDR monitor

The latter is wrong color. :(
Ouch. Can I have a small sample of this file, please? Just large enough for me to reproduce the problem.

blackmickey
22nd January 2018, 20:23
Ouch. Can I have a small sample of this file, please? Just large enough for me to reproduce the problem.

HDR Sample (https://mega.nz/#!5A9UjCyR!qFf6ocXwhCSzJzq0KAGgIzsVmUQt9zr_3BXY7VjdARk)

:thanks:

Steffenhh
22nd January 2018, 20:42
@Madshi, I can reproduce this:

When playing a hdr file and using "let madVR decide" under hdr settings, the image turn grayish/colorless when displaying subtitles.
When using "convert HDR to SDR via pixel shader math", the image maintains the colors when playing subtitles.

-Hitman-
22nd January 2018, 20:53
Ok, so v0.92.1 is one step down compared to v0.91.11. But you say there's another step down after v0.92.1 somewhere. Could you please check which exact version after v0.92.1 introduced the other step down? Also, it would be greatly helpful if you could make a copy of your "settings.bin" file *) from v0.91.11, v0.92.1 and v0.92.11, zip all 3 of them up and upload them to some file host (don't attach to this forum). Thanks!



I have only used 3 versions for this testing...
0.92.11 - not working - worst
0.92.1 - not working
0.91.11 - working

Never had this issue with any version prior to 0.91.11

Here are the files you requested, I've also added snips of each version showing the displays and idents - in the zip, so you can see the issue as is.

http://www.filehosting.org/file/details/720603/WrcJuwVVjk6q5soE/MadVR%20Settings.rar

Thanks for taking a look at this!

ryrynz
22nd January 2018, 21:08
No it doesn't, that's what I told SamuriHL above.

If you change the frame rate to 23 for 1080p23FP in nVidia's CRU, it's not saved and the wrong default of 24p remains.



What's fp? Custom res works fine here. Let madVR change to the correct mode by playing a file, then fire up the control panel and edit the custom res for the current mode. I enter the same things as in the pic but for some reason NV control panel still says 24 in each part under display mode and timing resulting frame drop stats say somewhere around 3-5 hours.

ryrynz
22nd January 2018, 21:17
Since we have real 4K content now, maybe I should activate the trade quality option "scale chroma separately" by default, because it will give a pretty large performance boost for 1080p displays, with only a very small quality loss?


This option is already ticked by default, unless you mean handling it some other way.

jasonwc18
22nd January 2018, 21:29
madshi,

Would you mind clarifying how to go about generating a 3D LUT for BT.2020 content mastered to the DCI-P3 colorspace (basically all UHD Blu-Rays thus far)? You mentioned before that DCI-P3 within a BT.2020 container is basically just DCI-P3. However, if I try to generate a 3DLUT for DCI-P3, wouldn't that result in wrong colors since my projector can only accept BT.2020? I've already generated a 3DLUT for D65/Gamma 2.4/Rec.709 with excellent results. I also did a quick manual calibration of SDR D65/Gamma 2.4/BT.2020 which gives pretty good gamma, greyscale and color tracking through 60-70% saturation, as expected, since the projector can't display higher. I plan to use this mode with madvr's HDR --> SDR tone mapping feature. However, I'm at a loss for how to generate a BT.2020 3D LUT. Both DisplayCal and Calman seem to target 100% saturation within BT.2020, which no current display technology can display. Is what I am trying to achieve currently possible? I've done some research online and all the guides for 3D LUT generation refer to Rec.709.

Manni
22nd January 2018, 22:04
What's fp? Custom res works fine here.

FP = Frame Packed = 3D.

Custom res works fine here too in 2D, but it doesn't work in 3D. :)

Try to create a custom res for 1080p23 in 3D, and if you get it to work (i.e. to save the new parameters) and obtain better than a frame drop every 3-5 min in 3D, please post a step by step, because here it works with 4K23p but not with 1080p23FP (3D). I get one frame drop every hour or so in 2D thanks to custom res, one frame drop every 3 min in 3D because custom res are not possible in 3D, as far as I can see, either with MadVR or with nVidia CRU.

nevcairiel
22nd January 2018, 22:44
When people talk about CRU, I always assume they actually talk about the powerful "Custom Resolution Utility (https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU)" which lets you create custom EDIDs to override the rates you are interested in, not the NVIDIA control panel thing (which AFAIK is never really called CRU anywhere?). Using (the actual) CRU is a bit tricky as you may need to combine multiple tools to get the current EDID and then modify it with CRU to create an override, but people have reportedly tweaked 3D resolutions with it - its just not easy to do.

ryrynz
23rd January 2018, 00:03
Feature request, being able to customize saturation and hue settings a bit. Older anime can look a bit washed out, but I don't want to touch skin tones much or sometimes at all.
Anyone else keen on seeing a bit more flexibility here?

Also I'd like to see madVR being able to set preserve hue in HQ and restoring compressed highlights under 'let madVR decide' if required, or maybe these can be set as default? They improve HDR -> SDR picture quality considerably and don't cost a lot.

brazen1
23rd January 2018, 01:09
Once you set a custom resolution and enable it (either manually in nVidia Control Panel aka NCP or with madVR) are you still able to switch into 10/12 bit color depth?

jasonwc18
23rd January 2018, 01:48
Once you set a custom resolution and enable it (either manually in nVidia Control Panel aka NCP or with madVR) are you still able to switch into 10/12 bit color depth?

Yes. You first select a standard setting which offers 12 bit color. Then, when madvr switches modes to your custom setting (say 4K@23), it will use 12 bit color. When using HDMI 2.0, 12 bit color is not supported in 4K50 or 4K60 modes. However, the NVIDIA interface will allow you to choose 12 bit color for these modes. If you select 12 bit color for either mode, it will still use 8 bit at 4K50/60 because that is all that the HDMI connection will allow, but when you switch modes to 4K30 or below, it will use 12 bit color.

brazen1
23rd January 2018, 02:22
Yes, I'm aware of all that already. Thanks anyway. I had problems in the past with it. Haven't tried with new updates of everything recently though. (nVidia, LAV, madVR, MPC, etc.) I'll give it another go tomorrow.

ryrynz
23rd January 2018, 06:33
Madshi, comparing HDR content to SDR it seems like reds a bit off, for example (http://screenshotcomparison.com/comparison/129892) on the HDR version of Blade Runner 2049 the word Replicants is red on the blu-ray but pink on the 4K with HDR -> SDR conversion.
Changing settings doesn't help, this is with high quality hue and compress highlights, I found that 250 nits to be somewhat comparable between versions.


I also noticed similar pink coloring on a Sony HDR demo with the glass blowing, I'm not expecting things to be dead on, but looks like there's some room for improvement?
It looks like madVR is the best for HDR-> SDR right now regardless.