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

nevcairiel
30th July 2012, 16:52
I did a quick test on my GTX 680, and even though the difference is very minimal, the old version seems slightly faster. But its really not conclusive, the card is too fast to measure a real difference.
I can test later on my AMD 7750 to see how its there.

SamuriHL
30th July 2012, 16:53
Thanks, Nev!

ranpha
30th July 2012, 16:54
Fermi GTX460 1GB P8 mode,GeForce 275.33, Windows 7 x64.

Scaling a 480p video to 1080p.
Lanczos 3-tap with no anti-ringing enabled: 40% GPU load.
Lanczos 3-tap with anti-ringing enabled: 50% GPU load.

Lanczos 8-tap with no anti-ringing enabled: 50% GPU load.
Lanczos 8-tap with anti-ringing enabled: 70% GPU load.

noee
30th July 2012, 17:05
ranpha, he's looking for differences between spline/lanczos.

shimaflarex
30th July 2012, 17:05
The new build has also fixed my blocking issue.

nevcairiel
30th July 2012, 17:12
ranpha, he's looking for differences between spline/lanczos.

Actually, he is looking for the difference with 0.82.5 and his test version.

sexus
30th July 2012, 17:34
yep i can confirm also that the fix worked thanks madshi keep it up perhaps your on to the holy grail of all filters here ;)

p.s: so the new best madvr scaling settings would be

chroma upsampling - lanczos 3 tap
luma downscaling - lanczos 3 tap plus antiringing
and luma downscaling - bicubic 50


i hope this is right trying to figure it out from ranphas guide and thinking alot , lols

Hprd
30th July 2012, 18:11
New version works great! LZ8 with the anti ringing filter has similar (or better) levels of aliasing and/or ringing as softcubic80, except of course with massively better sharpness and detail! Of course there's still more errors in the picture with lz8, or 4 (which the difference I can't really tell. I guess technically 4 would be better then to use.), but then again I think SC80 covered them up, lol.

Compared to Mitchell-Netravali it's closer, but there's still noticably less aliasing, and a bit more sharpness and detail. So I would say this may be the best luma upscaling option yet!

chros
30th July 2012, 18:17
So maybe for ATI users the new algorithm is faster, and for NVidia users the old. Can you confirm? Does anybody have a Fermi or Kepler card to double check performance?
Standard clocked Geforce 9600GT with Awake 720p 23.976fps @~60Hz on 1920*1080 display:
MadVR 8.2.5 Lanczos4: GPU: 20-22% FPU: 15-20% MCU: 8-9%
MadVR 8.2.5 Lanczos4_new: GPU: 33-34% FPU: 15-20% MCU: 8%
MadVR 8.2.5 Lanczos4_new_antiring: GPU: 61-64% FPU: 15-20% MCU: 8-9%

So, it seems to be that you're right. It's also the case with the 9600m GT on my laptop.
If, somehow, you can speed up these instructions on nvidia as well ... :)

And thanks for these new features!

Mangix
30th July 2012, 18:25
redid the test on windows 8 64-bit and gts 450. Lanczos3 with NO linear light

original: 4.3
new: 5.3
new+anti-ringing: 8.2

Lanczos4:

original: 4.5
new: 6.1
new+anti-ringing: 9.6

speed disappeared for some reason. but the blockiness in the anti-ringing option disappeared.

I'm getting faster results with the new test build ONLY if I enable linear scaling.

original: 7.5
new: 6.1

oh looks like you were right, no linear scaling in the test build.

chros
30th July 2012, 19:00
I did a quick test on my GTX 680, and even though the difference is very minimal, the old version seems slightly faster. But its really not conclusive, the card is too fast to measure a real difference.
And what if you force lower a P state (eg. the lowest, I don't know how many the GTX 680 has) with nvidiainspector through command line? The difference will be more visible ...

06_taro
30th July 2012, 21:17
Win7SP1 x64, 704x480@24/1.001fps 10bpp(output P010 from LAV Video to madVR) on 1366x768 display

--- On iGPU(Intel i7-2670QM HD3000) ---
old lanczos 4-tap: ~15.30ms
new lanczos 4-tap without anti-ringing: ~16.45ms
new lanczos 4-tap with anti-ringing: ~29.04ms
old lanczos 8-tap: ~26.98ms
new lanczos 8-tap without anti-ringing: ~28.54ms
new lanczos 8-tap with anti-ringing: ~41.25ms

--- On dGPU(HD6770M) ---
old lanczos 4-tap: ~3.83ms
new lanczos 4-tap without anti-ringing: ~3.82ms
new lanczos 4-tap with anti-ringing: ~4.60ms
old lanczos 8-tap: ~5.67ms
new lanczos 8-tap without anti-ringing: ~4.90ms
new lanczos 8-tap with anti-ringing: ~11.08ms

Anti-ringing algorithm works fine.

ryrynz
30th July 2012, 21:30
out of curiosity what was causing the blockiness issue Madshi?

madshi
30th July 2012, 22:35
Thanks for the performance tests, everyone. 06_taro, could you please also test 3 taps with dGPU (not needed for Intel)? Thanks! So the conclusion for the moment seems to be:

NVidia: old algorithm is faster, sometimes a lot (jury is still out on 5xx and 6xx, though)
Intel: old algorithm is faster, but only a little bit
ATI: new algorithm is faster with old and new hardware, especially with 8-taps

Still interested in more results from newer NVidia cards, especially 5xx and 6xx.

Any comments anybody on the image quality of the anti-ringing algorithm? Does it work as intended? Any negative side effects you found?

@ryrynz: Instead of properly addressing the middle of a source pixel, I accidently addressed the edge between the source pixel and its left neighbor.

06_taro
30th July 2012, 23:38
OK. Same clip on the same platform with dGPU(HD6770M):

old lanczos 3-tap: ~3.28ms
new lanczos 3-tap without anti-ringing: ~3.35ms
new lanczos 3-tap with anti-ringing: ~4.20ms

The anti-ringing algorithm works well for me, but on my 1366x768 display it is only needed for low resolution sources, and most of my SD videos do not have fine details, so I cannot say if this algorithm may affect sharpness or not. Edges seem nice with this algorithm.

ryrynz
31st July 2012, 00:12
Intel: old algorithm is faster, but only a little bit


*Edit* actually after proper testing on another clip, that is right. In favor of the old code on both HD 3000 and HD 4000.

Hprd
31st July 2012, 00:36
Well, I took some comparison screens using windowed mode from a video which I think shows the differences between scaling pretty well. The chroma upscaler was Mitchell-Netravali BTW.

Original Resolution:
http://thumbnails65.imagebam.com/20387/fd2487203867947.jpg (http://www.imagebam.com/image/fd2487203867947)

LZ4 (anti-ringing on):
http://thumbnails71.imagebam.com/20387/677ceb203867609.jpg (http://www.imagebam.com/image/677ceb203867609)

LZ8 (anti-ringing on):
http://thumbnails51.imagebam.com/20387/17cc22203867767.jpg (http://www.imagebam.com/image/17cc22203867767)

LZ4 (no anti-ringing on):
http://thumbnails71.imagebam.com/20387/532e48203867686.jpg (http://www.imagebam.com/image/532e48203867686)

Mitchell-Netravali:
http://thumbnails57.imagebam.com/20387/e251f9203867834.jpg (http://www.imagebam.com/image/e251f9203867834)

Soft Cubic 80:
http://thumbnails58.imagebam.com/20387/0b9889203867907.jpg (http://www.imagebam.com/image/0b9889203867907)

cyberbeing
31st July 2012, 03:35
NVIDIA GT440 DDR5 @ 864Mhz Core | 1728Mhz RAM
304.48 Driver
Win7 SP1 x64

madVR Test Build2
720x480 -> 2560x1440

Lanczos3
15.1ms rendering avg | 37% GPU Load

Lanczos3 Anti-ringing
23.2ms rendering avg | 56% GPU Load

Lanczos4
17.8ms rendering avg | 41% GPU Load

Lanczos4 Anti-ringing
28.35 rendering avg | 66% GPU Load

Lanczos8
27.15ms rendering avg | 65% GPU Load

Lanczos8 Anti-ringing
50.1ms rendering avg | 100% GPU Load (too slow)


madVR 0.82.5

Lanczos3
11.45ms rendering avg | 29% GPU Load

Lanczos4
12.6ms rendering avg | 32% GPU Load

Lanczos8
19.05ms rendering avg | 45% GPU Load

JMGNYC
31st July 2012, 05:46
Despite having read through this thread numerous times I am still quite confused about the best way to get proper black and white levels. I understand setting everything to 0-255 is ideal and having tested it it does work. However, I dont't want to set my TV to 0-255 as I have both a BD player and Cable box going through my AVR in addition to my HTPC and they want 16-235. There's no easy way to switch the TV to 0-255 just for my HTPC.

So assuming that my TV is 16-235 here's what I've found using LAV, madVR, ATI 5570.

The Dynamic Range setting in ATI's CCC does nothing. No matter the setting there is no difference. Is this a bug or expected?

However, ATI's Pixel Format does make a difference.

If madVR is set to 0-255:
-Pixel Format to RGB Studio I get good levels both black and white.
-Pixel Format to RGB Full I get good white levels but bluck crush which is no good.

If madVR is set to 16-235:
-Pixel Format to RGB Studio I get WTW and BTB which is no good.
-Pixel Format to RGB Full I get WTW but black levels are good.

So, my primary question is which is better:

1. madVR 0-255 with RGB Studio or
2. madVR 16-235 with RGB Full and WTW showing.

Which is doing less or better conversion?

sexus
31st July 2012, 06:37
New version works great! LZ8 with the anti ringing filter has similar (or better) levels of aliasing and/or ringing as softcubic80, except of course with massively better sharpness and detail! Of course there's still more errors in the picture with lz8, or 4 (which the difference I can't really tell. I guess technically 4 would be better then to use.), but then again I think SC80 covered them up, lol.

Compared to Mitchell-Netravali it's closer, but there's still noticably less aliasing, and a bit more sharpness and detail. So I would say this may be the best luma upscaling option yet!


so

chroma upsampling - lanczos 3 tap
luma downscaling - lanczos 3 tap plus antiringing
and luma downscaling - bicubic 50


are not the best settings? now im confused , anybody with experience on this would be appreciated , im aiming for the best possible quality and the least possible artifacts or ringing , ive always looked at ranphas guide for this but apparently this setting isnt the best ?

ryrynz
31st July 2012, 07:04
There are no "best settings" It's entirely dependent on your eyes, your environment, your preference, your source and your settings.
Take screenshots and just choose what looks best to you, there's more than enough info to guide you based on other peoples preferences.

Mangix
31st July 2012, 08:29
After messing around with madVR for a while, I realized that it ruined the colors!

I have a Philips TV that causes many issues but one that I recently noticed was that once madVR goes into exclusive mode, the resolution turns to an HDTV resolution instead of a PC resolution and as a result, the colors get washed out. After messing with the settings, the only fix I found was to disable automatic exclusive mode. Shame as exclusive mode is faster on my PC.

edit: madVR just crashed. Send Error Report does not work due to lack of default mail client on Windows 8. The mailto: link that gets ceated does not work either. Crash dumps need to be saved to some location so they can be properly zipped up and emailed manually.

edit2: fixed the above issue by downloading Mozilla Thunderbird. Also discovered that without the "Present frames in advance" option, the washed out colors problem goes away.

ryrynz
31st July 2012, 08:46
624 x 352 -> 1920 x 1080

HD 4000 1600MHz RAM with 2761 driver. (AR is anti-ringing enabled)



Rendering time (ms) GPU usage %

Spline 3 16.55 38-42
Lanczos 3 17.65 43-45
Lanczos 3 AR 28.99 68-75
Spline 4 20.28 49-52
Lanczos 4 20.70 51-53
Lanczos 4 AR 29.30 69-73
Lanczos 8 29.70 69-75
Lanczos 8 AR 45.00 97-100 (2 frames dropped per second)

6233638
31st July 2012, 09:01
I go away for a couple of weeks and this happens!? :D
(my face has been stuck like that for the last five minutes)

FWIW, for bad sources he will probably still prefer SoftCubic because that nicely masks some of the source artifacts, while Lanczos (with or without anti-ringing filter) considers such artifacts details and makes them more visible. But for clean sources my hope is that Lanczos with anti-ringing might be best now.I need to spend some time with it, as I have only just set it up, but it's very exciting.

Preliminary results are that it's not perfect, and while ringing generally isn't a concern at any strength, Lanczos 3 will be the best choice rather than 4/8.


If anyone is wondering why I'm so excited (even though I'm a few days late)
http://www.abload.de/thumb/scaling2rfxb.gif (http://www.abload.de/img/scaling2rfxb.gif)

While it's obviously a very artificial test, it shows why I liked SoftCubic a lot, but also its limitations when compared to Lanczos and the anti-ring filter.

chroma upsampling - lanczos 3 tap
luma downscaling - lanczos 3 tap plus antiringing
and luma downscaling - bicubic 50

are not the best settings? now im confused , anybody with experience on this would be appreciated , im aiming for the best possible quality and the least possible artifacts or ringing , ive always looked at ranphas guide for this but apparently this setting isnt the best ?Lanczos is way too sharp, and has too much ringing for chroma upsampling. In almost all tests I have done, Mitchell-Netravali is the best option for chroma scaling in madVR.

Other scaling options are based on your preferences (well ultimately, they all are) but you will be degrading image quality with that.

ryrynz
31st July 2012, 10:25
624 x 352 -> 1920 x 1080

HD 3000 2133MHz RAM with 2761 driver. (AR is anti-ringing enabled)



Rendering time (ms) GPU usage %

Spline 3 21.15 50-52
Lanczos 3 22.96 55-57
Lanczos 3 AR 30.77 68-75
Spline 4 25.95 60-63
Lanczos 4 26.96 65-67
Lanczos 4 AR 37.28 87-92
Lanczos 8 33.90 79-83
Lanczos 8 AR 64.42 97-100 (8 frames dropped per second)




If anyone is wondering why I'm so excited (even though I'm a few days late)
http://www.abload.de/thumb/scaling2rfxb.gif (http://www.abload.de/img/scaling2rfxb.gif)


It's beautiful. The clarity.. the lack of ringing.. :eek:

sexus
31st July 2012, 11:38
I go away for a couple of weeks and this happens!? :D
(my face has been stuck like that for the last five minutes)

I need to spend some time with it, as I have only just set it up, but it's very exciting.

Preliminary results are that it's not perfect, and while ringing generally isn't a concern at any strength, Lanczos 3 will be the best choice rather than 4/8.


If anyone is wondering why I'm so excited (even though I'm a few days late)
http://www.abload.de/thumb/scaling2rfxb.gif (http://www.abload.de/img/scaling2rfxb.gif)

While it's obviously a very artificial test, it shows why I liked SoftCubic a lot, but also its limitations when compared to Lanczos and the anti-ring filter.

Lanczos is way too sharp, and has too much ringing for chroma upsampling. In almost all tests I have done, Mitchell-Netravali is the best option for chroma scaling in madVR.

Other scaling options are based on your preferences (well ultimately, they all are) but you will be degrading image quality with that.

thanks finally someone that replies with more than "well its up to you i cant really help out" , lols , thanks i shall change to mitchell-netravali then for the upsampling and leave the rest :cool:

so this is my new setup then :

chroma upsampling - Mitchell-Netravali
luma upscaling - lanczos 3 tap plus antiringing
and luma downscaling - bicubic 50

should sound about right? thanks for all the suggestions in advance

ryrynz
31st July 2012, 11:48
Actually I could "help out" but how would you ever learn anything sexus? :p and honestly that's half the fun.. Look at how excited 6233638 got :)

Madshi, you know what would be kinda neat? dropping the ringing bar graph a notch when you tick 'activate anti-ringing'

6233638
31st July 2012, 13:26
OK, so I have not yet had the time to run through my full suite of tests, but I think I've seen enough now to determine that the anti-ring filter is really, really nice. :D

But it's not without fault, and you definitely don't want to go above Lanczos 3. While there may not be any obvious "ringing" when increasing it to 4/8 taps, there is definitely still the impact of it on the image.

From here on, I am going to refer to the anti-ring filtered Lanczos as Lanczos _A.


For example:
http://i.imgur.com/u7WqV.jpg

The first image is Lanczos 3A, then Lanczos 8A, then Lanczos 8.

Note the distortion on the right side of the "B" button in the Lanczos 8A image, and you can see that it's actually caused by the ringing in the Lanczos 8 image, though that ringing itself is no longer visible.

There are certainly some cases where Lanczos 8A is beneficial as far as aliasing is concerned, but when it goes wrong, the results are very bad. Lanczos 4A shows the same results to a lesser degree, and I'm sure you could probably find examples where 3A exhibits this problem as well, but I'd say it's probably negligible when compared to using other upsampling algorithms.



While there is no doubt that Lanczos 3A is probably most accurate to the source, some sources, if they are low resolution and/or highly compressed, still benefit from a softer filter in my opinion.

What I have seen though, is that in most cases, there is almost no benefit to using Mitchell-Netravali over Lanczos 3A. It's a softer algorithm, but not in a way that seems beneficial to image quality—i.e. reducing the appearance of artefacts.

I would say that if you're wanting to use a softer filter to make highly compressed videos more watchable, you're best going straight to SoftCubic, and my personal preference is SoftCubic 80, as it doesn't exhibit any ringing with most sources. (lower values do, to some degree)



I have noticed that there still seems to be some diagonal artefacting from the anti-ring filter, though nowhere near as bad as people were seeing with the initial release. Not sure of the scale factor for the video, but I've blown this screenshot up to 200% for clarity. Lanczos 8 on top and Lanczos 8A on the bottom:

http://i.imgur.com/GSmJ9.jpg

While that example is Lanczos 8A, there doesn't seem to be any meaningful reduction in the artefacts when using Lanczos 3A.

I've definitely noticed these artefacts in a number of sources, though their impact on the source is quite minimal. (that is a highly magnified area of the picture—approximately 57×39 in the source)


I would say that with the possible exception of when you are GPU limited, Lanczos 3A has eliminated Bicubic as an option.

Previously my recommendations were: SoftCubic 80—If you want a ring-free image that shows minimal artefacts, at the cost of being relatively soft.
Mitchell-Netravali—If you want a sharper image without much ringing, but the possibility of showing some aliasing.
Bicubic 75—If you can tolerate some ringing and want a reasonably sharp image with low levels of aliasing.

Now, I would probably say that the choice is only between SoftCubic 80 and Lanczos 3A, or possibly Mitchell-Netravali until all the kinks get worked out.

I need to spend more time with it, but I can definitely see myself starting to use Lanczos 3A as my main choice.

With its introduction though, it now brings an older "issue" to the forefront. With different sources, different scaling algorithms may be preferable.

Up until now, my personal preference has been to use SoftCubic 80 on everything, but now I think I would probably want Lanczos 3A on everything DVD resolution and up, and SoftCubic on everything below DVD resolution. After spending more time with it though, I may feel that I want to go back to SoftCubic for DVDs, so perhaps: HD: >720×576 (or possibly 1024×576?) DVD: 720×480–720×576 Sub-DVD: <720×480would be the best options.

And to be clear, these are not pirated videos, they're web videos from various online sources. (the images in this post are taken from this series of videos (http://www.giantbomb.com/videos/5/?page=4) which are only available at 640×360 for example)


and luma downscaling - bicubic 50

should sound about right? thanks for all the suggestions in advance
I don't really do much downscaling, but right now I have it set to Mitchell-Netravali, scaled in linear light after some minimal testing. (I do not recommend linear light upscaling at all though)

Gser
31st July 2012, 13:43
There's been a lot of discussion about downscaling filters on the forums lately and I wonder if the anti-ringing feature would benefit lanczos when used in downscaling if it would be added to the avisynth filter.

ps. personally I prefer spline3 for chroma upscaling.

Keiyakusha
31st July 2012, 14:00
it is possible to achieve this effect in avisynth like for ages, however it is slow approach. what you probably want is to convince madshi to write avisynth plugin MadResize(1280,720,1,0,-3,0,taps=3,noring=true) that will use shader math to calculate things :D

madshi
31st July 2012, 14:59
@6233638, can I please have a sample of that green scene where directional artifacts are visible?

@Gser, anti-ringing also makes sense for downscaling.

@Keiyakusha, are you talking about separate de-ringing algorithms in Avisynth? That's somewhat different to what madVR is doing. Those separate algorithms analyze a video frame and try to detect and remove ringing from the frame. madVR does not look at a frame and try to remove existing ringing. Instead madVR modifies the resampling algorithm itself to not introduce ringing in the first place. I think for clean sources madVR's approach is better because it is less probable that madVR's algorithm harms image quality in any way. Or let me explain this in a different way: You could say LimitedSharpenFaster does the same thing as a normal sharpening followed by de-ringing. But actually LimitedSharpenFaster is better because it doesn't introduce ringing in the first place. Don't you agree? That said, e.g. NNEDI3 produces IMHO better results than madVR's anti-ringing Lanczos. So avisynth still wins (for now).

sexus
31st July 2012, 15:24
so now its :

chroma upsampling - Mitchell-Netravali <apparently spline and lanczos are too sharp and too much ringing according to 6233638?
luma upscaling - lanczos 3 tap plus antiringing
and luma downscaling - Mitchell-Netravali with scale in linear light , and you say lanczos 3 with anti ringing on downscaling would be the better choice then madshi? hasnt been implemented yet obviously

any more suggestions would be welcome and an explanation why to it would be awesome , aiming for the best of the best , thanks

p.s: hope you can beat avisynth soon madshi , what is nnedi3 btw? noob here , i know xD

Keiyakusha
31st July 2012, 16:36
@Keiyakusha, are you talking about separate de-ringing algorithms in Avisynth? That's somewhat different to what madVR is doing. Those separate algorithms analyze a video frame and try to detect and remove ringing from the frame. madVR does not look at a frame and try to remove existing ringing. Instead madVR modifies the resampling algorithm itself to not introduce ringing in the first place. I think for clean sources madVR's approach is better because it is less probable that madVR's algorithm harms image quality in any way. Or let me explain this in a different way: You could say LimitedSharpenFaster does the same thing as a normal sharpening followed by de-ringing. But actually LimitedSharpenFaster is better because it doesn't introduce ringing in the first place. Don't you agree? That said, e.g. NNEDI3 produces IMHO better results than madVR's anti-ringing Lanczos. So avisynth still wins (for now).
I agree with everything. Sure it is not implemented as single internal avisynth function, it requires external plugin and some scripting. So actual way of achieving this is limited to imagination. I understand that approach may be different but result looks very similar. Just I think implementing avisynth filter only to have something similar is not worth the trouble. Will it be way faster in software mode? Probably no. On the other hand if in addition to everything it will use shader math (or opencl or whatever) and will be actually faster - it will be very good not just to normal scaling but for more complex uses in antialiasing for example. Accesing shaders from avisynth is absolutely possible. There is already classic lanczos implementation (though old and somewhat limited).

EDIT: for example as we can see from this thread, your non-ringing stuff produces at least realtime output on not-so-hi-end gpu. Even though it is not as good as current solutions (for now), I won't use nnedi3 anymore if i'll be able to have it in avisynth with 0 cpu load.

6233638
31st July 2012, 17:03
@6233638, can I please have a sample of that green scene where directional artifacts are visible?Sure, here you go: http://www.filedropper.com/anti-ring
I put in another sample that shows it as well.

I should point out that I use MPC-HC's pan & scan controls (numpad keys) to zoom in on specific areas a lot of the time when comparing scaling algorithms.

That said, e.g. NNEDI3 produces IMHO better results than madVR's anti-ringing Lanczos. So avisynth still wins (for now).:D

SamKook
31st July 2012, 18:55
I'm finally done eating CPU so I decided to give it a try since you wanted stats for the NVidia 5xx series.

848x480 -> 1366x768 with my Geforce GTX 560ti using the latest EVGA stable drivers.
I maximized the player so the video would take the full available height of the screen.

The rendering time in average stats often changed quite a bit from start to finish so I always took the value at the end of my 1 min sample and tested the same settings multiple times.

Old is using MadVR 82.5 and AR is for Anti-Ringing.

GPU usage % Rendering time (ms)

Lanczos 3 Old 12 3.96, 3.60, 3.71, 3.82, 3.77
Lanczos 3 13 4.04, 3.91, 3.67, 3.88, 3.99
Lanczos 3 AR 17 5.24, 5.16, 5.09, 5.08, 5.25
Lanczos 8 Old 16 4.82, 4.71, 4.97, 4.77
Lanczos 8 18 5.70, 5.70, 5.42, 5.24, 5.38
Lanczos 8 AR 29 8.75, 8.74, 8.77

noee
1st August 2012, 01:13
Some quick and dirty Llano numbers (A6-3400M/HD 6520G)...

SD 480p => 1080, Using "new" test version:

Spline3: ~7.4ms
Lanczos3: ~6.9ms

Pat357
1st August 2012, 01:50
Results on my NVidia GTX-570 for upscaling 720x576p25 -> 1920x1080p25 (all normal YUV4:2:0)

Time need to render (ms) :
Old Lanczos

3-taps : 2.3 ms
8-taps : 4.0 ms


New Lanczos

no extra filter
3-taps : 2.7 ms
8-taps : 4.3 ms

with anti-ringing filter
3-taps : 3.6 ms
8-taps : 6.8 ms

It seems that the new implementation for lanczos filter is slower on my system.
The performance influence from the anti-ringing filter seems to be dependent from the "#taps" : for 3-tap we have a
difference from 0.9 ms, while for 8-taps the difference is 2.5 ms, even expressed in % it's an increase for the 8-tap case.

The image quality is OK for sure : before I've always avoided the Lanczos 4-tap and even Lanczos completely because of the ringing.
I went for Spline 3 taps for upscaling : also sharp, but less ringing.

Now, thanks to Madsi, I 'll probably switch to Lanczos 3-tap (a bit sharper) and almost no ringing anymore (for clean sources, at least)
and I might even consider the Lanczos 4-tap too now !
Heck, even Lanczos 8-tap with the filter doesn't look that ugly anymore !!

System :
i7-970@4Ghz, NVidia GTX-570 (driver 8.17.13.142 - 301.42), 24 GB DDR3-trippel channel 2000 MHz
240 MB OCZ SSD, Areca RAID6 connected to 8x WD 2TB 7200 rounds/min (get's over 1000 MB/s read speed!)
W7 x64 SP1 Ultimate Ed. / Iiyama 1920 x 1080 PC screen / Razor Mouse

SamKook
1st August 2012, 03:45
It seems that the new filter is faster for the higher "tabs" : for the 3-tab the newer is a bit slower than the older.
For 8-tabs, the newer is faster.

1st, it's a tap and not a tab and 2nd, 4.3(new 8 taps) is slower than 4.0(old 8 taps) so the newer one is slower than the old one according to your own results.

You must have looked at them a bit too fast.

ryrynz
1st August 2012, 05:51
You must have looked at them a bit too fast.

And typed too fast.

Madsi

:)

turbojet
1st August 2012, 08:20
Speaking of avisynth, is there any chance madvr supporting pre and post resize avisynth scripts?

I like to sharpen and deband after resizing with ffdshow: bicubicresize(b=-1,c=0.75).finesharp() and internal deband (gradfunkmirror?) but there's too many dropped frames with the resize to use it regularly, even with setmtmode. CPU jumps from 15-20% without resize to 60-70% offloading to gpu would help a lot especially if madvr gets the option to set bicubic's blur (b), it makes quite a difference.

Anti-ringing looks promising, looking forward to trying it with bicubic which still looks much better than lanczos to my eyes.

sidi0us
1st August 2012, 09:01
The only thing I miss in madVR is deband, some anime look way better if I use ffdshow internal resizer (Lanczos 4 taps) to full screen and deband (threshold 1.1) with EVR-CP. Movies and tv-shows are good with mad.

kostik
1st August 2012, 09:18
The only thing I miss in madVR is deband, some anime look way better if I use ffdshow internal resizer (Lanczos 4 taps) to full screen and deband (threshold 1.1) with EVR-CP. Movies and tv-shows are good with mad.

You can add the ffdshow raw filter in MPC-HC and put it on "prefer", then disable in madvr the internal decoders. This way you can use madvr with ffdshow and LAVfilter and use deband

Keiyakusha
1st August 2012, 09:56
Not sure if this is something that good to do with gpu but deband would be nice. ffdshow's deband is the worst debanding solution out there. I dunno how people can use it. It was only usable when it was the one and only solution. And anyway, being forced to use LAV and ffdshow is wrong. I'm tired of ffdshow and just want to let it go...
Or maybe support loading avisynth scripts in madvr (not via directshow but using avisynth api) that will be applied before all other gpu processing? Unfortunately nev doesn't wants to add avisynth support to lav even though this pretty much solves people's requests about postprocessing while not making you implement tons of different filters to please every user.

ryrynz
1st August 2012, 10:11
Straying off topic here but the solution is ideally to add avisynth support to LAV, it's just someone else is going to have to do it.
As far as deband goes I wouldn't expect Madshi to be adding that any time soon. We'll just have to live with ffdshow for now.

Posted almost a year ago.

Madshi Can we expect to add a deband filter and a TIVTC filter (like telecide filter) in madvr?


Maybe.



Whilst on the topic of madVR additions..



Any chance we could get a few additions to the keyboard shortcuts?

Also you make mention of them becoming adjustable in a future version which would be nice to see, thanks.

Sorry, can we move this back another few months? :p


Those months go by quickly Madshi :)

Keiyakusha
1st August 2012, 13:53
It looks like I have random lock-ups when using madvr with anti-ringing on GTX 570 with latest stable driver. By lock up I mean at some point image freezes, sound plays the same short part in loop and I have to press reset...
I rolled back to latest release madvr version. Will use it for some time to see that the problem is not somewhere else.

naoan
1st August 2012, 16:05
Not sure if this is something that good to do with gpu but deband would be nice. ffdshow's deband is the worst debanding solution out there. I dunno how people can use it. It was only usable when it was the one and only solution. And anyway, being forced to use LAV and ffdshow is wrong. I'm tired of ffdshow and just want to let it go...
Or maybe support loading avisynth scripts in madvr (not via directshow but using avisynth api) that will be applied before all other gpu processing? Unfortunately nev doesn't wants to add avisynth support to lav even though this pretty much solves people's requests about postprocessing while not making you implement tons of different filters to please every user.

I'm curious as to what's so bad with ffdshow. It's faster than lav, I see nothing's wrong with image quality and it works really good with real time avisynth filter (fk3db is godly with anime) especially combined with madvr.

I too asked for avisynth support on madvr back in the days, but now that ffdshow has stabilized enough, I see no reason for it.

Pat357
1st August 2012, 17:32
And typed too fast.

:)

I should stop playing with new MadVR versions till in the middle of the night :D

mzso
1st August 2012, 17:53
I'm curious as to what's so bad with ffdshow. It's faster than lav, I see nothing's wrong with image quality and it works really good with real time avisynth filter (fk3db is godly with anime) especially combined with madvr.

I too asked for avisynth support on madvr back in the days, but now that ffdshow has stabilized enough, I see no reason for it.

He was only talking about the debanding filter.

naoan
1st August 2012, 19:16
He was only talking about the debanding filter.

I know it's TL;DR for you, but look harder.

Not sure if this is something that good to do with gpu but deband would be nice. ffdshow's deband is the worst debanding solution out there. I dunno how people can use it. It was only usable when it was the one and only solution. And anyway, being forced to use LAV and ffdshow is wrong. I'm tired of ffdshow and just want to let it go...
Or maybe support loading avisynth scripts in madvr (not via directshow but using avisynth api) that will be applied before all other gpu processing? Unfortunately nev doesn't wants to add avisynth support to lav even though this pretty much solves people's requests about postprocessing while not making you implement tons of different filters to please every user.

Pat357
1st August 2012, 19:21
I know it's TL;DR for you, but look harder.
"it's TL;DR" ?? What is TL;DR ?