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

dansrfe
6th October 2012, 17:19
I'm fairly certain that I'm missing something obvious but MPC-HC gives me this error when I try to take a screenshot via Alt + I or F5:

http://s7.postimage.org/g3j8xny61/mpchcscreenshot.png

Superb
6th October 2012, 17:21
You need to wait for the MPC-HC developers to allow screenshot taking with madVR.

6233638
6th October 2012, 17:24
Wow, testing just got so much faster. I just had a look at the keyboard shortcuts section, and there are shortcuts to directly switch between scaling algorithms! :D

Previously I would have to manually take screenshots of an image with each setting, and paste them into Photoshop as layers to compare them. Now I can just hit a key to switch between them and compare inside madVR!



So far Jinc seems pretty interesting in my testing. Jinc 3 seems to be sharper than Jinc 4 at high frequencies, but Jinc 4 is sharper at lower frequencies, and has less aliasing. This is probably a good thing, as most high frequency detail is going to be noise unless you are upscaling Blu-rays.

Strangely, Jinc shows even less high frequency detail than SoftCubic in some tests—presumably because it's a "circular" filter rather than a "square" one.

Jinc 4 with anti-ringing enabled:
http://www.abload.de/img/j4ar5wb0g.png

SoftCubic 80 with anti-ringing disabled:
http://www.abload.de/img/sc80narimxwd.png

I've now been able to confirm that pretty much universally, anti-ringing adds aliasing to all the Bicubic variants. (Mitchell-Netravali through to SoftCubic)

Bicubic 100 also has a serious amount of aliasing with or without it, for some reason. Drastically more than any other Bicubic option.



If you're a fan of sharper algorithms, it definitely seems worthwhile to give Jinc a try.

I'd probably suggest Jinc 4 with anti-ringing for now, and Jinc 3 if your system can't handle it. (Jinc 3 also seemed OK without anti-ringing, to further reduce the demands) I wouldn't recommend Jinc 4 without anti-ringing.

I still like SoftCubic 80 without anti-ringing for highly compressed sources though.

But now thanks to the keyboard shortcuts, you can easily assign keys for Jinc, SoftCubic, and to toggle anti-ringing.



As before, Bicubic 75 with anti-ringing is still my preference for Chroma right now. (while anti-ringing increases the chance of aliasing, the ringing reduction is more important for Chroma)

TheLion
6th October 2012, 17:26
Thank you very much for 0.84, madshi! Works great with JRiver 18.

I have one question regarding chroma upsampling, as this is the only relevant scaling for me most of the time (watch 99% 1080p content on a native 1080p projector):

With the new "Jinc" resampling and your anti-ringing filter what is your current recommendation for "best quality" chroma upsampling. I did some comparisons with EVR (on a AMD 5870 with latest Catalyst) and to my big surprise EVR had "better quality" chroma upsampling than I was able to achieve with madVR. The sharpness was comparable to madVR with Lanczos 3 but without any obvious ringing. I tested this with the chroma charts on Stacy Spears Benchmark Blu-Ray. I know that with real content the differences in chroma upsampling are rather hard to spot.

So EVR on ATI actually had "better quality" in those 1080p chroma test charts than madVR, no matter which option was selected.

Now with the anti-ringing filter this might change. Would you advice to use Jinc with anti-ringing for the "best" (sharpest, while keeping artifacts in control) chroma upsampling madVR is able to?

THANK YOU!

Moony349
6th October 2012, 17:28
You're probably right on the 8 tap. Still, for those with insane systems slash future systems might as well enable 8 tap jinc and/or chroma jinc if it doesn't take much work.

Budtz
6th October 2012, 17:29
Thx for the new version!

i can only select Jinc in the image scaling settings. the other places it is grayed out. is this couse its not implemented yet?

SamuriHL
6th October 2012, 17:32
You're probably right on the 8 tap. Still, for those with insane systems slash future systems might as well enable 8 tap jinc and/or chroma jinc if it doesn't take much work.

My 3770k with 680 might handle it. I guess I can always try but good Lord... :)

6233638
6th October 2012, 17:48
Now with the anti-ringing filter this might change. Would you advice to use Jinc with anti-ringing for the "best" (sharpest, while keeping artifacts in control) chroma upsampling madVR is able to?Bicubic 75 with the anti-ringing filter enabled seems to be the best option for Chroma in my testing so far.

It loses to others in artificial testing (such as a chroma zone plate, where Lanczos always wins) but tends to win 90+% of the time in everything else I test.

TheLion
6th October 2012, 18:04
Bicubic 75 with the anti-ringing filter enabled seems to be the best option for Chroma in my testing so far.

It loses to others in artificial testing (such as a chroma zone plate, where Lanczos always wins) but tends to win 90+% of the time in everything else I test.

Thanks for the reply. Bicubic 75 was my choice in the past as well. EVR with ATI bests it though - "sharper" with "no" ringing and less aliasing.

Maybe I should add that my question is for high bitrate Blu-Ray 1080p content only - so no additional luma scaling. I was hoping there is a better choice than Bicubic 75 for that - something that tests as well as EVR AMD (which uses the graphic cards chroma upsampling)? What about Lanczos/Jinc with anti-ringing?

btw try a chroma zone plate with lanczos 8 - it is the only algorithm that gets this pattern right. But the artifacts/multiple ringing is much too strong for general use. I will have to test with anti-ringing enabled.

madshi
6th October 2012, 18:11
Ah okay, so that's pretty much the final algorithm then.
Yes, for now, unless I get reports that it's not working well, then I can try to tweak the parameters a bit, like I did with the anti-ringing algorithm for the non-Jinc algorithms a couple of weeks ago.

Yeah the original issue was that smoothness that occurred when anti-ringing was enabled but since nothing has changed with that except for with Jinc I haven't looked at it
Please have a look at that with Jinc to make sure the problem doesn't occur there. Thanks.

Source resolution=640x480
Output resolution=1920x1080
Scaling= 3x/2.25x
I would like to keep the size of the OSD as small as possible/reasonable for now.

There does seem to be more aliasing than Lanczos at high frequencies though. (Lanczos 4 and Jinc 4 are similar, Lanczos 8 has less)
With test patterns or real images? I've yet to see Jinc show more aliasing in *any* image compared to Lanczos.

Would it be possible to save the anti-ringing filter option on a per-filter basis as well?
Possible? Sure. But is it a good idea? I'm not 100% sure about that. Opinions, anyone?

Please have a look at those logs:
https://dl.dropbox.com/u/43376972/madvr%20-%20logs%2023%20-%2059%20freez.zip
Will do.

I'm fairly certain that I'm missing something obvious but MPC-HC gives me this error when I try to take a screenshot via Alt + I or F5:

http://s7.postimage.org/g3j8xny61/mpchcscreenshot.png
That must be a rather recent change in MPC-HC because screenshotting works just fine with the older MPC-HC build I'm still using here. This will need to be changed by MPC-HC.

So far Jinc seems pretty interesting in my testing. Jinc 3 seems to be sharper than Jinc 4 at high frequencies, but Jinc 4 is sharper at lower frequencies, and has less aliasing. This is probably a good thing, as most high frequency detail is going to be noise unless you are upscaling Blu-rays.

Strangely, Jinc shows even less high frequency detail than SoftCubic in some tests—presumably because it's a "circular" filter rather than a "square" one.
I'd like to get samples that show these things, if possible?

What are your impressions with real video content, though?

I've now been able to confirm that pretty much universally, anti-ringing adds aliasing to all the Bicubic variants. (Mitchell-Netravali through to SoftCubic)
Yes, but it's not like night and day and I usually only see it when using max zoom (303% + double size) in MPC-HC.

I'd probably suggest Jinc 4 with anti-ringing for now, and Jinc 3 if your system can't handle it. (Jinc 3 also seemed OK without anti-ringing, to further reduce the demands) I wouldn't recommend Jinc 4 without anti-ringing.
From my tests the difference in performance between Jinc with or without anti-ringing is rather small. I guess any GPU which can do Jinc without anti-ringing filter can probably also do it with anti-ringing.

I have one question regarding chroma upsampling, as this is the only relevant scaling for me most of the time (watch 99% 1080p content on a native 1080p projector):

With the new "Jinc" resampling and your anti-ringing filter what is your current recommendation for "best quality" chroma upsampling. I did some comparisons with EVR (on a AMD 5870 with latest Catalyst) and to my big surprise EVR had "better quality" chroma upsampling than I was able to achieve with madVR. The sharpness was comparable to madVR with Lanczos 3 but without any obvious ringing. I tested this with the chroma charts on Stacy Spears Benchmark Blu-Ray. I know that with real content the differences in chroma upsampling are rather hard to spot.

So EVR on ATI actually had "better quality" in those 1080p chroma test charts than madVR, no matter which option was selected.

Now with the anti-ringing filter this might change. Would you advice to use Jinc with anti-ringing for the "best" (sharpest, while keeping artifacts in control) chroma upsampling madVR is able to?
Chroma upsampling has been a hotly debated topic in this thread. I still believe it's somewhat a matter of taste. With some content, a very soft chroma upsampling algorithm looks better, with other content, you need an algorithm which reproduces high frequencies well. Other content needs a sharp upsampler. All of this applies especially when testing with special test patterns. There can also be big differences between how the chroma channel in test patterns was created in the first place.

Anyway, are those Stacey Spears chroma charts available for free somewhere? I'd really like to try them out here. Furthermore: Would you mind making a screenshot with EVR compared to madVR? I'd really like to see what you mean with my own eyes. FWIW, on my PC, my Radeon 3850 uses Nearest Neighbor upsampling for chroma, when using EVR, which of course is terrible.

Personally, I still like SoftCubic for chroma upsampling, but it admittedly is quite soft. For some test content that's just what the doctor has ordered. For other content a sharper algorithm may look better. If you like sharper chroma upsampling algorithms, I believe the Anti-ringing filter should help a lot. Just give it a try. In the end, let your eyes decide.

You're probably right on the 8 tap. Still, for those with insane systems slash future systems might as well enable 8 tap jinc and/or chroma jinc if it doesn't take much work.
8 tap would be easy to do. Jinc upscaling for chroma is more difficult. Not sure if I should do that. Sounds kinda like overkill to me, but then, if you have a high-end GPU and power to spare, offering it might not be such a bad idea...

i can only select Jinc in the image scaling settings. the other places it is grayed out. is this couse its not implemented yet?
Yes. I'm not even sure if I will implement Jinc downscaling or Jinc chroma upscaling. Maybe. Maybe not. Depends a bit on your feedback on Jinc image upscaling, I guess.

TheLion
6th October 2012, 19:28
madshi,

I sent you a PM about Stacey's test patterns and a comparative EVR screenshot. Thanks!

6233638
6th October 2012, 19:51
With test patterns or real images? I've yet to see Jinc show more aliasing in *any* image compared to Lanczos.Only in test patterns so far, but I haven't had a chance to look through many other videos yet. Obviously real-world is what actually matters, as evidenced by Lanczos8 being a clear winner on zone plates, and not much else.

Possible? Sure. But is it a good idea? I'm not 100% sure about that. Opinions, anyone?Yeah, I understand why people might not want the option for a per-filter setting. For me, it's because I'm likely to switch between Jinc with anti-ringing, and SoftCubic without anti-ringing depending on the video. With the keyboard shortcuts, it's easy enough to switch now anyway.

I'd like to get samples that show these things, if possible?I'll try and get some samples posted up tomorrow.

What are your impressions with real video content, though?So far, I think I like it the most out of all the sharper algorithms. There is noticeably less aliasing than any of the Bicubic variants, and it doesn't seem as artefact-prone as Lanczos/Spline.

I think it's probably too sharp for my tastes though, at least for anything below 720p.

8 tap would be easy to do. Jinc upscaling for chroma is more difficult. Not sure if I should do that. Sounds kinda like overkill to me, but then, if you have a high-end GPU and power to spare, offering it might not be such a bad idea...If 8-tap is easy to do, I don't see any reason to avoid including it, if people want to try it.

I'm skeptical of the usefulness of Jinc for Chroma, but obviously you'd have to see it to know whether it was beneficial or not.

omarank
6th October 2012, 20:14
Not sure why deinterlacing fails. I think it should work. Or are you still using XP? In that case maybe you don't have .NET 3.0 (or higher) installed? That's required for DXVA2 deinterlacing. Or maybe the Intel drivers don't support DXVA2 deinterlacing in XP? Don't know. If you're on a newer OS then in theory I think it should work. It would be very hard for me to fix. Does deinterlacing appear to work in EVR?

I am on Windows 7 32 bit. Deinterlacing works just fine in EVR.

Can't say much about Overlay mode. Well, I'm presenting frames in a different thread, maybe that confuses the Intel driver. But reportedly it works fine on newer Intel GPUs, so it's probably a driver bug. Nothing I can do about it...

Yeah, it should be a driver bug then.

Hypernova
6th October 2012, 20:32
Awesome works madshi. From my limited testing Jinc works well and I like it. The ringing is noticeably less in a paused video. Too bad the HD 4000 can barely do 720->1080p so when I watch stuffs on my main monitor it can't handle the ->2560x1600 conversion. And I don't want to take out my 670 just for that.

jaagil
6th October 2012, 20:55
Great work once again Madshi
I have GTX 285, Do you think I could run Jinc on 3 or 4 taps?
Also, which one do you prefer, Spline, Jinc or Lanczos?
Mainly for anime watching I've been using Spline to this moment, should I start using Jinc with 3 taps, anti-ringing maybe?
My monitor is 2560x1440 so upscaling to that could be pretty heavy, do you think GTX 285 can handle it

naoan
6th October 2012, 20:58
Gear work once again Madshi
I have GTX 285, Do you think I could run Jinc on 3 or 4 taps?
Also, which one do you prefer, Spline, Jinc or Lanczos?
Mainly for anime watching I've been using Spline to this moment, should I start using Jinc with 3 taps, anti-ringing maybe?
My monitor is 2560x1440 so upscaling to that could be pretty heavy, do you think GTX 285 can handle it

Good lord, why don't you just try it yourself?

jaagil
6th October 2012, 21:02
Good lord, why don't you just try it yourself?

Because I'm scared of explosions.

iSunrise
6th October 2012, 21:08
8 tap would be easy to do. Jinc upscaling for chroma is more difficult. Not sure if I should do that. Sounds kinda like overkill to me, but then, if you have a high-end GPU and power to spare, offering it might not be such a bad idea...

Yes. I'm not even sure if I will implement Jinc downscaling or Jinc chroma upscaling. Maybe. Maybe not. Depends a bit on your feedback on Jinc image upscaling, I guess.
Did some quick testing with 0.84.0, thanks for the nice additions, madshi.

I would like it if you could at least enable 8 tab Jinc image upscaling. Iīve compared Lanczos 8 and 4 tab Jinc, both with anti-ringing enabled, and 4 tab Jinc has even less ringing than Lanczos 8. It is a bit more on the soft side, though, so what Iīm especially interested in is if 8 tab Jinc retains less ringing while also being a bit sharper. This is mainly for 720p videos up-converted to 1080p. I have not yet done testing with anything below 720p.

I have a GTX 580 which actually doesnīt show any differences in present times when switching between Lanczos 8 and 4 tab Jinc (about 0.05ms avg. and 0.12ms max.), both with anti-ringing enabled.

I seriously love the keyboard shortcuts, which was a request I had, it REALLY makes it a lot easier to compare everything. One question though, is it intentional that we canīt choose a shortcut for Nearest Neighbour? Can you please add this, too? I use that as a base to compare to, so I can see if there are compression artifacts in the video itself, before I do my comparisons. Thanks a lot!

secvensor
6th October 2012, 21:11
added media player screenshot functionality (IBasicVideo::GetCurrentImage)

http://i26.fastpic.ru/big/2012/1007/15/e989d3c9cc26cd0597b60032bafc3d15.png

vBm
6th October 2012, 21:25
@secvensor
wait for newer nightly of mpc-hc. It was just changed.

cyberbeing
6th October 2012, 21:35
(1) Screenshots are done after deinterlacing and color conversion, but before scaling and aspect ratio correction.
Would you be willing to add an option so screenshots could be taken after scaling and aspect ratio correction?

turbojet
6th October 2012, 21:36
I prefer Jinc over Lanczos and Spline and it doesn't blur as much as bicubic. If Jinc ran well on my gpu I'd probably be using it. How about a Jinc2 that would run on more gpus?

Speaking of bicubic blur could it be added as a parameter? It ranges from -1.0 to 1.0 and there's quite a significant difference between -1 and 0 (default). I posted pictures of the differences months ago but I could post some again upon request.

madshi
6th October 2012, 21:48
I sent you a PM about Stacey's test patterns and a comparative EVR screenshot. Thanks!
From a quick check is seems to me that the EVR screenshot seems to be slightly sharper than madVR using Mitchell-Netravali, but less sharp than madVR using Bicubic, Lanczos, Spline or Jinc. Without anti-ringing, the latter algorithms show ringing artifacts, though, obviously. However, with the anti-ringing filter enabled, madVR looks better than the EVR screenshot to my eyes, using any of the mentioned sharper algorithms. But this is a very artificial test pattern, where my anti-ringing algorithm works very well. Real life content is actually more difficult for the anti-ringing filter. So I think it would make sense to double check this with real life content. If you find other/more scenes/samples where you think EVR looks better, please let me know.

as evidenced by Lanczos8 being a clear winner on zone plates, and not much else.
What are zone plates? Are you talking about those frequency burst patterns? Or something else?

I am on Windows 7 32 bit. Deinterlacing works just fine in EVR.
Then I don't know why it doesn't work with madVR. Might be a bug in madVR, but since it seems to work with newer Intel GPUs and all NVidia and AMD/ATI GPUs I don't really know how to fix this, without having access to hardware for testing purposes...

I have GTX 285, Do you think I could run Jinc on 3 or 4 taps?
Also, which one do you prefer, Spline, Jinc or Lanczos?
Mainly for anime watching I've been using Spline to this moment, should I start using Jinc with 3 taps, anti-ringing maybe?
My monitor is 2560x1440 so upscaling to that could be pretty heavy, do you think GTX 285 can handle it
I can't say for sure. My Radeon 3850 sure can't handle it, but it's much slower than your GTX 285, so I don't know. Personally, I like Jinc best of all, but it's by far the slowest. And to be honest, the difference is fairly small in most cases.

I would like it if you could at least enable 8 tab Jinc image upscaling. Iīve compared Lanczos 8 and 4 tab Jinc, both with anti-ringing enabled, and 4 tab Jinc has even less ringing than Lanczos 8. It is a bit more on the soft side, though, so what Iīm especially interested in is if 8 tab Jinc retains less ringing while also being a bit sharper. This is mainly for 720p videos up-converted to 1080p. I have not yet done testing with anything below 720p.

I have a GTX 580 which actually doesnīt show any differences in present times when switching between Lanczos 8 and 4 tab Jinc (about 0.05ms avg. and 0.12ms max.), both with anti-ringing enabled.
The present times have nothing to say in this case, the rendering times are the only thing that counts, and you can only see them in windowed mode. I'll add 8 taps Jinc in the next build, for those with monster setups. It'll be interesting to see if anybody can actually run that in realtime. Might depend on the scaling factor, I guess...

is it intentional that we canīt choose a shortcut for Nearest Neighbour?
Oh well. I thought that nobody in their right mind would want to use Nearest Neighbour, so I didn't add a keyboard shortcut for it. But of course it's no big deal adding it...

Would you be willing to add an option so screenshots could be taken after scaling and aspect ratio correction?
Actually I had planned more than that, originally, but then I decided a quick and simple implementation was better than none at all, so I just did what every renderer does (but in higher quality). More options will come some time in the future, but probably not very soon.

I prefer Jinc over Lanczos and Spline and it doesn't blur as much as bicubic. If Jinc ran well on my gpu I'd probably be using it. How about a Jinc2 that would run on more gpus?

Speaking of bicubic blur could it be added as a parameter? It ranges from -1.0 to 1.0 and there's quite a significant difference between -1 and 0 (default). I posted pictures of the differences months ago but I could post some again upon request.
I don't remember having seen those pictures. Was it in this thread? Not sure if the Jinc algorithm can handle 2 taps. Probably it can, I'll check how it looks.

TheLion
6th October 2012, 22:08
What are zone plates? Are you talking about those frequency burst patterns? Or something else?



Chroma Zone plates = 00017.m2ts I have sent you ;-)

Lanczos8 is the only algorithm in madVRs arsenal that fully resolves this pattern. In general Lanczos8 with anti-ringing filter gives the "best" theoretical chroma upsampling in those special test patterns. I will try it for real content (without anti-ringing filter it was pointless before).

I would be very interested how Jinc does with these chroma patterns. It maybe a good option for chroma upsampling for very high quality 1080p content (certainly not for upsampled DVD or low bitrate 720p/1080p - for these softcubic is a great option)

Pat357
6th October 2012, 22:17
I have a GTX 580 which actually doesnīt show any differences in present times when switching between Lanczos 8 and 4 tab Jinc (about 0.05ms avg. and 0.12ms max.), both with anti-ringing enabled.

I assume these timings are for presentation?
You need to look at the times for rendering, not the one for presentation.
Try upscaling ((DVD resolution) & (<= 720p)) -> 1920x1080 with Jinc4 and anti-ringing enabled.
To be sure, use interlaced content and activate de-interlacing too.
Now report renderer-timings.

madshi
6th October 2012, 22:18
Chroma Zone plates = 00017.m2ts I have sent you ;-)

Lanczos8 is the only algorithm in madVRs arsenal that fully resolves this pattern. In general Lanczos8 with anti-ringing filter gives the "best" theoretical chroma upsampling in those special test patterns. I will try it for real content (without anti-ringing filter it was pointless before).

I would be very interested how Jinc does with these chroma patterns. It maybe a good option for chroma upsampling for very high quality 1080p content (certainly not for upsampled DVD or low bitrate 720p/1080p - for these softcubic is a great option)
I think those frequency burst and zone plate test patterns don't tell much for real video content. The only way for a linear resampler to "fully resolve" these patterns is by actually producing a lot of ringing. That's the dirty secret: These test patterns *require* the algorithm to ring (a lot), otherwise the test pattern looks bad. So Lanczos8 looks great here. Sinc would look even better. But for real life content ringing is rather bad, so I believe judging scaling algorithms by these patterns is not a good idea at all. However, the one (and only) thing I found these test patterns useful for was finding directional artifacts in my anti-ringing filters. The really difficult thing of an anti-ringing filter is that sometimes ringing is wanted, and sometimes it's not, and the anti-ringing algorithm needs to decide which ringing is wanted and which is not. These zone plate test patterns did help me fine tuning the anti-ringing filter. But other than that, I consider them mostly useless for judging the quality of an algorithm for real life content.

cyberbeing
6th October 2012, 22:26
I did some quick tests, and Jinc3/Jinc4 anti-ringing appears too soft on fine detail/contrast compared to Lanczos3 or Spline36 anti-ringing on that CrowdRun 720p sample I sent you awhile ago.

iSunrise
6th October 2012, 22:33
The present times have nothing to say in this case, the rendering times are the only thing that counts, and you can only see them in windowed mode. I'll add 8 taps Jinc in the next build, for those with monster setups. It'll be interesting to see if anybody can actually run that in realtime. Might depend on the scaling factor, I guess...
Ok, now Iīm really confused. I have disabled automatic fullscreen exclusive mode and I still canīt see rendering times, neither in windowed mode, nor in fullscreen windowed mode. The only things that are shown are average stats - present and max stats (5s) - present.

Screenshot:
http://www.abload.de/img/madvr_rendering38sxx.png

cyberbeing
6th October 2012, 22:52
The other stats are only shown if you have Flush & Wait set at the end of the Render and Present sections.

Pat357
6th October 2012, 22:53
* Set Timer Resolution to 0.5ms with TimerResolution (http://www.lucashale.com/timer-resolution/)

Do you know what setting was changed by using this TimerResolution ?
It seems that the version for Win7 from the tool is not free, only the XP version is ?
Don't know about you, but I don't really feel like paying for a tool to use it once (1x) to change one parameter somewhere in my registry !
If I knew which key handles this, I could change it myself.

cyberbeing
6th October 2012, 22:54
The last few madVR versions already set the timer resolution to best available, so that tool isn't needed.

When madVR is running:
http://imageshack.us/a/img72/2867/madvrtimerint.png

vivan
6th October 2012, 23:05
iSunrise,
they are shown during playback.

SamKook
6th October 2012, 23:08
the rendering times are the only thing that counts, and you can only see them in windowed mode.

Really? I can see it in FSE mode on my computer. I can't take a screenshot in FSE mode(I don't know how at least), but I see the same thing as this under average and max stats:
http://i.imgur.com/bdjT3.jpg

Pat357
6th October 2012, 23:54
The last few madVR versions already set the timer resolution to best available, so that tool isn't needed.

When madVR is running:
http://imageshack.us/a/img72/2867/madvrtimerint.png
Thanks !
Have you seen this (http://forum.doom9.org/showthread.php?p=1594405#post1594405) ?
What about the HPET ? Would this bring anything additional to improve playback ?

iSunrise
7th October 2012, 00:11
The other stats are only shown if you have Flush & Wait set at the end of the Render and Present sections.
Thanks! You either need to enable "flush & wait (sleep)" or "flush & wait (loop) on the "...after last render step" drop-down box for the rendering stats to show up.

With 4 tab Jinc I get about double the rendering times on up-scaling 720p content to 1080p vs. Lanczos 8 (8.77ms average vs. 4.29ms average), both with anti-ringing enabled.

So I guess 8 tab should at least be another 4 times slower than 4 tab Jinc (or rather memory consumption).

cyberbeing
7th October 2012, 00:24
Theoretically using HPET only in the OS via useplatformclock=true could improve playback if your other CPU based timer is unstable. By default Window 7 switches and syncs between HPET and TSC as needed.

ryrynz
7th October 2012, 02:17
Yes, for now, unless I get reports that it's not working well, then I can try to tweak the parameters a bit, like I did with the anti-ringing algorithm for the non-Jinc algorithms a couple of weeks ago.


Might not need tweaking, I also prefer to see the effects in real life content and I'm quite liking how Jinc and anti-ringing is looking, I'd certainly look at any tweak builds you put out, perhaps having a tweak option or two with the anti-ringing would be nice so we don't have to settle with the one way, thoughts?


Please have a look at that with Jinc to make sure the problem doesn't occur there. Thanks.


Looking at it further I wouldn't say Lanczos with anti-ringing is a "problem" with strong lines, I just don't think it works that well (And I'm being fairly picky here).
Where anti-ringing seemed to wipe out some of the sharpness or line darkness created by Lanczos (my original post) it maintains it (albeit softer) with Jinc.
Overall I'm quite happy with how Jinc 4 taps and anti-ringing is looking, I will likely play round with it some more but first off.. I'd need to upgrade.


Would it be possible to save the anti-ringing filter option on a per-filter basis as well? Some filters seem to be better off without it. (SoftCubic for example)


Possible? Sure. But is it a good idea? I'm not 100% sure about that. Opinions, anyone?


I'm for this.


With 4 tab Jinc

Gonna have to be that guy iSunrise sorry! It's 4 taps not tab.


Madshi, small issue - If you enter the keyboard shortcuts page and then exit the settings window and enter it again the keyboard shortcut page is blank until you click off and on it again.

iSunrise
7th October 2012, 02:25
Gonna have to be that guy iSunrise sorry! It's 4 taps not tab.
No need to be sorry, thanks for pointing it out. I didnīt even realize that tab doesnīt make any sense in this case, until now.

6233638
7th October 2012, 02:40
The last few madVR versions already set the timer resolution to best available, so that tool isn't needed.

When madVR is running:
http://imageshack.us/a/img72/2867/madvrtimerint.pngThanks, I wasn't aware of this. I actually needed the tool for another purpose, so I assumed it must have affected madVR. (didn't think to check if madVR was changing it)

It must have been switching to HPET only with the bcdedit /set useplatformclock true command that brought the chance of a repeated frame so low, not that I was really running into problems before anyway, I just thought it was odd when madVR was reporting 1.#J days.

Do you know what setting was changed by using this TimerResolution ?
It seems that the version for Win7 from the tool is not free, only the XP version is ?
Don't know about you, but I don't really feel like paying for a tool to use it once (1x) to change one parameter somewhere in my registry !
If I knew which key handles this, I could change it myself.It's not a registry tweak and requires the application to be running. The "Windows XP" one seemed to work fine if you don't mind leaving it open, but it seems it isn't necessary with madVR anyway. The paid version lets you have it automatically set the timer to the maximum resolution of 0.5ms as a hidden process.

robpdotcom
7th October 2012, 02:52
Not sure if anyone else posted this:

Go to "keyboard shortcuts" tab > close the madVR settings window > open madVR settings window > "keyboard shortcuts" tab is blank until you go to another tab and back.

Also, could we get the disable/enable FSE mode as a toggle?

JarrettH
7th October 2012, 03:10
How do you actually know if Jinc is too intensive for your CPU? Does it begin to affect sync?

My average stats settle to about 18.44ms rendering for a 720p of Blue Velvet

ryrynz
7th October 2012, 03:25
You'd don't need to be looking at CPU as much as the GPU, 18ms isn't that high.

As far as rendering times go does anyone have any recommendations here? Keep it under 50ms?

From my own testing upscaling (around 2x) with Jinc 4 taps requires a GPU faster than an Intel HD4000, 3 taps is fine though.

BTW Madshi enabling anti-ringing on my HD4000 with Jinc 3 taps increases GPU usage by 20%.

dansrfe
7th October 2012, 03:59
Can confirm that screenshots are working perfectly with the latest nightly build of MPC-HC.

Small feature request: OSD entries for chrome and image upscaling/downscaling algorithms & taps.

Thanks for the new features madshi!

turbojet
7th October 2012, 06:12
I don't remember having seen those pictures. Was it in this thread? Not sure if the Jinc algorithm can handle 2 taps. Probably it can, I'll check how it looks.

Found it, http://forum.doom9.org/showthread.php?p=1582946#post1582946

Jinc works okay with a 9500GT with 1024x768 crt (stuck with it for s-video, hdmi->svideo converters have issues) but not on 1680x1050 monitor. But lanczos 4 works fine so hoping Jinc 2 would work if possible. The ivy bridge laptop is hopeless, lanczos3 doesn't work well at 1366x768 monitor or 1080p tv.

JincResize would be a great avisynth filter, would you be willing to work on making that happen? Whether it's writing it discussing it with a plugin developer.

Hypernova
7th October 2012, 06:16
You'd don't need to be looking at CPU as much as the GPU, 18ms isn't that high.

As far as rendering times go does anyone have any recommendations here? Keep it under 50ms?

From my own testing upscaling (around 2x) with Jinc 4 taps requires a GPU faster than an Intel HD4000, 3 taps is fine though.

BTW Madshi enabling anti-ringing on my HD4000 with Jinc 3 taps increases GPU usage by 20%.

Your HD 4000 setup is fast enough of Jinc 3 taps doing 2x? Can you tell me from what to what resolution? Mine struggled to keep up doing 720p->1440p

leeperry
7th October 2012, 06:25
wow AR spline3 downscaling really hits the spot for me, ringing is GONE and it's still plently sharp = You sir are unstoppable! can't wait to try jinc downscaling if that's ever considered :thanks:

I'm in the process of finally acquiring a 1080p TV set but I'll still be SuperSizing in ffdshow so I'll need mVR to downscale to 1080p anyway.

BTW, if I close mVR's GUI with the keyboard shortcuts page open, it'll open empty next time I'll click on "edit settings": http://thumbnails101.imagebam.com/21389/20ba4e213884455.jpg (http://www.imagebam.com/image/20ba4e213884455)

madshi
7th October 2012, 08:09
I did some quick tests, and Jinc3/Jinc4 anti-ringing appears too soft on fine detail/contrast compared to Lanczos3 or Spline36 anti-ringing on that CrowdRun 720p sample I sent you awhile ago.
I don't think it has anything to do with the anti-ringing filter. Try it without, you'll see similar results. Jinc simply looks different because it's a circular resampler compared to rectangular Spline or Lanczos. Jinc does look softer in some situations, but on the positive side it has noticeably less aliasing than even Lanczos. I already mentioned in my v0.84 announcement post that Lanczos still may look better in some situations due to being sharper. If you test the algorithms with different material, you'll see the positive sides of Jinc, too, I'm sure. E.g. have a look at these pictures:

Lanczos 4 - anti-ringing (http://madshi.net/Lanczos4ar.png) | Jinc 4 - anti-ringing (http://madshi.net/Jinc4ar.png)

I think this test picture (enlarged 400%) shows quite nicely the characteristics of Lanczos and Jinc: Lanczos is able to pull out some details that Jinc is smoothing over. So some fonts look more detailed in the Lanczos upscale. However, Lanczos shows a lot of aliasing (although less than Spline) and some fonts look rather "digital". On the other hand, Jinc is a bit softer overall (much softer in some places, not much/any softer in other places), but the image looks more natural and organic/analog overall. So which is better? Lanczos or Jinc? I think it's a matter of taste. Personally, I think I prefer the look of Jinc.

Ok, now Iīm really confused. I have disabled automatic fullscreen exclusive mode and I still canīt see rendering times, neither in windowed mode, nor in fullscreen windowed mode.
Really? I can see it in FSE mode on my computer.
Sorry, my fault. :o As mentioned by cyberbeing, the flushing setting defines whether you're seeing the rendering times or not.

perhaps having a tweak option or two with the anti-ringing would be nice so we don't have to settle with the one way, thoughts?
I'd *really* like to avoid that. The scaling options are already complicated enough as they are right now. But if you find a situation where the Jinc anti-ringing filter should be improved, let me know and I'll see what I can do...

Madshi, small issue - If you enter the keyboard shortcuts page and then exit the settings window and enter it again the keyboard shortcut page is blank until you click off and on it again.
Go to "keyboard shortcuts" tab > close the madVR settings window > open madVR settings window > "keyboard shortcuts" tab is blank until you go to another tab and back.
BTW, if I close mVR's GUI with the keyboard shortcuts page open, it'll open empty next time I'll click on "edit settings"
Will be fixed in the next build.

Also, could we get the disable/enable FSE mode as a toggle?
But it's already there!?

How do you actually know if Jinc is too intensive for your CPU? Does it begin to affect sync?

My average stats settle to about 18.44ms rendering for a 720p of Blue Velvet
The GPU counts for Jinc, not the CPU. Just check whether you're getting frame drops. If not, everything is alright.

Small feature request: OSD entries for chrome and image upscaling/downscaling algorithms & taps.
Just assign a keyboard shortcut to the scaling algorithm "toggle" action and then pressing it once will show you which algorithm is active without changing it. I'd really like to keep the OSD as small as possible for now.

Found it, http://forum.doom9.org/showthread.php?p=1582946#post1582946
Oh well, I remember. The point is: I'm afraid of making the settings dialog too complex. It's already frightening to new users as it is right now. Maybe some time in the future...

JincResize would be a great avisynth filter, would you be willing to work on making that happen? Whether it's writing it discussing it with a plugin developer.
Look for "EWA Lanczos" in ImageMagick, that's pretty much the same as Jinc. ImageMagick is open source. So it shouldn't be too hard to make it work in AviSynth for someone with AviSynth development experience. ImageMagick doesn't have an anti-ringing filter, though, that's purely my own invention. I've explained that in my "non-ringing Lanczos" thread in the doom9 AviSynth area, though. None of the AviSynth devs seemed to be very interested at the time, though (I had started that thread a loooong time ago, years (?) before I actually finally implemented the anti-ringing filter in madVR).

can't wait to try jinc downscaling if that's ever considered
Jinc downscaling will be even slower than Jinc upscaling, so I'm not sure if it's worth the effort...

ryrynz
7th October 2012, 10:26
Your HD 4000 setup is fast enough of Jinc 3 taps doing 2x? Can you tell me from what to what resolution? Mine struggled to keep up doing 720p->1440p

I can easily do 704x480 to 1920x1080 which uses 71-74% of my HD4000 with no dropped frames in windowed or exclusive mode.
My settings are as follows:

CPU queue size: 4
GPU queue size: 4

-Windowed mode-
Backbuffers: 8
GPU flushing set to flush & flush & wait, don't flush, don't flush.

-Exclusive mode-
Frames in advance: 3
GPU flushing set to flush, don't flush, don't flush, flush and wait.

Hope that helps a little but with you're dealing with a 0.92MP to 3.8MP upscale so whilst it's around 2x on x and y axis individually it's 4x the total detail.
Your GPU is dealing with 3x as many pixels than mine at the start and almost twice as many with the final result.
My upscale is 0.33MP to 2.07MP, the work required for your upscale could be around twice much as mine and therein likely lies your issue.

nevcairiel
7th October 2012, 10:32
I had a crash closing MPC-HC with madVR just now, it seems to only happen when i run MPC-HC from visual studio in a debugger, not when run normally...

First-chance exception at 0x774cf9d2 (ntdll.dll) in mpc-hc.exe: 0xC0000008: An invalid handle was specified.

Anyhow, here is the crash report:
http://files.1f0.de/madVRcrashinvalidhandle.zip

madshi
7th October 2012, 10:41
I had a crash closing MPC-HC with madVR just now, it seems to only happen when i run MPC-HC from visual studio in a debugger, not when run normally...

First-chance exception at 0x774cf9d2 (ntdll.dll) in mpc-hc.exe: 0xC0000008: An invalid handle was specified.

Anyhow, here is the crash report:
http://files.1f0.de/madVRcrashinvalidhandle.zip
Thanks, will be fixed in the next build.

madshi
Thanks for .84
Please have a look at those logs:
https://dl.dropbox.com/u/43376972/madvr%20-%20logs%2023%20-%2059%20freez.zip
What am I supposed to see in those logs? I'm not sure. I do see some frame drops in the logs, but it's always after something happened and the frame drops stop very quickly afterwards, going back to fluid playback. At least according to what I could see from a quick look at the logs.