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

huhn
27th November 2014, 14:17
yeah it's true that nnedi3 can works like a AA filter but that's not my point.
this only works for aliased source. my point is the downscaler that adds artefacts on top of the nnedi3 upscale (which are very very little). things like lanczos add more than a upsacler like jincs. lanczos is know for it aliasing and ringing of cause way more for its ringing.

StinDaWg
27th November 2014, 15:27
yeah it's true that nnedi3 can works like a AA filter but that's not my point.
this only works for aliased source. my point is the downscaler that adds artefacts on top of the nnedi3 upscale (which are very very little). things like lanczos add more than a upsacler like jincs. lanczos is know for it aliasing and ringing of cause way more for its ringing.
No.

Seems that you don't actually use NNEDI3 because everything you're saying is wrong. Jinc is not as good as NNEDI3 for sharpness or aliasing, and even madshi would tell you that. You don't have to use Lanczos for downscaling, obviously.

leeperry
27th November 2014, 15:40
720p60 sports. HD7850 level AMD gpu can do it
My 1Ghz factory overclocked 7850 can't do 720p60@1080p with NNEDI3 & monostatic ED1.

Jinc is not as good as NNEDI3, and even madshi would tell you that.
I ran more tests now that the new toy syndrom has faded away and as much as NNEDI3 is a God send for SD@1080p with even more dramatic improvements the lower the source resolution, I also find it fantastic for 720p@1080p on anime content but on regular movies things look quite artificial to my eyes.

When Jinc showed up in mVR, even madshi agreed that it looked "analog" and this would also match my experience as live action movies look far more natural than with any other scaler. madshi also said that grass and trees looked weird sometimes with NNEDI3 (http://forum.doom9.org/showpost.php?p=1601609&postcount=15516), there's no free lunch I'm afraid. Of course YMMV if you are using a >50" screen or a videoprojector with poor sharpness.

Don't bother waiting IMO, get the 750 TI it's boss. Overclock the memory too for a bit of a speed boost too barely changing the heat profile.

I can do 64 neurons with most stuff around 720 and 128 neurons under 480. And if I unlocked it's power constraints I could get a lot more, but I'm happy with how quiet it is and it's performance.
OK sounds like a plan, I could use tearing-free windowed video as well and there's an ages old bug in the AMD drivers that randomly corrupts the mouse cursor for a few minutes (https://superuser.com/questions/590569/broken-mouse-cursor-on-main-monitor-windows-7-64-bit-ati-radeon-hd-7870)...I do experience it every few weeks, it's plain annoying and totally unacceptable. It still exists in W8.1 FWIR and I tried all supposedly working fixes :mad:

StinDaWg
27th November 2014, 16:45
My 1Ghz factory overclocked 7850 can't do 720p60@1080p with NNEDI3 & monostatic ED1.


I ran more tests now that the new toy syndrom has faded away and as much as NNEDI3 is a God send for SD@1080p with even more dramatic improvements the lower the source resolution, I also find it fantastic for 720p@1080p on anime content but on regular movies thing look quite artificial to my eyes.

When Jinc showed up in mVR, even madshi agreed that it looked "analog" and this would also match my experience as live action movies look far more natural than with any other scaler. madshi also said that grass and trees looked weird sometimes with NNEDI3 (http://forum.doom9.org/showpost.php?p=1601609&postcount=15516), there's no free lunch I'm afraid. Of course YMMV if you are using a >50" screen or a videoprojector with poor sharpness.
I don't use ED. I don't see any difference between it and ordered dithering and the performance hit is too high. The problems with weird grass was seen using 16 neurons IIRC. It goes away with 32+.

aufkrawall
27th November 2014, 17:32
I couldn't live without NNEDI3 on my 1440p display anymore. I use it to watch stuff like the news in 720p etc.
4k will be even more cruel, luckily a 970 OC is fast enough for 1080p image doubling with 32 neurons.
720p30 can be quadrupled to 1440p with 64 neurons, with 720p60 I have to go down to 32 neurons.

Btw: Did you know that CUDA/OpenCL forces a Geforce to P2 powerstate? In it, memory clock won't go any higher than 3Ghz with GM204 GPUs.
You have to use the tool Nvidia Inspector to overclock memory in P2 state to the default 3.5Ghz of P0 state. Mine even seems to overclock stable to 3.9Ghz (Samsung memory on MSI Gaming 970) which is 30% more bandwidth than P2 state default. May improve performance a little with bandwidth intensive compute stuff.

I use ordered dithering as well, I've never encountered any benefit of ED.

huhn
27th November 2014, 22:14
No.

Seems that you don't actually use NNEDI3 because everything you're saying is wrong. Jinc is not as good as NNEDI3 for sharpness or aliasing, and even madshi would tell you that. You don't have to use Lanczos for downscaling, obviously.


but you have to use a downscaler that affects most of the work of nnedi3.
720p source with nnedi3 on 1440p screen is a hole different story.

and the real question is. is it really worth to put so much power in it for the difference? you have to answer this question for your self. seeing a difference is not justifying the use for everyone.

ryrynz
28th November 2014, 07:09
I don't use ED. I don't see any difference between it and ordered dithering and the performance hit is too high.


Agreed, I don't either.. I spent quite some time inspecting the screen close up to find a difference and I could find none, but Leeperry sword he could see a difference)
I did a much closer inspection at the pixel level and although what I did see looked nicer.. but it's impact for imperceivable change (on my screen) makes it not worth enabling.

If your display's backlighting is affected when it's not disabled then there's a good reason for enabling it otherwise I'd recommend using ordered it really is almost as good, unless you just want "the best" and are willing to take the hit. I'd rather save the power for faster rendering or some extra neurons.


The problems with weird grass was seen using 16 neurons IIRC. It goes away with 32+.

Yeah, 32 neurons is the best to start with IMO, there isn't much difference beyond 64 IMO, you have somewhat diminishing returns..

Pointless in your opinion. It's completely worth it to me as I watch a lot of 720p60 sports.
HD7850 level AMD gpu can do it, which is cheaper than a 750ti.

FWIW I didn't say it was pointless, if it was it surely wouldn't be there. It works well on text and graphics but 720 to 1080 with NNEDI yields you very little for a lot of processing power.
Simply saying "I watch a lot of sports so it's affect on graphics and text make it worthwhile" does not fly in the face of what I said at all.

Now that I think about it, sports scenes where smaller objects are moving a lot could benefit more from NNEDI more perhaps, is this your experience? Perhaps the effect is more pronounced with higher fps also.

StinDaWg
28th November 2014, 13:00
but you have to use a downscaler that affects most of the work of nnedi3.
720p source with nnedi3 on 1440p screen is a hole different story.

and the real question is. is it really worth to put so much power in it for the difference? you have to answer this question for your self. seeing a difference is not justifying the use for everyone.
Not really. If you use Spline or Lanczos the sharpness increase from using NNEDI3 is mostly kept. I also see less scaling artifacts in the picture over any other algorithm.

The power argument is funny to me. Even using 32 neurons it's only taxing my gpu at about 35%, vs. 15% for Jinc3. So what, 20 or 30 watts more than Jinc? If I cared that much about saving power I would have never bought a plasma, which can use 200-250 watts during bright scenes.

@ryrynz, I was responding to huhn when he said 720p->1080p was pointless.

huhn
28th November 2014, 19:43
Unlikely. And as I've said earlier it's almost pointless (barring text) to upscale 1280x720 using NNEDI, such a waste of processing for such a marginal improvement, but it'll depend on your content. I'd recommend enabling it and taking screenshots to see if you find the difference worth justifying the purchase of a graphics card hefty enough to do it.
@ryrynz, I was responding to huhn when he said 720p->1080p was pointless.

but he said it was pointless not me.
and feel free to show the differences.

ryrynz
29th November 2014, 06:40
but he said it was pointless not me.
and feel free to show the differences.

Indeed. I said almost pointless, that's my experience based on comparisons I've done.

Minuscule differences really don't interest me and I have yet to see a comparison (with normal movie content) which shows it to be worthwhile given the processing power required.

madshi
29th November 2014, 10:59
seems that when transitioning to the next file in folder with exlcusive mode enabled the mouse cursor sometimes shows up before the next file plays, (I've had this happen for a while)
I thought it might happen only when breaking exclusive during viewing but it happens regardless, sometimes though the mouse cursor doesn't show at all which is good. This happens in BE and HC.
As a result of exclusive being broken and restarted on playback the filename of the file is not displayed on start of playback as well and I simply get the exclusive message displaying instead.

Looks like this in a HC code issue as Zoomplayer doesn't have that problem. Happens on both my Intel HD4000 Windows 7 system and my 750Ti Windows 8.1 system.
I'm not sure if that's a madVR problem or not, but I consider it cosmetical for now, so not a priority for me.

It is only reported by OSD, and I haven't seen any visual problems with my eyes when they occur. For that reason I'm not really concerned with it, and like you said I'm not hung up on understanding why its occurring so long as its not noticeably effecting the viewing experience.
Yeah, in that case you can simply ignore it.

Given those points would you then advocate leaving out p59 (ex: 1080p59) settings on computer LCD screens in settings -> display modes -> list all display modes madVR may switch to: area, and perhaps doing the same with p60 settings in the same area for a tv's LCD screen?
Display behaviour is very unpredictable. The best solution is to try which looks best to your eyes. Your eyes are the best measurement device to judge whether motion is smooth.

Also would you advocate using rules/profiles [...] With the "SM on" profile being set to Smooth Motion on, and the "SM off" profile being set to off.
No, there's a "enable if needed" sort of setting which should do this automatically.

Does anyone know why rendering a 1920x1080 blu-ray to a 1920x1200 screen (no aspect ration change for video) would use a lot of GPU resources?
Which is your refresh rate? Which chroma upscaling algorithm are you using? Which GPU and which OS?

when watching a movie at 23.976 fps I have to set '24p smooth film' to mid on my panasonic plasma TX-p50vt60e. when I do so the picture is perfectly smooth, I dont have any complaints about the smoothness. but Im wondering why I do have to use that settings in the first place and cannot get it working correctly with just madvr and without changing TV settings. using my samsung LCD I dont have to change any settings to have the picture working well when using madvr.
As said above, displays sometimes behave unpredictable. From your description alone I can't really say what's going on. Sometimes if you switch those display options, it just affects the internal display refresh rate. But it can also affect the pulldown method or activate some sort of motion interpolation or black frame insertion and that kind of stuff. This is all very complicated and you are in the best position to find out about this yourself. It's hard for us to do because we don't have your exact displays, so we can't really know what's going on there.

Looks like at least one AMD developer (http://developer.amd.com/community/blog/2014/11/04/what-do-you-need/) is looking to improve things, maybe someone can let him know about the current interop problems?
Thanks, good link. I've posted my complaints there, and a few suggestions. This guy seems to be serious about improving things, but then it's just one guy and he's trying to help all devs, not just me. So I'm kinda doubtful anything will happen which will help madVR, any time soon.

I still have problems with the madVR progress bar in full screen exclusive mode (I do NOT mean the standard MPC-HC progress bar). Before anyone says that there is no progress bar in fullscreen exclusive mode, there is! It's got a dark grey top thick transparent line, a light grey line where a blue progress indicator goes, and another dark grey transparent line at the bottom. If you haven't seen it then you have the same issue.

Now, I have two screens at 1920x1080, my main computer monitor and my Samsung TV that I play MPC-HC through. Straight out, the indicator bar does NOT show in 1920x1080 mode on the TV, but does show in some other lesser modes (including one where the scaling is off so not suitable either). If you play around with the settings quite annoying so, you may get it to work. At times, it simply never gets working in 1920x1080.

If you delete the TV from device manager, disable and re-enable the display driver adaptor, play around with the settings some more you may be lucky to get the progress/seek bar back!

I should also point out it is NOT an overscan/underscan issue. The seek bar is simply not there, it's not off the bottom of the screen.

I am pretty sure it's an error with madVR not MPC-HC, but in any case it looks like there's a bug somewhere. I'm guessing either I'm the only one experiencing it, or other people who experience it either have no idea that there is meant to be a progress indicator in fullscreen exclusive mode or don't care.

I guess I'll just have to keep mucking around with it if I install Windows again at some point. What upset it this time was a display driver update.
This could very well be a bug in madVR. The problem is how to find the cause of the problem. The simplest way would be for me to reproduce the problem on my PC. Unfortunately I don't have a multi-monitor setup available to me atm, and it will be a few weeks, probably, before I get access to one again. And even then I'm not sure if I'll be able to really reliably reproduce the problem. Another option would be to create a test build with extended log information. But to be honest, my to do list is already more than full atm, and your issue doesn't sound so bad that it absolutely needs to be at the top of my to do list. So my suggestion to you would be to try to find a way to reliably reproduce the problem. If you do, great. If not, sad. In either case you could then afterwards enter the problem as an issue in the madVR bug tracker. If you found a way to reproduce the issue reliably (with a step-by-step guide for me to reproduce the problem on my PC), that increases the chances I'll look into it sooner than later. I'll probably look into it at some point, anyway, but without being able to reproduce it, it will likely take longer.

This is a purely academic question (for my B.Sc. thesis).
Is it even remotely possible to do motion interpolation as in SVP by extracting motion information directly from h.264?
Or do you know any problem that I can work on for my research? (for which I am required to create an open-source software). Something that is useful. Maybe something that you don't have time to work with.
Good question. I've had the very same idea for a long time. That's one of the reasons why I had added video decoders into madVR, so that I would have direct access to the motion vectors contained in the h264 stream. However, using that information can only be a part of the overall solution. After all, key frames don't look back, so there's no motion information you can get for such frames. Also, the motion information is optimized for compression, not for what we'd like to use it for. So it's quite possible that there are some bogus vectors in there which work well for compression, but are totally wrong from a real motion point of view. I think the best overall solution might be to keep track of motion. All motion vectors which continue in some natural direction and speed over multiple video frames should be legit. In order to define motion for pixels/blocks you're not sure about you may have to use the conventional solution by comparing pixel blocks or something like that, like SVP does.

In any case, I suppose there's information in the h264 stream we could use. And it's probably worth looking into that. I'm not aware of anyone having done this yet, though, so I can't point you to any further information about it, unfortunately.

Well, what I understood from madshi's ideas for more advanced control over shaders was pretty groundbreaking
FWIW, I've had these thoughts months and years ago, just not the time to implement them yet.

That wasn't actually funny, it was just really uncool. That's one of the ways you can really piss off and demotivate a developer.
Well, to be fair, I did understand it to be a joke, so it was not a problem for me at all.

Just curious, would a multi-monitor setup with different refresh rates cause frames to be dropped in overlay vs exclusive mode?
Vista and Windows 7 are known to have this problem. Should be fixed in Windows 8.1.

did AMD finally show any interest in assisting you with mVR?
None at all.

I have a very strange issue: Madvr is causing sound distortion when i put on my headphones. Before you call me crazy... i spent an hour isolating the problem. I put MPC-HC at default setting and the sound was fine. Then i tried the stuff that i use one by one (LAV, etc.). The sound distortion only happened when i switched the renderer to Madvr.

Anyone have a clue as to why this would occur? I'm baffled.
FWIW, madVR itself does nothing to the audio side of the DirectShow grahp. So whatever effects madVR might have on audio must be indirect, like a busy CPU or GPU causing this somehow, or something like that.

Btw: Did you know that CUDA/OpenCL forces a Geforce to P2 powerstate? In it, memory clock won't go any higher than 3Ghz with GM204 GPUs.
You have to use the tool Nvidia Inspector to overclock memory in P2 state to the default 3.5Ghz of P0 state. Mine even seems to overclock stable to 3.9Ghz (Samsung memory on MSI Gaming 970) which is 30% more bandwidth than P2 state default. May improve performance a little with bandwidth intensive compute stuff.
Interesting, didn't know that. Have you checked whether madVR rendering times show any meaningful difference when changing the memory clocks? I think for NNEDI3 probably the memory clock is not crucial. I'm not 100% sure, though.

-------

About NNEDI3 vs. Jinc. I still have the same opinion that I had when introducing NNEDI3 to madVR: NNEDI3 produces a sharper less aliased image, which I overall find superior to Jinc in many cases. However, it certain situations (trees, nature) NNEDI3 can look artificial, even when using 256 neurons, which I do find distracting. So there is no clear winner to me. For Anime, NNEDI3 wins by a mile, of course. Probably for SD, too, and for fonts.

ryrynz
29th November 2014, 12:27
ave you checked whether madVR rendering times show any meaningful difference when changing the memory clocks? I think for NNEDI3 probably the memory clock is not crucial. I'm not 100% sure, though.


I wouldn't expect it would affect it more than a couple of percent.
Taking my 750 Ti from 86.4GB/s to 100GB/s bandwidth only yields a 0.5% decrease in rendering time using NNEDI.

jamieuk
29th November 2014, 17:04
All my movies are playing 3840x2160 @60fps (bluray) should I be forcing 24fps, somehow?..... 4k projector

:)

madshi
29th November 2014, 17:09
You will probably get better image quality (smoother sharper motion) by using 24Hz, and you will save performance, too. You'll need to make sure the OS respectively your GPU is set to 24Hz output.

aufkrawall
29th November 2014, 18:47
Interesting, didn't know that. Have you checked whether madVR rendering times show any meaningful difference when changing the memory clocks? I think for NNEDI3 probably the memory clock is not crucial. I'm not 100% sure, though.

This can be hard to measure since GPU doesn't always run with full clock if it's not much loaded. Thus I wasn't able to get useful numbers regarding Jinc, GPU load is too low.
There might be a workaround however by forcing the GPU into P2 as maximum state with NV Inspector commandline arguments (can't remember them exactly, HT4U wrote about it when they tested GTX 680 afair) and then OCing it to max boost value. Anyway, it probably won't be interesting though, considering the low performance cost of Jinc.

With NNEDI3, GPU load was high enough to prevent it from downclocking (~75% at 1470Mhz).
Results are that higher memory clock has a positive impact on rendering times, however it doesn't seem noteworthy (720p60-> 1440p, NNEDI3 quadrupling 32 neurons, Jinc3AR chroma scaling + smooth motion & anti banding filter):
3Ghz VRAM: 15,25ms
3.9Ghz: 14,57ms

I'd say that the 970 is pretty equal to my previous 780 Ti (both OCed to reasonable limits under air). It's hard to compare it directly since there isn't any kind of benchmark and rendering times often have erratic character.
But I can play every video like before, probably Error Diffusion is more affordable.
Power consumption, and so accordingly fan noise, is much lower, I can't hear the fans spinning while watching silent movies. There is, however, some coil whine which is typical for many 970 cards. I don't find it severe (and so neither annoying) though and I don't use any kind of closed case.

It will be interesting to see how much ALU power will be left for the renderer with HEVC 10 bit decoding (not supported by Maxwell 2.0 VPU). Luckily, this will most likely apply only to 4k which won't require something like NNEDI3 scaling. :D

How bad was the issue that sometimes NNEDI3 chroma scaling is needed with luma doubling to prevent kind of color bleeding?
I haven't seem to have encountered this issue yet in the wild, at least I couldn't see it.

Shiandow
29th November 2014, 20:16
How bad was the issue that sometimes NNEDI3 chroma scaling is needed with luma doubling to prevent kind of color bleeding?
I haven't seem to have encountered this issue yet in the wild, at least I couldn't see it.

Do you mean this issue (http://forum.doom9.org/showthread.php?t=170769&highlight=nnedi3)? That turned out to be caused by MadVR's anti-ringing algorithm. I think Madshi said that it should be fixed in the next build of MadVR. At any rate I strongly suspect that chroma bleeding is a consequence of doing the chroma upscaling in gamma light, even NNEDI3 won't fix that.

aufkrawall
29th November 2014, 20:37
Weren't there two issues? One regarding chroma upscaling and one regarding AR filter when downscaling in linear light?

Shiandow
29th November 2014, 20:56
I don't recall any other specific issue regarding chroma upscaling. Unless you count the various discussions about what is best for chroma upscaling.

ThurstonX
29th November 2014, 21:05
Quick question: how can I tell if my Toshiba laptop running Intel HD Graphics 3000 on a Sandy Bridge i5 + nVidia GTX 560M (Optimus) is using NNEDI3?

Background
I recently upgraded the LCD panel to a 1920x1080 model, and today upgraded the Toshiba-supplied Intel graphics driver with the latest generic from Intel. I wanted to test how the new generic driver does under normal usage, and playing a video seemed like one good method. At first playback was dogged, but it turned out to be Jinc 3 set for Chroma and Image scaling. That was probably left over from forcing MPC-HC to use the nVidia GPU (something that causes the fan to run hard, so I don't use it unless I'm messing around). Changing them to Bicubic 75 and Lanczos or Spline results in smooth playback.

Since the video in question is SD, and given madshi's recent comment re: NNEDI3 with such, I figured I'd try it out for Luma doubling. I started at 32 neurons and forced to always, and based on source and target resolutions, upscaling is needed. No change in render stats, and I'm not sure about image quality. Then I bumped it to 64, then 128 neurons. Again, nothing changes. Render time is around 30ms, queues are mostly full (15-16/16, 7-8/8, etc.). Then I activated NNEDI3 for Chroma at 32 neurons. No change in stats.

So I'd guess NNEDI3 is not being used. Does it not run under Intel HD Graphics 3000, or do I need to do something else? It's running in FSE mode, Use separate device... unchecked, no debanding, SM if needed (it is for this video). Using LAV external forced in MPC-HC, software decoding (everything pretty much at default settings).

TIA.

huhn
30th November 2014, 00:33
intel doesn't support openCL so nnedi3 doesn't work with it. and even with support these GPU are way to slow for nnedi3.

Anime Viewer
30th November 2014, 01:15
Quick question: how can I tell if my Toshiba laptop running Intel HD Graphics 3000 on a Sandy Bridge i5 + nVidia GTX 560M (Optimus) is using NNEDI3?

Background
I recently upgraded the LCD panel to a 1920x1080 model, and today upgraded the Toshiba-supplied Intel graphics driver with the latest generic from Intel. I wanted to test how the new generic driver does under normal usage, and playing a video seemed like one good method. At first playback was dogged, but it turned out to be Jinc 3 set for Chroma and Image scaling. That was probably left over from forcing MPC-HC to use the nVidia GPU (something that causes the fan to run hard, so I don't use it unless I'm messing around). Changing them to Bicubic 75 and Lanczos or Spline results in smooth playback.

Since the video in question is SD, and given madshi's recent comment re: NNEDI3 with such, I figured I'd try it out for Luma doubling. I started at 32 neurons and forced to always, and based on source and target resolutions, upscaling is needed. No change in render stats, and I'm not sure about image quality. Then I bumped it to 64, then 128 neurons. Again, nothing changes. Render time is around 30ms, queues are mostly full (15-16/16, 7-8/8, etc.). Then I activated NNEDI3 for Chroma at 32 neurons. No change in stats.

So I'd guess NNEDI3 is not being used. Does it not run under Intel HD Graphics 3000, or do I need to do something else? It's running in FSE mode, Use separate device... unchecked, no debanding, SM if needed (it is for this video). Using LAV external forced in MPC-HC, software decoding (everything pretty much at default settings).

TIA.

Since you're not seeing changes in render times then I'd guess like you suspected NNEDI3 isn't being used. When you change the neurons you should definitely see a change in render times. Using DXVA2 as your image upscaling will disable any NNEDI3 settings you have selected for image doubling.

When I tried to force NNEDI3 on an Intel 4000 HD it is so taxing (high render times) that it is unwatchable. If you want to make sure or see if its using the Nvidia GPU try what is listed below.

If you're using MPC-HC then you'll have to rename the executable before it can be forced to use the Nvidia. First you need to go into the directory with the mpc-hc execuatable (if you're using the black version and MPE-BE you don't need to rename the file).
For example: \Program Files (x86)\MPC-HC and rename mpc-hc.exe to something like mpc-hc2.exe
Next go into Nvidia control panel and create a profile for the renamed mpc-hc2 file and point it to its location. Change the drop down box to use the Nvidia gpu

As a test to see if it is seeing your GPU correctly temporarily enable one of the NNEDI3 options in madVR and start a video. Check in the registry and see if it added a folder for the Nvidia GPU in:
HKEY_CURRENT_USER\Software\madshi\madVR\OpenCL
If it did then it is successfully seeing and using the Nvidia GPU. Likewise if you were forcing it to use the Intel GPU you should see a key for it in that area of the registry.

ThurstonX
30th November 2014, 01:49
Thanks for confirming. It was just a test on a whim. I'm using an HTPC with a R7 250 for most of my watching. I usually use Jinc 3 for both upscaling, but I'll try that vid with NNEDI3 to see if it can handle it. IIRC, that last time I tested it, it proved too taxing.

leeperry
30th November 2014, 05:03
None at all.
OK their loss, I guess all they care about is squeezing a few fps in the latest games. I'm switching boats, Maxwell's where the party's at to fuel madVR these days anyway.

About NNEDI3 vs. Jinc. I still have the same opinion that I had when introducing NNEDI3 to madVR: NNEDI3 produces a sharper less aliased image, which I overall find superior to Jinc in many cases. However, it certain situations (trees, nature) NNEDI3 can look artificial, even when using 256 neurons, which I do find distracting. So there is no clear winner to me. For Anime, NNEDI3 wins by a mile, of course. Probably for SD, too, and for fonts.
Exactly, my 720p24 test movie has a lot of vegetation and it looks far more natural and realistic with J3AR than even 64x NNEDI3.

Shiandow posted impressive NEDI/NNEDI3 comparisons in this thread, you said that some of your test patterns didn't pass the test but does vegetation look equally artificial? It can be used as PS scripts IIRC, would have to give it a shot.

Agreed, I don't either.. I spent quite some time inspecting the screen close up to find a difference and I could find none, but Leeperry swore he could see a difference)
I did a much closer inspection at the pixel level and although what I did see looked nicer.. but it's impact for imperceivable change (on my screen) makes it not worth enabling.
It might have to do with my 3500:1 display (12bit?) internal dithering and/or my lack of red cones(due to my colorblindness) but I just compared ED1/ED2 and ordered dithering again. Motion looks far cleaner and clearer with monostatic ED1 to my eyes, one technical explanation would be that dither patterns act as mosquito noise to my eyes. I still can't stand the dancing around and colorful noise but PQ remains beyond all expectations, usual business you know ^^

Xaurus
30th November 2014, 13:52
I am using a Samsung 65HU8505 TV with my HTPC. When I select the HDMI input from the HTPC and name it PC (by pressing Source on the remote) I can pass 4:4:4 from the HTPC to the TV.
So I assume this puts the HDMI input in some sort of PC mode.
The downside to this, is that almost all adjustments in the picture menu are unavailable.

So I've instead named the input blu-ray which gives me all the picture adjustments in the menu.
However, this seems to not pass along 4:4:4 to my TV, since I see that the normally black text in the Windows desktop/browser is now blue (which is a typical sign for the desktop to fail 4:4:4).

But since any video is presented in 4:2:0 anyway, I guess this shouldn't matter for viewing?

I don't mind that the text on the desktop isn't showing correctly.

Thanks for any help.

Qaq
30th November 2014, 14:15
But since any video is presented in 4:2:0 anyway, I guess this shouldn't matter for viewing?madVR converts YUV 4:2:0 to RGB 4:4:4. In PC mode your TV can accept it as is, in non-PC mode it converts RGB back to YUV 4:2:2 for internal processing with some chroma data loss.
But why do you ask? Don't you see any difference in picture? I see and I vote for PC mode colours no question (let alone PC mode is only way to disable DNR in my OLED).

pirlouy
30th November 2014, 14:35
As I mentioned it here (http://forum.doom9.org/showthread.php?t=169928), you have to use 60Hz only in PC mode. Fortunately, "smooth motion" option from madVR takes care of this.

Some people prefer to keep Samsung post processing and so:
YUV 4:2:0 -> (by madVR) RGB 4:4:4 RGB -> (by TV) YUV 4:2:2 -> (by TV) RGB 4:4:4

If you have an AV between this, it's possible there are other conversions.

Xaurus
30th November 2014, 19:10
madVR converts YUV 4:2:0 to RGB 4:4:4. In PC mode your TV can accept it as is, in non-PC mode it converts RGB back to YUV 4:2:2 for internal processing with some chroma data loss.
But why do you ask? Don't you see any difference in picture? I see and I vote for PC mode colours no question (let alone PC mode is only way to disable DNR in my OLED).
Thanks. So I guess the correct choice would be to go the "PC" mode for 4:4:4.

Xaurus
30th November 2014, 19:11
As I mentioned it here (http://forum.doom9.org/showthread.php?t=169928), you have to use 60Hz only in PC mode. Fortunately, "smooth motion" option from madVR takes care of this.

Some people prefer to keep Samsung post processing and so:
YUV 4:2:0 -> (by madVR) RGB 4:4:4 RGB -> (by TV) YUV 4:2:2 -> (by TV) RGB 4:4:4

If you have an AV between this, it's possible there are other conversions.
Hi,

Thanks for linking to that thread. I am a bit confused though, why exactly do I need to use 60Hz?

I have a 4k panel and can't send 4k@60Hz unless I put in my GTX 970 from my other computer. And then I'd have to run it directly from HTPC to TV, not through my AVR, so no sound in that case.

MSL_DK
30th November 2014, 19:24
I know there is not a clear answer to my question, but I am not proficient in all settings madVR offer and what influence they have. I only play 1: 1 Blu-ray movies, sometimes 1080i, but very rarely, no 720p or DVD. What settings would you recommend for best quality?

Sys:
ASUS STRIX-GTX750TI-OC-2GD5 @ 23 Hz
8GB DDR2
Intel® Core™2 Duo Processor E8600 (6M Cache, 3.33 GHz, 1333 MHz FSB)
SAMSUNG UE46H7005

pirlouy
30th November 2014, 19:49
Thanks for linking to that thread. I am a bit confused though, why exactly do I need to use 60Hz?
Because if you use 24 or 50Hz, you're not in direct RGB 4:4:4 anymore. There will be a conversion (RGB 4:4:4 RGB -> (by TV) YUV 4:2:2 -> (by TV) RGB 4:4:4)
PS: Samsung limitation, but maybe it changed recently, even if I doubt it.

Xaurus
30th November 2014, 19:57
Because if you use 24 or 50Hz, you're not in direct RGB 4:4:4 anymore. There will be a conversion (RGB 4:4:4 RGB -> (by TV) YUV 4:2:2 -> (by TV) RGB 4:4:4)
PS: Samsung limitation, but maybe it changed recently, even if I doubt it.
Okay, is there a way for me to check this? I mean, your TV from 2009 is pretty old by today's standards (no offence!). :)

pirlouy
30th November 2014, 20:53
From first post of this thread: http://madshi.net/madVR/ChromaRes.png in full screen

MSL_DK
30th November 2014, 21:04
but maybe it changed recently, even if I doubt it.

They have not changed anything.

Xaurus
30th November 2014, 21:52
From first post of this thread: http://madshi.net/madVR/ChromaRes.png in full screen
Thanks.

Ok, so I'm using 23,976 refresh rate and I can see the image saying 4:4:4. Is there something more I need to do?

MSL_DK
30th November 2014, 22:00
Thanks.

Ok, so I'm using 23,976 refresh rate and I can see the image saying 4:4:4. Is there something more I need to do?

And 4:2:2?

Xaurus
30th November 2014, 22:07
And 4:2:2?
I see only 4:4:4.

Let me upload a photo:
http://home.halden.net/mordor/img.jpg

MSL_DK
30th November 2014, 22:22
Then your display supports RGB 4:4:4, nothing more to think about :) I envy you your TV ;)

Xaurus
30th November 2014, 22:39
Then your display supports RGB 4:4:4, nothing more to think about :) I envy you your TV ;)
Ok cool, so what was mentioned by pirlouy for other refresh rates than 60 doesn't apply to this Samsung set then? :)

MSL_DK
30th November 2014, 22:52
Ok cool, so what was mentioned by pirlouy for other refresh rates than 60 doesn't apply to this Samsung set then? :)

No ... and with your picture, I regret that I have not bought a samsung 4k :p What model is it?

Xaurus
30th November 2014, 23:16
No ... and with your picture, I regret that I have not bought a samsung 4k :p What model is it?
It's this (http://www.samsung.com/se/consumer/tv-home-theatre/tv/curved-tv/UE65HU8505QXXE)one.

A couple of questions:


Should I still select NV12 in LAV filters?

What is preferred when choosing between NNEDI3 for chroma upscaling, or "use NNEDI3 to double Luma resolution"? Is only one of them needed? For example use Jinc in chroma upscaling then NNEDI3 to double Luma / chroma resolution.

pirlouy
30th November 2014, 23:34
By curiosity, when you're in PC mode, are you able to enable "LED Clear Motion" in your Samsung options ? Again I doubt it, but it would be nice if you surprised me again. :)

madshi
1st December 2014, 00:01
It will be interesting to see how much ALU power will be left for the renderer with HEVC 10 bit decoding (not supported by Maxwell 2.0 VPU). Luckily, this will most likely apply only to 4k which won't require something like NNEDI3 scaling. :D
Not sure if the GPU will be used at all for HEVC decoding, if the VPU doesn't support it. I don't really know.

Quick question: how can I tell if my Toshiba laptop running Intel HD Graphics 3000 on a Sandy Bridge i5 + nVidia GTX 560M (Optimus) is using NNEDI3?
IIRC, you need at least an HD4000 to get hardware OpenCL support. But even the HD4000 is by far too slow for NNEDI3. You can force madVR to use the NVidia GPU for OpenCL, though, by using the following registry value:

HKCU\Software\madshi\madVR\OpenCL\forceVendor

A search for "forceVendor" should give you more details on how to use that.

Shiandow posted impressive NEDI/NNEDI3 comparisons in this thread, you said that some of your test patterns didn't pass the test but does vegetation look equally artificial?
From what I've seen, although Shiandow did a really good job to reduce these artifacts as much as possible, NEDI has noticeably stronger directional artifacts compared to NNEDI3. If you are bothered by the fractal like NNEDI3 artifacts, you will be even less happy with NEDI, I believe.

Well, at least that's without the SuperRes post processing. Not sure how that changes things. I haven't really had time yet to study Shiandow's algorithms in detail. Hopefully I'll get around to do that rather sooner than later. But I don't know yet...

Should I still select NV12 in LAV filters?
Leave LAV filters to default. The defaults are usually optimal for madVR.

What is preferred when choosing between NNEDI3 for chroma upscaling, or "use NNEDI3 to double Luma resolution"? Is only one of them needed?
Best bang for the buck is luma doubling, followed by chroma upscaling. Usually doubling chroma has the lowest benefit. If you have performance to spare, up the neurons for luma doubling.

Shiandow
1st December 2014, 00:11
From what I've seen, although Shiandow did a really good job to reduce these artifacts as much as possible, NEDI has noticeably stronger directional artifacts compared to NNEDI3. If you are bothered by the fractal like NNEDI3 artifacts, you will be even less happy with NEDI, I believe.

Well, at least that's without the SuperRes post processing. Not sure how that changes things. I haven't really had time yet to study Shiandow's algorithms in detail. Hopefully I'll get around to do that rather sooner than later. But I don't know yet...


I agree that NEDI will likely look more 'artificial' than NNEDI3.

FWIW there'll soon be a working (open source) implementation of SuperRes (with or without NEDI) in MPDN. It's still a bit experimental though. I still need to try out all the things that were impossible to achieve using only shaders, but have become possible with MPDN's more flexible system.

madshi
1st December 2014, 00:14
Which limitations of the shaders were the main problem?

Xaurus
1st December 2014, 00:27
By curiosity, when you're in PC mode, are you able to enable "LED Clear Motion" in your Samsung options ? Again I doubt it, but it would be nice if you surprised me again. :)
No sorry, almost everything in the menu is greyed out, including those kind of options.

Xaurus
1st December 2014, 00:30
Best bang for the buck is luma doubling, followed by chroma upscaling. Usually doubling chroma has the lowest benefit. If you have performance to spare, up the neurons for luma doubling.
Thanks madshi, this is useful info.

So if I understand you correctly, just push chroma doubling as far as it goes, then put "the rest" into chroma upscaling (something like Jinc)?

Shiandow
1st December 2014, 00:37
Which limitations of the shaders were the main problem?

Mainly the fact that I couldn't save any intermediate results. I had to somehow store the current image, the original image, and the difference between the current and original image, simultaneously. I could just barely manage this by abusing the alpha channel, but I could save at most 2 channels of the original, it didn't improve the legibility of the code and also limited the kind of processing I could do. For the chroma version of SuperRes it also didn't help that I couldn't make use of MadVR's chroma conversion. I could either disable it entirely or try to reverse it. In both cases I essentially needed to reverse engineer MadVR's chroma processing.

That said not even I am entirely sure why but for some reason the adaptation I made for MPDN seems to beat the (unpublished) experimental version of SuperRes that I had developed. Maybe because I can save more information of the original image, or because it sped up enough that I could use 16 bit processing.

Oh and the fact that I could reuse MPDN's scaling algorithms also helped. Although in the end the shader version couldn't handle anything more complicated than bilinear anyway because I had to do everything in 1 pass (nowhere to store the intermediate result).

ryrynz
1st December 2014, 07:03
So if I understand you correctly, just push chroma doubling as far as it goes, then put "the rest" into chroma upscaling (something like Jinc)?

You mean luma and yes. I'd recommend Jinc AR on chroma for bang for buck also.

madshi
1st December 2014, 09:12
Mainly the fact that I couldn't save any intermediate results. I had to somehow store the current image, the original image, and the difference between the current and original image, simultaneously. I could just barely manage this by abusing the alpha channel, but I could save at most 2 channels of the original, it didn't improve the legibility of the code and also limited the kind of processing I could do. For the chroma version of SuperRes it also didn't help that I couldn't make use of MadVR's chroma conversion. I could either disable it entirely or try to reverse it. In both cases I essentially needed to reverse engineer MadVR's chroma processing.

That said not even I am entirely sure why but for some reason the adaptation I made for MPDN seems to beat the (unpublished) experimental version of SuperRes that I had developed. Maybe because I can save more information of the original image, or because it sped up enough that I could use 16 bit processing.

Oh and the fact that I could reuse MPDN's scaling algorithms also helped. Although in the end the shader version couldn't handle anything more complicated than bilinear anyway because I had to do everything in 1 pass (nowhere to store the intermediate result).
Ok, thanks. Sounds like the plans I have should take care of most of those problems.

Xaurus
1st December 2014, 13:34
You mean luma and yes. I'd recommend Jinc AR on chroma for bang for buck also.
Yes luma doubling, of course. Thanks guys.