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

leeperry
27th March 2014, 15:37
So I'm trying to put my GPU fan speed evil plan to action, using BarelyClocked.exe (https://bitcointalk.org/index.php?topic=16406.0) but it's no workee atm, any idea please?

http://thumbnails112.imagebam.com/31712/d4953d317110747.jpg (http://www.imagebam.com/image/d4953d317110747) http://thumbnails109.imagebam.com/31712/74a1aa317110749.jpg (http://www.imagebam.com/image/74a1aa317110749)

30% is only here to easily notice the fan speed increase but ideally I want mVR to set the fan speed to 20% while a movie is running and put it back to 18%(inaudible) once my media player is closed. The command lines do work fine on their own and the profile is properly loaded as it would appear :o

a single new variable instead, pixels-per-second.
This would help a lot with lower resolution interlaced material, I want to set higher neuron counts for 480p30 than 480p60 but I also don't want very complex or numerous if statements. I could use the pixels-per-second instead of width, height
Very good point, I can't do 64x NNEDI for any 720p29.97 or <2.35 720p25 so a "pixels-per-second" argument would hit the spot :)

I would also appreciate a way to disable the crash reporter of mVR as PotP would appear to make it crash randomly when using its seamless playback feature.

seiyafan
27th March 2014, 15:43
Speaking of color management and monitor calibration, there was a very active discussion on gamma a week ago, then it suddenly died, what was the conclusion? Is 2.2 still the best gamma to use to calibrate monitors instead of sGRB and L*?

huhn
27th March 2014, 15:44
How does color management work in the presence of BT.2020? How is BT.2020 content displayed on BT.709 monitors and vice versa? Do you intend to rely on the .3dlut being created against BT.2020? How will you transform into this space? Does madVR detect and respect the --primaries tag? What does it do in the absence of a .3dlut?

Do you do so with constant luminance? Which gamma transfer function do you use to de/encode BT.2020 and BT.709? How will it work moving forwards to a constant-luminance environment? How do plan on dealing with rounding/clipping artifacts on BT.709 and BT.2020 source 3dluts, especially for wide gamut profiles?

When will madVR support .ICC profiles, when will madVR support changing .ICC profiles at runtime (eg. if you move between monitors)?

madvr supports bt 2020. encode tag are readed and used. madvr treats your display as bt 709 so everything that's not bt 709 is transfert to it. you can change this in calibration and bt 2020 is there too, even DCI-p3.

so you don't need a 3d lut a 3d lut is just more accurate than a noraml calibration with a icc file.

nand chan
27th March 2014, 15:48
so you don't need a 3d lut a 3d lut is just more accurate than a noraml calibration with a icc file.

Okay, good to know that the monitor gamut is customizable. I don't understand this line though, what do you mean “normal calibration with a icc file”? I thought madVR *only* supports calibration via 3dlut, or has that changed? Won't it generate a 3dlut from the .icc either way? Doing the full ICC calculation at runtime on the GPU seems like an odd thing to do, or does it only extract the primaries/transfer characteristics and implement those, ignoring detailed stuff like LUT tables in the profile?

e-t172
27th March 2014, 16:05
Speaking of color management and monitor calibration, there was a very active discussion on gamma a week ago, then it suddenly died, what was the conclusion? Is 2.2 still the best gamma to use to calibrate monitors instead of sGRB and L*?

IIRC the discussion was about the gamma to use in internal madVR dithering/error diffusion algorithms, which has nothing to do with monitor calibration. Regarding monitor gamma the agreed upon standard is ITU-R BT.1886 (http://www.itu.int/rec/R-REC-BT.1886-0-201103-I) and I believe there is now wide consensus on that (at least I haven't seen any compelling arguments against it).

For comparison, BT.1886 is equivalent to 2.4 pure power law on a perfect screen with infinitely deep black levels, and is roughly similar to sRGB gamma on typical IPS screens that have a 1000:1 contrast ratio.

Besides, what the hell is "L* gamma"?

Okay, good to know that the monitor gamut is customizable. I don't understand this line though, what do you mean “normal calibration with a icc file”? I thought madVR *only* supports calibration via 3dlut, or has that changed? Won't it generate a 3dlut from the .icc either way? Doing the full ICC calculation at runtime on the GPU seems like an odd thing to do, or does it only extract the primaries/transfer characteristics and implement those, ignoring detailed stuff like LUT tables in the profile?

I believe when huhn wrote "noraml calibration with a icc file" he meant the vcgt (gamma ramps) that are often found in ICC profiles, which has nothing to do with gamut mapping.

madVR does not support ICC, and as far as I know madshi has no plans to implement it. You're stuck with 3DLUTs which are much less convenient to use. I have no idea how madVR does gamut mapping when you feed it BT.2020 content and ask it to convert it to BT.709. That being said, by generating a 3DLUT using a CMS such as Argyll you can get complete control over the gamut mapping since it becomes the responsibility of the 3DLUT, not madVR's.

michkrol
27th March 2014, 16:47
So I'm trying to put my GPU fan speed evil plan to action, using BarelyClocked.exe but it's no workee atm, any idea please?
(cut)
The command lines do work fine on their own and the profile is properly loaded as it would appear :o

I do remember madshi mentioning the command line execution for profiles is not implemented yet. Can't find the exact post right now.

seiyafan
27th March 2014, 17:17
IIRC the discussion was about the gamma to use in internal madVR dithering/error diffusion algorithms, which has nothing to do with monitor calibration. Regarding monitor gamma the agreed upon standard is ITU-R BT.1886 (http://www.itu.int/rec/R-REC-BT.1886-0-201103-I) and I believe there is now wide consensus on that (at least I haven't seen any compelling arguments against it).

For comparison, BT.1886 is equivalent to 2.4 pure power law on a perfect screen with infinitely deep black levels, and is roughly similar to sRGB gamma on typical IPS screens that have a 1000:1 contrast ratio.

Besides, what the hell is "L* gamma"?



Here are the options in my calibration software:
http://www.cmp-color.fr/images/nec_profile_5/500.jpg

e-t172
27th March 2014, 17:26
Okay, so from a quick Google search it seems L* is a weird gamma spec that has nothing to do with video (it seems more intended for printing or other editing work). Don't use it.

Your software doesn't seem to have an option for BT.1886, which is not surprising (maybe that's what "HDTV (ITU-R)" is referring to but that's not clear from your screenshot). In that case a good approximation is to use sRGB assuming you're using a typical IPS screen (1000:1 contrast ratio).

If you want to have complete control other what you're doing I would recommend using Argyll CMS to calibrate your screen and generate a 3DLUT, but that's more technically involved.

Niyawa
27th March 2014, 18:14
I respectfully disagree. Your own experience tells you about only...your own experience. And what is "eye training" anyway? 6233638 says he can easily see single frame drops, and I can too. I think it would be the exceptional case to find someone that cannot. Why do you think people complain about telecine judder? It's only a single field jerk compared to a full frame drop, and yet it is easily detected. Human vision is finely tuned for tracking motion; it's not surprising that we can detect gross discontinuities like frame drops.
Let my clarify. I once couldn't tell when a frame was dropped at all. I know many people close to me who can't either. Those same people can't tell the difference between a TN and IPS screen as well, hell some of my other friends can't even tell when a 4:3 movie was stretched to 16:9. In my case, I've watched many samples and situations where a frame was being dropped/not dropped with the same content, and after some time, it became easy for me to differ stutter and other issues that dropped frames brings (thus the 'eye training', maybe 'eye got used to it' would also be appropriate). There's not much I know, in a technical level at least, about video in general but from both an observation and my own experience I can say with clarity that not everyone perceives the same thing in the same way. So no, you shouldn't be surprised that some people can't tell that a frame is being dropped.

BTW using Bilinear with NNEDI3 is to fill the gap between Jinc3 and N16 x BC75AR, and the gap between N16 x BC75AR and N32 x BC75AR. Sometimes GPU may not be powerful enough for N16 x BC75AR, but enough for N16 x Bilinear. PQ is still better than Jinc3 in most cases.

Lanczos is very close to Bicubic in quality and I don't think it's worth its own level. Maybe level 2a = Bicubic, level 2b = Lanczos. There is a huge gap in both quality and speed between level 1, 2, 3, 4 and 5, while the difference in quality between a and b is very small (that's why I chose "a", "b"; "c' could be Jinc, but the difference between b and c is very small and NNEDI3 x c is too slow for most cases).
Thanks for that link and the summaries.

The only time bilinear made any outstanding difference for me when quality was concerned was with the upscale algorithm, but in chroma it shouldn't be much of a trade-off. madshi told me that the GPU power of bilinear vs any other algorithm is like day and night so if someone is looking to try NNEDI it makes sense. Unfortunately I don't currently possess the hardware to try all of those levels so I appreciate your thoughts on them.

Those graphs are also based on a 1080p>1440p upscale if I'm not wrong, if I could I'd scale the performance data but that's probably not the best way to go about it. I'd like to know what results 720p>1080p would give.

daglax
27th March 2014, 18:39
So i did a lot of testing today, if or if not NNEDI is really worth the trouble and i came to the conclusion, that it's not. I don't know what you guys are seeing or believe what you're seeing, but i sometimes think, i'm in a homeopathy-forum.

Here's is a test for you: I took 3 screenshots, one with NNEDI 32 neurons (bicubic upscaling and CR downscaling), one with JAR 4 taps and one with BC75AR upscaling Which one is NNEDI and which are the others?

Pic A (http://www.directupload.net/file/d/3574/j88ifxfg_png.htm)
Pic B (http://www.directupload.net/file/d/3574/435nnss8_png.htm)
Pic C (http://www.directupload.net/file/d/3574/xoqxs32d_png.htm)

All Pics are from a HQ-720p Source.

*Touche*
27th March 2014, 19:02
So i did a lot of testing today, if or if not NNEDI is really worth the trouble and i came to the conclusion, that it's not. I don't know what you guys are seeing or believe what you're seeing, but i sometimes think, i'm in a homeopathy-forum.

Here's is a test for you: I took 3 screenshots, one with NNEDI 32 neurons (bicubic upscaling and CR downscaling), one with JAR 4 taps and one with BC75AR upscaling Which one is NNEDI and which are the others?

Pic A (http://www.directupload.net/file/d/3574/j88ifxfg_png.htm)
Pic B (http://www.directupload.net/file/d/3574/435nnss8_png.htm)
Pic C (http://www.directupload.net/file/d/3574/xoqxs32d_png.htm)

All Pics are from a HQ-720p Source.

Haha, I know exactly what you mean :) Looking forward to trying these when I get home. It was reported, though, that NNEDI shows better when SD is upscaled.

noee
27th March 2014, 19:11
@daglax:
You should try some NNEDI goodness with SD source material... ;)

soulkeeper
27th March 2014, 19:12
So i did a lot of testing today, if or if not NNEDI is really worth the trouble and i came to the conclusion, that it's not. I don't know what you guys are seeing or believe what you're seeing, but i sometimes think, i'm in a homeopathy-forum.

Here's is a test for you: I took 3 screenshots, one with NNEDI 32 neurons (bicubic upscaling and CR downscaling), one with JAR 4 taps and one with BC75AR upscaling Which one is NNEDI and which are the others?



NNEDI 32 for what?
chroma upscaling?
luma doubling?
chroma doubling?
both of them?
720p source...what about screen resolution?

edit: nnedi is (a)
jinc is (b)

seiyafan
27th March 2014, 19:16
Here's is a test for you: I took 3 screenshots, one with NNEDI 32 neurons (bicubic upscaling and CR downscaling), one with JAR 4 taps and one with BC75AR upscaling Which one is NNEDI and which are the others?

Pic A (http://www.directupload.net/file/d/3574/j88ifxfg_png.htm)
Pic B (http://www.directupload.net/file/d/3574/435nnss8_png.htm)
Pic C (http://www.directupload.net/file/d/3574/xoqxs32d_png.htm)

All Pics are from a HQ-720p Source.

I am staring at my 19'' Eizo at work at 6 inches from the screen, I can see every individual pixel, but I can't see any difference. :o

I noticed that two of them seem to be sharper than the third one when I am 4 inches from the screen, but then that's not how I watch movies. LOL!

wolfman2791
27th March 2014, 21:05
Are my eyes deceiving me or does downsampling provide the best picture there is? Downsampling 3600x2025 60Hz.

Thunderbolt8
27th March 2014, 21:27
So i did a lot of testing today, if or if not NNEDI is really worth the trouble and i came to the conclusion, that it's not. I don't know what you guys are seeing or believe what you're seeing, but i sometimes think, i'm in a homeopathy-forum.

Here's is a test for you: I took 3 screenshots, one with NNEDI 32 neurons (bicubic upscaling and CR downscaling), one with JAR 4 taps and one with BC75AR upscaling Which one is NNEDI and which are the others?

Pic A (http://www.directupload.net/file/d/3574/j88ifxfg_png.htm)
Pic B (http://www.directupload.net/file/d/3574/435nnss8_png.htm)
Pic C (http://www.directupload.net/file/d/3574/xoqxs32d_png.htm)

All Pics are from a HQ-720p Source.
they are not the same frame. so this comparison is pretty void.

and they are not even full 1920p pics?

Shiandow
27th March 2014, 22:29
Here's is a test for you: I took 3 screenshots, one with NNEDI 32 neurons (bicubic upscaling and CR downscaling), one with JAR 4 taps and one with BC75AR upscaling Which one is NNEDI and which are the others?

Pic A (http://www.directupload.net/file/d/3574/j88ifxfg_png.htm)
Pic B (http://www.directupload.net/file/d/3574/435nnss8_png.htm)
Pic C (http://www.directupload.net/file/d/3574/xoqxs32d_png.htm)


You should probably correct for the fact that NNEDI shifts the image slightly, it's now pretty trivial to see which used NNEDI.

Edit: Also it would be easier if you could link to the full size image, having to manually search for the link in that page is somewhat tedious.

Thunderbolt8
28th March 2014, 00:42
these are not even full sized images. the file is 1080p resolution, but the part of the movie image is not -.-

daglax
28th March 2014, 00:56
Hey,
it's pretty hard to get every picture at the exact same frame. If you have a trick, be free to tell me :).

I choosed a better image hoster to allow fullscreen comparison, here are the links:
PIC A (http://postimg.org/image/56f7cnw1f/full/)
PIC B (http://postimg.org/image/42v30pbeb/full/)
PIC C (http://postimg.org/image/jab2l238z/full/)


Oh and someone asked, which NNEDI setting i choosed: It was luma image doubling. Chroma at BC75AR and Fullscreen Exclusive Mode off.

Maybe there is more difference on a SD-source, but to be honest: Most of us don't watch this anymore.
And maybe some of you guys can post screenshots to prove me wrong (and not from one of these stylized theoretical images, but from a true movie source). I'd be glad to notice a real impact on image quality as I'm seeking always for the best possible :)

PS: Be aware that these screenshots are taken on a rig with a single Nvidia 760 GTX with 327.23 drivers. All on a 1080p monitor.

jkauff
28th March 2014, 01:13
Maybe there is more difference on a SD-source, but to be honest: Most of us don't watch this anymore.

You're obviously not a movie collector. 75% of my collection is in SD, because those movies have never been released on Blu-ray.

I don't bother with doubling for Blu-ray (thanks for Profiles, madshi!), but it makes a huge difference with lower resolution sources.

Ver Greeneyes
28th March 2014, 01:16
Hey,
it's pretty hard to get every picture at the exact same frame. If you have a trick, be free to tell me :).In MPC-HC, go to the Navigate menu and select Go To..., then select the frame you want and press Go! :) The second number is the frame rate - just leave that set to whatever it currently is.

daglax
28th March 2014, 01:18
I will test that tomorrow and i'll test SD-sources, too. I tried NNEDI for a short time on a recorded LQ-football game today and i noticed a slight difference, but again not very apparent.

PS: I sold all of my DVDs due to switching to BluRay, so yeah :-D.

QBhd
28th March 2014, 01:53
It almost looks like NEDDI3 for luma doubling is NOT being used. Do you have the "always use" selected? And please, at least use the same frame... you can jump to any frame you want in almost any player.

QB

daglax
28th March 2014, 01:55
Of course it's enabled via "always use". And as i said i'll make some new screenshots tomorrow. Feel free to post some by yourself and prove me wrong. :)

QBhd
28th March 2014, 02:02
My target window is very different, so my results would be very meaningless to most here. I have a TV that has rectangular pixels at 1024x768 (720p plasma circa 2007) so for 720p sources I need upscaling and downscaling at the same time :)

QB

renethx
28th March 2014, 02:41
Those graphs are also based on a 1080p>1440p upscale if I'm not wrong, if I could I'd scale the performance data but that's probably not the best way to go about it. I'd like to know what results 720p>1080p would give.
The levels apply to all scaling factors like this:

http://cdn.avsforum.com/d/da/da027fcd_madVRR7260X.PNG

The main purpose is to give a quick performance chart of each GPU: buy a correct graphics card and get the most out of it by setting "profiles".

Asmodian
28th March 2014, 03:21
Hey,
it's pretty hard to get every picture at the exact same frame. If you have a trick, be free to tell me :).

I choosed a better image hoster to allow fullscreen comparison, here are the links:
PIC A (http://postimg.org/image/56f7cnw1f/full/)
PIC B (http://postimg.org/image/42v30pbeb/full/)
PIC C (http://postimg.org/image/jab2l238z/full/)

Thanks for the effort but not the same frame means a screenshot comparison does not work. I believe you that you don't notice the difference for 720p -> 1080 on your screen.

I like NNEDI for below or at 720p -> 1440, using 32 neuron doubling followed by downscaling for 1080p -> 1440p is very subtle. 32 neuron + CR-AR-LL, 1080 -> 2160 -> 1440 does give a very mild sharpening effect but the difference between NNEDI3 128 and Jinc3 for 720p -> 1440 is much more significant.

Personally I don't really like upscaling anything under 2.0 with NNEDI. Thanks for the options madshi. :)

seiyafan
28th March 2014, 04:37
For comparison, BT.1886 is equivalent to 2.4 pure power law on a perfect screen with infinitely deep black levels, and is roughly similar to sRGB gamma on typical IPS screens that have a 1000:1 contrast ratio.



So in MadVR I need to select "BT.709" "pure power curve" "2.40", right?

James Freeman
28th March 2014, 05:52
So in MadVR I need to select "BT.709" "pure power curve" "2.40", right?

There is no right or wrong here, there is personal chioce.
I find 2.4 is too dark in any of the environments I watch movies.

The default 2.2 is a good start.
If your room is dark and the picture looks "flat" and bright, you can raise gamma till you sense more depth.

Try doing this without actually looking on the gamma value, look only on the picture.
Don't be surprised if you go up and down only to settle back on 2.2.

scollaco
28th March 2014, 06:05
There is no right or wrong here, there is personal chioce.
I find 2.4 is too dark in any of the environments I watch movies.

The default 2.2 is a good start.
If your room is dark and the picture looks "flat" and bright, you can raise gamma till you sense more depth.

Try doing this without actually looking on the gamma value, look only on the picture.
Don't be surprised if you go up and down only to settle back on 2.2.

I played around for the longest time too...and settled on 2.2 looking the best. And I'm in a completely light controlled theater.

e-t172
28th March 2014, 09:48
So in MadVR I need to select "BT.709" "pure power curve" "2.40", right?

No. BT.709 should never be used for monitor gamma. BT.709 defines camera (capture) gamma, not rendering gamma. madVR doesn't provide an option for BT.1886 (nor sRGB). If you can use Argyll or other calibration software to achieve BT.1886 gamma, then do it. If not, then I suggest you keep madVR gamma options at their neutral values or you might just eyeball it (worse than nothing, I guess).

There is no right or wrong here, there is personal chioce.

No. There is a standard for this and it's called BT.1886 (http://www.itu.int/rec/R-REC-BT.1886-0-201103-I). It is best to follow the standards if you want to get as close as possible to the artist's intent. If you disagree, please provide actual arguments ("I don't like it" isn't one).

It is true that ideal gamma depends on viewing conditions, but if you want to go that route there are even more sophisticated options to compensate for that (such as CIECAM02 (http://en.wikipedia.org/wiki/CIECAM02)), which are backed by actual numbers. But I don't think there's a need for this if your room is already pitch black.

StinDaWg
28th March 2014, 11:29
If I wanted to keep some more of the sharpness effect from nnedi, is there anything "wrong" with using Lanczos 4 AR for downsizing after nnedi doubling instead of CR AR? All I ever see recommended for downsizing is CR AR.

James Freeman
28th March 2014, 11:35
BT.1886 sucks, and I don't like it. :D

Actually on a low-ish CR (1000:1) Monitor/TV I much prefer Black Compensated Power Curve, because it gives better apparent depth and darker shadows (not crushed, just denser), whether BT.1886 may be too bright.
Most Monitors/TVs are calibrated to power curve with black compensation anyway and not BT.1886.
On TV's, playing with the Brightness control will also change the gamma cure with it.

e-t172,
If seiyafan knew about BT.1886 he would not be asking about what basic settings to use, isn't he?
BT.709 he was referring to in his post is the Color Space, not the gamma curve.

ryrynz
28th March 2014, 11:42
If I wanted to keep some more of the sharpness effect from nnedi, is there anything "wrong" with using Lanczos 4 AR for downsizing after nnedi doubling instead of CR AR? All I ever see recommended for downsizing is CR AR.

Nothing wrong with it what-so-ever. Recommendations are generally based upon user preference.

Vyral
28th March 2014, 13:31
I may have miss something, is Linear Light not used anymore with Catmull-Rom + AR for downscaling ?

6233638
28th March 2014, 13:44
I may have miss something, is Linear Light not used anymore with Catmull-Rom + AR for downscaling ?I would use it if your system can handle that.

I had another look over the downscaling options again recently and it still seemed to produce the best image quality.


I would not suggest using linear light with any of the other options though - up or downscaling.

seiyafan
28th March 2014, 13:52
Sorry, I meant color space, the choice above the gamma options.

e-t172
28th March 2014, 14:17
e-t172,
If seiyafan knew about BT.1886 he would not be asking about what basic settings to use, isn't he?
BT.709 he was referring to in his post is the Color Space, not the gamma curve.

Sorry, I meant color space, the choice above the gamma options.

Yes, sorry, my bad. If I had paid more attention I would have noticed that "BT.709 pure power curve" in seiyafan's question doesn't actually make any sense in the way I interpreted it.

madshi
28th March 2014, 14:27
This in know problem with ISR and madVR and how they handle subtitles for DVD or timing in fact.

[...]

This build should resolve this issue
Thanks for the fix! :)

I'm using the vanilla MPC-HC standalone VSfilter v1.7.3 here
In 0.87.4 and all previous versions of madVR (and all the other video renderers), switching the subtitles language while a video is playing "froze" the image for an extremely small amount of time and subs started appearing.
In 0.87.5 and newer, switching the subtitle language while a video is playing has madVR display a black screen (!), then the image comes back with the newly selected subs.
But why would changing the subtitle track result in an exclusive -> windowed switch? Sounds weird to me. Anyway, please create a bug tracker entry for this with an exact description of the situation, e.g. exclusive mode or not. Also please try other subtitle renderers, to find out whether the problem also occurs with e.g. xy-vsfilter, or XySubFilter. Thanks.

another parallel random number implementation. I know, you've already found one and I don't know how this will perform or if it evenapplicable, just posting it here for info.
That doesn't look like it will give a uniform random number at all, especially when s_uRandSeed is small, and when s_uRandSeed is too large s_uRand won't have enough significant bits. As far as I know the random number generator that MadVR uses is faster and more reliable.
^

I have a problem with the full screen mode of madvr.
The default settings deactivate AERO in Windows 7 and my TV say that:

[...]

If I deactivate these settings in madVR, I don't get the problem.

[...]

I use madVR plugin of MeediOS.
Do you have madVR setup to switch display modes for you? Or do you have the display mode switcher disabled? madVR itself does not activate 3D modes. It seems that the NVidia driver does that somehow, when madVR goes fullscreen. But I can't see how that would be my fault, considering that I don't ask for 3D output. Your GPU seems to send 1080p60 in 3D to the display, or something like that...

does Nvidia's edge enhancement feature work with madVR. From what I did as a quick test it didn't. Once I switched to EVR it did. Is this a known thing. Sorry if the question is silly.
It does not. madVR intentionally by-passes all GPU processing algorithms.
^

Normally the GPU processing algorithms are not activate when using madVR, and that's intentional because I don't consider the GPU algorithms to be very good.

However, if you use DXVA deinterlacing or DXVA scaling, and if you force the edge enhancement setting on (instead of letting the application decide) in the GPU control panel, it might become active in madVR, too. I don't recommend to do that, though.

I noticed a strange behavior in madvr running an avisynth framedoubling script.
The avisynth-script doubles the source framerate, let's say to around 48 fps, but if i hit ctrl + j madvr still says, that the video frame rate is 23.976 fps.
It's not madVR's fault. ffdshow/AviSynth incorrectly reports 24fps to madVR in this situation. This should be fixed in ffdshow, but it will be hard to find a developer to do that.

Is this something easy to implement and actually worth it?

I like profiles a lot but I would like the ability to multiply in the if statement or maybe a single new variable instead, pixels-per-second.
This would help a lot with lower resolution interlaced material, I want to set higher neuron counts for 480p30 than 480p60 but I also don't want very complex or numerous if statements. I could use the pixels-per-second instead of width, height, and deintfps so 480p60 would automatically use my 720p30 profile and 720p60 would automatically use my 1080p30 profile. :D
I don't think that's a good idea. E.g. 480p60 could mean that NNEDI3 is used for frame doubling, and that 60 times per second. While 720p30 might disable NNEDI3 and at the same time only require 30 frames per second to be rendered. Generally the framerate is much more important for rendering performance than the source resolution. Because of that I don't think "pixels-per-second" is a good metric. I could of course add support for multiplications, but that would cost quite a bit of time to implement, so I have to say "no" for the time being, because only few users would use that, and I've lots and lots of other things to do.

First and last aren't exclusive to madVR. Pretty much any decent video player will have them, including MPC-HC out of the box. Smooth motion does more harm to the picture than good (IMO). I use IVTC all the time, very handy. Anyways...
FWIW, to my best knowledge the FSE mode in most other video renderers is a very simple implementation. It's almost the same as windowed mode, the renderer just tells Direct3D to go exclusive. Doing so does have benefits: No tearing, and better rendering performance. However, it's no comparison to what madVR is doing: In FSE mode, madVR is rendering many frames in advance and feeding them to Direct3D, a "long" time before they actually need to be displayed. As a result the GPU driver can simply flip to the next frame with every consecutive VSync hardware interrupt. Even if you suspend the media player via taskmanager, video playback will still continue to run smoothly for several frames in madVR FSE mode. This is very different to what most other players do in their FSE implementation, AFAIK.

The effectiveness of smooth motion FRC depends on the source framerate and display refresh rate, and probably also on the display technology. On my computer monitor and my projector smooth motion FRC works *great*. With 24fps @ 60Hz it looks very near to native 24fps @ 24fps. However, I think if the LED backlight of an LCD display pulses in a "weird" way, it might conflict with the way smooth motion works, which could damage the effectiveness of the algorithm. FWIW, my computer monitor has a CCFL backlight.

i just upgraded my GPU from a 5750 to a 280x but my motherboard is a PCI-E 2.0 and when i tried NNEDI3 "64 neurons" it cant handle it but its ok at "32 neurons", material is 1080p24 High-Bitrate and ffdshow is set to output 16bit P016. Could that be that my PCI-E is to slow? Do i need to upgrade? I'm very bad at all this but i really try to learn.. :(

lost frames seems to be way better with P016 then at RGB32 if that makes any sense..... but i get artifacts in windows when i use P016 and NNEDI13.
Are you doing AviSynth processing, or why are you letting ffdshow convert the colorspace? If you don't use AviSynth scripts, I'd recommend using LAV Video Decoder instead of ffdshow, and then let LAV simply output NV12.

AMD GPUs have high OpenCL interop cost. I'm not sure how much the interop cost is a problem in your case. There's not much I can do about it, in any case. We'll have to hope for an AMD driver fix (I'm not optimistic), or maybe wait for NVidia to fix their driver problem (slightly more optimistic about that) and for faster Maxwell GPUs.

madshi, what are your thoughts on using sharpening filters in combination with nnedi doubling? nnedi gives a very nice, sharp, artifact and ringing/aliasing free picture, but I still prefer a bit more sharpness for 720p->1080p scaling. I'm using LumaSharpen at very low values pre-resize, just enough to take out the little bit of softness that is left over from upscaling, nothing more. I think the picture looks pretty much perfect, but I'm wondering if this works against nnedi at all or its just one of those things "do what you think looks best".
I believe sharpening *after* upscaling is usually much better than *before* upscaling. E.g. see here for a small comparison:

| -- original (http://madshi.net/castleOrg.png) -- | -- NNEDI3 doubling (http://madshi.net/sharpenDisabledNNEDI.png) -- | -- sharpen before NNEDI3 doubling (http://madshi.net/sharpenBeforeNNEDI.png) -- | -- sharpen after NNEDI3 doubling (http://madshi.net/sharpenAfterNNEDI.png) -- |

Ok, this is rather strong sharpening (probably too strong), using some AviSynth algorithms. But it nicely shows how sharpening after upscaling works much better than sharpening before upscaling - at least when using NNEDI3.

I don't think I should recommend whether sharpening should be used or not. I think everybody should decide for himself. I do think when using large upscaling factors, some sharpening might make sense to get rid of the softness caused by upscaling.

madshi, any thoughts about the impact of dithering on the motion interpolation algorithms in modern HDTVs?
No idea. I don't think it should make much of a difference, but I don't really know.

That sounds like your best option would be to disable dithering altogether (use simple rounding)
No. Please don't ever do that.

*Every* single hardware and software component has been swapped. Completely fresh hardware with fresh Windows install and testing multiple driver versions. These frame drops keep haunting me everywhere I go. At this point I'm starting to wonder if I'm not becoming insane.
Are you using FSE mode? In FSE mode with smooth motion FRC on, I would not expect any framedrops. If you do get them, upload a debug log for me to look at. Then maybe I can say something about possible causes...

Actually, the chance of seeing a dropped frame is very high, because your eyes are open much longer than they are closed. The chances that your blinks exactly match all the drops is minuscule.
Agreed. However, some movie scenes have a lot of motion, while others can be almost static. If there's only little motion (e.g. just a person talking without moving much), I guess it's possible to not notice a random frame drop once in a while. As soon as there's sufficient motion, though, I think most people would notice frame drops quite easily.

When playing a DCI video, I can see a colour cast in the image. Even when playing a Bluray video, if primaries are forced as DCI-P3 or "this display is calibrated to the following primaries/ gamut: DCI-P3" is selected, the colour cast can be seen in the image.
Forcing a Blu-Ray to DCI-P3 primaries must introduce a serious color cast because that's not how Blu-Rays are encoded. And setting your display "is calibrated to DCI-P3" must also introduce a serious color cast - unless that's really how your display is calibrated. However, if you have a real DCI-P3 video, switching the primaries to DCI-P3 should produce proper colors, I would think.

I think it's due to a shift in the white point, if there is no bug in madVR (this doesn't happen with BT.2020). So I was wondering if madVR could also do white point matching of the source with the display white point while performing gamut conversion so that DCI content can be viewed on regular monitors without any colour cast in the image.
The white point is taken into account somehow in the math I'm doing. But it's been a while since I looked into that, so I don't remember the details. Maybe something is wrong there. Maybe I would need more complicated math to properly change the white point. If you have a true DCI-P3 video which you know for a fact should look correct when played properly, and which looks incorrect in madVR with primaries set to DCI-P3, then please create a bug tracker entry. However, please don't do that if you're not sure yourself. I don't have the time to go guessing how the video should look. So it should be very clear and without any doubt how it should look, so I can really see if there's anything wrong, and if maybe a fixed madVR build corrects the problem.

BTW, does 3dlut take the source white point as input or it always assume the source white point to be D65?
You can select a separate 3dlut for every colorspace, including DCI-P3. Obviously madVR expects the 3dlut to have a white point matching the colorspace it was made for.

I think I found a bug. When I enable BOTH NNEDI3 chroma upscaling and luma doubling, I get frame drops (2 frames per second) when the rendering time is less than the dropping theshold (~41ms), however if I choose a chroma upscaling other than the NNEDI3, I don't get frame drop even if the rendering time is longer than that of the above, as long as it's less than the threshold.
While I don't doubt your observations, I don't think there's anything I can do about this. This is not likely a bug in madVR, but some sort of effect of mixing D3D9 with OpenCL and having interop involved etc etc...

Since I've been using NNEDI3 and Error Diffusion I have really noticed a jump in quality in my front projection setup. I have just purchased an Oppo 103D and plan to use its Darbee processing in combination with MadVR. Now I've just read that the Darbee in the Oppo automatically converts any signal to YcBcR 4:2:2, where it does its internal processing (I earlier thought that the processing was done in the color space that was sent into the unit, but appareantly only the standalone Darblet does this).

So my question is if using MadVR to output RGB to the 103D is worthless because of the 103D's internal color space conversion? Or am I still going to take advantage of some of MadVR's greatness? :confused:
You didn't say whether you use NNEDI for luma doubling or chroma upscaling, so I can't really answer your question.

In any case, why don't you simply try all possible combinations and then report back here which one produces the best overall image quality in your opinion? Please also try sharpening via a custom pixel shader (e.g. see LumaSharpen) or via AviSynth, as an alternative to the Darbee sharpening. Would be interesting to have a shootout between those different options.

I do remember madshi mentioning the command line execution for profiles is not implemented yet.
Correct.

So i did a lot of testing today, if or if not NNEDI is really worth the trouble and i came to the conclusion, that it's not. I don't know what you guys are seeing or believe what you're seeing, but i sometimes think, i'm in a homeopathy-forum.
The benefits of a good scaling algorithm are visible only with reasonably high scaling factors. Whether 720p -> 1080p is a large enough scaling factor I don't know. It's your job to judge that, not mine, I'm just giving you all the options. Of course the bigger the scaling factor, the more difference you will see.

Consider playing back a 720p video on a 4K display. Suddenly it's not an 1.5x scaling factor, but 3.0x. And this going to be needed sooner or later...

I have nnedi3 working on GTX660/GK106 and Nvidia 335.23 drivers (and, it's 20% faster). I blocked deleting of OpenCL/D3D interop images between frames (madvr gets existing instances mapped to IDirect3DTexture9*) and it seems to fix the problem entirely.
Sneaky!! :sly:

Just tried that here, using 335.23 with my NVidia 650, using Windows 8.1 x64, but I can't seem to get it to work. Have you just blocked the clReleaseMemObject() calls? Or did you do something else?

daglax
28th March 2014, 14:41
Wow thanks for that HUGE answer!
the thing about sharpening was very interesting indeed. How did you get avisynth to sharpen after resize, if you do upscaling with madvr? That's iafaik not possible due to the fact, that madvr is always the last "filter" in the row.

leeperry
28th March 2014, 14:50
Hi madshi, sorry to ask again but would you know whether the command-line thingie will work in the next build? Or it low-priority? I'd really love to get this graphic board inaudible when my media-player closed :)

:thanks:

madshi
28th March 2014, 15:00
How did you get avisynth to sharpen after resize, if you do upscaling with madvr?
I did not. For those screenshots I let AviSynth do NNEDI3 upscaling.

would you know whether the command-line thingie will work in the next build? Or it low-priority? I'd really love to get this graphic board inaudible when my media-player closed :)
I don't know. In any case, the command line stuff will be activated when profiles change, it's not activated when the media player closes.

StinDaWg
28th March 2014, 15:48
The effectiveness of smooth motion FRC depends on the source framerate and display refresh rate, and probably also on the display technology. On my computer monitor and my projector smooth motion FRC works *great*. With 24fps @ 60Hz it looks very near to native 24fps @ 24fps. However, I think if the LED backlight of an LCD display pulses in a "weird" way, it might conflict with the way smooth motion works, which could damage the effectiveness of the algorithm. FWIW, my computer monitor has a CCFL backlight.
I have a 60hz Panasonic plasma. When using 24p content at 60hz there is a lot of ghosting with smooth motion on. There is some judder normally, but with smooth motion turned on everything just has a weird look to it. As yes, I am aware of what proper 24p playback is supposed to look like.

I believe sharpening *after* upscaling is usually much better than *before* upscaling. E.g. see here for a small comparison:

| -- original (http://madshi.net/castleOrg.png) -- | -- NNEDI3 doubling (http://madshi.net/sharpenDisabledNNEDI.png) -- | -- sharpen before NNEDI3 doubling (http://madshi.net/sharpenBeforeNNEDI.png) -- | -- sharpen after NNEDI3 doubling (http://madshi.net/sharpenAfterNNEDI.png) -- |

Ok, this is rather strong sharpening (probably too strong), using some AviSynth algorithms. But it nicely shows how sharpening after upscaling works much better than sharpening before upscaling - at least when using NNEDI3.

I don't think I should recommend whether sharpening should be used or not. I think everybody should decide for himself. I do think when using large upscaling factors, some sharpening might make sense to get rid of the softness caused by upscaling.
The reason I am using it pre-resize is because I don't like what sharpening does to a 1080p source that does not need re-sized. It just makes the video oversharpened since it doesn't need sharpening in the first place. There is no way to set up profiles in MPC-HC for shaders, so I either have to have it always on or always off. Perhaps if shaders could be incorporated directly into madVR options it would allow us to set up rules for when to use them or not like we currently have with the other options.

I'm still looking for a good sharpen algorithm that does not touch contrast and brighten the image. Even LumaSharpen does this and I am not a fan of it.

jmonier
28th March 2014, 16:03
But why would changing the subtitle track result in an exclusive -> windowed switch? Sounds weird to me. Anyway, please create a bug tracker entry for this with an exact description of the situation, e.g. exclusive mode or not. Also please try other subtitle renderers, to find out whether the problem also occurs with e.g. xy-vsfilter, or XySubFilter. Thanks.

When I saw the original post, I checked my system and it was indeed showing a brief black when switching between subtitles or from no subtitles to a subtitle. It did NOT show when going from subtitles to NO subtitles. I am using xy-vsfilter (xySubFilter in Zoomplayer is a pain right now so I'm not going to try it).

There is no reason that I can see (in my setup, at least) for it to switch to windowed at this time. I'm not even sure that it happens in madVR, it might be in LAV Splitter, for instance.

That said, I had never even noticed it before my attention was called to it. For me, it's not a problem. It's actually something that I would expect when making switches of this sort.

e-t172
28th March 2014, 16:20
Are you using FSE mode? In FSE mode with smooth motion FRC on, I would not expect any framedrops. If you do get them, upload a debug log for me to look at. Then maybe I can say something about possible causes...

Yes, I am always using the madVR defaults. Reading your reaction I think you didn't notice that this is the same problem as the one I reported days ago, for which I already provided logs. This should ring a bell (http://forum.doom9.org/showthread.php?p=1673653#post1673653). It's surely difficult to keep track of things considering the frenetic activity in this thread :) Maybe I should start a Google doc describing the huge list of steps I've taken to isolate this problem (with no success so far).

I've tried all suggestions I could find including the latest ones in this thread, and they don't help. Again, to put this into perspective, this problem is reproducible even after swapping the *entire* hardware chain (GPU, motherboard, CPU, RAM, PSU, monitor, system drive, I've even tried keyboard and mouse), all software (fresh Windows install, across widely-spaced nVidia driver versions, across different media players, across different madVR versions), and after trying a long list of hacks (madVR configuration changes, Windows kernel changes, disabling power management, disabling BIOS features, enabling MSI in the driver etc.).

What's really puzzling is that I seem to be the only one in this thread who's experiencing this problem: how likely is that considering that even a complete hardware and software replacement (at that point it's equivalent to testing on another fresh PC entirely) doesn't fix the issue? To add insult to injury, I asked a friend to try to reproduce this and he got the exact same issue on TWO different machines (both with nVidia GPUs as well), bringing the successful independent reproduction count to a whopping 4! At this point I am completely flabbergasted that some people in this forum manage to make it work.

I know people in this thread will disagree with me on this, but my extremely thorough testing points very strongly to either a bug within madVR, or an extremely persistent nVidia driver bug that's been there since at least 321.10 (from December), affecting at least the 770 and the 780 Ti. I'm leaning towards the former because I've recently realized that using my Haswell's integrated Intel HD IGP produces the exact same issue as well (!) though I need to confirm that.

Remember the 10-15 millisecond GetRasterStatus() latency spikes I was seeing in XPerf from my linked post above? I still get them even after the aforementioned hardware and software changes. I don't have any proof of this, but it really smells like they are, in fact, the cause of this issue, or at least a highly-correlated phenomenon. Consider the following:

Every 5-7 seconds or so, GetRasterStatus() blocks for an abnormally long amount of time in the 10-15 millisecond range.
Let's assume that during that time the GPU is frozen and unable to swap buffers for frame presentation. The blocking GetRasterStatus() could be a cause or a symptom of that.
The refresh rate is 60Hz, which means that we should still be fine as long as the GPU does not block for more than 16.6 milliseconds.
Race conditions, clock variations, timing issues, jitter and the like cause small variations in the amount of time the GPU blocks. Let's assume that, statistically, for every "block" event (which happens every 5-7 seconds) there is a ~0.3% probability that the GPU will block for more than 16.6 ms, resulting in a frame drop.
That would result in one lone frame drop every 30 minutes or so, which is exactly what I'm seeing.

Of course I still have no way to know for sure if that is actually what's happening but it sure fits. It might be a bit of a stretch, but I would go so far as to postulate that everyone have this GPU freeze problem, and the reason why some people never actually see frame drops is because their freezes get close but never above 16.6ms because they got "lucky" with some hardware/software combination. One argument that corroborates this is that I seem to be able to reduce the frequency of frame drops (but never remove them entirely) by disabling CPU power management in BIOS (which arguably would have the effect of slightly reducing timing variations). However I would expect that frame drops become absolutely unavoidable when using high refresh rates such as 120Hz.

My scenario also neatly explains why some people need to use weird tricks to remove frame drops, like forcing their GPUs into P0 mode (again, reducing timing variations that make GetRasterStatus() cross the deadly threshold).

I've tried using API Monitor (http://www.rohitab.com/apimonitor) to get another perspective but apparently it has a known issue of not being able to intercept most D3D calls.

madshi: here are a few things that you can provide that might help me investigate further:
I can provide another set of logs for you. The ones that I provided in my linked post might not provide completely reliable information because I suspect an unrelated nVidia driver regression got mixed up in there.
Debugging symbols for madVR.ax so that I can get better visibility as to what madVR is doing when the issue occurs (stack traces in XPerf)
A build with extra-verbose logging centered around GetRasterStatus() calls (especially time spent), and ideally some human-readable timestamps to accurately anchor the start-time-based millisecond counter for comparison with XPerf results
What would be perfect would be to have a test-only build that never calls GetRasterStatus() - maybe emulate it using a dumb clock, even if that results in tearing? - but I'm guessing that would probably be tricky and take too much of your time

I'm planning on spending this week-end (again) to continue this investigation, but having access to more detailed logging and profiling information would really help me here.

cyberbeing
28th March 2014, 16:39
@madshi

What is the status on 0000158: Green image when NNEDI3 chroma scaling is used with video deintelacing (http://bugs.madshi.net/view.php?id=158)? It's been quite a few releases now, and it's still marked as new.

I'm using the vanilla MPC-HC standalone VSfilter v1.7.3 here
In 0.87.4 and all previous versions of madVR (and all the other video renderers), switching the subtitles language while a video is playing "froze" the image for an extremely small amount of time and subs started appearing.
In 0.87.5 and newer, switching the subtitle language while a video is playing has madVR display a black screen (!), then the image comes back with the newly selected subs.But why would changing the subtitle track result in an exclusive -> windowed switch? Sounds weird to me. Anyway, please create a bug tracker entry for this with an exact description of the situation, e.g. exclusive mode or not. Also please try other subtitle renderers, to find out whether the problem also occurs with e.g. xy-vsfilter, or XySubFilter. Thanks.

I can confirm this 'cosmetic' change in behavior, and would somewhat agree that having a frozen frame is a bit more visually pleasing for these graph stop/start events required for switching embedded subtitles at the splitter level.

madVR 0.87.4 = brief frozen video frame when switching subtitle tracks
madVR 0.87.5-0.87.7 = brief frozen black frame when switching subtitle tracks

It's not a exclusive -> windowed switch. It occurs even in windowed mode without any subtitle renderer. Whatever the case, going from 'frozen video frame' to 'frozen black frame' when these graph restarts occur, seem to be a side-effect of some change you made in 0.87.5+

leeperry
28th March 2014, 17:55
In any case, the command line stuff will be activated when profiles change, it's not activated when the media player closes.
Alright, thanks for the reply. I'll cook a custom fan speed curve in MSI Afterburner then :)

daglax
28th March 2014, 18:07
The reason I am using it pre-resize is because I don't like what sharpening does to a 1080p source that does not need re-sized. It just makes the video oversharpened since it doesn't need sharpening in the first place. There is no way to set up profiles in MPC-HC for shaders, so I either have to have it always on or always off. Perhaps if shaders could be incorporated directly into madVR options it would allow us to set up rules for when to use them or not like we currently have with the other options.

I'm still looking for a good sharpen algorithm that does not touch contrast and brighten the image. Even LumaSharpen does this and I am not a fan of it.
You should not use MPC's built-in sharpeners, because they are really bad.
Try Avisynth with ffdshow instead and you can have your profiles for sharpening plus sharpening with avisynth allows far more superior quality (just look at madshis images)

Shiandow
28th March 2014, 18:16
You should not use MPC's built-in sharpeners, because they are really bad.
Try Avisynth with ffdshow instead and you can have your profiles for sharpening plus sharpening with avisynth allows far more superior quality (just look at madshis images)

How do you apply Avisynth after upscaling?

seiyafan
28th March 2014, 19:24
Here's a list of high-end graphics card I have had grouped according to their MadVR performance.

Tier 1: 290, 290x
Tier 2: 780, 280x
Tier 3: 770
Tier 4: 270x

My biggest surprise is that 780 performs much closer to the 280x, in fact it's slower than 280x in some occasions, especially with ED turned on. We all know 780 is faster than 280x in every game, so I am guessing the MadVR performance has something to do with memory bus width? 290 is noticeably faster than the 780.