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

noee
26th July 2011, 01:51
You can also tell that the madVR internal decoder is being used by checking the ctrl+J stats.

cyberbeing
26th July 2011, 02:24
is there an optimal setting for the gpu flush settings?
...
What do the settings do exactly?

There is no one-size-fits-all optimal flush setting. If you are having issues with stuttering panning scenes, tearing, or delayed/dropped frames, you can try playing with the flush settings. Otherwise just leave it as the default.

Their purpose is for fine-tuning madVR for your GPU and computer. Many factors like OS, Drivers, Aero, Subtitles, CPU, CPU load, and DPC latency can influence both your GPU and madVR. Flushing or not flushing after certain steps can at times change how your GPU behaves. Your goal when tweaking should be finding the minimal flush settings which show an improvement but don't cause other issues.

Don't Flush = Don't Flush - No CPU Load
Flush = Make a no-guarantee attempt to flush - Usually No CPU Load
Flush & Wait (Sleep) = Flush no later than 1ms after requested - Low to Moderate CPU Load
Flush & Wait (Loop) = Flush immediately when requested - Low to High CPU load

Flush & Wait (Loop) is somewhat dangerous to use, unless you never experience ANY slowdowns, high CPU load, or things other than madVR fighting for CPU/GPU time. Keep your eye out for increases in CPU load or dropped/delayed frames when using a Flush & Wait setting.

racerxnet
26th July 2011, 02:33
Build # 68 and 70 will not play DVD's. Fault is Nvidia.ax from the fault nag. Went back to an earlier version and all is well. Can you make sure the Nvidia decoders are able to be used as before. I tried with the internal MadVr decoder checked and it still would not play with MPC-HC and the Nvidia decoders enabled/disabled.

Thanks,

MAK

JarrettH
26th July 2011, 02:47
If we are talking nvidia purevideo software, that was made for older hardware and XP

racerxnet
26th July 2011, 03:04
If we are talking nvidia purevideo software, that was made for older hardware and XP

I have new hardware with old software, so you are correct. I am running XP still.

andybkma
26th July 2011, 03:31
madVR v0.70 released


* fixed: at playback start, and after unpausing there was sometimes judder


This has definitely improved :) Thanks so much, madshi. Nice to know that it just wasn't me that was experiencing this...

Edit: Dang! I must have borked something up because it's doing it again. I uninstalled madVR, cleaned it out from registry, re-registered the ax file, but it's still doing it. Tested in Zoom Player and PotPlayer. Juttering upon playback start. I wonder why it was working at first.

cyberbeing
26th July 2011, 04:29
Build # 68 and 70 will not play DVD's. Fault is Nvidia.ax from the fault nag. Went back to an earlier version and all is well. Can you make sure the Nvidia decoders are able to be used as before.

madshi, I just checked and there does appear to be a regression after madVR 0.66 with encrypted DVDs and the NVIDIA PureVideo Software decoder on Windows XP. madVR 0.67 has corruption. madVR 0.68-0.70 all crash the decoder. Did you accidentally remove the workaround you had in place for NVIDIA PureVideo's tendency to lie about what it's outputting?

Logs for 0.66/0.67/0.70: http://www.mediafire.com/?f150f9dymksxch0

agustin9
26th July 2011, 04:43
I'm having a problem:

Using the internal h264 decoder, while in exclusive mode, when i unpause a video it takes some time to resume.
It does not in windowed mode or using a external decoder

Hypernova
26th July 2011, 05:07
madshi, I may missed it but, is it your intention that internal decoder won't decode h264 in avi? I think this leads to some avi files crash MPC-HC every time I seeked.

madshi
26th July 2011, 07:56
madshi, thanks for the new version and for the internal decoders. Is it possible to use them in conjunction with ffdshow AviSynth?
Unfortunately no, unless I add AviSynth support myself, which I'm not planning right now.

And how do I make sure madVR internal decoder connects and not player's internal or externals?
There are 2 ways:

(1) Look which filters are in your graph. If there's a video decoder filter, madVR is not doing the decoding.

(2) Look at the madVR OSD (Ctrl + J):

madVR decoding: "libav, h264, 8bit, 4:2:0"
external decoder: "h264, 8bit, 4:2:0 -> NV12, 8bit, 4:2:0"

Build # 68 and 70 will not play DVD's. Fault is Nvidia.ax from the fault nag. Went back to an earlier version and all is well. Can you make sure the Nvidia decoders are able to be used as before.
I just checked and there does appear to be a regression after madVR 0.66 with encrypted DVDs and the NVIDIA PureVideo Software decoder on Windows XP. madVR 0.67 has corruption. madVR 0.68-0.70 all crash the decoder.
Will check that.

This has definitely improved :) Thanks so much, madshi. Nice to know that it just wasn't me that was experiencing this...

Edit: Dang! I must have borked something up because it's doing it again. I uninstalled madVR, cleaned it out from registry, re-registered the ax file, but it's still doing it. Tested in Zoom Player and PotPlayer. Juttering upon playback start. I wonder why it was working at first.
Make sure you reactivate the "delay playback" option because it's disabled by default in v0.70.

Using the internal h264 decoder, while in exclusive mode, when i unpause a video it takes some time to resume.
It does not in windowed mode or using a external decoder
This doesn't seem to happen on my PC. Can anybody else reproduce this? A log might help. Try to keep it short, by doing this:

Start the video, go exclusive mode, pause, wait 2-3 seconds, unpause, wait until playback is fluid again, close the media player. Don't do anything else. Every action you take makes the log longer. Thanks.

madshi, I may missed it but, is it your intention that internal decoder won't decode h264 in avi? I think this leads to some avi files crash MPC-HC every time I seeked.
Didn't check that. Which FourCC does the AVI splitter output? Does madVR even try to decode it (and fail)? Or does an external decoder take over?

nevcairiel
26th July 2011, 08:15
Didn't check that. Which FourCC does the AVI splitter output?

Typically its MEDIASUBTYPE_H264, stored in AnnexB format. Some splitters (LAV Splitter specifically) convert it to MEDIASUBTYPE_AVC1, removing the AnnexB start codes.
Note that the typical AVI splitters use FORMAT_VideoInfo and do not have the SPS/PPS in the format block (as defined by MSDN, if using MEDIASUBTYPE_H264 with start codes, you do not have to supply the extradata)

The most important part about H264 in AVI is however that the timestamps are DTS, not PTS, therefor you shall not reorder them.

madshi
26th July 2011, 08:18
Ah ok, thanks for the heads up!

@Hypernova, which AVI Splitter are you using?

Hypernova
26th July 2011, 08:22
Didn't check that. Which FourCC does the AVI splitter output? Does madVR even try to decode it (and fail)? Or does an external decoder take over?

It's H264. I am not sure how to find out the answer for the other two questions. I don't see any indication that madVR tried and failed though. I use Haali by the way.

Now that you mentioned FourCC. It's probably because H264 vs AVC1? I do not have h264 in avi that use AVC1 so I cannot be so sure.

Edit: Ah, looks like you and nevcairiel already figure it out :)

madshi
26th July 2011, 08:25
It's H264. I am not sure how to find out the answer for the other two questions. I don't see any indication that madVR tried and failed though. I use Haali by the way.
So is there some h264 decoder filter in your filter list, when playing back AVI h264 files? Probably is, because madVR doesn't support the "h264" FourCC yet. Which decoder filter are you using? Does the seek crash occur with every h264 AVI file you have?

Hypernova
26th July 2011, 08:44
So is there some h264 decoder filter in your filter list, when playing back AVI h264 files? Probably is, because madVR doesn't support the "h264" FourCC yet. Which decoder filter are you using? Does the seek crash occur with every h264 AVI file you have?

Yes, basically it fall back to ffdshow.

No it only crash on some files. That's why I kinda reluctant to report the crash by itself. I even suspect it's just a bad muxing somehow. If you still have the sample I uploaded before (http://www.mediafire.com/?9jf19139i6e0uh2) that was a part of one of the files that do crash. The strange thing is, that small sample does not crash every time I seek (unlike the original file), but take a long time to seek. And once in a while will crash MPC-HC.

Also, this looks like it has nothing to do with internal codec. I switched back to external ffdshow and it still crash. I'm certain that 0.67 does not crash. If you need to know if 0.68/0.69 crash on these files or not please let me know. TBH though I think this is a rare occasion so I'm exactly bother by it.

I tried checking the "delay playback..." and it does not help.

agustin9
26th July 2011, 08:51
This doesn't seem to happen on my PC. Can anybody else reproduce this? A log might help. Try to keep it short, by doing this:

Start the video, go exclusive mode, pause, wait 2-3 seconds, unpause, wait until playback is fluid again, close the media player. Don't do anything else. Every action you take makes the log longer. Thanks.

Here is the log:
http://www.megaupload.com/?d=Q38MCKDT

Thanks for your hard work

adam777
26th July 2011, 09:06
Hi madshi,
Thanks as always for the hard work.
Just a quick one - are the internal decoders multi-threaded? couldn't find a reference.
:thanks:

Hypernova
26th July 2011, 09:07
madshi, subtitile disappeared when paused again..

cyberbeing
26th July 2011, 10:30
AVI
...
I use Haali by the way.

Both the Haali AVI splitter (which is why it's disabled by default in the installer) and the Gabest/MPC-HC AVI splitter (no support for incomplete files?) have some bugs and limitations from what I remember. In general you should stick with the default Microsoft AVI Splitter, unless you have a particular reason to use something different. This could have nothing to do with your current problem of course.

pirlouy
26th July 2011, 12:20
Just a quick one - are the internal decoders multi-threaded? couldn't find a reference.
:thanks:
Yes; confirmed by Madshi recently (in last pages of this thread)

madshi
26th July 2011, 12:27
No it only crash on some files. That's why I kinda reluctant to report the crash by itself.
Here is the log:
http://www.megaupload.com/?d=Q38MCKDT
madshi, I just checked and there does appear to be a regression after madVR 0.66 with encrypted DVDs and the NVIDIA PureVideo Software decoder on Windows XP. madVR 0.67 has corruption. madVR 0.68-0.70 all crash the decoder.
Can the 3 of you please test whether these 3 problems are fixed in this special build?

http://madshi.net/madVR70special.zip

Just a quick one - are the internal decoders multi-threaded?
Yes.

madshi, subtitile disappeared when paused again..
Confirmed. <sigh> Will try to fix this again for the next build.

adam777
26th July 2011, 12:48
Thanks

Blight
26th July 2011, 13:10
madshi:

The good:
1. OSD flickering on pause/unpause is fixed.
2. The graph no longer pauses when switching to fullscreen on a second monitor.

The bad:
1. There's a lag of ~1 second between the time I call an OSD display function and the time the OSD appears on screen. You can clearly see it by playing in windowed mode and pressing space to show the control bar. You can see the difference in the time displayed in the control bar and the time displayed in the window. This is not such an issue when dealing with the limited OSD I've integrated, but it may prevent large scale OSD (like a menu system) from being responsive.
2. Alt+Enter is still causing issues. If I disable all my keyboard event handling, Alt+Enter is still doing something weird when MadVR is used. Are you familiar with a tool that will help me track the keyboard hook and find which module is causing this?

Feature Request:
Not really critical, but it may be 'nice to have' an additional OSD parameter that controls the alpha value of the entire OSD, for example, If I wanted to make the OSD dynamically translucent.

cyberbeing
26th July 2011, 13:41
Can the 3 of you please test whether these 3 problems are fixed in this special build?

http://madshi.net/madVR70special.zip


Still crashes. Log: http://www.mediafire.com/?9k1y9goypb10fo6

madshi
26th July 2011, 14:53
1. There's a lag of ~1 second between the time I call an OSD display function and the time the OSD appears on screen. You can clearly see it by playing in windowed mode and pressing space to show the control bar. You can see the difference in the time displayed in the control bar and the time displayed in the window. This is not such an issue when dealing with the limited OSD I've integrated, but it may prevent large scale OSD (like a menu system) from being responsive.
But in paused state the OSD reacts much faster, correct?

The problem is that I have to balance what is more important: (1) Smooth playback with no frame drops? Or (2) fast reacting OSD? Of course I could force a redraw of the next displayed frame to already include your modified OSD image, but that would require me to trash all pre-rendered frames (practically clear the rendering and backbuffer queues completely) and redo all the rendering work. I fear this might introduce a few frame drops once in a while. Maybe a compromise would make sense? E.g. instead of fully flushing the rendering queue, maybe I could only flush half of it? Or something like that? It's really not a problem getting the OSD to become quick. The only problem is that doing so might result in frame drops whenever the OSD changes...

2. Alt+Enter is still causing issues. If I disable all my keyboard event handling, Alt+Enter is still doing something weird when MadVR is used. Are you familiar with a tool that will help me track the keyboard hook and find which module is causing this?
If only I could reproduce the problem! It works just fine on my PC, with ZP, too! I can do Alt+Enter with ZP8RC3 all day here without any problems.

Feature Request:
Not really critical, but it may be 'nice to have' an additional OSD parameter that controls the alpha value of the entire OSD, for example, If I wanted to make the OSD dynamically translucent.
I wish you would have had this idea before I finalized the OSD interface! I don't want to break compatability now. My suggestion would be that you change from color keying to full alpha channels. It's not that hard to do (not in Delphi, either), and would allow you to do whatever you want, per pixel.

Still crashes.
Argh. Ok, here's the next try:

http://madshi.net/madVR70special2.zip

It will probably still crash (I guess), but if you can create another log, that might tell me more. I've added some logging specific to this crash. FWIW, on my PC there's no crash, DVD playback with the NVidia PureVideo Decoder works just fine here.

racerxnet
26th July 2011, 14:54
Can the 3 of you please test whether these 3 problems are fixed in this special build?


I still cannot insert a DVD and have it play with the internal decoders or Nvidia decoders. Tried several different configurations with no luck. NVdec.ax fault nag after inserting disc with MPC-HC.

Special build .70
Win XP SP3
Nvidia decoders - No good
Arcsoft decoders - No good
Internal filters - No good

Thanks,

MAK :thanks:

agustin9
26th July 2011, 16:08
Can the 3 of you please test whether these 3 problems are fixed in this special build?

My pause problem is gone in both special versions! Thanks!

Blight
26th July 2011, 16:35
But in paused state the OSD reacts much faster, correct?
I think so, but I'm not 100% certain, it's hard to tell.
You can see the update frequency is much slower than it should be (even when paused).

Holding the left mouse button over the timeline and dragging it left/right (which updates the timeline graphics very quickly).
What happens is that the player based UI updates multiple times per second and the MadVR OSD updates much slower.

I've ran a few tests and GPU-Z is reporting 5% GPU load, so I don't think that's the problem.
checking the task manager, the CPU gets maxed, but it gets maxed when doing these crazy seeks even without the OSD visible.

I also had one beta tester report decreased play smoothness when playing an 1080p clip at full resolution when the control bar is visible.


The problem is that I have to balance what is more important: (1) Smooth playback with no frame drops? Or (2) fast reacting OSD? Of course I could force a redraw of the next displayed frame to already include your modified OSD image, but that would require me to trash all pre-rendered frames (practically clear the rendering and backbuffer queues completely) and redo all the rendering work. I fear this might introduce a few frame drops once in a while. Maybe a compromise would make sense? E.g. instead of fully flushing the rendering queue, maybe I could only flush half of it? Or something like that? It's really not a problem getting the OSD to become quick. The only problem is that doing so might result in frame drops whenever the OSD changes...

As it happens with seeks, doesn't the buffer get cleared instantly?
Perhaps it can be a parameter that passes with the OSD? For example, if I'm working with menus, I want them to be responsive and don't care (as much) if a frame in the background is dropped.



If only I could reproduce the problem! It works just fine on my PC, with ZP, too! I can do Alt+Enter with ZP8RC3 all day here without any problems.

I created two log files (http://t.inmatrix.com/madvr_altenterlog.rar).
What I've done is very simple:
1. I disabled ZP's keyboard handling entirely.
2. I opened a simple AVI+XVID+MP3 video file and paused it after 1-2 seconds.
3. With "madVR - log_alt-enter.txt", I pressed Alt-Enter and then Alt+F4.
With "madVR - log.txt", I simply closed the player through the GUI.

Since I disabled keyboard handling in ZP, the log files should be pretty much identical, but I suspect they're not.
See if you can possibly find the cause.


I wish you would have had this idea before I finalized the OSD interface! I don't want to break compatability now. My suggestion would be that you change from color keying to full alpha channels. It's not that hard to do (not in Delphi, either), and would allow you to do whatever you want, per pixel.

I can, but it's probably much faster to do it with a Shader.
Is the OSD interface locked-down?, is something using it other than ZP at the moment?
If the answer is 'no' then it's ok to change as there's no public beta of ZP that's capable of using the interface.

Gleb Egorych
26th July 2011, 18:37
With 0.70 crashes on Zoom (http://forum.doom9.org/showthread.php?p=1509618#post1509618) are back.

cyberbeing
26th July 2011, 18:53
http://madshi.net/madVR70special2.zip

It will probably still crash (I guess), but if you can create another log, that might tell me more. I've added some logging specific to this crash. FWIW, on my PC there's no crash, DVD playback with the NVidia PureVideo Decoder works just fine here.
Yep it still crashes. As I mentioned previously, it only crashes with encrypted DVDs from the DVD drive. Unencrypted DVDs work fine from both the DVD drive and ripped to ISO. If you can't reproduce the crash, could you reproduce corruption problem (frame split half-way down vertically, distorted video on top, green bar on bottom) with 0.67?

0.70 Special2 MPC-HC Log: http://www.mediafire.com/?mxu7y9mkatr4ucz

Edit: Interestingly it works with a ZoomPlayer 7 Smart Graph if I leave it alone for a couple minutes:
0.70 Special2 Working ZoomPlayer Log: http://www.mediafire.com/?hbn7zo0bo96860u

Edit2: Or not... I tried it again and ZoomPlayer 7 hung:
0.70 Special2 Hung ZoomPlayer Log: http://www.mediafire.com/?lm1qsb9q338wmsu

Edit3: And then it worked again in ZoomPlayer, and then it hung again <_<. Since the media player seems to play a part (or more likely just graph building), are you using a special MPC-HC build?

Blight
26th July 2011, 19:16
More bug reports:
1. If I blank secondary monitors by creating a black window with no border on monitors where the video isn't shown, MadVR will exit exclusive mode for a split section and then return with MadVR's 'exclusive mode' OSD appearing.
The weird thing is, I don't even have to show or position the blanking window for this to happen.
All I need to do is create a form with the player window as the owner (not parent).

procedure BlankSecondaryMonitors;
var
I : Integer;
tmpForm : TForm;
begin
If Screen.MonitorCount > 1 then
Begin
If Assigned(MonitorBlankList) then MonitorBlankList.Free;
MonitorBlankList := TList.Create;
For I := 0 to Screen.MonitorCount-1 do If Screen.Monitors[I].Handle <> MainForm.Monitor.Handle then
Begin
tmpForm := TForm.Create(MainForm);
{tmpForm.OnKeyDown := MainForm.OnKeyDown;
tmpForm.Color := OPBGColor;
tmpForm.BorderStyle := bsNone;
tmpForm.DefaultMonitor := dmDeskTop;
tmpForm.Cursor := crNone;
tmpForm.SetBounds(Screen.Monitors[I].Left,Screen.Monitors[I].Top,Screen.Monitors[I].Width,Screen.Monitors[I].Height);
tmpForm.Show;}
MonitorBlankList.Add(tmpForm);
End;
//ForceForeground(MainForm.Handle);
End;
end;

As you can see from the code, even when I commented out almost everything, it still causes the glitch.

2. I still get freezes/crashes when switching between 'windowed on monitor 1' to 'fullscreen on monitor 2' if 'auto exclusive mode' and 'use dx11 path' are enabled.

3. If 'auto exclusive mode' is enabled, switching between 'windowed on monitor 1' to 'fullscreen on monitor 2' causes the exclusive mode image to take longer and longer to reappear (the screen stays black for up to 13 seconds after 10-15 switches).

4. My 'stop function causes the OSD to remain on-screen until a play command is issued.
My stop function works like this:
1. Call graph stop.
2. Seek to position '0'.
3. Call graph pause (to show the first video frame).

Hypernova
26th July 2011, 19:40
madshi, 0.70special (1) does not crash. I didn't tried 2. :thanks:

nuhi
26th July 2011, 21:57
madshi, [issue resolved] don't know if it is intentional or even known about but some 16:9 videos with black bar are zoomed in on madvr. One can see the difference by using Ffdshow's resize to 1080p and enabling it back and forth. Only some videos, let me know if you would like a sample, maybe you already know about this, but then it would be nice if it is optional.

Second just a suggestion; to have a volume bar in exclusive mode. I keep on scrolling up blindly to be sure the volume is to the max, can't see it.

Thanks!

agustin9
26th July 2011, 22:25
Second just a suggestion; to have a volume bar in exclusive mode. I keep on scrolling up blindly to be sure the volume is to the max, can't see it.

The volume level is shown at the OSD, that way you can tell if it's maxed or not.

nuhi
26th July 2011, 22:52
The volume level is shown at the OSD, that way you can tell if it's maxed or not.

agustin9, thanks but I must be blind, can't see any OSD and I enabled it in the MPC options, can you maybe recall what I could be missing?

madshi, excuse me, I found the cause of my zoom issue while playing with OSD settings; it is MPC feature (Zoom 2 was selected), obviously Ffdshow pre-resized output does not fall under that processing as the picture is already max size.
So all good, thanks once again.

dansrfe
26th July 2011, 23:00
My main issue is still with the smoothness of switching monitors and going back into FSE mode. The delay and laggy-ness of the transition is not completely flawless.

agustin9
27th July 2011, 00:00
agustin9, thanks but I must be blind, can't see any OSD and I enabled it in the MPC options, can you maybe recall what I could be missing?

Try installing the latest directx version from here:
http://filehippo.com/download_directx/

Plutotype
27th July 2011, 01:47
testing 0.70 ( original, not special ones ) and have couple of questions:

Is it possible that using ffdshow video as external filter for VC-1/H.264/MPEG-2 could produce some audio video sync issues with versions since 0.67 ( madVR internal video decoders implemented )?

Why 0.70 has the VC-1 decoder disabled by default? Why H.264/MPEG2 are turned ON by default? Does turning on the decoders and using external one ( ffdshow video ) has any sense in terms of A/V sync issues?

Thanks for the "pause playback until render queue is full" - working nice here.

Thanks

all filters latest + LAVfilters 0.30

dansrfe
27th July 2011, 02:06
Why H.264/MPEG2 are turned ON by default?

None of the internal decoders are turned on by default. you may be using your old settings.bin configuration from the previous madVR versions where you might have turned them on.

andybkma
27th July 2011, 03:21
Make sure you reactivate the "delay playback" option because it's disabled by default in v0.70.




Ah, unfortunately that doesn't help. Whether the "delay playback" option is on or off I still get the slight jugger at video playback start. I see no noticeable difference at all when ticking this option or not when using Zoom Player or PotPlayer in Windows 7. Ah well, just something to live with I guess...

fairchild
27th July 2011, 04:13
@dansrfe if you look at the notes for 0.70, there actually are decoders enabled by default now. I just disabled them though since I like running yadif deinterlacer for interlaced vids.

VFR maniac
27th July 2011, 07:40
v0.70 breaks playback of fullrange source, it plays greenly.
v0.69 works fine.

dansrfe
27th July 2011, 08:30
@dansrfe if you look at the notes for 0.70, there actually are decoders enabled by default now. I just disabled them though since I like running yadif deinterlacer for interlaced vids.

You may be correct actually. I just replace all the files in my madVR folder and the settings.bin file remains. That may the reason why the internal decoder options are still deselected for me.

madshi
27th July 2011, 10:53
I think so, but I'm not 100% certain, it's hard to tell.
You can see the update frequency is much slower than it should be (even when paused).

Holding the left mouse button over the timeline and dragging it left/right (which updates the timeline graphics very quickly).
What happens is that the player based UI updates multiple times per second and the MadVR OSD updates much slower.
The next build will cut down the render queue to 3/8 whenever you ask for an OSD change. This should cut down response times by more than half. Hopefully that will help, let me know.

I created two log files (http://t.inmatrix.com/madvr_altenterlog.rar).
What I've done is very simple:
1. I disabled ZP's keyboard handling entirely.
2. I opened a simple AVI+XVID+MP3 video file and paused it after 1-2 seconds.
3. With "madVR - log_alt-enter.txt", I pressed Alt-Enter and then Alt+F4.
With "madVR - log.txt", I simply closed the player through the GUI.

Since I disabled keyboard handling in ZP, the log files should be pretty much identical, but I suspect they're not.
See if you can possibly find the cause.
That's weird. In your alt-enter log madVR doesn't ever go to fullscreen exclusive mode. Shouldn't it? Anyway, these madVR logs are so big and there's so much information in there, I simply don't know where to look for whatever problem you're experiencing.

From what I can see in the alt-enter log this is what happens:

(1) playback is started and works fine
(2) after 2.5 seconds playback is paused
(3) after 12.5 seconds the connection to madVR is broken and recreated, don't ask me why, this was not initiated by madVR
(4) after 13.0 seconds the rendering queues are filled again
(5) after 24.5 seconds playback is stopped and madVR destroyed

I can't see anything wrong in the OSD, although I don't know why the connection to madVR was broken and recreated.

Is the OSD interface locked-down?, is something using it other than ZP at the moment?
Yes, J.River MediaCenter v16 uses the same API you're using, just with alpha channel images instead of color keyed images.

With 0.70 crashes on Zoom (http://forum.doom9.org/showthread.php?p=1509618#post1509618) are back.
I can't reproduce the crash here, however I can see that ZP's zoom feature doesn't work the way I would expect. I'll talk to Blight about this.

Yep it still crashes. As I mentioned previously, it only crashes with encrypted DVDs from the DVD drive. Unencrypted DVDs work fine from both the DVD drive and ripped to ISO.
Missed the encrypted bit. Can reproduce the crash now. Very weird crash, though. Will have to deactivate some of the auto detection code (primaries, decoding matrix etc) for external decoders, when DVD playback is running.

1. If I blank secondary monitors by creating a black window with no border on monitors where the video isn't shown, MadVR will exit exclusive mode for a split section and then return with MadVR's 'exclusive mode' OSD appearing.
The weird thing is, I don't even have to show or position the blanking window for this to happen.
All I need to do is create a form with the player window as the owner (not parent).

As you can see from the code, even when I commented out almost everything, it still causes the glitch.
Can I have a madVR log from this situation, please? Thanks.

2. I still get freezes/crashes when switching between 'windowed on monitor 1' to 'fullscreen on monitor 2' if 'auto exclusive mode' and 'use dx11 path' are enabled.
Oh, I didn't check this with "use dx11 path", cause my development PC is XP. Does this also occur with the dx9 path?

3. If 'auto exclusive mode' is enabled, switching between 'windowed on monitor 1' to 'fullscreen on monitor 2' causes the exclusive mode image to take longer and longer to reappear (the screen stays black for up to 13 seconds after 10-15 switches).
I can't reproduce that here. Is that with the dx11 path again? Does the same thing happen with the dx9 path?

4. My 'stop function causes the OSD to remain on-screen until a play command is issued.
My stop function works like this:
1. Call graph stop.
2. Seek to position '0'.
3. Call graph pause (to show the first video frame).
What OSD remains on-screen? Yours or mine? If yours: Did you draw is with a timeout value? Or did you (try to) clear it with a separate API call?

BTW, you can also email me at madshi (at) gmail (dot) com, if you prefer. Might be quicker and less painful communication? I'll leave that for you to decide, though. Doom9 is fine with me, too.

Second just a suggestion; to have a volume bar in exclusive mode. I keep on scrolling up blindly to be sure the volume is to the max, can't see it.
MPC-HC shows the volume in an OSD, if you change it. Other players might not. Anyway, madVR doesn't even know that volume changes, so there's not much I can do about it. It's the media player's job to help you there.

My main issue is still with the smoothness of switching monitors and going back into FSE mode. The delay and laggy-ness of the transition is not completely flawless.
This might be improved in some far away version, but not anytime soon.

testing 0.70 ( original, not special ones ) and have couple of questions:

Is it possible that using ffdshow video as external filter for VC-1/H.264/MPEG-2 could produce some audio video sync issues with versions since 0.67 ( madVR internal video decoders implemented )?
I don't really think so.

Why 0.70 has the VC-1 decoder disabled by default? Why H.264/MPEG2 are turned ON by default?
I've disabled the VC-1 decoder because I consider the Microsoft VC-1 decoder superior to libav/ffmpeg and Intel at the moment. If (and when) that changes, I will modify the default settings accordingly. My h264/MPEG2 decoder implementations should compare well to any other (free) h264/MPEG2 decoders out there, and they seem to be stable now, too, so that's why I enabled them by default. madVR has a rather low merit, though, so madVR's internal decoders shouldn't force themselves upon you. You can still easily prefer external decoders over madVR's internal ones, even if they are enabled.

Does turning on the decoders and using external one ( ffdshow video ) has any sense in terms of A/V sync issues?
No.

Ah, unfortunately that doesn't help. Whether the "delay playback" option is on or off I still get the slight jugger at video playback start. I see no noticeable difference at all when ticking this option or not when using Zoom Player or PotPlayer in Windows 7. Ah well, just something to live with I guess...
It seems to work pretty well here. Can I have a log from when you get frame drops right after playback start?

v0.70 breaks playback of fullrange source, it plays greenly.
v0.69 works fine.
Confirmed. Will be fixed in the next build.

madshi
27th July 2011, 11:22
madVR v0.71 released

http://madshi.net/madVR.zip

* for DVD playback start, "delay playback start..." option is now auto disabled
* when OSD changes, render queue is cut down to 3/8 to make OSD more responsive
* when madVR pauses/starts/stops graph, notification message 0xFA17 is sent now
* fixed: crash with NVidia PureVideo MPEG2 Decoder
* fixed: crash with h264 AVI content
* fixed: unpause delay with internal decoders in exclusive mode
* fixed: subtitles disappeared when pausing playback
* fixed: madVR caused "File Source Async" to never be destroyed
* fixed: full range YCbCr input showed a green tint (introduced with v0.70)

Thunderbolt8
27th July 2011, 11:31
I've disabled the VC-1 decoder because I consider the Microsoft VC-1 decoder superior to libav/ffmpeg and Intel at the moment.can the microsoft decoder do multithreading as well?

madshi
27th July 2011, 11:34
I'm telling the libav/ffmpeg VC-1 decoder to do multithreading, but I don't know if it actually is capable of doing that. In any case, the Microsoft VC-1 decoder is clearly faster on my dual core CPU.

Thunderbolt8
27th July 2011, 11:38
same here, but still dont know about the multithreading thing. have requested multithreading for libav VC-1 playback twice or three times during the past years at the ffmpeg forum, but from what I can see at least nothing changed over that time. so last thing I know still is that it only looks like multithreading, because task manager seems to do cpu swapping and this then only looks like as if doing multithreading or something like that.

cyberbeing
27th July 2011, 11:56
Sorry for the late report (I originally thought it was a fluke), but madVR 0.70 Special2 introduced a bug with "delay playback start".

Only madVR 0.70 Special2 & 0.71 have the bug. madVR 0.70 & 0.70 Special1 are fine.

When using the refresh rate changer and "delay playback start" is enabled, videos opened paused (after refresh rate change). It happens with any decoder, internal or external, so it's not the same as that other frozen screen bug which you fixed. The good news is if you unpause the video, it appears to play normally. The bad news is occasionally when you close MPC-HC in this inital paused state, madVR will hang (I've been unable to get a log of this so far).

Paused State after Refresh Rate Change - Log: http://www.mediafire.com/?3flc92or4oy54o8

chogster
27th July 2011, 12:02
Still no joy for me using HAM with any madVR version newer than 0.57! CPU and GPU loads are average, but I'm experiencing a high rate of dropped frames running 1080p/bluray! Everything seems smooth switching over to the Cyberlink software filter, but CPU usage is obviously much higher.

Was there a significant change within madVR from version 0.58 onwards that could cause conflict with HAM?