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

naomatrix
14th May 2010, 23:14
Hi all, thanks madshi for a great render.
One question, maybe in future release use EDID(Extended display identification data) from tv and monitor in 3dlut ?

mark0077
15th May 2010, 01:07
Madshi. With 0.12 I still get the macrovision errors with DvDs stored on hdd. Is this fixable do you think?

fps
15th May 2010, 01:19
I dunno, but also what resolution source and screen?

My 9600M GT can do the above settings (doubling the resolution of 1280x720 video) in 21ms (say avg frame time is ~42ms).

The 210 is below the 9600M GT and the 220 is just above.
How do I get this information for my card?

namaiki
15th May 2010, 03:40
Press Ctrl+J with MadVR in foreground.

fps
15th May 2010, 14:49
Press Ctrl+J with MadVR in foreground.

Thank you, I didn't get that this was just introduced with 0.12 :).
So I guess theoretically a card should be fast enough as long the rendering time is a bit below the average frame time, or is some extra "time reserve" necessary?

madshi
15th May 2010, 15:54
@madshi: It seems that the final conclussion is to set peak white at 240-245 so you can have the best of both worlds.
I'm not so convinced about that yet. It seems that for Blu-Ray there is little reason for using any more than 235, but for broadcasts the situation appears to be different. I think for a HTPC probably DVD/Blu-Ray playback is more important than broadcast playback, so I think the default "PC levels" logic of capping WTW at 235 is not such a bad choice.

But as I told you some days ago, actually that's not possible with madVR
And as I told you days ago, there will be contrast/brightness controls sooner or later.

I think it would be interesting if you could add a new "Levels" option (or modify the "PC Levels" one) to achieve that. It would be great if it could allow us to set the level for top peak white, so we could get the best of our displays without losing any picture information.
Maybe I'll do that, I'm not sure yet. But this definitely will not come before I redesign the settings dialog (which is on my to do list, but not for the next 1-2 versions).

Are you certin of this? I could never get 10bit RGB with MPC-HC and EV in exclusive mode. DX9 always gave error disply format not supported (or something on those lines) even though I had a 10bit capable display and gfx card. This is how I first heard 10bit was only possible under DX10 with nvidia drivers.
Well, I was talking strictly about what DirectX itself supports. It's possible that NVidia drivers have an "artificial" limitations to not support 10bit mode in DX9.

At this point in time I do not plan to add a DX10 rendering mode, because I don't see any real benefits over DX9 for my needs. But that's just my current point of view, which can potentially change.

One question, maybe in future release use EDID(Extended display identification data) from tv and monitor in 3dlut ?
For which exact purpose?

Madshi. With 0.12 I still get the macrovision errors with DvDs stored on hdd. Is this fixable do you think?
I have not given up hope yet. My main problem is to reproduce it. It doesn't occur on my XP machine. And my win7 x64 machine doesn't have a DVD drive.

So I guess theoretically a card should be fast enough as long the rendering time is a bit below the average frame time, or is some extra "time reserve" necessary?
For the special (not-yet implemented) Aero and fullscreen exclusive mode rendering paths, it's probably good enough if the rendering times are a "little bit" under the average frame time. For non-Aero windowed mode I'd recommend to stay more than just a "little bit" under the average frame time, or else smooth playback may not always work reliably. Can't give you any hard numbers, though...

mark0077
15th May 2010, 17:11
madshi, you can reproduce macrovision with this TEST DVD. I used it recently to compare quality between ffdshow yv12 - rgb conversions with madVR but get macrovision failure.

http://merifon.altervista.org/TestDVD.html

Just download and start using the video_ts.ifo file. You'll see "DVD: Macrovision Fail" at the bottom of the madvr window.

cyberlolo
15th May 2010, 18:13
I think for a HTPC probably DVD/Blu-Ray playback is more important than broadcast playback, so I think the default "PC levels" logic of capping WTW at 235 is not such a bad choice.

I disagree. There's a lot of people that uses HTPC mainly for watching mkv's, and in case of TV Shows, they're encoded from broadcasts, aren't they?

And as I told you days ago, there will be contrast/brightness controls sooner or later.

Ok madshi, it wasn't my intention to put you in a hurry. Please bear in mind that my english is not very good, and maybe I use some expressions (like "told you days ago") that can sound aggresive or something, but that's not my intention.
To keep things clear, I appreciate your great work, and I only write here my opinions and wishes just in case they can help you in some way to improve your renderer.

Maybe I'll do that, I'm not sure yet. But this definitely will not come before I redesign the settings dialog (which is on my to do list, but not for the next 1-2 versions).

Ok, I still think it would be a very useful feature. So I'll keep waiting for it, if you finally decide to add it.

Thanks for your answers.

TinTime
15th May 2010, 20:47
Btw. here a picture with madVR stats from my system - tearing at 23.976hz. Its *always* in the same postion (i marked it red, because i can not screenshot the tearing), no matter if i restart the player, system, use pause, or whatsoever - madVR tears at this position for me and no where else. My system is a Q9550 + ATi 4770, on WinXP SP3, output on a JVC DLA-HD100 (RS2 named in the US) - btw my timings (with powerstrip) are very very tight - i get not a single Repeat/Drop (apart from the starting ones) while bitstreaming AC3/dts in 13+ hours constant playing. With other renderers i can adjust the vsync with reclock to not tear, with madVR its not possible, and after reading your conversation with jong i understand why reclock is not working the way i am used to be.

I cross my fingers that the exclusive mode will fix it, it is a it strange that the tearing is always at the same position or ?

http://img88.imageshack.us/img88/2092/madvrtest01.th.jpg (http://img88.imageshack.us/i/madvrtest01.jpg/)

I get exactly the same tearing as you at 23/24Hz with 0.12. I'm also on XP SP3 with an Nvidia 8600GT.

This seems to have been present for me since 0.10. Versions 0.9 and earlier were ok. If there was tearing then it was when play was started and a quick pause / play would fix it, similar to when I use VMR-9.


Since this post I've moved on to Windows 7 from XP - same hardware, new OS. I no longer get tearing at 24Hz.

Of course I've now got a whole new series of problems to deal with (Nvidia custom resolutions seem to be completely broken, whereas they worked fine on XP) but madVR 0.12 is working great :)

iSeries
15th May 2010, 23:45
@TinTime - is that with Aero enabled? If so, disable Aero and you'll more than likely see the tearing again.

naomatrix
15th May 2010, 23:54
Originally Posted by madshi
... use EDID in 3dlut ? For which exact purpose?
If i see one film on computer PC LCD monitor(19") and via DVI-HDMI on LCD TV(HD Ready), colours on screens is not 1:1 :confused: also EDID data from TV and monitor is slightly different, maybe through 3DLut is possible make correction this little colours difference.

TinTime
16th May 2010, 01:16
@TinTime - is that with Aero enabled? If so, disable Aero and you'll more than likely see the tearing again.

Just gave it a go - you're absolutely right.

leeperry
16th May 2010, 01:27
Aero was making HR hiccup for me on Vista SP1/48Hz using Reclock(HR's jitter figure was showing that Aero was enforcing the VSYNC no matter what...and it was making the picture noticeably stutter every few secs), not so with mVR on W7?

madshi
16th May 2010, 09:56
you can reproduce macrovision with this TEST DVD.
No, I can't. My XP machine plays this fine with madVR. And my win7 machine doesn't have a DVD drive, as I said.

I disagree. There's a lot of people that uses HTPC mainly for watching mkv's, and in case of TV Shows, they're encoded from broadcasts, aren't they?
MKV or not doesn't make any difference. That's just a container, nothing more. The key difference is the source, was it DVD/Blu-Ray or was it broadcast? It seems that only broadcasts have WTW information above 235, and only some broadcasts - not all. Furthermore, AFAIK with all consumer electronic devices which have a "PC levels" vs. "TV levels" option (or however else the option is called in the CE device's setup menu), the PC levels option usually cuts BTB (below 16) and WTW (above 235). So madVR's default PC levels option behaves exactly as most CE devices do. I think that this is the "right" behaviour, and I don't intend to change that. I would have considered changing it only, if the majority of source material had detail above 235. And that simply doesn't seem to be the case. Sources with detail above 235 seems to be the exception, not the rule.

As I said, I might add another option to allow custom levels definition, but I've not decided that yet. But even if I don't do that, you'll still be able to achieve your goal by using the contrast/brightness controls I'll add to madVR sooner or later.

If i see one film on computer PC LCD monitor(19") and via DVI-HDMI on LCD TV(HD Ready), colours on screens is not 1:1 :confused: also EDID data from TV and monitor is slightly different, maybe through 3DLut is possible make correction this little colours difference.
I don't think the EDID will give me reliable information about how to adjust colors. What the EDID could help with is to clearly and properly identify different monitors and to allow you to automatically apply different settings to different monitors.

Aero was making HR hiccup for me on Vista SP1/48Hz using Reclock(HR's jitter figure was showing that Aero was enforcing the VSYNC no matter what...and it was making the picture noticeably stutter every few secs), not so with mVR on W7?
Playback with Aero is smooth for me with win7. However, I'm currently not using Reclock. Don't know how well the combination of Aero + madVR + Reclock works. If you do combine Reclock + madVR, you should probably turn Reclock's VSync correction off.

Mark_A_W
16th May 2010, 12:47
No, I can't. My XP machine plays this fine with madVR. And my win7 machine doesn't have a DVD drive, as I said.



I found the same thing ages ago moving to Vista (now W7), with Haali Renderer.

Macrovision errors.


madshi, can you mount the iso as a virtual drive using Virtual Clone Drive?

When you play the "disc", the result should be the same as a real drive.


I assure you, there is a real issue.

madshi
16th May 2010, 12:58
can you mount the iso as a virtual drive using Virtual Clone Drive?
That fails to work with all renderers for me on my win7 x64 machine. No wait, I tested that on my Vista x64 laptop. There is fails with all renderers. Failure even with VMR7/9 and EVR. Not sure if I've tried in win7 x64 yet...

I assure you, there is a real issue.
I don't doubt that at all. As I said, my biggest problem is how to reproduce the problem. But don't worry, I have a few virtual machines with different OSs. I'll see if I can reproduce it "somewhere".

namaiki
16th May 2010, 13:06
madshi: are you using mpc-hc's internal filters for dvd playback? I think you have to. (if you aren't already)

cyberlolo
16th May 2010, 13:15
MKV or not doesn't make any difference. That's just a container, nothing more. The key difference is the source, was it DVD/Blu-Ray or was it broadcast? It seems that only broadcasts have WTW information above 235, and only some broadcasts - not all. Furthermore, AFAIK with all consumer electronic devices which have a "PC levels" vs. "TV levels" option (or however else the option is called in the CE device's setup menu), the PC levels option usually cuts BTB (below 16) and WTW (above 235). So madVR's default PC levels option behaves exactly as most CE devices do. I think that this is the "right" behaviour, and I don't intend to change that. I would have considered changing it only, if the majority of source material had detail above 235. And that simply doesn't seem to be the case. Sources with detail above 235 seems to be the exception, not the rule.

Yes, what I meant is mkvs=HD videos. And I agree it depends on the source, but many people watches downloaded broadcast TV shows, and I thought it would be a good choice for them.

As I said, I might add another option to allow custom levels definition, but I've not decided that yet. But even if I don't do that, you'll still be able to achieve your goal by using the contrast/brightness controls I'll add to madVR sooner or later.

Ok. And another option will be the new version of cr3dlut, which, as yesgrey said, will allow custom levels definition too. Anyway, that contrast/brightness controls will be a nice add-on to madVR when you decide to include it. We'll keep waiting...

Playback with Aero is smooth for me with win7. However, I'm currently not using Reclock. Don't know how well the combination of Aero + madVR + Reclock works. If you do combine Reclock + madVR, you should probably turn Reclock's VSync correction off.

I use Win7 + Aero + madVR + Reclock (VSync correction off), and when matching refresh rate to fps (or a multiple), playback is perfectly smooth.

madshi
16th May 2010, 13:53
madshi: are you using mpc-hc's internal filters for dvd playback?
I'm using the default MPC HC setup. So I'd say yes.

many people watches downloaded broadcast TV shows
And many people watch movies. And I'd say, for movies best possible quality is probably more important than for broadcasted TV shows, because broadcasted TV shows don't have such a high image quality, anyway.

iSunrise
16th May 2010, 13:57
As I said, I might add another option to allow custom levels definition, but I've not decided that yet. But even if I don't do that, you'll still be able to achieve your goal by using the contrast/brightness controls I'll add to madVR sooner or later.
It would be very nice and IMHO a very powerful tool, if you could just add some kind of levels meter below the PC levels and TV levels select boxes, so it would be straight forward for everyone what PC levels and TV levels does (you could see it directly on that meter) and there would also be the option to adjust values on that meter directly (e.x. with two sliders). With that you would give everyone the option to correct some of the output (before it goes to the display) that madVR passes through. IMHO, the display itself (e.x. through calibration or good manual adjustment with the appropriate DVDs) should handle everything else.

I don't think the EDID will give me reliable information about how to adjust colors. What the EDID could help with is to clearly and properly identify different monitors and to allow you to automatically apply different settings to different monitors.
What naomatrix probably meant is that the EDID can have the display primaries, like e.x. on a HP 2480zx, stored and that madVR takes advantage of what. But this doesn´t help us much, since these stored values are not specifically written for every monitor (they can however be adjusted later by the user after calibration). My EIZO also has "some" values in that EDID, but after calibration these are not really the correct ones, they´re fairly close but definately not correct.

I'm using the default MPC HC setup. So I'd say yes.
And many people watch movies. And I'd say, for movies best possible quality is probably more important than for broadcasted TV shows, because broadcasted TV shows don't have such a high image quality, anyway.
Probably you didn´t see any good broadcasts, yet. With some of the HD-ones I know you´ll be quite astounded. At least I was. With madVR and a good calibrated monitor these come to life. Even shows like "Saturday Night" (for the US guys) have an extremely good picture. All this of course is only valid with the HDTV-feeds which in the US are quite common and will get more common here in germany in the coming years.

cyberlolo
16th May 2010, 14:09
It would be very nice and IMHO a very powerful tool, if you could just add some kind of levels meter below the PC levels and TV levels select boxes, so it would be straight forward for everyone what PC levels and TV levels does (you could see it directly on that meter) and there would also be the option to adjust values on that meter directly (e.x. with two sliders). With that you would give everyone the option to correct some of the output (before it goes to the display) that madVR passes through. IMHO, the display itself (e.x. through calibration or good manual adjustment with the appropriate DVDs) should handle everything else.

That would be awesome, and would give madVR a great flexibility.

Probably you didn´t see any good broadcasts, yet. Download some ABC HD or BBC HD ones and I know you´ll be quite astounded. At least I was. With madVR and a good calibrated monitor these come to life. Even shows like "Saturday Night" (for the US guys) have an extremely good picture. All this of course is only valid with the HDTV-feeds which in the US are quite common.

Agree. HD Broadcasts (CSI, Lost, House...) have very good quality (720p), and a lot of people watches them, probably more than movies. IMHO, if madVR wants to give the best possible PQ, I think it would take this HD broadcasts into consideration too.

mark0077
16th May 2010, 14:11
Yep you don't need a DVD drive. You can extract the iso using winrar and open the video_ts.ifo file to reproduce.

leeperry
16th May 2010, 14:41
Playback with Aero is smooth for me with win7. However, I'm currently not using Reclock. Don't know how well the combination of Aero + madVR + Reclock works. If you do combine Reclock + madVR, you should probably turn Reclock's VSync correction off.
the aforementioned test w/ HR on Vista SP1 was w/ Reclock's VSYNC correction turned off...it was just Aero enforcing the VSYNC every couple of seconds, and not caring at all about HR's VSYNC correction code :o

but I guess several ppl here use the Reclock/Aero/mVR combination anyway, dunno why Aero was making HR so upset..anyway, you said that the next mVR version will include logging, so hopefully you'll be able to "see" why Reclock(w/ its VSYNC correction turned off) always craps out after 45/60' :)

madshi
16th May 2010, 16:00
Even shows like "Saturday Night" (for the US guys) have an extremely good picture.
Agree. HD Broadcasts (CSI, Lost, House...) have very good quality (720p)
Those that I've seen haven't been able to match good Blu-Rays. But ok, maybe some broadcasts come near. But then the key question is: How many of these broadcasts have true WTW detail (above 235)? 10%? 20%? 30%? I don't know that. Do you? Only some broadcasts seem to have true WTW detail. And virtually none DVDs/Blu-Rays seem to have true WTW detail. So again: I think the current madVR default level setup is "good". Maybe not optimal for some broadcasts. But it's optimal for DVDs, Blu-Rays and probably the majority of broadcasts.

Anyway, I think we don't get any further with this topic, so that's my last comment on this for now.

iSunrise
16th May 2010, 16:31
Anyway, I think we don't get any further with this topic, so that's my last comment on this for now.
Fair enough. At least now you have an idea, which in my case was all I wanted to share. If you implement something like that in madVR that is your and your decision alone. I´m thankful for your great renderer already.

Could you reproduce the bug report (http://forum.doom9.org/showthread.php?p=1399061#post1399061) I posted some days ago? Since you didn´t specifically mention it in your last posts. Just wondering if you needed anymore info on that.

cyberlolo
16th May 2010, 17:57
Fair enough. At least now you have an idea, which in my case was all I wanted to share. If you implement something like that in madVR that is your and your decision alone. I´m thankful for your great renderer already.

Agree again. Thank you madshi for your support.

ajp_anton
17th May 2010, 00:08
Bug:
I did a small 5 second "rewind" and got into a state where for every group of 8 frames, the 1st and 2nd frame were switched. Doing a new seek didn't do anything, but stopping the video and and seeking back to where I was fixed it. I know it's a little vague, and I can't reproduce it, sorry...

starla
17th May 2010, 11:18
Yes, I'm aware of this problem. I do have some ideas on how to work around the problem in madVR alone, without needing audio manipulation. But I'm not sure yet how well it will work, and I also don't know how long it will take for me to find the time to actually implement my ideas.

There are few options. If you know any other (something that wont break any math rules please let me know :)) In any case two way discussion would be nice to have for ideas (especially when the code is closed source).

1) resample audio to match video v-sync rate
2) let A/V sync drift
3) change display's v-sync rate (powerstrip minimal on the fly adjustments)

I cannot think anything else that wouldn't conflict with the math.


Well, that's *great* news! I was kind of wishing for someone to start investing time into creating a high quality audio renderer. So I'm happy to hear about your plans.

If you don't mind, I'd like to make a suggestion: Maybe you could start by making the MPC-HC audio renderer work as well or better than any other renderer, before starting to add Reclock like logic to it? As far as I've read, currently some audio renderers are better than others, depending on some specific circumstances. If you could make the MPC-HC audio renderer best in all circumstances, that would be a great start!

Let me point you to a problem with Reclock. This is a quote from an email yesgrey sent me. I think (hope) yesgrey won't mind me posting it here:

Would be great if you could make sure that the MPC-HC audio renderer properly uses the audio hardware's clock (in "non-Reclock mode"). Not sure which clock the MPC-HC audio renderer currently uses. Of course for a Reclock clone you'd need to use your own clock instead of the audio hardware clock, but for people who don't want audio to be resampled (I'm one of them), it would be great if "your" new audio renderer could be switched to a "non-Reclock" mode, which should then behave as normal renderers do (using the audio hardware clock).

I have no plans to implement a perfect audio renderer from audio point of view since it will disable possibility to have perfectly judder free video playback. I'm a guy who falls into the category who tolerates minor audio quality loss (not including pops, clicks or any noises!) to have perfectly fluid video playback.

So I wont probably investigate that proposed side of the MPC-HC audio renderer (althou I think it already uses the audio HW clock as clock source, of course that wont be happening after adding the custom, modified reference clock time keeping).

I simply don't have enough free time. Working with MP1/2 + EVR presenter + audio renderer wont be that fruitful when you have only few spare hours per a week.

madshi
17th May 2010, 11:55
I did a small 5 second "rewind" and got into a state where for every group of 8 frames, the 1st and 2nd frame were switched. Doing a new seek didn't do anything, but stopping the video and and seeking back to where I was fixed it. I know it's a little vague, and I can't reproduce it, sorry...
This could be a bug in either madVR or in the decoder. Even if it's a bug in madVR, it will be hard to fix if it's not reproduceable. If you find a way to reproduce it somehow, please let me know.

There are few options. If you know any other (something that wont break any math rules please let me know :)) In any case two way discussion would be nice to have for ideas (especially when the code is closed source).

1) resample audio to match video v-sync rate
2) let A/V sync drift
3) change display's v-sync rate (powerstrip minimal on the fly adjustments)

I cannot think anything else that wouldn't conflict with the math.
How about:

1) "resample" video -> blend video frames together (e.g. for 24fps movie on 60Hz display, show frames A, A, (A+B)/2, B, B)
2) drop/repeat frames only in scenes where there's (almost) no motion

A similar solution to 2) could also be done in the audio renderer: Don't resample audio at all. Instead drop/repeat "silence". This will be more difficult with audio, though, because with some (many?) movies there's always some background music, so there is never "silence". On the video side I think almost every movie has some scenes where there's (almost) no motion for a couple of frames. So I think 2) should work pretty well for video. Especially if the HTPC is setup carefully, so that only a very small number of video frames need to be dropped/repeated per movie.

I have no plans to implement a perfect audio renderer from audio point of view
:(

I simply don't have enough free time. Working with MP1/2 + EVR presenter + audio renderer wont be that fruitful when you have only few spare hours per a week.
I know that problem very well.

starla
17th May 2010, 12:11
1) "resample" video -> blend video frames together (e.g. for 24fps movie on 60Hz display, show frames A, A, (A+B)/2, B, B)

This would cause the motion vectors to get "corrupted" and the movement would be still juddering. Some frames would contain more of the linear movement than others and the frame duration is still limited with the HW v-sync.

I wouldn't consider this as a solution :)


2) drop/repeat frames only in scenes where there's (almost) no motion

This would work only depending on a movie type. Just imagine how hard such sweet spot could be to archive on a Planet Earth blu-rays for example (they contain pretty much constant panning / fly-overs scenes).

Again I think it would be only a sub par solution.


A similar solution to 2) could also be done in the audio renderer: Don't resample audio at all. Instead drop/repeat "silence". This will be more difficult with audio, though, because with some (many?) movies there's always some background music, so there is never "silence". On the video side I think almost every movie has some scenes where there's (almost) no motion for a couple of frames. So I think 2) should work pretty well for video. Especially if the HTPC is setup carefully, so that only a very small number of video frames need to be dropped/repeated per movie.

Finding "empty" audio is also based on luck, so not a real solution.

About the drop few frames during whole movie. I cannot tolerate that. I can already archive that result with MP1 and using it's EVR presenter on good HW (minimal A/V clock drifting).

So, looks like for me the Reclock replacement is the only viable solution for now (or maybe to as James to implement few new features into Reclock so video renderers can communicate and advice the reference clock time generation).

madshi
17th May 2010, 12:31
This would cause the motion vectors to get "corrupted" and the movement would be still juddering. Some frames would contain more of the linear movement than others and the frame duration is still limited with the HW v-sync.
I think I didn't properly explain how it works. Basically the renderer would always do a weighted blend of two adjacent frames. The weights are defined by the distance of the hardware vsync to the "ideal vsync". I'm sure that this solution would be perfectly smooth. However, due to the blending it might be slightly less sharp. Not sure about that...

Actually this frame blending is exactly what many studios do when converting natively interlaced NTSC TV series to PAL (60i -> 50i). Motion is perfectly smooth this way.

This would work only depending on a movie type. Just imagine how hard such sweet spot could be to archive on a Planet Earth blu-rays for example (they contain pretty much constant panning / fly-overs scenes).

Again I think it would be only a sub par solution.
I think you are underestimating how well it would work. Ok, there will be a couple of movies where it might not work, e.g. handy cam movies like Cloverfield. Such movies make me motion sick, anyway. But I think for 99% of all movies, solution 2) should work pretty well. The key is that if you need to drop only e.g. 3 frames per movie, there would only have to be one single motion-less scene every half hour of the movie for 2) to work. Just a simple fadeout to black (scene change) does the trick!

About the drop few frames during whole movie. I cannot tolerate that.
I can't tolerate *noticeable* frame drops during a movie, either. I have no problem with frame drops, though, if they're not visible to the naked eye.

tetsuo55
17th May 2010, 12:32
There are few options. If you know any other (something thaI have no plans to implement a perfect audio renderer from audio point of view since it will disable possibility to have perfectly judder free video playback. I'm a guy who falls into the category who tolerates minor audio quality loss (not including pops, clicks or any noises!) to have perfectly fluid video playback.Having the audio stream as perfect as possible still minimised glitches introduced when the audio is modified to fit the video timing.
I dont think your goal contradicts perfect audio processing in any way.

starla
17th May 2010, 12:45
Having the audio stream as perfect as possible still minimised glitches introduced when the audio is modified to fit the video timing.
I dont think your goal contradicts perfect audio processing in any way.

When resampling audio (even for few brief moments during the whole movie) is not going to give perfect audio playback and thus I'm sure it wont be good enough for the people who have golden ears (people who freeze their CD disks before listening... or say that they are able to hear some minimal jitter introduced in the audio chain fall into this hole :)).

I'm not after a bit perfect audio playback, instead I'm fine with a bit molested audio stream. So, currently I'm not planning to make the audio renderer perfect in the way that was proposed (I just don't have enough resources and maybe even the skills needed).

I think a separate thread would be good since we are drifting away from the madVR into a more common direction.

Mark_A_W
17th May 2010, 14:10
I think the only practical solution, other than resampling the audio (a la Reclock), is to fiddle the video timings. Stretch and compress the actual video timings on the card.

Ar-jar did this with gothplayer. He moved away from this method, I never really understood why, as it is one of the two possible solutions.


That said, Reclock sounds fine to me. It's all whizzbangy and upsampling now.


And Powerstrip is going the way of the dodo. The latest ATi cards don't support it, and I don't think they ever got the last couple of generations of Nvidia cards working properly, both due to insufficient info from the manufacturers.

tetsuo55
17th May 2010, 15:09
Yeah a new thread is possibly best, and as starla suggest, we need to think of scientific ways of measuring audio quality before we can do any coding in that area.

I suggest building a scientifically accurate test-suite for the video renderer too.

pie1394
17th May 2010, 15:54
I think I didn't properly explain how it works. Basically the renderer would always do a weighted blend of two adjacent frames. The weights are defined by the distance of the hardware vsync to the "ideal vsync". I'm sure that this solution would be perfectly smooth. However, due to the blending it might be slightly less sharp. Not sure about that...

Actually this frame blending is exactly what many studios do when converting natively interlaced NTSC TV series to PAL (60i -> 50i). Motion is perfectly smooth this way.



This reminds me that MPEG encoded video often gets sharper image on P-frame, while it is often foggy (+ even blocky on MPEG2) on 2 consequent B-frames. This is often how it is encoded even with high video bit rate DVD / BD, as well as good BS-HI / ATSC HDTV contents. Yet most human eyes cannot observe B-frame's unsharpness or blocky 16x16 macroblock during normal playback speed.

If the P-frame is encoded with insufficient bit rate, however, the picture loses its sharpness at all.

FoLLgoTT
17th May 2010, 18:01
2) drop/repeat frames only in scenes where there's (almost) no motion

A similar solution to 2) could also be done in the audio renderer: Don't resample audio at all. Instead drop/repeat "silence".

ReClock does dropping/repeating with S/PDIF throughput. AC3/DTS samples get dropped/repeated periodically when video refresh rate does not match exactly. This can be audible when occuring in the wrong scene. Dropping/reapeating only in silent scenes would be a good enhancement.

But if refresh rate is tweaked correctly (http://www.avpedia.org/wiki/HTPC_Bildfrequenz_Optimierung) there is no need to drop/repeat for many many hours.

iSeries
17th May 2010, 19:30
About 'tweaking' refresh rates slightly during playback to ensure smooth playback - with my ATI 4550 I get absolutely no audio if anything other than the standard refresh rates from the ATI panel are forced.

6233638
17th May 2010, 21:03
But if refresh rate is tweaked correctly (http://www.avpedia.org/wiki/HTPC_Bildfrequenz_Optimierung) there is no need to drop/repeat for many many hours.
Any way to do this with nvidia?

I'm not sure how you would do without reclock though, bluray releases are a combination of 23.976, 24.000 and 25.000 fps, with the original source being 24.000. Reclock plays all three back at 24.000 and upsamples audio to 32/192 to minimise quality loss.

Razoola
17th May 2010, 21:11
I'm one of those people like starla who would rather have perfect video over audio. I don't like the sound of frame interpoliation no matter how its presented. LCD panel makers have been trying it for years and still havent got it right without artifacts or some form. Its one of the reasons I have gone off of reclock somewhat (though I still use it), the tool used to put video smoothness (judder) over audio. That was the entire point of the tool back in the day of gfx cards with TV out, and I'm not talking about DVI or HDMI. Since it got taken over from Ogg the program has become more turned to audio rather than video, not that its a bad thing but it seems these days the current devs are not intrested in perfect video as much as perfect audio. I just wish more effort was put into bitstreaming with reclock. I don't use reclock resamplers at all, for me the tool is best when bitstreaming, even the odd dropped or repeated audio packet every couple of minutes is no problem against the miniscule CPU usage it requires compared to resampling. Anyway, maybe i'm talking a bit much in the wrong forum about that.

For me the video rendering should be a priority over audio when it comes to watching content. The video renderer should not start adjusting the image to allow audio to be perfect. I feel that could be a slippery slope, espicially when audio is already getting resampled left right and centre.

Btw, Im a person who likes the sound from vinyl more than CD :)

Razoola
17th May 2010, 21:22
ReClock does dropping/repeating with S/PDIF throughput. AC3/DTS samples get dropped/repeated periodically when video refresh rate does not match exactly. This can be audible when occuring in the wrong scene. Dropping/reapeating only in silent scenes would be a good enhancement.

But if refresh rate is tweaked correctly (http://www.avpedia.org/wiki/HTPC_Bildfrequenz_Optimierung) there is no need to drop/repeat for many many hours.

This is what I want from reclock or any new audio render in its place. Dropping/Repeating audio packets during silence via bitstreaming to cancel lip sync. I personally feel thats the perfect solution, and it also requires the least cpu cycles to boot (compared to audio resampling or video frame creation). How can you beat that?

Remember we are talking packet sizes of only 32ms for dolby and 11ms for DTS.

madshi
17th May 2010, 21:44
For me the video rendering should be a priority over audio when it comes to watching content. The video renderer should not start adjusting the image to allow audio to be perfect. I feel that could be a slippery slope, espicially when audio is already getting resampled left right and centre.
Every video renderer has to make sure that video presentation doesn't run out of sync. That means that sometimes frames have to be dropped or repeated - unless video and audio clocks are perfectly matched. Don't worry about madVR doing violence to the image. I won't do that, or if I do, it will be an option which can be turned off. I do plan to "hide" frame drops/repeats by doing them during scenes where it will be less noticeable. But if you tweak your audio/video clocks so well that no frames need to be dropped/repeated in the first place, madVR will be happy and not drop/repeat anything, of course.

Razoola
17th May 2010, 21:59
Every video renderer has to make sure that video presentation doesn't run out of sync. That means that sometimes frames have to be dropped or repeated - unless video and audio clocks are perfectly matched. Don't worry about madVR doing violence to the image. I won't do that, or if I do, it will be an option which can be turned off. I do plan to "hide" frame drops/repeats by doing them during scenes where it will be less noticeable. But if you tweak your audio/video clocks so well that no frames need to be dropped/repeated in the first place, madVR will be happy and not drop/repeat anything, of course.

Yes I understand. Being from PAL land maybe I sometimes forget these things (being used to content speeded up to match the refresh rate).

djsolidsnake86
17th May 2010, 22:47
with wmv files madvr don't show the video :(

leeperry
17th May 2010, 23:06
with wmv files madvr don't show the video :(
sample and more infos needed, or it didn't happen...WMV play fine here. maybe a DRM'ed file?
Yes I understand. Being from PAL land maybe I sometimes forget these things (being used to content speeded up to match the refresh rate).
yeah, 25fps needs to die...w/o Reclock doing its job bye bye 24fps.
For me the video rendering should be a priority over audio when it comes to watching content.
exactly, video glitches completely ruin the experience for me...I project on a very large screen, and dropped frames are just unbearable.

many ppl who complain about Reclock resampling actually play their movies in DirectSound...which does the exact same thing, as DirectSound cannot be made bit-perfect on Vista/W7(unlike XP when all its sliders are maxed out :devil:): http://www.hydrogenaudio.org/forums/index.php?showtopic=49350&view=findpost&p=522247

I'm not trolling or anything, but teh "evil resampling" will most likely occur anyway(except for the bistream/pass-through ppl...but no 25@24fps for them then :p), and quite frankly Reclock in its highest libsamplerate SINC mode does a hell of a job...conduct some proper DBT, tell us how it went :confused:

and I'm quite sure that many ppl who are so proud of their bit-perfect audio don't EQ their room resonances down...
Im a person who likes the sound from vinyl more than CD :)
terribly OT, but I think this sort of statement boils down to:
-unbearable "loudness war" CD mastering...4dB of dynamics, great! http://www.dynamicrange.de/
-cheapo opamps in the CD players they tried , as a 4580/5532 will sound artifacty/agressive/edgy/narrow when two LT1028/AD4627-1/LT1363/OPA827/AD797 will sound as "analog" as can get...and far more detailed than vinyl will ever be able to(50dB crosstalk on vinyl I think?)

some high quality mastered CD on a CD player running from a linear regulated PSU w/ high end opamps will sound awfully good...w/o the nasty vinyl crackles and pops at that :p

Thunderbolt8
17th May 2010, 23:46
this seems to be a newb question, but have all those chroma and luma up-/downsampling settings any effect when the displayed size of the video and resolution of the output screen is 1:1 ? or is this something entirely different and has nothing to do with that?

leeperry
18th May 2010, 00:17
have all those chroma and luma up-/downsampling settings any effect when the displayed size of the video and resolution of the output screen is 1:1 ?
luma nope, but chroma yes as it's stored at half resolution in the YV12 stream so it needs to be upscaled...and the softer the better IMHO.

you can always use my "Bronzés" sample(the one shown in the OP) and run tests: http://www.mediafire.com/file/zirwxawggmy/Bronz%E9s.mkv

ajp_anton
18th May 2010, 02:17
I'm having problems with some wmv files. Found a small one that won't play:
http://www.multiupload.com/PFEET9HBGS
Using MPC-HC with internal decoder.

slvbutn
18th May 2010, 04:46
I have intel G45 video card, which support non power of 2 texture, But madVr report: "graphics card only supports power of 2 textures".

djsolidsnake86
18th May 2010, 08:43
General
Complete name : C:\Users\Andy\Desktop\Nuova cartella\doll.wmv
Format : Windows Media
File size : 10.3 MiB
Duration : 2mn 21s
Overall bit rate : 612 Kbps
Maximum Overall bit rate : 1 024 Kbps
Encoded date : UTC 1970-01-01 00:00:00.000

Video
ID : 1
Format : WMV2
Codec ID : WMV2
Codec ID/Info : Windows Media Video 8
Description of the codec : wmv2
Duration : 2mn 21s
Bit rate : 354 Kbps
Width : 638 pixels
Height : 274 pixels
Display aspect ratio : 2.35:1
Frame rate : 23.976 fps
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.085
Stream size : 5.96 MiB (58%)

Audio
ID : 2
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio V8
Duration : 2mn 21s
Bit rate : 224 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Stream size : 3.77 MiB (37%)

this is the mediainfo of the wmv file that don't work with madvr (with evrsync yes)
you are right, other wmv files work correctly!