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

Ver Greeneyes
20th July 2014, 17:51
Mathias: Sigmoidization was definitely pointing you in the wrong direction. It's dead. (Apologies.)
On the other hand, I'm pretty excited about this: http://www.imagemagick.org/discourse-server/viewtopic.php?f=22&t=25935&p=113483#p113483

Interesting! So, in words:

1) Convert input (a) from sRGB to linear RGB

2a) Copy (a) to (b)
2b) Apply a gamma of 3 to (b)
2c) Resize (b) using whatever method
2d) Apply a gamma of 1/3 to (b)

3a) Copy (a) to (c)
3b) Negate each channel of (c)
3b) Apply a gamma of 3 to (c)
3c) Resize (c) using whatever method
3d) Apply a gamma of 1/3 to (c)
3e) Negate each channel of (c)

4a) Set output (d) to the mean of each channel of (b) and (c)
4b) Convert output (d) from linear RGB to sRGB

This then produces a result with similarly reduced ringing as if you had converted to LAB before resizing?

Edit: I guess if this thread is solely for madVR support, this might need its own topic.

Stereodude
21st July 2014, 13:41
Ok, in that case it should also be 24fps for decimated 720p60 content. Is there already an entry in the bug tracker for this? If not, could you please make one? Thx.
Okay, I made one. Sorry for the delay. #228 (http://bugs.madshi.net/view.php?id=228)

Also, I know you're officially not taking feature requests, but have you given any thought to adding a masking step in the processing pipeline. Something where a custom number of pixels on each edge could be masked/replaced with black? Something like the equivalent of crop + addborders in Avisynth. This would allow people with fixed pixel displays who are running with 1:1 pixel mapping to hide unwanted artifacts from the edges of content. Thanks!

billqs
21st July 2014, 19:27
I know that you can uncheck various parts of MadVR if you don't have enough horsepower in your CPU/GPU, but I'm building a 4k box and want to know if my i7 3820 CPU and GTX 650Ti GPU would be strong enough to scale to 4k using Jinc3 + AR filter (My Sony projector upscales well, but has too much ringing.) If this is not quite powerful enough to do this, I am open to suggestions a better GPU.

Thanks!

dansrfe
21st July 2014, 21:49
I know that you can uncheck various parts of MadVR if you don't have enough horsepower in your CPU/GPU, but I'm building a 4k box and want to know if my i7 3820 CPU and GTX 650Ti GPU would be strong enough to scale to 4k using Jinc3 + AR filter (My Sony projector upscales well, but has too much ringing.) If this is not quite powerful enough to do this, I am open to suggestions a better GPU.

Thanks!

Depends on what source you're scaling from. If you're scaling from full 1080p then you'll need a 8xx or Titan I believe for Jinc 3 AR.

Asmodian
21st July 2014, 22:11
My Titan can do 1080p30 -> 4K with NNEDI3 32 neuron luma doubling and Jinc3+AR for both chroma and image scaling with smooth motion on, but it is pretty busy at that point. What this says about a 650Ti doing Jinc3, I am not sure. :(

If you are willing to use something like bicubic75+AR for chroma and Jinc3+AR for image the 650Ti might do it but it would be close at best.

huhn
21st July 2014, 22:32
a r9 280 + should be able to do it my r9 270 gets 44 ms with image only and 50ms+ with chroma and image at jinc 3 ar on a 1080p23 source. spline 3 ar is a joke for it it's about 12 ms i'm not even sure if it is in the highest powerstate.

BTW you can easily test this bypressing numblock 9 and force a fake UHD output on mpc HC/BE.
for some reasons image doubling is faster with 16 neurons...

Asmodian
22nd July 2014, 02:38
I did a madVR performance test on my Titan with Jinc3+AR/Jinc3+AR, smooth motion on, debanding low/low, ordered dithering. 4 frame rendering buffer, 1 present queue, windowed mode (new path), Windows 8.1. SLI Off.

1080p24 -> 3840x2160@60Hz, 17.5ms

While playing Nvidia Inspector says:
GPU 41-52%
MCU 10-14%
GPU CLK 549-679 MHz
RAM 1429MB

Assuming performance is directly proportional to shaders*MHz a stock GTX650Ti has 39% of the GPU performance of a Titan @ 679 MHz. It also has 28% of the memory bandwidth of my Titan, well above the 14% I used.

This works out to at worst a 25.9ms rendering time on a GTX650Ti at 90% GPU usage; fine for 30fps or lower but not 60fps (16.6ms).

If I use Bicubic75+AR for chroma scaling and Jinc3 for image it changes to a 15.6 ms rendering time with at most 44% GPU usage. Scaling to a 19.5ms rendering time on a GTX650Ti @ 928MHz and 90% usage. Still not enough for 60 fps but plenty of headroom for 30 fps (33.3ms).

These are worst case estimates though, I wouldn't be surprised if the GTX650Ti had the GPU power for Jinc3 Image and Bicubic75 chroma for 1080p60. Sadly the memory bandwidth is probably insufficient.

Memory usage is a major issue though; if I turn the buffers down to 4 rending and 1 present I still hit 1429MB of GPU memory used and 4/1 is the minimum.

Edit: I was able to get memory usage down to 958MB with Jinc3+AR chroma and Jinc3+AR image by turning on most of the trade quality for performance options (10 bit instead of 16 bit) and turning off debanding and smooth motion.

billqs
22nd July 2014, 04:58
Thanks, guys! You've given me some great information! I'm not looking to game in 4k at this point, just watch movies, so I could probably handle staying at 30fps for the time being. I'm much more familiar with using ATI/AMD cards for my HTPCs but I had read where the Kepler cards had beta drivers allowing them to expose 4k all the way up to 60hz over the same HDMI 1.4 card. My projector doesn't take display port, is there a good 4k option over HDMI for the R9 series from AMD?

Asmodian
22nd July 2014, 06:59
Wow, I had no idea. I happened to be running the newest Nvidia betas and just unplugged my DP 1.2 cable and plugged in an HDMI. It switched to 3840x2160@30 Hz and I have the options for 29, 25, 24, and 23 Hz in Windows.

These are great options for madVR but other then that we are going off topic (as happens all too often here). :(

nikola
22nd July 2014, 18:48
Wow, I had no idea. I happened to be running the newest Nvidia betas and just unplugged my DP 1.2 cable and plugged in an HDMI. It switched to 3840x2160@30 Hz and I have the options for 29, 25, 24, and 23 Hz in Windows.

These are great options for madVR but other then that we are going off topic (as happens all too often here). :(

On the topic of getting the best visual quality:

Be aware that nVidia is actually using chroma downsampling (4:2:2 if I recall correctly) to squeeze 4K into the bandwidth constraints of HDMI 1.4. Which defeats the whole purpose of madVR's RGB processing.

huhn
22nd July 2014, 19:51
it's using 4:2:0 for 4k 60 fps but laeve it at this.

Ceremony
22nd July 2014, 20:20
I've got an issue with madvr on my new laptop (i5-4210, HD4400 or GTX850M, 8GB RAM):

When watching, I get frame drops after a minute or so. The backbuffer queue (all other queues are full!) is suddenly empty and causing dropped frames till i restart the player for another minute of flawless playback. I tried every option in madVR there is. Using either the integrated HD4400 GPU or the dedicated GTX850M doesnt seem to make a difference either. Exclusive fullscreen mode doesnt change anything either.

Overall resource usage is very low while watching and with frames taking merely up to 10ms to render, i doubt raw power is the issue... HELP!

Asmodian
22nd July 2014, 21:05
It sounds like something is going into a low power mode? Check all your advanced power management options or try a "High Power" preset for testing. Try renaming the video player's exe? I don't think this is really a madVR issue, maybe open a new thread so we can discuss possibilities without clogging up this thread with general (video playback) PC support. Maybe link to it from here? :)

Ceremony
22nd July 2014, 22:51
It sounds like something is going into a low power mode? Check all your advanced power management options or try a "High Power" preset for testing. Try renaming the video player's exe? I don't think this is really a madVR issue, maybe open a new thread so we can discuss possibilities without clogging up this thread with general (video playback) PC support. Maybe link to it from here? :)

mhh yeah i will, once i tried that power thingy - though it also happens when im on AC, so i somewhat doubt it. also, render queue also drops. ignore my previous statement^^

JarrettH
23rd July 2014, 00:49
I did a madVR performance test on my Titan with Jinc3+AR/Jinc3+AR, smooth motion on, debanding low/low, ordered dithering. 4 frame rendering buffer, 1 present queue, windowed mode (new path), Windows 8.1. SLI Off.

1080p24 -> 3840x2160@60Hz, 17.5ms

While playing Nvidia Inspector says:
GPU 41-52%
MCU 10-14%
GPU CLK 549-679 MHz
RAM 1429MB

Assuming performance is directly proportional to shaders*MHz a stock GTX650Ti has 39% of the GPU performance of a Titan @ 679 MHz. It also has 28% of the memory bandwidth of my Titan, well above the 14% I used.

This works out to at worst a 25.9ms rendering time on a GTX650Ti at 90% GPU usage; fine for 30fps or lower but not 60fps (16.6ms).

If I use Bicubic75+AR for chroma scaling and Jinc3 for image it changes to a 15.6 ms rendering time with at most 44% GPU usage. Scaling to a 19.5ms rendering time on a GTX650Ti @ 928MHz and 90% usage. Still not enough for 60 fps but plenty of headroom for 30 fps (33.3ms).

These are worst case estimates though, I wouldn't be surprised if the GTX650Ti had the GPU power for Jinc3 Image and Bicubic75 chroma for 1080p60. Sadly the memory bandwidth is probably insufficient.

Memory usage is a major issue though; if I turn the buffers down to 4 rending and 1 present I still hit 1429MB of GPU memory used and 4/1 is the minimum.

Edit: I was able to get memory usage down to 958MB with Jinc3+AR chroma and Jinc3+AR image by turning on most of the trade quality for performance options (10 bit instead of 16 bit) and turning off debanding and smooth motion.

Speaking of rendering times, how do I know what to aim for? My refresh rate is 60 hz. Where did 16.6 ms come from? :thanks:

Stereodude
23rd July 2014, 00:55
Speaking of rendering times, how do I know what to aim for? My refresh rate is 60 hz. Where did 16.6 ms come from? :thanks:
1/60= ? :devil:

Asmodian
23rd July 2014, 02:45
Speaking of rendering times, how do I know what to aim for? My refresh rate is 60 hz. Where did 16.6 ms come from? :thanks:

In addition to what Stereodude said; it isn't based off of your screen's refresh rate but the frame rate of the content you want to watch. Also madVR reports the rendering times you need to be below as "movie frame interval" in its OSD.

seiyafan
24th July 2014, 02:36
How do you show real rendering time? After the last NNEDI3 improvement my rendering times were all in the 1-2 ms.

Anime Viewer
24th July 2014, 02:55
How do you show real rendering time? After the last NNEDI3 improvement my rendering times were all in the 1-2 ms.

My guess is that something has disabled NNEDI3 in madVR/MPC (or whatever you may be using in place of MPC...like Potplayer, etc). Have you changed anything in madVR settings recently (like setting image upscaling to DXVA2)?

madshi
25th July 2014, 18:43
It's already disabled, and GPU queue and pre-presented is at 8 -- should I lower it?
That probably won't help. Playing games works alright on your laptop, using the NVidia GPU? I've no idea what's going on there, to be honest. Probably a driver issue of some sort... :(

Blu-Ray is encoded and stored on the disc as Ycbcr 4:2:0, then madVR converts YCbCr to RGB and does all the processing and output in RGB, correct?
Well, madVR first upscales chroma to get from 4:2:0 to 4:4:4, and then converts to RGB, but other than that: Yes.

I have read on AVSForums that most TVs convert incoming RGB signal back to YCbCr for processing unless we choose a special option to tell the TV to skip the conversion and output pure RGB.
On a Panasonic this option called "1080 Pixel Direct".
Quite true. However, usually this converting back to YCbCr is done in more than 8bit and with some better TVs also in 4:4:4. If done that way it's not too much of a problem. But if the display processes in 4:2:2 or 4:2:0, then obviously you're losing quality. If you have a "pure" mode, that is a good mode to use. However, some displays are fixed to 60Hz in that mode. So there's no simple recommendation that would be valid for every TV.

In my Optimus enabled laptop with GT650m graphics, I can use NNEDI3 upscaling (with no frame drops for SD videos) by adding a registry key to force NVIDIA gpu for OpenCL processing; but I am not able to use any of the error diffusion algorithms due to frames getting dropped when they are enabled. I was wondering if this was due to intel igpu being used for directcompute processing. If this is a possibility, can a registry key be added similarly to force the NVIDIA gpu for directcompute processing?
That's technically not possible, unfortunately. I can choose the GPU for OpenCL processing, but I can't choose the GPU for Direct3D. Have you tried renaming your media player? Reportedly sometimes that helps to activate the NVidia GPU instead of the Intel one.

i was under the impression that onboard graphics is more than sufficient for video playback, but the little time spent reading up on madvr so far has proven me wrong. i know plenty about audio related matters but not so much video, hence this is doubly confusing for me

where do you think the law of diminishing returns kicks in with regards to settings used and GPU power?
A good current onboard graphics is powerful enough for madVR to beat any other renderer out there in quality, and most external video processors and Blu-Ray players etc, too. However, madVR also contains some very power hungry algorithms which are able to squeeze out another few percent of added quality. I can't tell you whether your eyes would see/notice the difference or not, or whether the improvement is worth the added price of a dedicated GPU for you. I just try to give you the best quality I can provide for any GPU power you can offer. Now it's your job to decide whether you're satisfied with very good (if so, just get a good onboard GPU), or whether you want to pay more dollars for a few percent more quality.

EDIT : I've changed the settings with 1080p60 and 1080p59. It seems to work because the refresh rate is changed during playback but it's either 60Hz or 59.9Hz.
Actually that is correct! 1080p59 is a weird name for "1080p with 59.940Hz". Basically 1080p59 is "60Hz / 1.001".

USA NTSC and ATSC use this weird 1.001 factor, which is why for video playback it's usually better to use 24/1.001 instead of 24, and 60/1.001 instead of 60.

as far as i know repeated or dropped frame forced by vsync are not shown in the OSD.
They should be, I think?

Not even in LAV, but in ffdshow... and I find it interesting that madVR specifies that the fullrange information comes not from upstream, but specifically from ffdshow, too.
Cool, eh? :p

Also, I know you're officially not taking feature requests, but have you given any thought to adding a masking step in the processing pipeline. Something where a custom number of pixels on each edge could be masked/replaced with black? Something like the equivalent of crop + addborders in Avisynth. This would allow people with fixed pixel displays who are running with 1:1 pixel mapping to hide unwanted artifacts from the edges of content. Thanks!
Some media players already have a feature like this, e.g. J.River MC. However, I do plan to add masking features in a future version. It's mainly intended for front projection, though (CIH etc).

Be aware that nVidia is actually using chroma downsampling (4:2:2 if I recall correctly) to squeeze 4K into the bandwidth constraints of HDMI 1.4. Which defeats the whole purpose of madVR's RGB processing.
it's using 4:2:0 for 4k 60 fps but laeve it at this.
^ Yes. AFAIK NVidia uses 4:2:0 for 4Kp60, because that's the only way you can send 4Kp60 with the HDMI 1.4 bandwidth. Framesrates of 30p and lower should not be affected, IIRC.

madshi
25th July 2014, 18:43
Mathias: Sigmoidization was definitely pointing you in the wrong direction. It's dead. (Apologies.)
On the other hand, I'm pretty excited about this: http://www.imagemagick.org/discourse-server/viewtopic.php?f=22&t=25935&p=113483#p113483
Hmmmm... Sounds interesting. I'm not familiar with the ImageMagick scripting language, though. Could you do me the favour of describing in a few words how the algorithm works exactly? E.g. I don't understand the exact meaning of "-evaluate-sequence mean -colorspace gray -auto-level" and of "-delete 0 -compose over -composite". Thanks! :)

DarkSpace
25th July 2014, 21:20
Not even in LAV, but in ffdshow... and I find it interesting that madVR specifies that the fullrange information comes not from upstream, but specifically from ffdshow, too.
Cool, eh? :p
Indeed it is! And although I don't use ffdshow myself, I wonder if it makes sense to select profile rules based on the upstream filter, or at least based on whether or not the upstream filter is ffdshow, since madVR can obviously detect that :p

dansrfe
26th July 2014, 00:30
madshi, I've discovered that my iGPU -> 750M problem is resolved when I select "System Default", "VMR 7 (Renderless)", or "Overlay Video Renderer" with "High-performance NVIDIA processor" selected for a renamed mpc-hc.

Strangely, I had only tried EVR and VMR 9 (Renderless) other than madVR and both of the others also gave the same black screen result as madVR. Should I open a bug report for this on the tracker and/or would you need me to provide more information? Thanks.

Asmodian
26th July 2014, 01:12
Have you tried "enable windowed overlay" in the rendering options of madVR? It is interesting that only the old renderers work for you.

dansrfe
26th July 2014, 01:25
Have you tried "enable windowed overlay" in the rendering options of madVR? It is interesting that only the old renderers work for you.

When I select overlay mode in madVR I get "Overly mode not supported on this GPU".

Furthermore, when madVR or any other unsupported renderer (EVR/VMR9) is selected then no activity is shown for the 750M in GPU-Z. While the other mentioned renderers utilize the 750M.

lansing
26th July 2014, 01:37
don't know if it's a bug or something that I missed, I'm using version 0.87.10. I wanted to play my video at its native 24fps, but turning deinterlacing off in madvr's setting doesn't do anything, the video still plays at 60fps.

Flux
26th July 2014, 07:13
madVR 0.87.4 + MPCHC (Windows 7 SP1 64-bit)

Chroma upscaling: NNEDI3 (32 neurons)
Image upscaling: Jinc (3 taps) + anti-ringing filter
Smooth motion: enabled
Trade quality for performance: all unticked except "use random dithering instead of OpenCL error diffusion"
Exclusive mode: enabled

AMD R9 280 3GB GPU (940 MHz / 1250 MHz) with Catalyst 13.12 drivers.

I'm playing 1080p24 10-bit videos and rendering times hover around ~ 22 ms with GPU usage ~ 50% (~ 70ms with error diffusion and ~90% GPU usage).

It is normal that I can't use error diffusion with this GPU? There is tons of dropped frames. Rendering times are correct for this GPU?

sneaker_ger
26th July 2014, 07:17
Upgrade to the latest version of madVR.

Flux
26th July 2014, 07:32
I thought it was latest. Now I'm using 0.87.10 version.

0.87.4

I'm playing 1080p24 10-bit videos and rendering times hover around ~ 22 ms with GPU usage ~ 50% (~ 70ms with error diffusion and ~90% GPU usage).

0.87.10

I'm playing 1080p24 10-bit videos and rendering times hover around ~ 19 ms with GPU usage ~ 43% (~ 20ms with error diffusion and ~47% GPU usage).

Well, I guess that noticeable difference with error diffusion :)

Thanks for correcting this simple mistake :thanks:

James Freeman
26th July 2014, 08:24
I am currently experimenting with my Panasonic ST60 plasma and MadVR, contrast ratio is superb (above 10,000:1), and colors are perfect (sub 2 dE with built in CMS).

First, with this particular model the madLevelsTweaker does nothing, but on my other displays it has effect; It appears the the GPU outputs 0-255 no matter what (like PC mode) when it detects this TV,
In RGB or YCbCr444 modes (nVidia card). I also use the "Pixel Direct" to get 4:4:4 Chroma.

To get a band-less picture I have to use the RGB Limited setting on the TV, and output 16-235 from madVR, this clips the OS shades but it does't matter for me.
When using the RGB Full setting & 0-255 with madVR, the TV creates minor banding like its compressing the incoming 0-255 to 16-235 then stretches back to 0-255.
Its' definitely not MadVR or Nvidia that creates the banding, it appears that the TV's processor only accepts 16-235 steps for bandless picture.

All in all, I preserve BTB and WTW using the RGB Limited on the TV & 16-235 with MadVR, and without any banding.
In effect madVR use one less dithering step because the image does not need to be stretch to 0-255, it stays at the native 16-235.

Bottom line is: 0-255 is not always best; it depends on the display device.
I use the Greyscale Ramp from the AVS709HD disc, and engage the "Reduce Banding Artifacts" in madVR for maximum smoothness, then I select the setting on the TV that looks smoothest/bandless.
I suggest you do the same, to know what's the native range the TV processor expects at the input; it may accept 0-255 and show all shades perfectly but create banding as a side effect.

One question remains; Can madTPG use 16-235, or is it locked to 0-255?

madshi
26th July 2014, 08:40
Indeed it is! And although I don't use ffdshow myself, I wonder if it makes sense to select profile rules based on the upstream filter, or at least based on whether or not the upstream filter is ffdshow, since madVR can obviously detect that :p
It would be possible to add this functionality, but I don't want to do anything just because in theory it sounds useful. Nobody had a practical situation yet where he actually needed it in real life, at least no one reported such a case yet.

madshi, I've discovered that my iGPU -> 750M problem is resolved when I select "System Default", "VMR 7 (Renderless)", or "Overlay Video Renderer" with "High-performance NVIDIA processor" selected for a renamed mpc-hc.

Strangely, I had only tried EVR and VMR 9 (Renderless) other than madVR and both of the others also gave the same black screen result as madVR. Should I open a bug report for this on the tracker and/or would you need me to provide more information? Thanks.
VRM7, System Default and Overlay Video Renderer all don't use Direct3D9 for rendering, that's why they work and why madVR and EVR don't work. D3D9 is broken on your Windows installation. This is not a bug in madVR, but a problem with your Windows installation. As I mentioned before, try installing D3D9 with the D3D9 web installer. If that doesn't help, you may have to reinstall the whole OS.

don't know if it's a bug or something that I missed, I'm using version 0.87.10. I wanted to play my video at its native 24fps, but turning deinterlacing off in madvr's setting doesn't do anything, the video still plays at 60fps.
What is the native format of that video (resolution, framerate, interlaced/progressive etc)?

I am currently experimenting with my Panasonic ST60 plasma and MadVR, contrast ratio is superb (above 10,000:1), and colors are perfect (sub 2 dE with built in CMS).

First, with this particular model the madLevelsTweaker does nothing, but on my other displays it has effect; It appears the the GPU outputs 0-255 no matter what (like PC mode) when it detects this TV,
In RGB or YCbCr444 modes (nVidia card). I also use the "Pixel Direct" to get 4:4:4 Chroma.

To get a band-less picture I have to use the RGB Limited setting on the TV, and output 16-235 from madVR, this clips the OS shades but it does't matter for me.
When using the RGB Full setting & 0-255 with madVR, the TV creates minor banding like its compressing the incoming 0-255 to 16-235 then stretches back to 0-255.
Its' definitely not MadVR or Nvidia that creates the banding, it appears that the TV's processor only accepts 16-235 steps for bandless picture.

All in all, I preserve BTB and WTW using the RGB Limited on the TV & 16-235 with MadVR, and without any banding.
In effect madVR use one less dithering step because the image does not need to be stretch to 0-255, it stays at the native 16-235.

Bottom line is: 0-255 is not always best; it depends on the display device.
I use the Greyscale Ramp from the AVS709HD disc, and engage the "Reduce Banding Artifacts" in madVR for maximum smoothness, then I select the setting on the TV that looks smoothest/bandless.
I suggest you do the same, to know what's the native range the TV processor expects at the input; it may accept 0-255 and show all shades perfectly but create banding as a side effect.
That's very disappointing to hear. It seems that Panasonic has implemented 0-255 support in a very bad way, by stretching it to 16-235 in 8bit. Ouch. Anyway, you're right: Every display behaves differently, so there can only be recommendations what to try first. But in the end everybody should test which setup works best for his particular hardware/display.

One question remains; Can madTPG use 16-235, or is it locked to 0-255?
madTPG uses the same settings you've selected for madVR, which is no wonder since madTPG internally uses madVR for rendering the test patterns.

James Freeman
26th July 2014, 09:08
That's very disappointing to hear. It seems that Panasonic has implemented 0-255 support in a very bad way, by stretching it to 16-235 in 8bit.

Found the problem.

When using the "Direct Pixel" for 4:4:4, it disables the internal high-bitdepth processing.
When "direct pixel" is Disabled the Panel chroma is 4:2:2 but the grey ramp is silky smooth 16-235 or 0-255.
Well I guess my previous post meant to say: "Know thy-TV".

I should add that on a plasma the Contrast control is also the Panel Luminance (how bright is the TV), so I can't turn the Contrast up to clip over 235 like in an LCD.
So I prefer to use 0-255 in madVR (now that it's smooth), to clip above 235 so that I will not see unwanted artifacts, but chroma resolution is compromised.


@Madshi,

What do you think:
No Chroma sub-sampling (4:4:4) at 16-235 & BTB+WTW VS 4:2:2 and 0-255 no BTB/WTW.
The first option is what the TV expects and what any player would output, no Luma dithering, 4:4:4.
The second is a PC configuration, has no BTB/WTW, but also dithers the Luma to 0-255 and is 4:2:2 on my TV.

The question is: What will benefit the picture quality: 4:4:4 & no Luma Dithering OR clipped WTW/BTB?

omarank
26th July 2014, 09:30
That's technically not possible, unfortunately. I can choose the GPU for OpenCL processing, but I can't choose the GPU for Direct3D. Have you tried renaming your media player? Reportedly sometimes that helps to activate the NVidia GPU instead of the Intel one.


Yes, I have renamed the media player as "mpc-hc1".

The very first implementation of error diffusion algorithm that you made was based on OpenCL, but later the implementation was made using directcompute processing. I think it was due to so many issues that arose during that time with OpenCL processing. Now that Open CL processing works properly on most systems, would you consider offering an optional support for error diffusion algorithms with OpenCL processing?

madshi
26th July 2014, 09:33
The second is a PC configuration, has the benefits of 4:4:4 Chroma, but also another dithering stage in madVR.
There are no multiple dithering stages in madVR. There is always exactly one, at the end of all processing.

(The only exception is when a high-bitdepth source must be fed into DXVA for deinterlacing/scaling. In that case madVR has to dither the source down to 8bit for DXVA.)

The very first implementation of error diffusion algorithm that you made was based on OpenCL, but later the implementation was made using directcompute processing. I think it was due to so many issues that arose during that time with OpenCL processing. Now that Open CL processing works properly on most systems, would you consider offering an optional support for error diffusion algorithms with OpenCL processing?
It works properly, but is slower (for error diffusion) than DirectCompute, much slower on AMD hardware. Sorry, no plans to do error diffusion via OpenCL.

innocenat
26th July 2014, 12:52
That probably won't help. Playing games works alright on your laptop, using the NVidia GPU? I've no idea what's going on there, to be honest. Probably a driver issue of some sort... :(

Yeah playing game work fine. [I know it work by checking GPU-Z graph that the games use nvidia gpu] DGDecodeNV doesn't work either, but I don't know whose fault it is.

huhn
26th July 2014, 13:06
as far as i know repeated or dropped frame forced by vsync are not shown in the OSD.
They should be, I think?


i tested it for repeated frames ( 23p source at 25HZ)and they are shown.

huhn
26th July 2014, 13:07
Found the problem.

When using the "Direct Pixel" for 4:4:4, it disables the internal high-bitdepth processing.
When "direct pixel" is Disabled the Panel chroma is 4:2:2 but the grey ramp is silky smooth 16-235 or 0-255.
Well I guess my previous post meant to say: "Know thy-TV"

read this : http://www.hdtvtest.co.uk/news/panasonic-tx-p42st60-201303312779.htm
Full 4:4:4 reproduction (PC) Yes, with [1080p Pixel Direct] enabled, but [HDMI Content Type] must be set to “Photo” to avoid severe sharpening artefacts
worth a try or not:-)
a plasma with 4:4:4 support. i'm getting very very weak right now.

James Freeman
26th July 2014, 15:01
read this : http://www.hdtvtest.co.uk/news/panasonic-tx-p42st60-201303312779.htm
worth a try or not:-)
a plasma with 4:4:4 support. i'm getting very very weak right now.

Thanks huhn.

I have tried my PS3 and everything is smooth when viewing the greyscale ramp image on a USB stick with RGB Full mode.
Apparently this banding problem is created when using an Nvidia gpu HDMI in RGB mode & my TV.
Switching to YCbCr444 makes everything smooth again, even with "Direct Pixel" 4:4:4.
Seems like the ST60 doesn't like the RGB Full NVidia has to offer, but with the PS3 it's just fine.

The "HDMI Content Type" is an HDMI 1.4 feature that automatically switches/sets TV functions like Sharpness, Vivid, Color etc...
Read: HDMI Content Type (http://www.hdmi.org/manufacturer/hdmi_1_4/content_type.aspx)
In the Nvidia control panel its in "adjust desktop color settings" -> "content type reported to the display".
I have disabled this feature straight away on my TV and everything is just right.
Sharpness should be on "0" with this model anyway.

Yes, a good Plasma is great fun. ;)


EDIT:
I found this great article which explains all I needed to know about RGB, YCbCr and Range.
http://www.audioholics.com/home-theater-calibration/hdmi-black-levels-xvycc-rgb

IMO:
The ideal output to a TV is RGB Full from GPU and Limited 16-255 from madVR and set the TV to RGB Limited, anything else expands/compresses the video content.
For example when YCbCr is selected in Nvidia CP the OS is compressed to 16-235 and along with it madVR output which already expanded the content from 16-235 to 0-255, in effect a double compressing/expansion, WTW/BTB are clipped.
Same goes for RGB limited at the GPU (Default before madLevelsTweaker) which compresses the OS to 16-235 along with anything on screen including madVR output.

The ideal option when using a HTPC is Full RGB from the GPU and Limited from madVR (or any other software player), then select Limited RGB on the TV.
This preserves the BTB and WTW and does not undergo any expansion or compression.
Brightness and Contrast on the TV will have the same effect as though a stand alone player is connected to a TV with its native YCbCr.
When you calibrate your display with these settings they will also be effective for any other YCbCr devices like Set-Top Box or Blu-Ray Player.

In effect YCbCr's range is 16-235, BTB 0-15, WTW 236-255.
So I decide to stick with RGB Limited on the TV and madVR, and RGB Full at the GPU output, to simulate a stand alone player only x1000 better because of madVR.

lansing
26th July 2014, 16:08
What is the native format of that video (resolution, framerate, interlaced/progressive etc)?


I've tried on 24fps, 29.97fps, at 720p, 1080p videos, all had the same problem.

JarrettH
26th July 2014, 21:34
Is anyone using Intel DXVA2 scaling? I find it looks too sharp/punchy, however the performance is great. Is it known what scaling Intel is using for this? Even Bicubic 75 AR provides an easier image on the eyes.

huhn
26th July 2014, 21:35
should be ~lanczos 3 ar in 8 bit. atleast in older intel driver

JarrettH
26th July 2014, 21:39
Oh, how do you know for sure? Just curious, that's all. I might as well not switch then. :thanks:

michkrol
26th July 2014, 22:08
Is anyone using Intel DXVA2 scaling? I find it looks too sharp/punchy, however the performance is great. Is it known what scaling Intel is using for this? Even Bicubic 75 AR provides an easier image on the eyes.

Go to Intel HD Graphics Control Panel (or similar-named) and disable (set to application or manual) all image/video enhancement.
Since I don't use iGPU anymore, here's an instruction from Google: https://communities.intel.com/message/240901#240901

Asmodian
26th July 2014, 22:36
Oh, how do you know for sure? Just curious, that's all. I might as well not switch then. :thanks:

This was determined by analyzing the images. It isn't the same Lanczos3+AR that madVR uses but it looks fairly similar to it.

I hope michkrol's suggestion works for you. There are a lot of other things the drivers might do to the video to make it look too sharp/punchy.

JarrettH
26th July 2014, 22:44
I already had them at application controlled. Do you mean I should try lowering the sharpness in the control panel? :cool:

Asmodian
26th July 2014, 22:51
Haha, yeah - turning off sharpness would be a good start. ;)

Turn off everything you can find in Intel's enhancements.

dansrfe
27th July 2014, 01:08
madshi, is it possible for you to add DX11 support again? When I use the web installer, it gives me an error saying that a newer version of DirectX has been detected on the system and it cannot proceed. I think there may be a link with DX9 and allowing NVIDIA to take over rendering.

Please let me know if there's anything else I can try or if you require more info. Thanks.

Anime Viewer
27th July 2014, 02:41
madshi, is it possible for you to add DX11 support again? When I use the web installer, it gives me an error saying that a newer version of DirectX has been detected on the system and it cannot proceed. I think there may be a link with DX9 and allowing NVIDIA to take over rendering.

Were did you get the DirectX installer from?
Try this one if you haven't already:
http://www.microsoft.com/en-us/download/details.aspx?id=35

dansrfe
27th July 2014, 03:00
Were did you get the DirectX installer from?
Try this one if you haven't already:
http://www.microsoft.com/en-us/download/details.aspx?id=35

That's the one I tried.

iopq
27th July 2014, 05:37
Hey madshi, not sure if you're aware of the problem of waking up from standby. I am using Windows 7 64 bit, MPC BE 32 bit (obviously), MadVR 0.87.9

When I resume a video after standby it doesn't play. Gives a Direct3D error or something.

I found a post of a user on XP complaining about the same issue: http://forum.inmatrix.com/index.php?showtopic=13646