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

KoD
1st November 2015, 13:27
A feature request, if possible: some keyboard shortcut to switch the display refresh rate. I have files badly tagged as 23.976 fps, but when played at 23.976 the number of dropped frames increases continuously. However, when played at 60fps, everything is smooth, no dropped frames.

Another question is, what happens when the file has VFR? The file is tagged as 23.976fps, but in fact the duration of the frames varies continuously. How does madVR handle this?

And a bug report: when using the "switch to matching display mode", the switch does not really happen if the "list all display modes madVR may switch to" list is empty. Settings used:

switch to matching display mode = enabled
switch to matching display mode = when media player goes fullscreen
restore original display mode = enabled
restore original display mode = when media player is closed
general settings - delay playback start until render queue is full = on
general settings - delay playback start after seeking, too = on
general settings - enable windowed overlay = off
general settings - enable automatic fullscreen exclusive mode = off
general settings - disable desktop composition = off
general settings - use Direct3D 11 for presentation (Windows 7 and newer) = on
general settings - present a frame for every VSync = on
general settings - use a separate device for presentation = off
general settings - use a separate device for DXVA processing = off

Happens for any file fps (23.976p, 29.970p, etc).

In nvidia control panel, this is the list of available display modes (and they all work when switched to manually, or specifically including them in the "list all display modes madVR may switch to" list):
23Hz, 24Hz, 29Hz, 30Hz, 50Hz, 59Hz, 60Hz

PS: my 500th post! yay! :)

huhn
1st November 2015, 13:37
in most cases "display modes" will choice the wrong refreshrate because it is usually selected by the AVG FPS. but smoothmotion at 60 hz can handle VFR perfectly.

theoretically there are ways to add informations like min FPS, max FPS and AVG FPS. but this is rarely used in practice and AFAIK madVR can't make use of it.

MokrySedeS
1st November 2015, 13:52
A feature request, if possible: some keyboard shortcut to switch the display refresh rate. I have files badly tagged as 23.976 fps, but when played at 23.976 the number of dropped frames increases continuously. However, when played at 60fps, everything is smooth, no dropped frames.

You should probably fix the affected files, but if you insist then you can use madVR's file tagging system, which is even better than suggested shorcuts in your case.
* added tag "frameRate=%value%", e.g. 23.976, 24.000, 23, 24, ...
* added tag "refreshRate=%value%", e.g. 23.976, 24.000, 23, 24, ...



And a bug report: when using the "switch to matching display mode", the switch does not really happen if the "list all display modes madVR may switch to" list is empty.It's not a bug, it's a feature! :P
But seriously, madVR by design will switch only to the modes listed it this field.

Ver Greeneyes
1st November 2015, 13:55
Is there a keyboard shortcut to toggle black bar detection or cropping? I don't need black bar detection that often, and there will probably always be videos on which it doesn't quite work, but I'd like to be able to enable it easily when the black bars are obvious and consistent.

KoD
1st November 2015, 14:05
in most cases "display modes" will choice the wrong refreshrate because it is usually selected by the AVG FPS. but smoothmotion at 60 hz can handle VFR perfectly.

theoretically there are ways to add informations like min FPS, max FPS and AVG FPS. but this is rarely used in practice and AFAIK madVR can't make use of it.
Hmm, I don't know. Does madVR really know the duration of each frame in order for its smooth motion algorithm to transition from one frame to the next at the right time, and not at multiples of, let's say, 23.976fps if the file is tagged with 23.976fps? And if a frame has a long duration, will it show a blend of frames only close to the transition points, or will it show blended frames for most of the duration of that single long frame? It's not min and max fps that would be required for proper VFR handling, but knowing the duration of the frame, I think. After all, a container such as mkv lets you specify that avg fps (like 23.976fps), but the actual duration of each frame is in no way linked to the value of this field. The frame timecodes can be anything - this is how VFR is actually implemented. One can make a 5 minutes video file which contains only one frame. I don't know if and how this info gets sent through the playback chain, maybe it would require a new API on the renderer for the player to send this info from the splitter? And you are right, it's not possible to properly see VFR content at a display refresh rate of 23.976Hz. One would need to set the display rate as high as possible (60Hz for most TVs), so that frames in the VFR file with durations smaller than 41.71ms would be properly displayed at the right moment.

You should probably fix the affected files, but if you insist then you can use madVR's file tagging system, which is even better than suggested shorcuts in your case.

I was going through a folder of anime music videos. It's quite a big list of files collected over a large period of time, many of them are fan made (so, no chance of getting them redone), and in all media container formats used over years: mpg, avi, ogm, mp4, mkv. :)

Renaming them would involve opening each one several times, each time at a different display rate selected before starting playback, finding the one that does not cause jitter, and then remuxing them. It would be too time consuming to manually do this for every one to add a tag to its filename, and I don't see any automated way of doing this.

SweetLow
1st November 2015, 14:43
What purpose would you use that for?

Enable or disable madVR dithering (right now). Intel well dither in hardware when out 10 bit on 10 bit device (HDMI TV in my case), but when out 10 bit on 6 bit (internal eDP panel of notebook in my case) it not dither properly (only dither from 8 bit to 6 bit, AFAIK by my tests).


Intel/NVidia: DXVA2 image + Bilinear chroma upscaling -> DXVA chroma up

Thanks. Very fast reaction :)

P.S. To Intel users - as i see in my tests, dxva deinterlacing + dx11 rendering path don't work well with "frames present in advace" set to more then 2 (easy visible jumps in motion parts of image). dx9 work well with 4 frames. But lower value slightly increase GPU and power consumtion.

JohnLai
1st November 2015, 15:08
Question, is it possible to use madvr's smooth motion together with SVP? (gtx 980 and core i7 for instance)

huhn
1st November 2015, 15:29
AFAIK SVP provides proper timestamps. so yes.

huhn
1st November 2015, 15:46
Hmm, I don't know. Does madVR really know the duration of each frame in order for its smooth motion algorithm to transition from one frame to the next at the right time, and not at multiples of, let's say, 23.976fps if the file is tagged with 23.976fps? And if a frame has a long duration, will it show a blend of frames only close to the transition points, or will it show blended frames for most of the duration of that single long frame? It's not min and max fps that would be required for proper VFR handling, but knowing the duration of the frame, I think. After all, a container such as mkv lets you specify that avg fps (like 23.976fps), but the actual duration of each frame is in no way linked to the value of this field. The frame timecodes can be anything - this is how VFR is actually implemented. One can make a 5 minutes video file which contains only one frame. I don't know if and how this info gets sent through the playback chain, maybe it would require a new API on the renderer for the player to send this info from the splitter? And you are right, it's not possible to properly see VFR content at a display refresh rate of 23.976Hz. One would need to set the display rate as high as possible (60Hz for most TVs), so that frames in the VFR file with durations smaller than 41.71ms would be properly displayed at the right moment.

mkv doesn't use FPS it only uses timestamps for each individual frame. so VFR in mkv is a no problem for madVR. a VFR file without timestamps(or something similar) would ran async so they all have "timestamps" or they are broken. and this information is provided.

max FPS is a good way to choice a good refreshrate by simply using that value. for SM the highest value is by far the best but not everyone wants to use SM.

madVR SM blending is very simple (in theory at least...) for example it has to display a frame for 20 ms and the time stamps of the frames show frame 1 should get the first 5 ms of these 20 ms and frame 2 the other 15 ms than they are blending.

so a "long" frame isn't blended most of the time only maybe at the end or the start if other frames share some time of that display interval.

KoD
1st November 2015, 17:38
mkv doesn't use FPS it only uses timestamps for each individual frame. so VFR in mkv is a no problem for madVR. a VFR file without timestamps(or something similar) would ran async so they all have "timestamps" or they are broken. and this information is provided.

max FPS is a good way to choice a good refreshrate by simply using that value. for SM the highest value is by far the best but not everyone wants to use SM.

madVR SM blending is very simple (in theory at least...) for example it has to display a frame for 20 ms and the time stamps of the frames show frame 1 should get the first 5 ms of these 20 ms and frame 2 the other 15 ms than they are blending.

so a "long" frame isn't blended most of the time only maybe at the end or the start if other frames share some time of that display interval.
There is no explicit avg frame rate field in mkv files, indeed. But that purpose is fulfilled by a tag called "DefaultDuration". This is why you can have mkv files which madVR says they have 23.976fps, but when you set the display rate at 23.976Hz and try to play the file, it's a stuttering mess, and the dropped frame counter increases continuously. Perhaps this is the reason for the frame rate in filename tag functionality, to explicitly tell madVR what the framerate actually is, instead of trusting the one the splitter reads from the file and passes it up the chain. This only works for constant frame rate content, however.

The issue, I imagine, is that madVR does not honor frame durations, but instead bases its computations on the average frame rate. Which works fine most of the times, for straight to mkv remuxes or encodes of BluRay or DVD content (well, some DVDs), and that's why most people are not affected.

Or maybe the implementation is fine, it honors the proper individual frame duration, and works ok if I keep watching everything at 60Hz (with smooth motion on, and smooth motion only affecting the one or two frames around each transition point)? In that case it would just be my fault for drinking the videofile kool-aid and insisting on switching the display refresh rate to what the file is supposed to be at.

To be honest, I would welcome a proper implementation of frame duration display more than the constantly increasing number of resizing algorithms. The available algorithms have reached a level where the difference in quality is indistinguishable (and I mean here during actual movie viewing, and not doing comparisons of zoomed in screenshots). The stuttering during the playback of some files is so much more visible than whether there is any benefit when using anything above Jinc3.

SweetLow
1st November 2015, 18:15
* added new profile rule script variables "display"

Umm... If this is my wish realization - it's work not as expected. In my case this variable always equal to the name of first device in devices list, not actual device of player window :confused:

nevcairiel
1st November 2015, 18:19
To be honest, I would welcome a proper implementation of frame duration display

madVR implements frame timings quite well, however the entire system is quite limited by hardware.

The "problem" is of course that you can only present a new frame in every VSYNC, so if your display is set to 23.976, then you can present exactly 23.976 frames per second (and exactly at pre-defined times as well, a new frame every 41.7ms). If your file happens to have more frames per second, then madVR has to do the best it can, which means dropping a lot of frames. This can easily result in rather stuttery playback - but its not madVRs fault really, since it just can't show you anymore frames. Of course you could blame it for picking the wrong refresh rate, but it can only act on the information provided to it - scanning the entire file for the greatest common denominator of frame rates is hardly viable.

Assuming your file has both 23.976 and 29.970 parts, then you could set it to 29.970 Hz instead (or 59.94, which is more common), but then you couldn't show the 23.976 parts properly, because the frame timings of a 23.976 stream don't match a 59.94Hz VSYNC interval, and some frames would fall in-between VSYNCs.

If you want all possible videos to look properly, you need an infinite refresh rate monitor (or variable refresh rate for that matter). You can usually get pretty close by running at say 120Hz, as that is a clear multiple of 24 and 30, which are rates many "vfr" files use internally (some animes seem to like to switch between 24 and 30 for some reason). But if your video is real variable frame rate, then that won't save you either - although the short individual frame times at 120Hz (just 8.3ms) make any judder from a mis-matching framerate far less obvious.

One solution to that is Smooth Motion, which simulates an infinite refresh rate display, and then uses blending to map the frames as good as it can to your display refresh rate.

chros
1st November 2015, 18:23
Enable or disable madVR dithering (right now). Intel well dither in hardware when out 10 bit on 10 bit device (HDMI TV in my case), but when out 10 bit on 6 bit (internal eDP panel of notebook in my case) it not dither properly (only dither from 8 bit to 6 bit, AFAIK by my tests).
Which CPU , chipset, driver, OS do you have?
I don't see any 10bit option in my driver settings (see my signature for details).
Thanks

SweetLow
1st November 2015, 19:54
Which CPU , chipset, driver, OS do you have?
I don't see any 10bit option in my driver settings (see my signature for details).
Thanks
It's not the driver setting, it's settings of madVR - use of DX 11 presentation + set more then 8 bitdepth in device properties+use of exclusive FS.

Ruben0
1st November 2015, 20:00
I'm using the highest quality algo the GPU offers. What performance hit do you mean? GPU power? YADIF is done by LAV via CPU, so the GPU doesn't suffer. DXVA deinterlacing is done by the GPU. So it's clear that the GPU has more work to do when doing DXVA deinterlacing. It depends on the GPU model, though, because some have dedicated hard wired circuits to do deinterlacing, while others use pixel shader power for that. When using YADIF, make sure you use 50p/60p (Video) output, because that's what DXVA does (by default), too.


thanks for your answer.
I was mistaken the rendering and deinterlace stats, the big performance hit is in rendering while using nnedi3-32 in chroma upscaling and image doubling for dvd playing. The deinterlace stats are always low. I have an nvidia gtx 770 4GB.

keep up your excellent work!

chros
1st November 2015, 20:07
It's not the driver setting, it's settings of madVR - use of DX 11 presentation + set more then 8 bitdepth in device properties+use of exclusive FS.
Yes, I know. Maybe my TV and/or my receiver doesn't support it.

SweetLow
1st November 2015, 20:26
Maybe, but it's easy to see actual state by moninfo or any other EDID info viewer. And, more important, the 10 bit device is not necessary to get 10 bit rendering.

pankov
1st November 2015, 23:18
madshi,
is it intentional that the hidden option to show the black bar detection using the ShowBlackBars empty file doesn't actually work if the "crop black bars" option is not enabled?
I want to debug a few situations with some TV stations with weird aspect ratios and hard coded black bars and it will be very useful if I can see what madVR detects and would crop but without actually cropping it so I can verify it visually.

I'd like also to ask a question about the new rotation feature.
Is it intentional that the subtitles (both external and internal ones) are rotated together with the picture ... and moved almost to the center of the image? While the centering seems like a bug I'm not exactly sure about the rotation ... I can see merit in both behaviors - showing the subtitles normally/horizontally while rotating only the video (because for example it was shot in "portrait" and not "landscape" mode) ... or rotating everything because the display that's used for presentation is rotated and the user wants everything rotated ... so it seems it might need to be optional.

AngelGraves13
2nd November 2015, 09:34
Those threads you linked to don't look like simple deblocking at all. They seem to be targetted at low quality Anime content, and they do all sorts of things, like removing noise, tighten up edges etc etc. You could use AviSynth via ffdshow raw video processor to do *exactly* what those 2 threads suggest in real time video playback (if your CPU is fast enough).

Fair enough. I'd settle a simple deblocker that has 3 settings like the debanding. Low, Medium, High. I'd likely just leave it on High just like the debanding filter.

Does deblocking just work on 4x4, 8x8, and 16x16 blocks? MPEG-2 was 8x8 only? I hardly notice any blocks in MPEG-4 unless it's a low bitrate file. MPEG-2 needs deblocking regardless of bitrate or resolution. Even the early blu-rays with MPEG-2 can look quite bad.

If it was to be implemented, would the deblocking be done before or after image and chroma upscaling?

nevcairiel
2nd November 2015, 09:44
If it was to be implemented, would the deblocking be done before or after image and chroma upscaling?

Before image upscaling would be best, not sure about chroma though.
Image upscaling could otherwise create new artifacts around the block edges (or smooth them, depending on the scaler) which makes a deblock filters job ever so much harder.

AngelGraves13
2nd November 2015, 12:42
Before image upscaling would be best, not sure about chroma though.
Image upscaling could otherwise create new artifacts around the block edges (or smooth them, depending on the scaler) which makes a deblock filters job ever so much harder.

That's what I was thinking too.

I wonder if the debanding is done before as well.

huhn
2nd November 2015, 12:46
That's what I was thinking too.

I wonder if the debanding is done before as well.

it is.

Danne S
2nd November 2015, 14:57
Is there any current issues between madvr and nvidia?
It was some time since I updated the drivers... :)

Skickat från min GT-N7000 via Tapatalk

aufkrawall
2nd November 2015, 17:20
afaik, the only issue should be the flawed DX11 windowed fullscreen mode on Windows 10 (most likely driver bug since 352 series).
But there can be different results with different GPU families or Optimus etc.

Finnish Flash
2nd November 2015, 21:08
afaik, the only issue should be the flawed DX11 windowed fullscreen mode on Windows 10 (most likely driver bug since 352 series).
But there can be different results with different GPU families or Optimus etc.I feel it got much better in the latest release, but then again it can be a placebo effect. At least DXVA deinterlacing performance is now what it's supposed to be in DX11 windowed mode. I'm running the latest WHQL drivers. Great work, madshi! Maximum rendering times seem to be through the roof in some cases (24 @ 60fps with smooth motion), but I don't see that affecting playback.

kolak
2nd November 2015, 23:17
I see banding problems in Blu-Rays quite often, and not limited to Anime. My impression is that authoring studios using dithering is rather the exception than the rule. I often see banding problems in dark scenes, or it's especially noticable in fade-to-blacks. Fade-to-blacks in 8bit without dithering almost always looks ugly and non-smooth.

Sometimes I'm wondering why dithering is often not used by authoring studios. Either they're just dumb. Or maybe they don't want to spend the additional video bitrate needed to encode dithering without getting compression artifacts.


Thanks to the totally different HDR transfer function, I think banding will be less a problem with HDR than it is with current 8bit Blu-Rays, because the transfer function moves the majority of the 10bits to SDR pixels. Still, I'd have loved to get 12bits to get totally rid of any banding once and forever.

Unfortunately you are correct- many authoring studios don't use dithering at all have no clue what to do with it :)
Been in few big places and it was very disappointing.

I use to always do dithering with avisynth- Floyd+bit of noise and this really helps with banding, specially on fades (as you mentioned).

fedpul
3rd November 2015, 00:21
Hi, I want to ask something offtopic, related with video cards, anyone with a GTX 970 can answer me. I have recently changed my video card from: Sapphire HD 7870 GHz Edition OC to MSI GTX 970 Gaming. Everything works fine, games doesn't exhibit artifacts nor slowdowns. But I saw something really strange in whit colour images, i see like a vibrance in the form of bars, so I decided to see the Chroma Test and for my surprise i see anoying vibrations everywhere and 4:2:2 can be seen. I test with other test like the colour bars one and nothing seem to be wrong. Maybe it is a defective DVI output, beacuse everything is OK when I use HDMI output to my TV. I am using the provided DVI to VGA adapter. I will aprecciate a lot any answer from GTX 970 owners. Thanks in advance, and sorry for the offtopic question, it is not my intention to deviate the topic.

markanini
3rd November 2015, 15:45
Bug report: Once the interlaced flag is activated midstream MadVR sees it as interlaced for the remainder of the duration even if the stream switches back to reporting progressive.

mcn
3rd November 2015, 16:16
Can you show a screenshot from one typical situation where subtitles are where you think they should be, and another situation where subs are *not* where they're supposed to be? Please use videos with SRT subtitles for those screenshots. Thanks!


I'm attaching some screenshots regarding the "issue" with subtitles positioning.
The first screenshot is of the original video, 1916x1076, without black bars.
The other two screenshots are taken with the video shown in full screen at 1920x1200, where black bars are added.

Embedded subtitles are partially shown in the bottom black bar, while external ones aren't.
Both should be definitely rendered by XySubFilter since modifying the timing through its properties window affects both subs.

bozokaydin
3rd November 2015, 20:03
MadVR Option High End PC DXVA2 Alternative Configuration
chroma upscaling NNEDI3 128 Neurons
Image Doubling Always use NNEDI3 to Double Luma and Chroma Resolution using 128 neurons
Image Upscaling DXVA2
Image Downscaling DXVA2
smooth motion Enable Smooth Motion only if judder without
dithering Error Diffusion Option 1
Video Codec CUVID with hardware deinterlacing

I found this suggestion on a forum. In this senario, by using dxva for upscaling and downscaling does image doubling work for example for 720p content? ı am not sure it will work while using dxva.

huhn
3rd November 2015, 20:23
bilinear is used in this case.

do your self a favour and don't sue DXVA scaling with image doubling and forget chroma doubling.

DXVa scaling should only be used if the GPU can't handle anything else.

aufkrawall
3rd November 2015, 20:26
Sorry to say, but these settings are simply bizarre (wth invent people stuff like that?).

NNEDI3 128 neurons for chroma are a huge waste of performance, even 32 are quite luxury (with filmed content, NNEDI3 will hardly ever look noticeably better than Jinc AR for chroma).

Always using NNEDI3 for image doubling is also pure nonsense in 99% of cases. Linear scaling algorithms like Jinc introduce more artifacts the higher the scaling factor is. With <1.5x scaling, there usually hardly is an advantage of NNEDI3 over Jinc AR.
And 128 neurons are an insane count and most content doesn't profit much by the additional neurons, compared to 64.

DXVA scaling is simply bad quality wise. Don't do it if you aren't forced by badly slow hardware.
Use Jinc AR and Catmull-Rom AR for downscaling instead.

Don't use Error Diffusion if you can't see a difference for yourself. Instead, stick to normal ordered dithering of madVR.

Don't use CUVID, as it's a blackbox to developers (Nvidia doesn't grant nevcairiel or any other dev any control over it). Instead, use DXVA2 Copyback. It achieves the same quality and speed, but it doesn't have any drawbacks (instead of worse compatibility compared to software decoding, which almost never is an issue).

iSeries
4th November 2015, 00:45
Looking at either a R7 260x or an R7 360 to replace my R7 250. They're pretty much the same price. Is either one preferred over the other for MadVR?

Warner306
4th November 2015, 01:05
MadVR Option High End PC DXVA2 Alternative Configuration
chroma upscaling NNEDI3 128 Neurons
Image Doubling Always use NNEDI3 to Double Luma and Chroma Resolution using 128 neurons
Image Upscaling DXVA2
Image Downscaling DXVA2
smooth motion Enable Smooth Motion only if judder without
dithering Error Diffusion Option 1
Video Codec CUVID with hardware deinterlacing

I found this suggestion on a forum. In this senario, by using dxva for upscaling and downscaling does image doubling work for example for 720p content? ı am not sure it will work while using dxva.

You would be better off using these settings:

Chroma: super-xbr125 + AR
Image: Lanczos3 + AR
Double Luma: 1.5x or greater - NNEDI3 64 Neurons
Double Chroma: Off
Downscaling: Catmull-Rom + AR + LL
Upscaling Refinement: SuperRes (strength: 1, sharpness: 2)
Artifact Removal - Debanding: Medium/High
Image Enhancements: Off
Dithering: Ordered

Image doubling for 720p content can have an advantage when used with SuperRes. I find SuperRes makes fewer errors when used with sharp, artifact-free image scaling such as super-xbr or NNEDI3. The overall image appears sharper.

If you aren't using SuperRes, image doubling won't make much a difference at a 1.5x scaling factor.

wanezhiling
4th November 2015, 01:05
No, R7 series are all weak

huhn
4th November 2015, 01:25
Looking at either a R7 260x or an R7 360 to replace my R7 250. They're pretty much the same price. Is either one preferred over the other for MadVR?

the r7 360 is usually a bit faster thanks to the higher core clock of 50-100 mhz.

looks like they are both the same chip with a different name.

both have about double the speed of the r7 250

XRyche
4th November 2015, 03:02
No, R7 series are all weak

My MSI R7 265 is not bad either especially for it's price point. It's like having a R9 270. I know it is by no means top of the line but it does a decent job with madVR and NNEDI3 Image doubling.

iSeries
4th November 2015, 14:39
Seems I can get an R7 265 for the same price as ether an R7 260x or R7 360. It has more shaders, twice as many ROPs and greater memory bandwidth but a lower clock speed. What's more important for MadVR?

aufkrawall
4th November 2015, 15:21
In practice, the R7 265 is quite faster than the other mentioned graphics cards.
It's usually always better to go with the bigger GPU if they are more or less the same generation as the smaller ones.

AngelGraves13
4th November 2015, 16:58
You would be better off using these settings:

Chroma: super-xbr125 + AR
Image: Lanczos3 + AR
Double Luma: 1.5x or greater - NNEDI3 64 Neurons
Double Chroma: Off
Downscaling: Catmull-Rom + AR + LL
Upscaling Refinement: SuperRes (strength: 1, sharpness: 2)
Artifact Removal - Debanding: Medium/High
Image Enhancements: Off
Dithering: Ordered

Image doubling for 720p content can have an advantage when used with SuperRes. I find SuperRes makes fewer errors when used with sharp, artifact-free image scaling such as super-xbr or NNEDI3. The overall image appears sharper.

If you aren't using SuperRes, image doubling won't make much a difference at a 1.5x scaling factor.

I prefer Jinc AR for Chroma, and Image Upscaling. SuperXBR can be too sharp and I don't have enough time in my life to test out the optimal sharpness.

SupeRes is pointless as well, as it likely just sharpens the image and I literally can't tell what it does after a good hour of viewing with/without it.

Luv
4th November 2015, 17:12
My MSI R7 265 is not bad either especially for it's price point. It's like having a R9 270. I know it is by no means top of the line but it does a decent job with madVR and NNEDI3 Image doubling.

HD7790 (= + or - 260x),with Omega driver:
- D3D11
- chroma up:super-xbr (100)
- image down: Spline (4)
- image doubling: none
- image upscaling: Jinc
- dithering: ED 2
- No quality trade

The results are plain smashing (Even with interlaced samples).Big thanks,Madshi!
For me,89.12 is almost perfect (Almost because the codec in use isn't indicated in the OSD anymore and what does "Touch window from inside" mean?).

aufkrawall
4th November 2015, 17:26
I prefer Jinc AR for Chroma, and Image Upscaling. SuperXBR can be too sharp and I don't have enough time in my life to test out the optimal sharpness.

super-xbr has very big problems with ringing, you have to sacrifice a lot of sharpness to get to an acceptable ringing level if the source isn't optimal.


SupeRes is pointless as well, as it likely just sharpens the image and I literally can't tell what it does after a good hour of viewing with/without it.
madshi gave us some more SuperRes options with the latest builds, you could try a sharpness of 3 (and maybe 2 passes instead + linear light).
It should be very visible in most cases, but of course additional sharpness gets harder to notice with increasing viewing distance.

huhn
4th November 2015, 18:02
For me,89.12 is almost perfect (Almost because the codec in use isn't indicated in the OSD anymore
works fine with h264, vc-1 and mpeg2 like it always did.
and what does "Touch window from inside" mean?).

that's how scaling is done it kind of means scale the image but don't crop it.

Warner306
4th November 2015, 21:37
super-xbr has very big problems with ringing, you have to sacrifice a lot of sharpness to get to an acceptable ringing level if the source isn't optimal.


madshi gave us some more SuperRes options with the latest builds, you could try a sharpness of 3 (and maybe 2 passes instead + linear light).
It should be very visible in most cases, but of course additional sharpness gets harder to notice with increasing viewing distance.

super-xbr has about as much ringing as Jinc in the test images I've seen. According to the chart in madVR, it is one of the best algorithms with regards to ringing. It is not that bad at all. I use it all the time.

These comparison shots show super-xbr is superior:

Image Comparison – Clown:
Jinc (http://madvr.com/doom9/clown/clownJinc.png)
super-xbr100 (http://madvr.com/doom9/clown/clownSuperXBR.png)
NNEDI3 256 neurons (http://madvr.com/doom9/clown/clownNNEDI3_256.png)

Image Comparison – Lighthouse:
Jinc (http://madvr.com/doom9/lighthouse/lighthouseJinc.png)
super-xbr100 (http://madvr.com/doom9/lighthouse/lighthouseSuperXBR.png)
NNEDI3 256 neurons (http://madvr.com/doom9/lighthouse/lighthouseNNEDI3_256.png)

Image Comparison – Lighthouse Top:
Jinc (http://madvr.com/doom9/lighthouseTop/lighthouseTopJinc.png)
super-xbr100 (http://madvr.com/doom9/lighthouseTop/lighthouseTopSuperXBR.png)
NNEDI3 256 neurons (http://madvr.com/doom9/lighthouseTop/lighthouseTopNNEDI3_256.png)

aufkrawall
4th November 2015, 22:29
With the lighthouse top example, you can see that with a sharpness of 100, the ringing with super-xbr is clearly more distinct than with Jinc AR.
And the top needle (and dark line structures in general) gets very fat, which is another disadvantage.

Luv
4th November 2015, 22:32
works fine with h264, vc-1 and mpeg2 like it always did.


that's how scaling is done it kind of means scale the image but don't crop it.

Thanks for the explanations,Huhn.I just rebooted and everything is back to normal.

Warner306
4th November 2015, 22:36
With the lighthouse top example, you can see that with a sharpness of 100, the ringing with super-xbr is clearly more distinct than with Jinc AR.
And the top needle (and dark line structures in general) gets very fat, which is another disadvantage.

Sure the ringing is more distinct, but not larger. This is due to the detail brought-out by super-xbr, which gives it an overall advantage. With real world content, super-xbr is not nearly as distracting as Bicubic100 or Lanczos4, with regards to ringing. It is actually pretty good at avoiding excessive ringing.

I have heard a couple of people say super-xbr rings too much. But I don't think this is true.

aufkrawall
4th November 2015, 23:12
Sure the ringing is more distinct, but not larger. This is due to the detail brought-out by super-xbr, which gives it an overall advantage.

I'm afraid it's not just details what super-xbr brings out.
More intensive haloing and very fat lines are not to be found in the source.

If you watch cartoons with ringing right along black contoure lines, it is very annoying (and lines also get too fat).
It gets even uglier if you put SuperRes on top and super-xbr 100 tends also more to aliasing than NNEDI3 64.

With bacondither's new Adaptive Sharpen experimental build (not yet included in madVR), you can get more sharpness with NNEDI3 as well, without ugly haloing. The same goes for NNEDI3 + SuperRes.

Of course Jinc isn't magic, yes. It's a limited linear scaler. But with super-xbr, you get a very soft image if you don't want ringing or dark lines boosted.
Probably less of an issue for many BDs, but there's always a first time when some artifacts become annoying.

Warner306
4th November 2015, 23:51
I'm afraid it's not just details what super-xbr brings out.
More intensive haloing and very fat lines are not to be found in the source.

If you watch cartoons with ringing right along black contoure lines, it is very annoying (and lines also get too fat).
It gets even uglier if you put SuperRes on top and super-xbr 100 tends also more to aliasing than NNEDI3 64.

With bacondither's new Adaptive Sharpen experimental build (not yet included in madVR), you can get more sharpness with NNEDI3 as well, without ugly haloing. The same goes for NNEDI3 + SuperRes.

Of course Jinc isn't magic, yes. It's a limited linear scaler. But with super-xbr, you get a very soft image if you don't want ringing or dark lines boosted.
Probably less of an issue for many BDs, but there's always a first time when some artifacts become annoying.

I've read madshi prefers super-xbr to Jinc. And past posts have found NNEDI3 and super-xbr are the best algorithms to use with SuperRes because they are sharper. SuperRes + Jinc leads to an image that appears bloated compared to SuperRes + super-xbr.

It is all subjective. The haloing is not noticeable with real-world content, to me, and the extra detail is very apparent.

I'm just standing up for super-xbr as a great algorithm as has been said about Jinc and NNEDI3. Other's mileage will vary.

This a quote from madshi:

I've decided to make a big screenshot Based on that, here's another comparison, comparing different upscaling algorithms, followed by SuperRes:

Bilinear+SuperRes (http://madVR.com/doom9/castle/ScalingAlgosHqSuperRes/CastleBilinearHqSuperRes.png) -|- Jinc+SuperRes (http://madVR.com/doom9/castle/ScalingAlgosHqSuperRes/CastleJincHqSuperRes.png) -|- super-xbr+SuperRes (http://madVR.com/doom9/castle/ScalingAlgosHqSuperRes/CastleSuperXbrHqSuperRes.png) -|- NNEDI3+SuperRes (http://madVR.com/doom9/castle/ScalingAlgosHqSuperRes/CastleNNEDI3HqSuperRes.png) -|- GroundTruth (http://madVR.com/doom9/castle/CastleBig.png)

What we can see here is that SuperRes works well even when using Bilinear upscaling. However, SuperRes does *not* remove aliasing artifacts caused by the upscaling algorithm. E.g. look at the roof edges of the left two towers. Both Bilinear and Jinc have aliasing problems there. super-xbr and NNEDI3 have not. Because of this reason, my recommendation would be to use either super-xbr or NNEDI3, followed by SuperRes, for best image quality. The difference between super-xbr and NNEDI3 is pretty small, if you follow it up with SuperRes with high strength. So using super-xbr should save some precious GPU performance. Using Jinc+SuperRes might be an option, too, but you'll likely get more aliasing problems compared to super-xbr+SuperRes.

aufkrawall
5th November 2015, 00:48
Well, as I said, super-xbr may look mostly fine with most BD content, so it's absolutely legitimate to like it. ;)

I'm aware that super-xbr reconstructs lines much better than Jinc with increasing scaling factor.
However, sharpness values over 75 can introduce a lot of artifacts. This doesn't have to be an issue for a specific picture, but there are definitely cases where it can look far from good.

For instance, you can hardly use SuperRes in linear light with super-xbr 100, as lines will get extremely fat. And you may not use gamma light either, since super-xbr 100 already noticeably highers many areas of the picture.
In fact, I even find super-xbr 100 alone with your Lighthouse example unconvenient to the eyes. It looks like a very artificial contrast to me. The line boosting of SuperRes LL is almost harmless, compared to super-xbr 100.

In the end, it's a matter of taste. However, I think it's a fact that super-xbr can't be combined well with most postprocessing, unlike NNEDI3.