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

dansrfe
7th March 2012, 20:21
I'm not sure when it was introduced but I'm guessing one of the v0.82.x versions.

New bug:

Display changer set to change display mode in fullscreen and return display mode back to original when media player is taken out of fullscreen mode.


File is fulscreened to exclusive mode and then taken out of fullscreen back to windowed mode via alt+enter. This causes the player to freeze completely and minimize, maximize, and close buttons to disappear. I then have to forcefully end mpc-hc.exe.

Pat357
7th March 2012, 20:31
Mad,
Thanks for the new build.
It seems much more stable now, but somehow I managed it to cause 2x MPC-HC to freeze.:o

Somehow the ctrl+alt+shift+break didn't create anything : did you somehow disable this ?:p
Anyway, I could reproduce the problem and created a report using "MadTraceProcess" + normal debug log.

http://www.mediafire.com/?7vz4loaf0ba6ue2

Oh, I forgot to tell when it happened : it was after going through a directory with clips ; after I succesfully went through a bunch of files, sudenly MPC-HC freezes when MadVR in in FSE.
It is infact the same as before : upon opening the next file, I got a black screen with the small blue circle in it. (windows standard).
Everything was locked after the "black" FSE frame.

madshi
7th March 2012, 21:35
Quick question if you have time: When using "delay playback until render queue is full", in my setup for example using a render queue of 24, is this feature designed to get to X-24 / 24 (with X being anything), or fully 23or24-24 / 24?
It's supposed to wait until the render queue is full (24/24). The "X-24 / 24" is the collected information between two OSD update intervals. The render queue can't be "X-24", it can only have one value at one time. The first moment it reaches 24/24, playback starts.

File is fulscreened to exclusive mode and then taken out of fullscreen back to windowed mode via alt+enter. This causes the player to freeze completely and minimize, maximize, and close buttons to disappear. I then have to forcefully end mpc-hc.exe.
I can't do anything without a freeze report. Please try to create one. If the key combo doesn't work, please try the madTraceProcess tool.

It seems much more stable now, but somehow I managed it to cause 2x MPC-HC to freeze.:o

Somehow the ctrl+alt+shift+break didn't create anything : did you somehow disable this ?:p
I'm wondering about that, too! But if you press the key combo during normal non-frozen playback, it works just fine for me. So it seems to be alright. Don't know why it sometimes doesn't work.

Anyway, I could reproduce the problem and created a report using "MadTraceProcess" + normal debug log.

http://www.mediafire.com/?7vz4loaf0ba6ue2

Oh, I forgot to tell when it happened : it was after going through a directory with clips ; after I succesfully went through a bunch of files, sudenly MPC-HC freezes when MadVR in in FSE.
It is infact the same as before : upon opening the next file, I got a black screen with the small blue circle in it. (windows standard).
Everything was locked after the "black" FSE frame.
Oh man. This is the MPC-HC problem once again! I see you're using build 4130. That should contain the Aleksoid fix. But the main thread is once again trying to create a D3D device while madVR is freeing its own... :(

dansrfe
7th March 2012, 22:24
Freeze Report for frozen mpc on exit of fullscreen to windowed mode.

http://pastie.org/private/lvuystqjfd2bwin8iogq

madshi
7th March 2012, 22:29
@dansrfe, that's MPC-HC's fault, it's once again trying to create a Direct3D device in the main thread while madVR is in the process of resetting its own. You could try a newer MPC-HC build (4128 or up). It was supposed to fix this problem, but according to Pat357's freeze report, the fix doesn't fully work yet. So it's possible another fix in MPC-HC is needed. In any case not madVR's fault, as far as I can say.

Pat357
7th March 2012, 22:33
Mad,

I think I have an idea of what went wrong in my case.
The display-changer needs to check the source filter (and maybe more checks) to determine the correct FPS to set the display.

For normal video/film files, this is no problem, but :
what does happen when there is no Directx source splitter ?

In my case, the file that caused the freezing from MPC-HC was an .M4A file.
MPC-HC showed no filters, no splitter, no audio decoder because the file was handled by Quicktime (via MFT I guess).
GraphStudioNext can also not detect any graph when trying to connect to "remote graph".


Another reason, although it would really be st.p..d, is that MadVR was in FSE before I switched to the "audio file.
Now you can not put MPC in full screen when playing audio (full screen is grayed out), but we already had FSE from the previous file
and it obviously will stay in FSE when switching to the next file (the .m4a audio).
Maybe MPC doesn't like FSE when playing audio without seeing any graph ??

I've a strong feeling that the freeze is related to MAdVR FSE and/or no normal DX graph.
The freeze doesn't happen with an AC3 file (handled by LAV).

I'm almost sure the same freezes will also happen if :

1.MadVR is in FSE in MPC

2.Playing audio through things like BASS-audio, .... which show no filters in the filter menu.



For the next build, I have a few wishes :

1. A key combination like ctrl+alt+shift+.... for unconditionally leaving FSE (would many thing make easier in case of problems)

2. Always obeying the interlaced/IVTC frame-based flags from the decoder by default : in case these are wrong, you can still set "force deinterlacing"
or "treat as progressive" in the decoder (in LAV-video and other decoders like Mainconcept, ).
Also Madvr can be set to "force deinterlace"/IVTC" on/off.
Even if the container or headers from the stream say something else, my experience is that the "repeat frame" flags from the decoder are very often correct.

3. Have a look at the freeze/crash report creation with ctrl+alt+shift+break. It's a very handy tool, but it I can't make it work in v0.82.4....
I've used it in previous versions, so it has worked before for me.

4. Supporting more format's for decoding : you have the whole FFmpeg lib at hand and you only support 3 format's ?
This way it's almost impossible to limit yourself to the build in decoders. It's a pittty you don't support more format's at this time.
Any plans to add more format's in the future ? It would be nice to just have a splitter and Madvr in your graph (less filters = usually less problems.. )
Of course first things first, so I can wait for the additional format's :-)

madshi
7th March 2012, 22:41
@Pat357, the freeze is not related to the display changer, as far as I can see. Your freeze report clearly shows that madVR is almost completely shut down, just the Direct3D object is not freed yet (it's in the process of being freed). The real issue is that MPC-HC is trying to create a new Direct3D object while madVR's Direct3D object is not fully freed yet. I thought Aleksoid had fixed that, but seemingly not, or at least not in all cases. It is possible, though, that your freeze is a different situation, and maybe it's a different part of MPC-HC now which tries to create a Direct3D object. E.g. maybe you have MPC-HC setup so that it draws some fancy graphics when you play an audio only file? To be honest, I've no idea if MPC-HC can even do that. Anyway, do you see any reason why MPC-HC should draw something when you play that .M4A file?

dansrfe
7th March 2012, 23:32
Freeze problem solved in the latest MPC-HC for me.

madshi,

I was wondering if it might be a good idea to implement some sort of user prioritized scaling algorithm fallback mechanism? Basically when the render queue starts to fall below a certain fraction of the user specified GPU queue size (or that it simply starts queuing a dangerously low number of frames) for which the present queue doesn't queue enough frames and then frames start getting dropped.

The main reason why this might be useful is for when the resizer is asked to go from a relatively high resolution to a much greater resolution or vis versa.

xiulet
7th March 2012, 23:51
Originally Posted by xiulet:
exclusive mode change only works when i pause de video and when i do it from right menu playing video.
i discover that this problem happens if USE D3D11 FOR PRESENTATION is activated, when not, exclusive change works correctly.

Originally Posted by mashi:
Can you explain in more detail how it does not work right now? What happens exactly? Does your computer explode? Or maybe something else? Please describe as detailed as possible. If you have a freeze -> please create a freeze report and send it to me. If you have a crash -> please send the crash report to me. If it's neither a freeze nor a crash, maybe a debug log could help.
sorry for the poor information(like my english) , seems that now with 0.82.4 it work ok or more less, if it freeze again i try to send you a MadTraceProcess trail,(I was unaware of this utility) how you say may be is a mpc-hc problem.

great program and better person you are, thanks a lot. :)

mark0077
7th March 2012, 23:57
It's supposed to wait until the render queue is full (24/24). The "X-24 / 24" is the collected information between two OSD update intervals. The render queue can't be "X-24", it can only have one value at one time. The first moment it reaches 24/24, playback starts.

Hi madshi, yeah that makes sense, thanks for the explanation. I guess in the situation where the decoder queue is set higher than the render queue, after the render queue is 100% full and madVR starts playback, the decoder queue can still be filling up and using alot of cpu. This seems to be whats causing stuttering at the start of playback for me with some clips where I only have software decoders and cpu intensive activities going on.

I'm sure its the least important thing, but would it be worth making this delay playback functionality, also delay until the other queues are full, just to be sure cpu usage can be reduced as much as possible before playback begins?

kasper93
8th March 2012, 00:12
(a) You can distribute a "yourMediaPlayer.pdb" file with your media player (the pdb file must be in the same folder as the exe file). madVR will then automatically read the pdb file and extract the necessary information. You can configure MSVC++ to create a pdb file even in release mode. Of course the pdb files are rather large, which is not so nice for distribution.

My MPC-HC builds with .pdb file included. http://dl.dropbox.com/u/16282309/MPC-HC/pdb/index.html I hope you find them useful for freeze reports :)

703
8th March 2012, 06:17
I guess I could add an option to force specific matrix and primaries for *all* videos. I could add this without touching the settings dialog by simply allowing you to "store" forced matrix and primary settings through shortcut keys + [F2].

Making such a setting available only for SD content, but not for HD content, would be much more complicated, though. For that I'd have to add options to the settings dialog, which IMHO would make things much harder to understand. And most people wouldn't use/need this functionality. So I don't really like that idea.

Fair enough, an option for all videos would be great, that basically overrides the best guess logic.


And I guess these don't have the proper matrix/primaries stored anywhere? How do you know then which the proper matrix/primaries are?

Let's say there were such an option as you're asking for: It would result in that you'd get incorrect matrix/primaries for all original MPEG2 PAL and NTSC DVDs. Does that really make sense!?

The matrix is stored in the container, but not necessary the stream. i.e. http://scenerules.irc.gs/n.html?id=2012_SDTVx264r.nfo

I can't be certain of the primaries, but I did an A <-> B comparison of SD and HD of the same programme sample and it looks like the SD was left in BT.709 (leaving MadVR to do the Gamut conversion made the color a bit different to the HD encode)

Just a thought!

nevcairiel
8th March 2012, 08:18
The matrix is stored in the container, but not necessary the stream. i.e. http://scenerules.irc.gs/n.html?id=2012_SDTVx264r.nfo

Discussion of content of such sources is not allowed on Doom9.

For the record however, the NFO clearly states that you shall specify the colormatrix in the x264 command line to match the source, which would cause it to write that information into the bitstream where a decoder or madVR can read it from.

703
8th March 2012, 09:07
Discussion of content of such sources is not allowed on Doom9.
.

Absolutely, I am simply using it as an example from an encoding practice point of view only, nothing about how content is acquired (I have no interest in that).

madshi
8th March 2012, 09:36
For the next build, I have a few wishes :

1. A key combination like ctrl+alt+shift+.... for unconditionally leaving FSE (would many thing make easier in case of problems)
Ctrl+Alt+Shift+Break already does that. It creates a freeze report *and* disables FSE mode. Of course if the process is already frozen, there's a certain chance no key combo will work, anymore.

2. Always obeying the interlaced/IVTC frame-based flags from the decoder by default : in case these are wrong, you can still set "force deinterlacing"
or "treat as progressive" in the decoder (in LAV-video and other decoders like Mainconcept, ).
Also Madvr can be set to "force deinterlace"/IVTC" on/off.
Even if the container or headers from the stream say something else, my experience is that the "repeat frame" flags from the decoder are very often correct.
I'm not sure exactly what you mean. In what way do your wishes differ from what madVR is currently doing/offering? Do you have problems with madVR's IVTC algorithm not working correctly?

3. Have a look at the freeze/crash report creation with ctrl+alt+shift+break. It's a very handy tool, but it I can't make it work in v0.82.4....
I've used it in previous versions, so it has worked before for me.
Does it not work even if you press that key combo while MPC-HC is *not* frozen? It works for me in that situation.

4. Supporting more format's for decoding : you have the whole FFmpeg lib at hand and you only support 3 format's ?
This way it's almost impossible to limit yourself to the build in decoders. It's a pittty you don't support more format's at this time.
Any plans to add more format's in the future ? It would be nice to just have a splitter and Madvr in your graph (less filters = usually less problems.. )
Of course first things first, so I can wait for the additional format's :-)
The problem with that is that I have some in depth knowledge about MPEG2, VC-1 and h264, but I don't have *any* knowledge about any other video bitstream layouts. madVR does a number of special tricks with MPEG2, VC-1 and h264, for which I need to understand how the bitstream layout works. If I were to add other video formats, too, I'd either have to learn all their bitstream specialties, or I'd have to dumb down their integration into madVR. I don't like either of these choices. Furthermore supporting more video formats would likely also increase the number of bug reports I'd get etc. I don't know what will happen in the future, maybe I will add support for the other video formats supported by ffmpeg, but I definitely will not do that anytime soon. I think those 3 formats I'm currently supporting are by far the most important, so it's quite possible madVR will stay limited to these (and maybe h265 once it ready for use).

Freeze problem solved in the latest MPC-HC for me.
Good to hear. So Pat357's freeze must have a somewhat different cause.

I was wondering if it might be a good idea to implement some sort of user prioritized scaling algorithm fallback mechanism? Basically when the render queue starts to fall below a certain fraction of the user specified GPU queue size (or that it simply starts queuing a dangerously low number of frames) for which the present queue doesn't queue enough frames and then frames start getting dropped.

The main reason why this might be useful is for when the resizer is asked to go from a relatively high resolution to a much greater resolution or vis versa.
Something like this might come in some (far away) future version, but not anytime soon. Too much other stuff to do first.

sorry for the poor information(like my english) , seems that now with 0.82.4 it work ok or more less, if it freeze again i try to send you a MadTraceProcess trail,(I was unaware of this utility) how you say may be is a mpc-hc problem.
Good to hear.

I'm sure its the least important thing, but would it be worth making this delay playback functionality, also delay until the other queues are full, just to be sure cpu usage can be reduced as much as possible before playback begins?
Hmmmm, I guess that makes sense. Will add it to my to do list. Wow, you're using really big queue sizes!!

My MPC-HC builds with .pdb file included. http://dl.dropbox.com/u/16282309/MPC-HC/pdb/index.html I hope you find them useful for freeze reports :)
Great - thanks!

Fair enough, an option for all videos would be great, that basically overrides the best guess logic.
Ok, will add that to my to do list.

The matrix is stored in the container, but not necessary the stream.
Then you could try to convince the splitter dev to add support for that. nevcairiel seems to be reluctant about this, though.

@Pat357, could you please reproduce the freeze with kasper93's debug MPC-HC build? (Make sure you don't delete the pdb file.) A freeze report with that MPC-HC build might help figuring out why exactly MPC-HC is trying to create a D3D device. Thx.

nevcairiel
8th March 2012, 10:03
Then you could try to convince the splitter dev to add support for that. nevcairiel seems to be reluctant about this, though.

Not so much reluctant, just not sure its worth it. For one, i don't even know which containers can hold such information. MKV cannot. I suppose MP4 might hide a atom for this somewhere in its bowels, but so far i couldn't find it.

If someone can find a file that really contains such information, i can try to look into it, but otherwise, i have nothing to go on.

madshi
8th March 2012, 10:08
Yeah, without a sample it doesn't make sense to look into it any further. So, 703, here's your chance...

aufkrawall
8th March 2012, 10:16
You're really putting great efforts into your renderer, madshi. Thanks for this, depending on the situation, its result looks much better than others. :thanks:

Since it isn't under GPL, do you have any future plans with it? ;)

madshi
8th March 2012, 10:18
Since it isn't under GPL, do you have any future plans with it? ;)
What do you mean?

cyberbeing
8th March 2012, 10:55
Freeze displaying a vertically stretched video frame when entering Fullscreen from Desktop (windowed).
http://www.mediafire.com/?i2b9vffj15uop98
Note: Generating the freeze report with CTRL+SHIFT+ALT+BREAK kicked madVR back to Desktop (windowed) in a paused, unfrozen state.
I don't believe Fullscreen (exclusive) ever had a chance to kick in before the freeze happened.

madshi
8th March 2012, 11:01
Freeze displaying a vertically stretched video frame when entering Fullscreen from Desktop (windowed).
http://www.mediafire.com/?i2b9vffj15uop98
Note: Generating the freeze report with CTRL+SHIFT+ALT+BREAK kicked madVR back to Desktop (windowed) in a paused, unfrozen state.
I don't believe Fullscreen (exclusive) ever had a chance to kick in before the freeze happened.
This doesn't really look like a real freeze. Was MPC-HC totally unresponsive, with no reaction to your mouse and keyboard input? I rather guess this is a case of MPC-HC being ok, but madVR maybe failing to render? If so, a freeze report won't help. A debug log might. Can you reproduce the problem at will? Does it occur only with a specific video file or with all video files? Is there any way for me to reproduce it on my PC?

aufkrawall
8th March 2012, 12:54
What do you mean?
Once it reaches plenty feature-completeness, maybe some companies could get interested in using it in their own solutions.
Please don't sell it or keep it free. :thanks:

Just some weird kind of musing... :p

dansrfe
8th March 2012, 15:20
Once it reaches plenty feature-completeness, maybe some companies could get interested in using it in their own solutions.
Please don't sell it or keep it free. :thanks:

Just some weird kind of musing... :p

I'm sure 'some companies' would be interested madVR from a while back. There's not a renderer with this efficiency in the consumer market. I can't speak for the professional/enterprise video software market since I don't know but if I were to venture a guess then I'm sure they are as well.

cyberbeing
8th March 2012, 20:31
This doesn't really look like a real freeze. Was MPC-HC totally unresponsive, with no reaction to your mouse and keyboard input? I rather guess this is a case of MPC-HC being ok, but madVR maybe failing to render? If so, a freeze report won't help. A debug log might. Can you reproduce the problem at will? Does it occur only with a specific video file or with all video files? Is there any way for me to reproduce it on my PC?

MPC-HC was totally unresponsive to mouse and keyboard (didn't try alt-tabbing but I now suspect that may have fixed it, since the freeze report did), but the process wasn't being detected as hung by Windows as far I can tell. It does feel like madVR failed to render, considering it hung with the image stretched to fullscreen (1680x1050) before being corrected to 16:9. If it matters, I also have madVR set to instantly enter fullscreen exclusive rather than wait 3 seconds, yet madVR hung while still in fullscreen windowed mode, half-way through resizing.

I'm unable to reproduce the problem at will, it doesn't appear linked to any particular video, and I've not discovered any easy way to reproduce the issue. I've seen this happen before, but it's rare, maybe once a month or less... I'll try running madVR debug constantly for awhile, and hope I get lucky enough to catch it sometime soon.

xv
8th March 2012, 22:30
I noticed that there are some color problems with YCgCo matrix. The difference is not huge and often not noticeable if you donīt know how it should look like.
Could you please look into that? I can provide an YCgCo example if you tell me what source I should encode.

mark0077
8th March 2012, 22:54
Hi madshi, I got a freeze today in mpc-hc 4130 + madVR v0.82.4

Maybe its the same problem as you have mentioned to Aleksoid in the mpc thread, maybe not. Its attached below incase its useful. It seemed fairly random. I had mpc-hc in windowed mode and had seeked through a vob from a DVD about 30 seconds earlier to find a particular scene. The scene played for about 30 seconds as I say but then the video image froze on one frame, mpc-hc was responding to mouse clicks and audio was continuing to play fine so I seeked again and mpc-hc froze up completely then and blue Windows 7 icon started spinning so I took the report below.

http://www.mediafire.com/?zwh6nwnawvqc1yh

Pat357
9th March 2012, 00:37
Ctrl+Alt+Shift+Break already does that. It creates a freeze report *and* disables FSE mode. Of course if the process is already frozen, there's a certain chance no key combo will work, anymore.
If I understood you correct from before, the key-handling and some other stuff run in a separate thread, .. is this correct ?
Maybe you could, not sure if it's possible, run his in a complete separate process ?
Of course this would require some data to be changed out between the processes, but at least the separate process could create the report with the latest data has it received from the now "frozen" process.
I'm not sure exactly what you mean. In what way do your wishes differ from what madVR is currently doing/offering? Do you have problems with madVR's IVTC algorithm not working correctly?
If I set "force deinterlacing" in LAV-video, the decoder will send these "frame based" flags to ask the renderer to almost
"unconditionally" deinterlace to whole stream without questions asked. (EVR will "obey" these flags)
This doesn't seem to work that way ATM with MadVR.
The other options in Lav-video like "agressive deinterlacing" and "thread as progressive" (never deinterlace) seem also not to work as intented with Madvr.
Does it not work even if you press that key combo while MPC-HC is *not* frozen? It works for me in that situation.
It works perfect under normal conditions, but than we don't need it :p
Good to hear. So Pat357's freeze must have a somewhat different cause.
It's everytime I try to open a M4A file while MadVR is in FSE mode.
Like I said before, normally you can't switch MPC in full screen when playing audio... I think it has (maybe indirectly) to do with this.
Something along : "if I (MPC-HC) am in full screen mode, I have to create a new D3Ddevice..."
Following the MPC logic, "it must be a video file, because I can't be in "full screen" with audio files.... "
@Pat357, could you please reproduce the freeze with kasper93's debug MPC-HC build? (Make sure you don't delete the pdb file.) A freeze report with that MPC-HC build might help figuring out why exactly MPC-HC is trying to create a D3D device. Thx.
Done.
See http://www.mediafire.com/?v88ii8owp1oqppx

kerman
9th March 2012, 03:21
I have on madVR on display properties "TV levels" (16-235) when conecting to my tv to avoid conversions and scaling and to match source native levels.

Now, Im looking to be safe avoiding any conversion. Should I select on AMD CCC on Pixel Format, output to Limited RGB or Full RGB?

robpdotcom
9th March 2012, 05:14
In windowed mode > toggle video/film mode > enter FSE > madVR will not change refresh rate.

In FSE > toggle video/film mode > madVR changes refresh rate > freeze

Freeze report:
http://www.mediafire.com/?r3pjxkdpmt6rfe4

One thing I noticed: When in FSE, after the freeze, CTRL+ALT+SHIFT+T still changes refresh rate, but nothing else seems to respond.

QBhd
9th March 2012, 06:02
I have on madVR on display properties "TV levels" (16-235) when conecting to my tv to avoid conversions and scaling and to match source native levels.

Now, Im looking to be safe avoiding any conversion. Should I select on AMD CCC on Pixel Format, output to Limited RGB or Full RGB?

Everything up to madVR in your playback chain should be set to "TV Levels"/"Limited" (16-235)... then madVR should be set to "PC Levels"/"Full" (0-255), your GPU should be set to this also, as well as your TV for best results. From what I understand, doing level conversion on the GPU is not something that should be done.

However, if your TV does not support 0-255 then you only need to change madVR's levels to 16-235, NOT your GPU's levels (these should always stay on "PC Levels"/"Full")

QB

dansrfe
9th March 2012, 06:06
In windowed mode > toggle video/film mode > enter FSE > madVR will not change refresh rate.

In FSE > toggle video/film mode > madVR changes refresh rate > freeze

Freeze report:
http://www.mediafire.com/?r3pjxkdpmt6rfe4

One thing I noticed: When in FSE, after the freeze, CTRL+ALT+SHIFT+T still changes refresh rate, but nothing else seems to respond.

I don't think the display changer is supposed to change the refresh rate in video mode since it takes the video to either 50p or 60p and since 60Hz is the standard desktop refresh rate there is nothing else for the display changer to change to.

madshi
9th March 2012, 09:34
Once it reaches plenty feature-completeness, maybe some companies could get interested in using it in their own solutions.
Please don't sell it or keep it free. :thanks:
I don't plan to sell it, but if someone would offer me a million bucks, I'd probably change my mind pretty fast... :D

MPC-HC was totally unresponsive to mouse and keyboard (didn't try alt-tabbing but I now suspect that may have fixed it, since the freeze report did), but the process wasn't being detected as hung by Windows as far I can tell. It does feel like madVR failed to render, considering it hung with the image stretched to fullscreen (1680x1050) before being corrected to 16:9. If it matters, I also have madVR set to instantly enter fullscreen exclusive rather than wait 3 seconds, yet madVR hung while still in fullscreen windowed mode, half-way through resizing.

I'm unable to reproduce the problem at will, it doesn't appear linked to any particular video, and I've not discovered any easy way to reproduce the issue. I've seen this happen before, but it's rare, maybe once a month or less... I'll try running madVR debug constantly for awhile, and hope I get lucky enough to catch it sometime soon.
So this is not a new bug caused by the changes in the recent versions? Unfortunately the freeze report doesn't show me anything interesting. From what I can say, madVR doesn't seem to be in any kind of deadlock situation. A log may eventually help (or maybe not), but if it's so rare the big question is whether you can really capture it in a log...

I noticed that there are some color problems with YCgCo matrix. The difference is not huge and often not noticeable if you donīt know how it should look like.
Could you please look into that? I can provide an YCgCo example if you tell me what source I should encode.
How can I reproduce the problem on my PC? I guess the best way would be to have the same sample available as YCgCo and as e.g. BT.709? Then I can check whether they look perfectly identical or not.

Hi madshi, I got a freeze today in mpc-hc 4130 + madVR v0.82.4

Maybe its the same problem as you have mentioned to Aleksoid in the mpc thread, maybe not. Its attached below incase its useful. It seemed fairly random. I had mpc-hc in windowed mode and had seeked through a vob from a DVD about 30 seconds earlier to find a particular scene. The scene played for about 30 seconds as I say but then the video image froze on one frame, mpc-hc was responding to mouse clicks and audio was continuing to play fine so I seeked again and mpc-hc froze up completely then and blue Windows 7 icon started spinning so I took the report below.
Thanks, that's definitely a different problem. It's related to the "delay playback until render queue is full" feature. Can you reproduce it somewhat regularly? I have a thought about how I could maybe fix it, but I'm a bit afraid to do the change if we don't have a way to test if the change really helped. After all, the change could make things worse. This is one of those cases where there's not a real bug in madVR, but it's some kind of threading interaction. So a change could help, or make things worse, or not make any difference.

If I understood you correct from before, the key-handling and some other stuff run in a separate thread, .. is this correct ?
Maybe you could, not sure if it's possible, run his in a complete separate process ?
Hmmmm... That's a possibility. I could let madHcCtrl do the key watching.

If I set "force deinterlacing" in LAV-video, the decoder will send these "frame based" flags to ask the renderer to almost "unconditionally" deinterlace to whole stream without questions asked. (EVR will "obey" these flags)
This doesn't seem to work that way ATM with MadVR.
The other options in Lav-video like "agressive deinterlacing" and "thread as progressive" (never deinterlace) seem also not to work as intented with Madvr.
This all depends on a lot of things. madVR has different sources of information, the upstream filter (decoder) being just one of them. Some upstream filters behave different to others, some are more trustworthy than others, so just because madVR doesn't do what you thought it should, based on your LAV configuration, doesn't mean that there's necessarily anything wrong with madVR. Let's look at this one case at a time. Pick one video file where madVR doesn't behave like you would expect it to, and then we can analyze why, and whether madVR needs to change. So start with one example. Tell me the exact video specs (maybe give me a sample, even), tell me how you configured LAV, what you expect from madVR, and what madVR does instead.

It's everytime I try to open a M4A file while MadVR is in FSE mode.
Like I said before, normally you can't switch MPC in full screen when playing audio... I think it has (maybe indirectly) to do with this.
I don't think so. From your freeze report it seems as if the Direct3D9 device might not be created by MPC-HC itself, but maybe by the DirectShow graph builder interface. This could be pretty ugly. I'll see if I can find a workaround for this problem.

In windowed mode > toggle video/film mode > enter FSE > madVR will not change refresh rate.
I need much more details. Which kind of video file are we talking about? 50i? 60i? Which was your refresh rate when before you started playback. Did madVR switch when you toggled video/film mode in windowed mode? Then when you entered FSE mode, which refresh rate was activate and what should madVR have done? How have you configured the madVR display mode changer? Maybe a log would help...

In FSE > toggle video/film mode > madVR changes refresh rate > freeze

Freeze report:
http://www.mediafire.com/?r3pjxkdpmt6rfe4
This is an MPC-HC bug. Please update to revision 4128 or newer.

sneaker_ger
9th March 2012, 10:32
madVR has trouble leaving FSE mode when using D3D11. The picture kinda pauses and stays fullscreen. Toggling again will make playback resume in FSE mode.

http://www.mediafire.com/?d7d2610i8ud6ky5

madshi
9th March 2012, 10:38
Can you define "stays fullscreen"? Need more details. Do you see the MPC-HC window title bar? Or does it still look exactly like FSE mode?

sneaker_ger
9th March 2012, 11:16
I see the still of the picture in fullscreen and can see the mouse cursor. No kind of OSD visible. The sound of the file continues.

madshi
9th March 2012, 11:34
Do you see the MPC-HC window title bar? Or does it still look exactly like FSE mode? Maybe a screenshot would help.

sneaker_ger
9th March 2012, 11:45
No MPC-HC bars. Just imagine having pressed "pause". That's what it looks like.

While trying to make screenshot: FRAPS didn't make any screenshot in that state. :confused: Maybe because of D3D11?

madshi
9th March 2012, 11:57
According to your log everything appears to work just fine. Windowed playback seems to run as normal after the exclusive -> windowed switch. Don't know why you don't see anything. Does this problem happen every time, or just once in a while? Is it a new problem? Which version introduced it?

P.S: Do you have the MPC-HC "D3D Fullscreen" option activated in the renderer options? If so, try disabling it. Does that help?

nevcairiel
9th March 2012, 11:58
I had that same problem with D3D11 FSE back when i tried using it. That was the main reason i didn't use it anymore. I reported it back then and you acknowledged the problem with the remark that D3D11 is just glitchy sometimes.

It plays fine, but when you try to leave the FSE mode by double clicking the screen (or any other hotkey that toggles between full screen and window) the last rendered picture just sticks on the screen, and you see nothing else (no MPC-HC GUI or anything else).
The file seems to continue playing just fine in the background, and when you hit the hotkey again to re-enter full screen mode, the screen updates again.

Back then, for me it was a 100% reproducable case, D3D Fullscreen in MPC-HC was not ticked.
The funny fact is that right-clickign to bring up the popup menu properly leaves FSE mode, just using a hotkey to directly go back to windowed mode didn't work.

sneaker_ger
9th March 2012, 12:15
^this.

Don't really know if regression or not.

madshi
9th March 2012, 12:19
@nevcairiel, I don't think I understood your report the way I understand it now. I guess I thought that just the MPC-HC window in windowed mode would be full screen sized.

@sneaker_ger, is it 100% reproducable for you?

sneaker_ger
9th March 2012, 12:29
@sneaker_ger, is it 100% reproducable for you?

It appears so.

madshi
9th March 2012, 13:00
Does this one behave any better?

http://madshi.net/madVR824b.zip

sneaker_ger
9th March 2012, 13:07
No difference.

madshi
9th March 2012, 13:20
Oh man, I just wish I could reproduce it. How about this one?

http://madshi.net/madVR824c.zip

kerman
9th March 2012, 13:20
Everything up to madVR in your playback chain should be set to "TV Levels"/"Limited" (16-235)... then madVR should be set to "PC Levels"/"Full" (0-255), your GPU should be set to this also, as well as your TV for best results. From what I understand, doing level conversion on the GPU is not something that should be done.

However, if your TV does not support 0-255 then you only need to change madVR's levels to 16-235, NOT your GPU's levels (these should always stay on "PC Levels"/"Full")

QB

I understand what you say, but not sure about that expansion to 0-255 on madVR and display to be that beneficial in terms of accuracy, quality levels... etc. Well depends on the point of view. Im in the believing that everything should match to the source, with less adds, conversions, etc as possible.

If filmakers or bluray editors go 16-235, that way should be taken. Kinda like the frame interpolators on some devices. Some -uneducated on films and cinema- people think its better that soap opera, and they even may like it. Well, I know this is a much major change to the original source opossed to the 16-325 > 0-255 conversion, but it shares the same logic to be avoided. Its not if it will lokks better or worse (something subjective BTW), but the fact to modifying anything to the source as it was intended to be played back.

So, better gradation level with 0-255 over 16-235? yes, but from a "purist" point of view, better go with 0-255 when the video source be encoded that way. Just like the 48fps for smoother video; go with it when films -like The Hobbit- will be filmed and intended that way to be seen. The best reproduction is to take strictly what theres on the source, no more no less, IMHO.

sneaker_ger
9th March 2012, 13:26
Oh man, I just wish I could reproduce it. How about this one?

http://madshi.net/madVR824c.zip

Nope.

madshi
9th March 2012, 13:30
Next try:

http://madshi.net/madVR824e.zip

sneaker_ger
9th March 2012, 13:37
The FSE -> window switch is working now, but exactly every other window -> FSE switch will display the video on the former MPC-HC window dimensions (Desktop etc. stays visible).

madshi
9th March 2012, 13:42
So basically there's all video and no controls? What happens if you minimize and restore the window by clicking on the taskbar icon?