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

apgood
15th January 2016, 13:36
Got 3D working in jriver mc using amd r9 270x. I needed to install crimson 16.1 hotfix, latest MadVR and LAV. The other thing I had to do in my projector is swap which eye comes first from "normal" to "swapped".

At first the video was a bit jerky but once I reduced all the scaling algorithms to no more than about super-xbr 100 or was fine.

XTrojan
15th January 2016, 14:28
Decrypting will likely be your responsibility, madVR does not use any protected paths, i.e. a HDCP display would not be required.
But as of today there are neither discs nor decryption software available. It's too early for those questions.


Currently no special HDR hardware support is required by madvr as it does not output any HDR metadata. Madshi explained it at bit here:
http://forum.doom9.org/showpost.php?p=1749826&postcount=34630

Full fixed function 10 bit HEVC decoding is currently only available on Nvidia GeForce GTX 750 SE, GTX 950, GTX 960. For AMD and Intel it will probably come with Polaris/Kaby Lake. A fast CPU might be able to at least do 2160p24 in software, though.

I will leave the answer about the different HDR variants to madshi but I'm pretty sure not all of them are supported at the moment. Nev and madshi will probably require at least the specs and samples and we might not get the latter before we can decrypt the discs (metadata might even be in playlist file, not HEVC SEI). Let's hope the new encryption will not be too big of a hurdle.

There's metadata, the samsung demo in a .mpeg container apparantly has HDR metadata, though i'm unsure if it's the final versions.

I do know the video is HDR as I tested it with a USB and my TV (JS9000), reports that it's getting HDR and changes backlight to max and dimming.

http://demo-uhd3d.com/categorie.php?tag=hdr
http://demo-uhd3d.com/fiche.php?cat=uhd&id=115

Can anyone check out that file, since mediainfo can't report the HDR info.

Manni
15th January 2016, 16:32
Got 3D working in jriver mc using amd r9 270x. I needed to install crimson 16.1 hotfix, latest MadVR and LAV. The other thing I had to do in my projector is swap which eye comes first from "normal" to "swapped".

At first the video was a bit jerky but once I reduced all the scaling algorithms to no more than about super-xbr 100 or was fine.

Thanks. Did you check with say chapter 2 of Gravity that the depth was correct? For example, when they circle around each other in space, is the depth correct for each of them and the rope/tether?

madshi
15th January 2016, 17:30
This is a bug in the AMD driver, and isn't something Nev or Madshi can do anything about.
Is it a constant delay? E.g. exactly one frame? Or does the delay differ sometimes, from movie to movie, or even from frame to frame? If it's a constant delay then it shouldn't be too hard to implement an option to delay one eye by 1-3 frames or so.

I have some quick feedback re: chroma superres.

From what I can see, the superres for chroma is quite similar to the superres for image refinement right now. However, while the algorithm is great for luma, it's not good for chroma. In luma, superres enhances small details and edges by increasing contrast (darks become darker, lights become lighter at image transients), and the same happens to the chroma layers. However, in chroma, light vs dark is actually green vs red, or blue vs yellow, etc. When the edges have their contrast increased, you get increased wrong-color ringing.

In actual content, I haven't found any live action image that actually looks different with SR on or off. In cartoon, it can help in many situations, but also increase artifacts and ringing in others. It's also quite dependent on source quality. All in all, I don't find the performance hit to be really worth it.
Ok, thanks for the feedback!

I'll have to do some testing to see when this changed, but I just watched my first PAL DVD in some time, and noticed that srcHeight is using the cropped values again, instead of the source height, so it ended up using my NTSC profile instead.

As a temporary fix I've had to change my profile rules to use uncroppedsrcHeight. (I still think that should be how srcHeight always works...)
Where did we do the previous discussion about this? In the bug tracker? I don't remember the conclusion of the our previous discussion, so I'm not sure right now if this behaviour is as intended or not.

Fair enough, but does it matter if we don't like Aero and have it disabled in W7?
It doesn't matter much if you only use fullscreen exclusive mode.

I think I've found the 3D issue for me in MC and it has something to do with "Bookmarks" and how playback is commenced (100% repeatable):
- If I play the 3D MKV from the beginning it works.
- If I seek while playing it works.
- If I double stop (reset book mark) then playback will commence from the beginning and 3D works
- If I stop/play (so playback commences from where I left off and not from the begining) it will go to SBS / using D3D9. If I try to force D3D11 in the madVR Settings it will crash MC.

My test setup was as simple as I could get it:
- Fresh install of madVR with default settings (but Windows Exclusive unchecked) No other changes
- Put Win 10 64-Bit Desktop into 3D
- Put the nVidia Control Panel into 1080/23hz/3D (so no switching is required by madVR)
- Commence playback testing
Ok, that's interesting. My best guess right now is that in the stop/play situation the decoder sends at least one frame in 2D and only switches to 3D a little bit later. That's just a guess, though. Can you create a debug log from the stop/play situation?

When you force D3D11 in the madVR settings, do you see anything at all, before it crashes? E.g. if you enable the OSD (Ctrl+J) before activating D3D11 mode, do you see the OSD for a short time before the crash? If so, please let me know which refresh rate the OSD lists. Is it near to 23.976? Or is it near to 47.952?

I have a bug on my setup that cropped up recently, after the 90.x builds, not sure if anyone else experiences this:

Subtitles rendered in black bars will play at 1x speed even if video is set to 2x speed. Leads to desync.
Is it a new bug with v0.90.x? That would surprise me. Which subtitle renderer are we talking about?

I think you can create Row/Column Interleaved and Checkerboard frames from stereo frames and output as 2D, just like you output SBS as a fallback method. For passive 3D sets, Row/Column Interleaved output should result in higher image quality as compared to frame packed 3D where the TV will use its internal processing to convert to Interleaved.
That would produce higher quality only if the output would be full resolution. For that to work, I'd have to switch to e.g. a 2D 1920x2160 mode (for row interleaved). And I have no API to tell the GPU to do that, so the user would have to create a 1920x2160 custom resolution. There's also no API to signal "row interleaved" to the TV, so the user would still have to manually switch to TV to "row interleaved" mode, if the TV has such a manual option.

It's basically 23fps 2160p, but when you enable "side by side" or "over under", vertical or horizontal resolution gets cut in half as it combines two sides into 3D or over/under into 3D. Most TVs should support this
Maybe you're right about 4K sets, I don't know. But I don't think many 1080p sets will accept a 2160p signal, or am I wrong?

I have a question regarding the upcoming UHD Blurays.

Will Dolby HDR and HDR10 be supported? And how will ripping work with HDCP 2.2 protection?

I heard that currently Nvidia nor AMD doesn't support HDR, but upcoming AMD Polaris will.
The key question is whether you will be able to play UHD Blu-Rays with madVR *at all*. It comes with a new copy protection, which isn't cracked yet.

If you somehow manage to unprotect UHD Blu-Rays, then madVR should have no problem playing HDR10 content. At the moment HDR passthrough to the display is not supported yet, but probably will be sooner or later. Right now you can already let madVR convert HDR10 content to a format current displays can understand, and that in high quality.

As long as I don't have technical Dolby Vision documentation, I can't support it.

Got 3D working in jriver mc using amd r9 270x. I needed to install crimson 16.1 hotfix, latest MadVR and LAV. The other thing I had to do in my projector is swap which eye comes first from "normal" to "swapped".

At first the video was a bit jerky but once I reduced all the scaling algorithms to no more than about super-xbr 100 or was fine.
Sounds good. Try a few different movies. It's possible that the eye swapping depends on the movie. If that's the case, either MakeMKV or LAV need a minor fix/update to solve that issue.

omarank
15th January 2016, 18:35
That would produce higher quality only if the output would be full resolution. For that to work, I'd have to switch to e.g. a 2D 1920x2160 mode (for row interleaved). And I have no API to tell the GPU to do that, so the user would have to create a 1920x2160 custom resolution. There's also no API to signal "row interleaved" to the TV, so the user would still have to manually switch to TV to "row interleaved" mode, if the TV has such a manual option.

No, I believe there is no need to output 1920x2160. If I understand it correctly, you will have to fit View 1 in every odd line and View 2 in every even line in a regular 1920x1080 2D frame. So the vertical resolution of both views will be reduced to 540. When you output this kind of frame to a Passive 3D TV (Row Interleaved Type), the user shouldn’t even need to tell the TV about the signal type. The user can just put on their 3D glasses and enjoy 3D. Similarly, for Column Interleaved Type Passive 3D TV, the horizontal resolution of both views will be reduced to 960 when you output Column Interleaved 1920x1080 2D frames.

I said the user would get higher quality this way because when a Passive TV accepts frame packed 3D, the stereo frames will pass through its 3D processing engine when getting converted to the Interleaved format. From what I have seen, when 3D is enabled in any 3D TV, the image quality suddenly degrades due to whatever processing they do to the frames. In the above suggested method, the TV will display the Row Interleaved frames like normal 2D images and Passive 3D glasses will do the magic. Also, 10 bit output will work as well.

Row Interleaved, Column Interleaved can be kept as 3D output options in madVR settings. Passive 3D TV users can select the appropriate type depending upon what kind of Passive TV they have. For Active 3D TV users, frame packed 3D will be the best option.

XTrojan
15th January 2016, 18:38
Maybe you're right about 4K sets, I don't know. But I don't think many 1080p sets will accept a 2160p signal, or am I wrong?
My 6y old Samsung supports this as well, the reason people wanted Frame-packed back then was because it cuts resolution in half, if it's a 1080p TV the quality becomes much worse.

Today with 4k sets that weakness isn't there anymore, 4k monoscopic tv sets don't have that weakness either.

With that in mind, frame-packed is the original format for 3D, if you can get it to playback perfectly without glitches i'd choose frame-packed, the only issue is compability as 3D MVC mode for AMD/Nvidia drivers is limited and seems to crash with 10bit output etc. The advantage with Side-by-Side 3D is that the TV handles everything and madvr can do same algoritms as it does to a 2D video.

Edit: You don't need to switch to 1920x2160, you just switch to 3840x2160, but when you switch to side by side the TV will "combine" right+left into one 3D video, by combining them both you lose half the resolution, which makes it 1920x2160.

Think of it as two 2D images, the 3D effect is one image above the other, that's what the TV basically does, but when doing so they both become same picture, aka half of the resolution gets lost either horizontally or vertically depending if it's side-by-side or over-under.

What stereoscopic player does is rendering the MVC and 2D at same time on left/right and then letting the TV convert them both into 3D. I'll try to explain with pictures later

madshi
15th January 2016, 19:01
No, I believe there is no need to output 1920x2160. If I understand it correctly, you will have to fit View 1 in every odd line and View 2 in every even line in a regular 1920x1080 2D frame. So the vertical resolution of both views will be reduced to 540. When you output this kind of frame to a Passive 3D TV (Row Interleaved Type), the user shouldn’t even need to tell the TV about the signal type. The user can just put on their 3D glasses and enjoy 3D. Similarly, for Column Interleaved Type Passive 3D TV, the horizontal resolution of both views will be reduced to 960 when you output Column Interleaved 1920x1080 2D frames.

I said the user would get higher quality this way because when a Passive TV accepts frame packed 3D, the stereo frames will pass through its 3D processing engine when getting converted to the Interleaved format. From what I have seen, when 3D is enabled in any 3D TV, the image quality suddenly degrades due to whatever processing they do to the frames. In the above suggested method, the TV will display the Row Interleaved frames like normal 2D images and Passive 3D glasses will do the magic. Also, 10 bit output will work as well.

Row Interleaved, Column Interleaved can be kept as 3D output options in madVR settings. Passive 3D TV users can select the appropriate type depending upon what kind of Passive TV they have. For Active 3D TV users, frame packed 3D will be the best option.
Oh ok. I guess I didn't understand how passive 3D works. So basically you're saying that a passive 3D TV when looked at without glasses has lines 1, 3 and 5 for left eye and lines 2, 4 and 6 for right eye? So I would simply render as if it were 2D and the TV wouldn't even have to know that I'm sending 3D, the user would simply put on his glasses and that's all?

Implementing that should be relatively easy.

@Aleksoid1978, would that do the trick for your TV?

My 6y old Samsung supports this as well, the reason people wanted Frame-packed back then was because it cuts resolution in half, if it's a 1080p TV the quality becomes much worse.
You mean your old Samsung supports 1080p side-by-side, but it doesn't support 3840x2160p23 side-by-side, does it?

Today with 4k sets that weakness isn't there anymore, 4k monoscopic tv sets don't have that weakness either.
Sure. For 4k sets side-by-side should work just fine. But the big majority of users are still using 1080p sets. Reading your previous posts I thought you were talking about sending 2160p23 side-by-side to 1080p sets. And I would be quite surprised if 1080p TVs accepted 2160p23 data. Do they?

Think of it as two 2D images, the 3D effect is one image above the other, that's what the TV basically does, but when doing so they both become same picture, aka half of the resolution gets lost either horizontally or vertically depending if it's side-by-side or over-under.

What stereoscopic player does is rendering the MVC and 2D at same time on left/right and then letting the TV convert them both into 3D. I'll try to explain with pictures later
I'm rather confused. madVR already does side-by-side rendering by default *right now* if your TV doesn't support frame packed output, or if the OS has frame packed output disabled. So why are you explaining to me how side-by-side works when madVR already does it?

huhn
15th January 2016, 19:05
It's basically 23fps 2160p, but when you enable "side by side" or "over under", vertical or horizontal resolution gets cut in half as it combines two sides into 3D or over/under into 3D. Most TVs should support this, it doesn't require 3D planes either since one side = one eye, and subtitles are rendered at both. The downside is that 4k is needed otherwise it's gonna be something like 960x1080 or 1920x540, no software is needed as the TV does all of the work, the player only needs to show the MVC stream at right or left and 2D stream at other, with subtitles at both.

my TV clearly said no to 3D at UHD no matter what. all options are simply grayed out. and i can't blame the screen this is not a spec.

XTrojan
15th January 2016, 19:09
Oh ok. I guess I didn't understand how passive 3D works. So basically you're saying that a passive 3D TV when looked at without glasses has lines 1, 3 and 5 for left eye and lines 2, 4 and 6 for right eye? So I would simply render as if it were 2D and the TV wouldn't even have to know that I'm sending 3D, the user would simply put on his glasses and that's all?

Implementing that should be relatively easy.

@Aleksoid1978, would that do the trick for your TV?


You mean your old Samsung supports 1080p side-by-side, but it doesn't support 3840x2160p23 side-by-side, does it?


Sure. For 4k sets side-by-side should work just fine. But the big majority of users are still using 1080p sets. Reading your previous posts I thought you were talking about sending 2160p23 side-by-side to 1080p sets. And I would be quite surprised if 1080p TVs accepted 2160p23 data. Do they?


I'm rather confused. madVR already does side-by-side rendering by default *right now* if your TV doesn't support frame packed output, or if the OS has frame packed output disabled. So why are you explaining to me how side-by-side works when madVR already does it?

Because it's not a SBS encoding, it's a remux that's 2D but contains a MVC stream. I haven't checked newest MadVR, but I thought you needed SBS encoding for it to work? Can MadVR render the 2D and MVC streams seperate on right/left without engaging frame-packed mode but letting the TV do it? I have to test that, sorry :s.

And no 1080p sets can't playback 3D content without cutting resolution in half, making it look bad, frame-packing is still the goto for 1080p TV sets and only mode without degrading picture quality, Personally I just dislike frame-packing due to compability issues and buggyness of external content such as subtitles.

sneaker_ger
15th January 2016, 19:13
madVR's 3D mode (in collaboration with the latest LAV nightly) currently only works with mvc-in-mkv, nothing else. It does not work with side-by-side or top-bottom encoding. madVR will output said mvc-in-mkv over HDMI with the full 1080p resolution.

madshi
15th January 2016, 19:18
Because it's not a SBS encoding, it's a remux that's 2D but contains a MVC stream. I haven't checked newest MadVR, but I thought you needed SBS encoding for it to work? Can MadVR render the 2D and MVC streams seperate on right/left without engaging frame-packed mode but letting the TV do it?
Yes. If the decoder sends 3D to madVR, and if you have 3D enabled in madVR, then madVR tries to do frame packed rendering. If that doesn't work, madVR renders this MVC-MKV as side-by-side. It was this way right from v0.90.0.

And no 1080p sets can't playback 3D content without cutting resolution in half, making it look bad, frame-packing is still the goto for 1080p TV sets and only mode without degrading picture quality, Personally I just dislike frame-packing due to compability issues and buggyness of external content such as subtitles.
It seems to me you haven't actually tested any of this yet with madVR. So please do, and then report your findings. As far as I can see, there should be zero difference between frame packed and side-by-side rendering when using madVR. madVR always draws subtitles and OSD on both left and right eye views in the same way.

madVR's 3D mode currently only works with mvc-in-mkv, nothing else. It does not work with side-by-side or top-bottom encoding. madVR will output said mvc-in-mkv as side-by-side over HDMI (that's the way 3D works for HDMI).
Frame packed is somewhat different to side-by-side. I think frame packed does transport the images as some sort of side-by-side, but I think there's a gap between the left/right eye images.

sneaker_ger
15th January 2016, 19:21
I stand corrected. Always thought HDMI 3D is side-by-side only but wiki confirms top-bottom and frame-packed are possible as well.

huhn
15th January 2016, 19:24
madVR can output it as side by side too.

frame packing isn't side by side.

so the current madVR version can do both.

when 3d is enabled in madVR and in the OS you get frame packing 3D.

when 3d is enabled in madVR and disabled in the OS you get side by side.

CarlosCaco
15th January 2016, 19:35
I having a strange problem, if upscale a 720p video to 1366x768p monitor none of my upscaling refinements is activated, i don´t see the effects on image e and OSD don´t show any changes on reders times, on others versions below 89.19 this issue don´t happen

omarank
15th January 2016, 20:00
Oh ok. I guess I didn't understand how passive 3D works. So basically you're saying that a passive 3D TV when looked at without glasses has lines 1, 3 and 5 for left eye and lines 2, 4 and 6 for right eye? So I would simply render as if it were 2D and the TV wouldn't even have to know that I'm sending 3D, the user would simply put on his glasses and that's all?

Yes, right.

Before you implement these 3D methods, I would suggest to create a test build which outputs any one type, say Row Interlaced, and get the 3D output tested by users having the same type of Passive TV. Maybe Aleksoid1978 can help in the testing.

jmone
15th January 2016, 21:36
When you force D3D11 in the madVR settings, do you see anything at all, before it crashes? E.g. if you enable the OSD (Ctrl+J) before activating D3D11 mode, do you see the OSD for a short time before the crash? If so, please let me know which refresh rate the OSD lists. Is it near to 23.976? Or is it near to 47.952?

It is in 23.976 and one static SBS Image. Log at:
https://dl.dropboxusercontent.com/u/59011278/madVR%20-%20log%203D%20Crash.zip

Prinz
15th January 2016, 21:38
Oh ok. I guess I didn't understand how passive 3D works. So basically you're saying that a passive 3D TV when looked at without glasses has lines 1, 3 and 5 for left eye and lines 2, 4 and 6 for right eye? So I would simply render as if it were 2D and the TV wouldn't even have to know that I'm sending 3D, the user would simply put on his glasses and that's all?

Implementing that should be relatively easy.

One thing to add: 4K TV's with passive 3D can show full 1080p resolution this way, because they have double the lines of 1080p.

Ver Greeneyes
15th January 2016, 21:57
Do 4k TVs with passive 3D have polarization filters applied as a coating, alternating between columns? Otherwise, I wonder how glasses would know which lines to show.

Manni
15th January 2016, 22:15
Is it a constant delay? E.g. exactly one frame? Or does the delay differ sometimes, from movie to movie, or even from frame to frame? If it's a constant delay then it shouldn't be too hard to implement an option to delay one eye by 1-3 frames or so.


I can't say if the delay is constant or not. The way it's best described is in the thread I already linked to a couple of times. 3D is fine on static shot and gets wrong with motion due to the delay between the two eyes.

Can you reproduce this on your AMD rig? We have the same OS (Win 8.1), so you should have the same issue. If you don't, please give details of drivers, etc.

Asmodian
15th January 2016, 22:18
One thing to add: 4K TV's with passive 3D can show full 1080p resolution this way, because they have double the lines of 1080p.

True, but they need to receive frame packed 3D, otherwise they never get the full resolution video. 1920x2160 or 3840x1080 input is not going to work.

Do 4k TVs with passive 3D have polarization filters applied as a coating, alternating between columns? Otherwise, I wonder how glasses would know which lines to show.

Yes, different rotational polarizations are usually used, I believe.

Prinz
15th January 2016, 23:02
True, but they need to receive frame packed 3D, otherwise they never get the full resolution video. 1920x2160 or 3840x1080 input is not going to work.

As far as I understand we are speaking of not telling the TV that it's 3D, instead sending it as 2D with interleaved lines. So madVR does what the TV would do. And in this case madVR could send the full 1080p 3D to a 4K passive TV in normal 3840x2160p resolution with interleaved Pictures.

6233638
15th January 2016, 23:40
Where did we do the previous discussion about this? In the bug tracker? I don't remember the conclusion of the our previous discussion, so I'm not sure right now if this behaviour is as intended or not.I had a chance to look this up, and it seems that I was mistaken - the behavior I saw with the "wrong" profile being selected is actually working as intended.
http://bugs.madshi.net/view.php?id=349

The srcHeight/Width behavior was only changed for Zoom Control profiles (since that actually broke things) and not all profiles.
It's not what I would personally prefer, but I think your decision to handle it this way does make sense, so I'll keep using uncroppedSrcHeight/Width for the affected profiles.

Aleksoid1978
16th January 2016, 01:47
So basically you're saying that a passive 3D TV when looked at without glasses has lines 1, 3 and 5 for left eye and lines 2, 4 and 6 for right eye? So I would simply render as if it were 2D and the TV wouldn't even have to know that I'm sending 3D, the user would simply put on his glasses and that's all?

Implementing that should be relatively easy.


I think you are right. You can try render as usually 2D picture and alternate lines for the left and right eyes(1 - left, 2 - right, 3 - left, 4 - right and so on.) Passive TV must from such image do 3D in half resolution for height(1080 -> 540).

You can try make test build - and i check it on my TV.

huhn
16th January 2016, 02:54
Oh ok. I guess I didn't understand how passive 3D works. So basically you're saying that a passive 3D TV when looked at without glasses has lines 1, 3 and 5 for left eye and lines 2, 4 and 6 for right eye? So I would simply render as if it were 2D and the TV wouldn't even have to know that I'm sending 3D, the user would simply put on his glasses and that's all?

Implementing that should be relatively easy.

@Aleksoid1978, would that do the trick for your TV?

this may work but what the TV is subsampling. after that there is nothing worth calling 3D/in the chroma channel.

this issue doesn't exist with top bottom and side by side.

omarank
16th January 2016, 06:58
this may work but what the TV is subsampling. after that there is nothing worth calling 3D/in the chroma channel.

this issue doesn't exist with top bottom and side by side.
PC mode, Game mode or Graphics mode, which doesn’t downsample chroma, can be used in the TV. 3D output this way should still be better, rather much better, than after the unnecessary processing done by the TV when its 3D processing engine is active.

Row/ Column Interleaved output is anyway going to be optional in the settings. Passive TV users can always use frame packed 3D output to compare and decide which output method they like the most.

Do 4k TVs with passive 3D have polarization filters applied as a coating, alternating between columns? Otherwise, I wonder how glasses would know which lines to show.
Yes, not only just 4K Passive TVs, all Passive 3D TVs have a special coating which, for example in case of Row Interleaved Type, polarizes the light coming from odd lines in one way and from even lines in the opposite way. Passive 3D glasses have corresponding polarization filters which ensure that one eye sees just the odd lines and the other eye sees the even lines only. As the odd lines comprise View 1 and even lines View 2, the user gets 3D vision when they put on the Passive glasses.

apgood
16th January 2016, 07:09
Thanks. Did you check with say chapter 2 of Gravity that the depth was correct? For example, when they circle around each other in space, is the depth correct for each of them and the rope/tether?
Haven't converted Gravity to mkv yet but PAN and hobbit unexpected journey. The 3D layers look correct and there are no out of sequence frames or anything like that.

4h4h270
16th January 2016, 07:17
frame drop is from reclock, disabled, everything goes fine.

-----------------

I have a problem, I always get 1 frame drop every 30+sec, I checked with gpu-z the load is only 40%~50%.
I tried lighter algorithm and raise every quene size, nothing changed.

aufkrawall
16th January 2016, 07:55
Do you have also drops with other renderers? I'd try EVR CP of MPC HC and display rendertime graphs with ctrl + j.

apgood
16th January 2016, 08:00
Sounds good. Try a few different movies. It's possible that the eye swapping depends on the movie. If that's the case, either MakeMKV or LAV need a minor fix/update to solve that issue.

Only got 2 3D movies in mkv (rest still in iso format), but tested them in Mede8er as well and they need the eye swapping setting set there as well, so I suspect it might be something in MakeMKV that I did when I created them.

If I get a chance I'll try creating some more to see (and make sure I'm running the latest version of MakeMKV).

foozoor
16th January 2016, 08:24
Does madVR use image doubling with DVXA image upscaling?
In the OSD, I see chroma > DVXA and image > DVXA.

mogli
16th January 2016, 08:45
@foozoor
No, it does not.

foozoor
16th January 2016, 09:25
@foozoor
No, it does not.
Thanks! What about image enhancement and upscaling refinements?

Manni
16th January 2016, 09:46
Haven't converted Gravity to mkv yet but PAN and hobbit unexpected journey. The 3D layers look correct and there are no out of sequence frames or anything like that.

Thanks. This is either thanks to Crimson, or because you can swap left/right eye in your projector. I can't do this on my JVC.

I'll try Crimson when I have a chance if no one else confirms AMD working on Catalyst.

huhn
16th January 2016, 11:13
Thanks! What about image enhancement and upscaling refinements?

image enhancement yes
upscaling refinement no

sat4all
16th January 2016, 13:32
Hi madshi,

Debanding algo introduce dropping frames no matter what i set on level. I can fix this only by checking: don't rerender frames when fade in/out is detected. (Must be always checked?)
I've tried with my both rigs: main htpc with an amd hd 7950 and intel nuc i5 hsw.

nussman
16th January 2016, 13:45
Seems like your GPU is to weak for your settings without "don't render frames when fade in/out ..."?
Take a look at the rendering times in the OSD.

XTrojan
16th January 2016, 14:09
Using MPC-HC, Lav 0.66 and I can't get 3D to work Frame-packed or SBS, it simply won't activate nor engage Multiview mode for SBS.

Container is .mkv with MVC 3D stream in it

I noticed you added a nits mode, I know this is something similar to HDR, but what does it do to rec709 movies? I'm not using backlight at max on my TV since rec709 colors get weird above certain nits or strains eyes.

I'm using a JS9000 Tv that should handle most 3D formats.

I'm mostly trying to get Multiview SBS mode to work since framepacked is limited to 1080p23 8bit and all that stuff, Multiview SBS is registered 2D at the PC, it's when it passes to the TV it converts to 3D by merging left+right which is same thing as merging original track + MVC track in framepacked.

XTrojan
16th January 2016, 14:32
I did a image edit to explain Full SBS easier.

This image is what the PC reports, the PC always thinks the movie is 2D, the TV will merge these two images into 3D. The PC will thus never be restricted by 3D setting limit such as 1080p23.

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

Regarding the "mountain effect" on the image, this is the industry standard, the more you stretch the images from eachother (2D and MVC) to each eye the more of a 3D effect you get but also introducing other weird things such as crosstalk. Most TVs have a "3D depth setting" which will basically try to stretch these two images even more in frame-packed or SBS.

also yes, windowed mode doesn't work that well since there's space in the middle and when the TV merges them it becomes buggy, fullscreen is needed to avoid scaling issues.

Either way i can't get Full SBS or Framepacked 3D to work with MadVR as my post above states.

Edit2: When I mean "stretch" it's basically adding distance from both images, 1 image = 1 eye, add too much distance between them and your eyes will become asymmetrical, lol.

Manni
16th January 2016, 14:42
Using MPC-HC, Lav 0.66 and I can't get 3D to work Frame-packed or SBS, it simply won't activate nor engage Multiview mode for SBS.

You need a recent nightly of LAV 0.67, 0.66 doesn't support 3D.

Thunderbolt8
16th January 2016, 14:53
bilateral chroma upsampling in madvr, is this actually adaptive bilateral sampling or fixed bilateral sampling?

XTrojan
16th January 2016, 15:01
You need a recent nightly of LAV 0.67, 0.66 doesn't support 3D.

Ahh, i'll try testing it tonight then.

aufkrawall
16th January 2016, 15:53
Hi madshi,

Debanding algo introduce dropping frames no matter what i set on level. I can fix this only by checking: don't rerender frames when fade in/out is detected. (Must be always checked?)
I've tried with my both rigs: main htpc with an amd hd 7950 and intel nuc i5 hsw.
You need a very long queue for disabling that option, which is normal.

XTrojan
16th January 2016, 16:05
Got it to work, but how do you create a separate profile for 3D?

2160p 3D -> GPU can't keep up, frame drops
1080p framepacked -> 2D movies crash or switch to 1080p when I want them to switch to 2160p.

sat4all
16th January 2016, 17:08
Seems like your GPU is to weak for your settings without "don't render frames when fade in/out ..."?
Take a look at the rendering times in the OSD.

Rendering time is ok:
HD 7950: 20 ms 1080p 》2160p with super-xbr image doubling and Reconstruction for chroma.
NUC: 3ms 1080p 》 1080p

sat4all
16th January 2016, 17:09
You need a very long queue for disabling that option, which is normal.

Thanks, I will give it a try.

leeperry
16th January 2016, 17:14
From what I can see, the superres for chroma is quite similar to the superres for image refinement right now. However, while the algorithm is great for luma, it's not good for chroma. In luma, superres enhances small details and edges by increasing contrast (darks become darker, lights become lighter at image transients), and the same happens to the chroma layers.
Actually I really enjoy how chroma & luma SR@4 work together on the very same EE as that makes PQ crispier, smoother and sharper without nasty halos. I'm not seeing any color fringing as I get with colored dithering. I also use Jinc AR for chroma so no amplified sxbr artifacts TYVM ^^

SuperRes is very visible in motion IME and the higher the fps the smoother it gets, too bad my HD7850 can't run them both together @4 on 1080p60 content :o

madshi
16th January 2016, 17:25
I having a strange problem, if upscale a 720p video to 1366x768p monitor none of my upscaling refinements is activated, i don´t see the effects on image e and OSD don´t show any changes on reders times, on others versions below 89.19 this issue don´t happen
Yeah, there's a specific upscaling factor under which I don't apply the refinement. E.g. if you upscale only 1 pixel, refinement doesn't really make too much sense.

The logic is this: Upscaling refinement is meant to make sure that the upscaled image looks as near to the original image as possible. Which means that sharpening and stuff is really only needed if you upscale by a certain amount. If you find the original image already too soft, you can use image enhancements to sharpen the source.

The whole sharpening logic might be improved in a future version. I'm not sure yet how to make it more logical/intuitive yet, though.

Before you implement these 3D methods, I would suggest to create a test build
I can't make a test build without implementing these 3D methods first.

It is in 23.976 and one static SBS Image. Log at:
https://dl.dropboxusercontent.com/u/59011278/madVR%20-%20log%203D%20Crash.zip
Thanks. But you didn't my question about refresh rates.

One thing to add: 4K TV's with passive 3D can show full 1080p resolution this way, because they have double the lines of 1080p.
So they switch left/right eye per 4K line? That would be rather nice.

I can't say if the delay is constant or not. The way it's best described is in the thread I already linked to a couple of times. 3D is fine on static shot and gets wrong with motion due to the delay between the two eyes.

Can you reproduce this on your AMD rig? We have the same OS (Win 8.1), so you should have the same issue. If you don't, please give details of drivers, etc.
For testing/development I currently have my old projector throwing a small image on my development painted wall. It's not high quality enough to judge whether there's a delay or not. I can just judge whether there's any 3D effect at all or not.

I had a chance to look this up, and it seems that I was mistaken - the behavior I saw with the "wrong" profile being selected is actually working as intended.
http://bugs.madshi.net/view.php?id=349

The srcHeight/Width behavior was only changed for Zoom Control profiles (since that actually broke things) and not all profiles.
It's not what I would personally prefer, but I think your decision to handle it this way does make sense, so I'll keep using uncroppedSrcHeight/Width for the affected profiles.
Thanks for looking that up. Yeah, after reading my comment there, I think I still have the same view, so I don't think I want to change anything there.

I think you are right. You can try render as usually 2D picture and alternate lines for the left and right eyes(1 - left, 2 - right, 3 - left, 4 - right and so on.) Passive TV must from such image do 3D in half resolution for height(1080 -> 540).

You can try make test build - and i check it on my TV.
I'll give it a try, we'll see how it goes. Not sure yet if I can implement it this weekend. Maybe yes, maybe next weekend.

When using PowerDVD, does your TV know when PowerDVD switches into 3D mode and when not? Or does the TV not know?

this may work but what the TV is subsampling. after that there is nothing worth calling 3D/in the chroma channel.

this issue doesn't exist with top bottom and side by side.
You're quite right. However, luckily for row interleaved 3D 4:2:2 doesn't have this issue because 4:2:2 is only subsampled horizontally. So there's only a problem if the TV converts back to 4:2:0. As long as it at least stays in 4:2:2, there's no problem (for row interleaved 3D). Column interleaved 3D would already suffer when going back from 4:4:4 to 4:2:2, but right now I don't think I'll implement column interleaved 3D, anyway.

Yes, not only just 4K Passive TVs, all Passive 3D TVs have a special coating which, for example in case of Row Interleaved Type, polarizes the light coming from odd lines in one way and from even lines in the opposite way. Passive 3D glasses have corresponding polarization filters which ensure that one eye sees just the odd lines and the other eye sees the even lines only. As the odd lines comprise View 1 and even lines View 2, the user gets 3D vision when they put on the Passive glasses.
Are there (m)any passive displays with column interleaved 3D? I think the usual LCD panels (from LG etc) are all row interleaved?

frame drop is from reclock, disabled, everything goes fine.

I have a problem, I always get 1 frame drop every 30+sec, I checked with gpu-z the load is only 40%~50%.
I tried lighter algorithm and raise every quene size, nothing changed.
Are you talking about the Ctrl+J OSD saying "1 frame drop every ..."? Or are you actually getting those frame drops (OSD increasing "dropped frames" statistic regularly every 30+ seconds)? The former is just a rough estimate by the OSD. The key statistic is the "dropped frames" line. As long as that doesn't increase that often, you're fine. If that one does increase regularly, you may have to use custom resolutions to optimize the display mode's refresh rate.

Only got 2 3D movies in mkv (rest still in iso format), but tested them in Mede8er as well and they need the eye swapping setting set there as well, so I suspect it might be something in MakeMKV that I did when I created them.

If I get a chance I'll try creating some more to see (and make sure I'm running the latest version of MakeMKV).
As mentioned earlier, it could be a bug in MakeMKV or in LAV. I suppose probably nevcairiel will get to the bottom fo that. If you have this problem for *ALL* movies, that would be somewhat weird, though. It would suggest that either LAV or madVR always output frames in the wrong order. In that case it could also be a bug in madVR.

Thanks. This is either thanks to Crimson, or because you can swap left/right eye in your projector. I can't do this on my JVC.

I'll try Crimson when I have a chance if no one else confirms AMD working on Catalyst.
Please let me know the results. If you still have a delay with Crimson, I can try to implement a delay option. I'd rather avoid spending the time, though, if Crimson already fixes that issue.

Debanding algo introduce dropping frames no matter what i set on level. I can fix this only by checking: don't rerender frames when fade in/out is detected. (Must be always checked?)
You need a very long queue for disabling that option, which is normal.
^ aufkrawall is right. That specific options requires you to increase your GPU/CPU queue sizes a bit.

I noticed you added a nits mode, I know this is something similar to HDR, but what does it do to rec709 movies?
Nothing, it's only for HDR content.

I'm using a JS9000 Tv that should handle most 3D formats.

I'm mostly trying to get Multiview SBS mode to work since framepacked is limited to 1080p23 8bit and all that stuff, Multiview SBS is registered 2D at the PC, it's when it passes to the TV it converts to 3D by merging left+right which is same thing as merging original track + MVC track in framepacked.
Your display is active 3D, though, right? In that case I think frame packed 3D should be the best option.

Got it to work, but how do you create a separate profile for 3D?

2160p 3D -> GPU can't keep up, frame drops
1080p framepacked -> 2D movies crash or switch to 1080p when I want them to switch to 2160p.
The next build will have a "3D" profile boolean variable.

I'll try to improve display mode switching for 3D in the next build. The crash is a bug in the NVidia drivers, though. We should be able to work around in your setup by avoiding to play 2D movies with frame packed output. Simply switching to 1080p23 for frame packed 3D output, and switching to 2160pXX for 2D playback should do the trick, I think.

bilateral chroma upsampling in madvr, is this actually adaptive bilateral sampling or fixed bilateral sampling?
What's the actual difference? Your question implies that "adaptive bilateral sampling" and "fixed bilateral sampling" were known terms that exactly describe a specific algorithm, but I don't think it's as simple as that.

Actually I really enjoy how chroma & luma SR@4 work together on the very same EE as that makes PQ crispier, smoother and sharper without nasty halos. I'm not seeing any color fringing as I get with colored dithering. I also use Jinc AR for chroma so no amplified sxbr artifacts TYVM ^^

SuperRes is very visible in motion IME and the higher the fps the smoother it gets, too bad my HD7850 can't run them both together @4 on 1080p60 content :o
Have you tried "reconstruction - soft" instead of Jinc?

Prinz
16th January 2016, 18:02
So they switch left/right eye per 4K line? That would be rather nice.

Yes they do exactly that.

omarank
16th January 2016, 19:39
Column interleaved 3D would already suffer when going back from 4:4:4 to 4:2:2, but right now I don't think I'll implement column interleaved 3D, anyway.


Are there (m)any passive displays with column interleaved 3D? I think the usual LCD panels (from LG etc) are all row interleaved?

I don’t know. Well, the thing is, any software that offers Row Interleaved output, offers Column Interleaved as well. Below is a quote from AMD HD3D_Whitepaper (https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=12&ved=0ahUKEwj2ivuX8K7KAhVMA44KHf8wAiM4ChAWCCAwAQ&url=https%3A%2F%2Fwww.amd.com%2FDocuments%2FHD3D_Whitepaper.pdf&usg=AFQjCNGcXp5WJyo377npml7vNBKKXWHAWQ&bvm=bv.112064104,d.c2E&cad=rja)that you may find interesting:

“The column interleaving mode is convenient as some auto-stereoscopic panels (such as those developed by Sharp and others) use a parallax barrier to ensure that alternating columns are viewed by the left and right eyes. Content that is column-interleaved can thus be presented without any decoding.”

Thunderbolt8
16th January 2016, 19:45
What's the actual difference? Your question implies that "adaptive bilateral sampling" and "fixed bilateral sampling" were known terms that exactly describe a specific algorithm, but I don't think it's as simple as --that.I dont know, but at least the conclusion here might suggest this: http://www.interdigital.com/download/54313edae262284525000224