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

Xaurus
17th November 2011, 08:44
Looks like a bug in madVR, will be fixed in the next build.

Thanks madshi. Do you have any more details about this?


Does the bug also affect the other thing with having to enable the "limit rendering times to avoid glitches" or is it only related to the frame drops?

jmone
17th November 2011, 10:03
madshi, this version is working really well with JR's MC 17 Videoclock as madvr reports anticipated dropped/repeated frames swinging around by many hours or even days. Since the audio is slaved to madvr would it be worth reporting it as infinity or "slaved" in the OSD?

Mikey2
17th November 2011, 13:04
With this update, now my queues do not fill-up, thus I drop frames (unless I drop the scaling Algorithm to something low, like Bilinear.) I went back and forth between .78 and .79 multiple times and am confident that I can only get .78 to work.

I have always been pushing my graphics card[s] to the max with madVR (pair of NVidia 8600GT's in SLI, but with only 256MB of video-ram.) Thus I have my backbuffers/frames in advance set really low, to something like 2 or 3. This has worked in the past and allowed me to use 4-tap Spline in exclusive mode without drame-drops. However, as mentioned, .79 will not fill the queues anymore.

I have been messing around with flushing settings (right now I have: don't flush/flush and Wait(sleep)/flush/flush, with "run presentation in seperate thread.")

Is this the best for my situation? What settings can I try to squeeze every bit I can from my low-memory GPU's in order to continue using madVR? (Unfortunately I cannot afford a new GPU right now.)

I have this issue with or without interlaced videos. However, like many others, I like madVR's new de-interlacer better than ffdShow's yadif. Of course, this puts even more strain on my GPU, but it still seems to work if I set de-interlacing in a different thread. Is this correct reasoning?

I do not know what it is about .79 that puts it over the edge where I can no longer play without frame-drops...does anyone have any thoughts on that too?

Thanks in advance for your help!
MikeY

PS - I am running software decoding of course instead of H/W decoding. (That is what has allowed me to get this far with my old GPU's!)

Thunderbolt8
17th November 2011, 14:11
Do you still get visible differences between deinterlacing on/off?no, atm not. dont know why or whats different. but it seems to be fine atm.

pie1394
17th November 2011, 16:03
In D3D9 exclusive mode with "prepresented frames" active, madVR will already show each weaved frame twice, provided that the timestamps are clean. If the timestamps jitter a lot, nasty things like 2:2:2:3:1:2:2:2 can happen.

If you turn deinterlacing off, madVR does *nothing*. If the fields are swapped then madVR does not correct that.


Then the odd-field-first interlaced contents will not be displayed correctly.
It would show the very similar issue I described in below.

I have retried the normal even-field-first MPEG-2 1080i60 contents to HDMI 1080i60 output by madVR (w/o deinterlace) on GTX260+. It looks like the presented field sequence is still incorrect by GPU. The problem is very obvious when the picture contains some moving objects.

If the video contents' presentation order are Frame0[E0 O1] Frame1[E2 O3] Frame2[E4 O5] ...

The field signal sent to HDMI should be something like:

E0 O1 E2 O3 E4 O5 ...

On the 1080i PDP TV, howerver, I observed it often looks like:

E0 O1 E0 O3 E4 O5 ...

That is one reason why I keep using frame-rate-doubing deinterlace at 1080i50 / i60 output signals. At least HDMI 1080i signal always contains all right fields.

Why I do not use 1080p50 / 1080p60 signals on my PDP TV. The reason is simple. The TV will perform some anti-flicking process if the input signal is 1080p24/p25/p30/p50/p60. Thus the static objects on the 1080i video's will have a slight vertical image resolution loss.



You just said above that activating deinterlacing would be a waste of GPU processing power. But now you're saying in your own setup you have deinterlacing active even when using 1080i60 output? That's kinda confusing.


Well... I remebered it was discussed with you when you were preparing to design the deinterlaing function into madVR. The interlaced source content's deinterlacing process is not needed only when it exactly matches the output video signal. In other words, it always needs to perform deinterlacing process upon any of following cases:

1. An interlaced frame is vertically scaled by frame to either interlaced or progressive video signal.
2. An interlaced frame is shown as still image on interlaced output device (CRT / Hitachi PDP)
3. Playback frame / field rate is different from output signal. (Tricky play)



Can you make comparison screenshots, please?


Method1: Cuda deinterlace
http://desmond.imageshack.us/Himg706/scaled.php?server=706&filename=alancudadeint.png&res=galhttp://img706.imageshack.us/img706/9914/alancudadeint.png

Method2: madVR DXVA2 deinterlace
http://desmond.imageshack.us/Himg257/scaled.php?server=257&filename=alandxva2deint.png&res=galhttp://img257.imageshack.us/img257/9969/alandxva2deint.png

I did the comparision of single frame by two playback methods. To be honest, the difference is very minor even through I did not capture the exact time frame. Thus the difference could come from the fact that Japanese HDTV contents have very different bit rate distribution among MPEG-2 I / P / B pictures.

Yet I am sure that my Hitachi PDP can show somewhat magic nartural human skin colors and 3D-alike stereo effect on those well-captured + well-encoded high bit-rate video contents. Have played those contents on my friend's Panasonic FullHD PDP, it does not show me the same natural color / stereo feeling which I have seen on my TV.

iSeries
17th November 2011, 17:38
Hi Madshi,

Regarding my timestamp issue with index.bdmv and mpls files, I've found an MKV that plays in exactly the same way (hundreds of dropped frames).

The MKV was made with MakeMKV straight from disc and is a music concert 1080i 29.97fps.

Log file is here: http://www.mediafire.com/?oo6676cjrouncna

nlnl
18th November 2011, 13:34
madshi

Another strange beast for your zoo :).

http://dl.dropbox.com/u/43376972/PAL%20film%20deinterlacing%20artifacts.mkv
PAL SD movie in .mkv.

If it is DXVA deinterlaced, we have a lot of interlacing artefacts.
And "DXVA deinterlacing off" (plain weaving?) does not help.

LoRd_MuldeR
18th November 2011, 14:40
url]http://dl.dropbox.com/u/43376972/PAL%20film%20deinterlacing%20artifacts.mkv[/url]
PAL SD movie in .mkv.

This one doesn't appear to be interlaced. Looks more like the result of a bad deinterlace :scared:

I would suggest you "repair" that clip prior to playback. You may try something like this in Avisynth:
FFVideoSource("PAL film deinterlacing artifacts.mkv")
NNEDI3(field=-2)
Merge(Last.SelectEven(), Last.SelectOdd())FFVideoSource("PAL film deinterlacing artifacts.mkv")
SeparateFields()
Merge(Last.SelectEven(), Last.SelectOdd())
NNEDI3(dh=true)

dlb76
18th November 2011, 16:01
madshi, just to clear things out

"use a separate device for presentation" option give any good on xp64 sp2 or can be safely disabled, because i see it says vista and win7 only ?

and what about "present queue" also on xp64 sp2 ? is it possible to make it > "3" ?
even setting in driver to "4" still limits it to "3"...

:thanks:

6233638
18th November 2011, 16:17
Maybe it has, not sure. So any improvements or negative side effects by increasing the queue sizes?Didn't have a chance to do any proper testing until now. While it looked like things were fine initially, keeping the queues maxed out eventually leads to presentation glitches showing up with longer videos.

I'm currently running the latest Nvidia beta drivers (seems like this is something I'll have to keep doing as a gamer) and was concerned they were the cause, but lowering the queues to 16 results in glitch-free playback.

If I lower the GPU queue to 16 but leave the CPU queue at 32 playback is fine initially with no presentation glitches, but at random it will suddenly start dropping a significant number of frames.

So with Nvidia, at least when running the latest beta drivers, I wouldn't recommend going over 16 at all.

I suspect that whatever causes this is the same thing that Nevcariel found when going over 12 queues on his system in previous versions.



I also encountered a film where madVR decided that deinterlacing was necessary (it wasn't) and that caused it to drop massive numbers of frames. Will see if I can get a sample later, been quite busy lately.


I also had a problem with the OSD not showing up, and "uninstalling" & "reinstalling" fixed this. All I did was run the two batch files though.

I suspect this was another issue caused by running J-River MC17 and uninstalling it. (same thing as ffdshow becoming unregistered) I guess they have a build or preference that lets them disable the OSD?

italospain
18th November 2011, 16:42
I am forced to use the Intel IGED Drivers to add a custom Interlaced Resolution for my TV.
madVR works with the Intel GMA Drivers but refuses to work with the IGED Drivers.

One thing i noticed that my custom Resolution is reported as 25 Hz Interlaced with the IGED Drivers but under the GMA Drivers interlaced resolutions are reported as 50 Hz Interlaced.

D3D games working fine.

Is this a bug in madVR ?
Is there hope you can fix it ? (I cant live without madVR )

thanks

nlnl
18th November 2011, 19:17
This one doesn't appear to be interlaced. Looks more like the result of a bad deinterlace :scared:

I would suggest you "repair" that clip prior to playback. You may try something like this in Avisynth:

:thanks:
Mediainfo reports for that stream:

Codec ID : V_MPEG2
Width : 720 pixels
Height : 576 pixels
Frame rate : 25.000 fps
Standard : PAL
Scan type : Progressive
Color primaries : SMPTE 170M
Transfer characteristics : SMPTE 170M ???
Matrix coefficients : SMPTE 170M ???

So progressive frames are in that stream and Looks more like the result of a bad deinterlace means bad, wrong soft flags in the stream? And the stream is actually 25p?

Pat357
18th November 2011, 20:58
Madshi,

On certain files I have a lot of dropped frames. Because I have fast hardware (core i7 -970 with GTX-570, W7 SP1), I assumed it is not a performance issue.
The drops also happen if a switch all scaling to bilinear + lower quality settings. I started logging and this messages were often repeated in the log :

00092845
00161358 Render drop frame 9246, no free vsync slot, plannedVSync: 4121
00161358 Render drop frame 9247, no free vsync slot, plannedVSync: 4122
00167112 VSync drop frame 9570, can't delay, plannedVSync: 4448, present vsync: 4467, next frame's vsync: 4449
00167112 Upload drop frame 9578, can't be rendered in time, plannedVSync: 4456, timeLeft: -186891, vsync interval: 16666
00167112 Upload drop frame 9579, can't be rendered in time, plannedVSync: 4457, timeLeft: -170265, vsync interval: 16666
00167112 Upload drop frame 9581, can't be rendered in time, plannedVSync: 4459, timeLeft: -137000, vsync interval: 16666
00167112 Upload drop frame 9583, can't be rendered in time, plannedVSync: 4461, timeLeft: -103738, vsync interval: 16666
00167112 Upload drop frame 9585, can't be rendered in time, plannedVSync: 4463, timeLeft: -70481, vsync interval: 16666
00167112 Upload drop frame 9587, can't be rendered in time, plannedVSync: 4465, timeLeft: -37213, vsync interval: 16666
00167112 Upload drop frame 9589, can't be rendered in time, plannedVSync: 4467, timeLeft: -3946, vsync interval: 16666
00167113 Upload drop frame 9571, no free vsync slot, plannedVSync: 4449
00167113 Upload drop frame 9572, no free vsync slot, plannedVSync: 4450
00167113 Upload drop frame 9573, no free vsync slot, plannedVSync: 4451
00167113 Upload drop frame 9574, no free vsync slot, plannedVSync: 4452
00167113 Upload drop frame 9576, no free vsync slot, plannedVSync: 4454
00167113 Upload drop frame 9575, no free vsync slot, plannedVSync: 4453
00176248 Render drop frame 9598, can't be rendered in time, plannedVSync: 3766, timeLeft: -20821486, vsync interval: 16666
00176249 Render drop frame 9599, can't be rendered in time, plannedVSync: 3767, timeLeft: -20804860, vsync interval: 16666
00176249 Render drop frame 9600, can't be rendered in time, plannedVSync: 3768, timeLeft: -20788236, vsync interval: 16666
00176249 Render drop frame 9601, can't be rendered in time, plannedVSync: 3769, timeLeft: -20771616, vsync interval: 16666
00176249 Render drop frame 9602, can't be rendered in time, plannedVSync: 3770, timeLeft: -20754994, vsync interval: 16666
00176249 Render drop frame 9603, can't be rendered in time, plannedVSync: 3771, timeLeft: -20738364, vsync interval: 16666
00176249 Render drop frame 9605, can't be rendered in time, plannedVSync: 3773, timeLeft: -20705102, vsync interval: 16666
00176249 Render drop frame 9607, can't be rendered in time, plannedVSync: 3775, timeLeft: -20671834, vsync interval: 16666
00176249 Render drop frame 9610, can't be rendered in time, plannedVSync: 3778, timeLeft: -20621902, vsync interval: 16666
00176249 Render drop frame 9612, can't be rendered in time, plannedVSync: 3780, timeLeft: -20588606, vsync interval: 16666
00176249 Render drop frame 9594, no free vsync slot, plannedVSync: 3762
00176249 Render drop frame 9595, no free vsync slot, plannedVSync: 3763
00176249 Render drop frame 9596, no free vsync slot, plannedVSync: 3764
00176249 Render drop frame 9597, no free vsync slot, plannedVSync: 3765
00176249 Render drop frame 9609, no free vsync slot, plannedVSync: 3777
00177763 Render drop frame 9617, no free vsync slot, plannedVSync: 69
00177763 Render drop frame 9618, no free vsync slot, plannedVSync: 70
---------------------------------------------------------------------------------------------------------------------------
00041624 Upload drop frame 2119, can't be rendered in time, plannedVSync: 1936, timeLeft: 17220, vsync interval: 19992
00042140 VSync drop frame 2132, can't delay, plannedVSync: 1960, present vsync: 1961, next frame's vsync: 1961
00042460 VSync drop frame 2146, can't delay, plannedVSync: 1976, present vsync: 1977, next frame's vsync: 1977
00042780 VSync drop frame 2160, can't delay, plannedVSync: 1992, present vsync: 1993, next frame's vsync: 1993
00043100 VSync drop frame 2174, can't delay, plannedVSync: 2008, present vsync: 2009, next frame's vsync: 2009
00043740 VSync drop frame 2202, can't delay, plannedVSync: 2040, present vsync: 2041, next frame's vsync: 2041
00044379 VSync drop frame 2230, can't delay, plannedVSync: 2072, present vsync: 2073, next frame's vsync: 2073
00045019 VSync drop frame 2258, can't delay, plannedVSync: 2104, present vsync: 2105, next frame's vsync: 2105
00045660 VSync drop frame 2286, can't delay, plannedVSync: 2136, present vsync: 2137, next frame's vsync: 2137
00046300 VSync drop frame 2314, can't delay, plannedVSync: 2168, present vsync: 2169, next frame's vsync: 2169
00046620 VSync drop frame 2328, can't delay, plannedVSync: 2184, present vsync: 2185, next frame's vsync: 2185
00046939 VSync drop frame 2342, can't delay, plannedVSync: 2200, present vsync: 2201, next frame's vsync: 2201
00047579 VSync drop frame 2370, can't delay, plannedVSync: 2232, present vsync: 2233, next frame's vsync: 2233
00047667 Render drop frame 2375, can't be rendered in time, plannedVSync: 2237, timeLeft: -7939, vsync interval: 19992
00047680 Upload drop frame 2377, can't be rendered in time, plannedVSync: 2239, timeLeft: 18509, vsync interval: 19992
00047808 Render drop frame 2381, can't be rendered in time, plannedVSync: 2245, timeLeft: 10524, vsync interval: 19992
If you need the complete log, just say the word, but maybe you can already tell in what direction I have to search to resolve this issue.
It seems it most happens in Window mode (Aero on), much less in exclusive mode. Also if interlace is active, it seems to happen more often, but it could also be the content itself.
I can't reproduce it every time, it seems to happen sometimes.
My buffers settings are : decoder=20, GPU=10, backbuffer =10, and they are filled to about max-2/(max-1 or max), just the backbuffer goes to 0 if the frame gets deleted from the queue.

The GPU load < 35 %, CPU load < 5%.
I use Lav-filters to decode, player is MPC-HC and MadVR v0.79.
System : Core i7 6+6 cores @3.6 Mhz / 24 GB RAM @ 1600 Mhz
Win7 x64 including latest updates (auto-update) / Aero ON
NV drivers : latest WHQL
Lav filters 0.39 + MadVR v0.79 with latest MPC-HC

LoRd_MuldeR
18th November 2011, 23:52
:thanks:
Mediainfo reports for that stream:

Codec ID : V_MPEG2
Width : 720 pixels
Height : 576 pixels
Frame rate : 25.000 fps
Standard : PAL
Scan type : Progressive
Color primaries : SMPTE 170M
Transfer characteristics : SMPTE 170M ???
Matrix coefficients : SMPTE 170M ???

So progressive frames are in that stream and means bad, wrong soft flags in the stream? And the stream is actually 25p?

All tools that just look at flags of the stream, without actually analyzing the image content (which includes MediaInfo), only report how the stream was encoded.

But they can't tell you the nature of the content!

Progressive content can be encoded as interlaced, which costs some compression efficiency, but nevertheless often happens in reality. Encoding interlaced content as progressive will "destroy" it.

Having said that, what we see in your case is progressive content. Just "bad quality" progressive content - which, apparently, once was created from an interlaced source.

It's impossible to know, how they managed to screw up the content. And, unfortunately, it's impossible to simply "revert" the process.

As long as we don't have access to the original "interlaced" source, we can only try to "repair" the mess as good as possible. A "normal" bobbing deinterlacer is not the right tool in this case though*.

And, as this looks like some kind of "line doubling" has been applied, my quick&dirty AVS script interpolates a full frame from each field, then blends the two results together.

(*) A dumb "skip field" deinterlacer might work in a way for this case, but would simply discard 1/2 of the lines.

Dextrosan
19th November 2011, 00:05
I have a problem with madVR 0.79 that doesn't happen with 0.78.
As you probably know I use MPC-HC fullscreen refresh rate changer and it has always worked.

But with 0.79, when I play a 24fps movie my LCD starts as 60Hz, then I go fullscreen and the LCD changes to 24Hz but it shows the MPC seek bar kinda out of place, I hear the audio of the movie but no image. I pause and unpause, then I can see the movie, but 2 to 3 seconds later after the movie is already playing, the LCD changes back to 60Hz even though I didn't exit the fullscreen. It should stay at 24Hz.

I go back to 0.78 and all is fine as it has always been.

Did you change anything that could have broke the MPC-HC refresh rate changer?


PS: madVR's refresh rate changer works with 0.79 and mantains the 24HZ throughout the movie. I would like to use your changer, though, if it would allow me to change the rate, only when in going fullscreen.

I have exactly the same problem as you do and I was unable to find any solution to this unfortunately. Anyone else?

nlnl
19th November 2011, 07:34
LoRd_MuldeR

Thank you very much for that very detailed and educational reply!

nevcairiel
19th November 2011, 10:10
Hi madshi,

i've been trying to figure out why my HTPC stopped going into FSE mode, but i couldn't find anything the log regarding a window covering the display or anything like that.
Maybe you can see anything in it?

http://files.1f0.de/madVRnofse.zip

Edit:
Reinstalling MC17 seems to have fixed it for now, but if you still see something in the log, maybe it helps avoid the problem in the future.

pacemaker1000
19th November 2011, 15:00
i just assumed my pc wasnt fast enough do use madvr with 1080 stuf but yesterday i loaded lav video and it works. why is this when i dont have a nvidia card?

also if anyone can help i cant get reclock to work with lav cplitter /audio it gives an error.
can someone give me the right settings for lavfilters and madvr?

cheers

MPC-HTPC
19th November 2011, 15:33
Hi madshi,

first of all: Great work you are doing with madVR!

At least since the latest build 0.79 I am getting very often a black screen when starting a video in MPC-HC. I already tried to play around with the madVR options, but nothing changed the situation.

The sound of the video is audible, but I do not see the picture. If I press CTRL+ALT+DEL the video sometimes appears (sometimes have to press "Switch to" before), but sometimes MPC-HC closes immediately. I prepared a log, where I opened MPC-HC in fullscreen, the picture was black and MPC-HC closed after pressing CTRL+ALT+DEL.

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

Maybe this log helps and I would be glad if you could find the reason for this behaviour.

fastplayer
19th November 2011, 16:47
madshi, the locking issue is probably related to the UAC issue which I've reported 2 years ago. You tried to fix but it didn't work out. My wild guess is that there's some Win32 API call that stops all drawing operation (freezing the desktop momentarily) when the screen dims during a UAC prompt or locking resp. unlocking the desktop. madVR doesn't like that and can't recover from it: render and backbuffer queues deplete to zero while the decoder and upload queues stay filled.

The UAC issue can be "solved" by either disabling UAC or setting it to "Notify me only when programs try to make changes to my computer (do not dim my desktop)".
Fixed in 0.79 after 2.5 years :D
:thanks:

Audioboxer
20th November 2011, 00:21
I'm a little new to this so please don't bite :P

When using fullscreen exclusive mode with PotPlayer I can't seem to get the seek bar to show. I have it enabled.

The only thing that will appear upon mouse movement is the potplayer controls which takes the player back into windowed mode.

Thanks!

Portioli
20th November 2011, 02:39
a couple of questions to all,

Does dxva2 de-interlace work with VC1 1080i50?

Which are optimal settings in CCC? (auto-deinterlace [on] / pulldown detection [on] all other video options disabled?)

minimum hw requirements for ATI cards (from you experience?)

jmone
20th November 2011, 03:13
Does dxva2 de-interlace work with VC1 1080i50?

Yes, I have no issue with playing back these files. FYI the issue is in the decoding (eg libav can not currenty do it) which is before the deinterlacing.

I'll leve the other Q to ATI users.

noee
20th November 2011, 03:29
Which are optimal settings in CCC? (auto-deinterlace [on] / pulldown detection [on] all other video options disabled?)


Well, I can tell you what my CCC is set for on the HD6570:

Everything is off, *except*:

Dynamic Range (Limited)
Automatic deinterlace
Pulldown..
Enforce Smooth...
Apply current video settings to Internet video

In madVR, I just set the queues back to "managed". For deinterlacing to work, I have to make sure my CPU is running 1100Mhz (all four cores) for SD and 2300Mhz for HD. For progressive material (23.976) it runs at 700Mhz for SD and 1700Mhz for HD. Using an Athlon II X4 (and K10Stat).

The lowest end ATI card I have is an HD2600XT, which I haven't tested yet for deinterlacing.

mr.duck
20th November 2011, 04:47
Which are optimal settings in CCC? (auto-deinterlace [on] / pulldown detection [on] all other video options disabled?)

Turn everything off pretty much. Especially the 'enhancements'. Don't force anything.

It's been quite a while since I last saw the CCC. I install only the bare drivers and worked out how to tweak settings (all enhancements off, adjust the saturation down) via the registry. It's very stable, it stops me going into CCC and mucking it up by tweaking the settings too much.

dansrfe
20th November 2011, 04:56
How do you change it in the registry? I wish someone could make a barebones tool to change the CCC settings. Like an alternative to CCC.

mr.duck
20th November 2011, 05:20
How do you change it in the registry? I wish someone could make a barebones tool to change the CCC settings. Like an alternative to CCC.

Yep the CCC should be a standalone portable program ~2MB in size.


Anyway, I recorded my findings and progress HERE (http://forums.amd.com/game/messageview.cfm?catid=279&threadid=147270).

ryrynz
20th November 2011, 07:50
You guys might wanna give ATi Tray Tools a shot.

http://www.atitraytools.tk/

hoborg
20th November 2011, 08:35
BTW, ATI tray Tools gives me BSOD on my Win7 x64 + Radeon 6750.

rahzel
20th November 2011, 10:03
Turn everything off pretty much. Especially the 'enhancements'. Don't force anything.

It's been quite a while since I last saw the CCC. I install only the bare drivers and worked out how to tweak settings (all enhancements off, adjust the saturation down) via the registry. It's very stable, it stops me going into CCC and mucking it up by tweaking the settings too much.
I believe madVR ignores all the CCC enhancements anyway. But now with DXVA deinterlacing, I believe madshi actually recommends that you enable automatic deinterlacing/pulldown detection (correct me if I'm wrong).

But yeah, you generally want to disable all the settings in the Video section of AMD Vision Center (or whatever it's called).

Qaq
20th November 2011, 11:06
DXVAChecker is good tool to double check (and edit) CCC settings. For advanced users only!
I prefer to keep deinterlacing in VA. This way, if I see some judder I understand that I forgot to change EVR CP to EVR (I can't get HW decoding and deinterlacing with my 5450 and madVR). Otherwise it will be EVR CP with some ugly but easyest deinterlacing method.

Thunderbolt8
20th November 2011, 11:26
can you actually make more changes with the dxva checker you othewise cant do in ccc? e.g. enabling stuff which is otherwise unsupported by dvxa (like interlaced vc-1 support)?

nevcairiel
20th November 2011, 12:22
Interlaced VC-1 is supported just fine by DXVA, its just MPC-HC and ffdshows DXVA codecs that dont support it.

Thunderbolt8
20th November 2011, 14:45
so how could I get interlaced vc-1 stuff to play if ffdshow and mpc-hc dont support it (excluding products like tmt or powerddvd)?

pankov
20th November 2011, 14:55
:)
very simple - use the Microsoft decoder provided with your OS
;)

Thunderbolt8
20th November 2011, 14:57
which one do you mean? the wmvvideo decoder dmo? or another one?

italospain
20th November 2011, 14:59
I am forced to use the Intel IGED Drivers to add a custom Interlaced Resolution for my TV.
madVR works with the Intel GMA Drivers but refuses to work with the IGED Drivers.

One thing i noticed that my custom Resolution is reported as 25 Hz Interlaced with the IGED Drivers but under the GMA Drivers interlaced resolutions are reported as 50 Hz Interlaced.

D3D games working fine.

Is this a bug in madVR ?
Is there hope you can fix it ? (I cant live without madVR )

thanks

update

I was able to get it to work with a opengl wrapper but only with the internal Display. So the question remains does madVR interpret 25 Hz Interlaced (madVR doesnt work) same as 50 Hz Interlaced (madVR works)?

pankov
20th November 2011, 15:02
which one do you mean? the wmvvideo decoder dmo? or another one?
you guessed right - WMVideo Decoder DMO

Qaq
20th November 2011, 15:16
you guessed right - WMVideo Decoder DMO
No DXVA support for ATI cards, AFAIK (a pin is missed or something).

nevcairiel
20th November 2011, 15:35
No DXVA support for ATI cards, AFAIK (a pin is missed or something).

It supports DXVA just fine, but only in WMP

pankov
20th November 2011, 16:04
I'm pretty sure I've read somewhere that there was a registry option that can turn on the acceleration in normal DirectShow applications too.
Sorry but I don't remember it exactly but it's either in this thread or in one of the LAV Filters/CUVID ones.

Portioli
20th November 2011, 16:04
:)
very simple - use the Microsoft decoder provided with your OS
;)

Unfortunately not.

I was asking about 1080i with vc1.

Ms decoder supports only weave that means no deinterlace.

Till now only cyberlink can (sw) deinterlace vc1 - no support of mpc or ffdshow.

I was asking if madvr decoder & dxva can also support proper vc1 1080i.

pankov
20th November 2011, 16:08
can you point me to a test clip so I can test locally.
I'm pretty sure the MS decoder works but I could be wrong because I've been using LAV CUVID for a long time now.

e-t172
20th November 2011, 16:16
I have some questions about RGB24 input:

- Is madVR able to detect automatically (i.e. from the actual content) whether the RGB input is full range (0-255) or limited range (16-235)?
- What's the exact processing chain with RGB input compared to YUV input? I expect some processing steps to be bypassed, but which ones exactly?

I know this was discussed a while ago, but I don't remember the conclusions. Considering madVR's behavior with RGB changed between versions, I must say I'm a little confused right now.

madshi
20th November 2011, 18:17
2.7 dual core cpu and current ati 4650 and i can run MadVR for everything other than 1080 stuff
will a new nvidia card enable me to do 1080 if i enable Cuvid?
What's the problem with the current PC? Is the CPU too slow for software decoding? Even with CoreAVC or DiAVC?

I was wondering if there is way around a little problem I'm having. Actually it's more of an annoyance than a real problem, but it drives me mad nonetheless.
Every time I start a player, the first file I'm playing gives me correct screen refresh rate (usually ~48Hz, but incorrect composition rate (60 and sometimes 30Hz).
Hmmmm... Does that also happen if you change the refresh rate to the correct rate before loading the video file?

I installed the Intel decoder, and now the clip works fine with madVR doing the decoding.

I noticed that next to the VC-1 checkbox in madVR settings, I can choose either libav or Intel decoder. I actually still have it on libav, but the interlaced VC-1 clip still decodes properly.

Is madVR using libav for non-interlaced VC-1, and automatically choosing Intel decoder for interlaced VC-1?
madVR automatically switches to Intel for interlaced VC-1 content (if the Intel decoder dll is available). In the same way madVR also automatically switches to libav, if you playback a 10bit h264 file, while having "Intel" selected in the madVR settings dialog. You can use Ctrl+J to check which decoder madVR currently uses.

If I play a clip in exclusive mode on monitor 1 then everything is "frozen" on monitor 2. I'm guessing that is normal behavior but just wanted to confirm since if the reverse happens I can use monitor 1 like normal.
I have the same problem but I would not call it "frozen" but rather the application on monitor 2 can't get the focus.
I can move the windows around but they can't become the active application.
Is that a "new" problem (introduced by a recent madVR version)? Or has it always been this way?

It's rather late at night. I was hoping to get some sleep first.
No problem. I'd still like to see a screenshot comparison from you, though. You're in a better position to do that because you know what you're looking for. If I do a screenshot comparison then I won't know if I see the difference you were talking about or not.

bug report: resuming from sleep, or switching between single-monitor and extended desktop modes (win+p in vista/7) causes madVR to become very choppy.
Is that a new problem with the latest madVR version? And madVR does not recover after a couple of seconds?

I have a problem with madVR 0.79 that doesn't happen with 0.78.
As you probably know I use MPC-HC fullscreen refresh rate changer and it has always worked.

But with 0.79, when I play a 24fps movie my LCD starts as 60Hz, then I go fullscreen and the LCD changes to 24Hz but it shows the MPC seek bar kinda out of place, I hear the audio of the movie but no image. I pause and unpause, then I can see the movie, but 2 to 3 seconds later after the movie is already playing, the LCD changes back to 60Hz even though I didn't exit the fullscreen. It should stay at 24Hz.

I go back to 0.78 and all is fine as it has always been.

Did you change anything that could have broke the MPC-HC refresh rate changer?

PS: madVR's refresh rate changer works with 0.79 and mantains the 24HZ throughout the movie. I would like to use your changer, though, if it would allow me to change the rate, only when in going fullscreen.
Hmmmmm... That's weird. Can I have a log file that shows the problematic situation?

http://www.sendspace.com/file/w5r27b
The log file says:

00012657 Render fullscreen windowed mode, covered by some windows
00012658 Render madVR window [madVR] "madVR" {0,0,1920,1200}
00012659 Render covered by explorer.exe window [EdgeUiInputWndClass] {0,1185,15,1200}
00012661 Render covered by explorer.exe window [EdgeUiInputWndClass] {0,100,1,1100}
00012662 Render covered by explorer.exe window [ImmersiveLauncher] "Start menu" {0,0,1920,1200}
00012663 Render covered by explorer.exe window [Snapped Desktop] "Desktop" {0,0,1920,1200}
Not sure what all those explorer windows are, but they seem to cover the madVR rendering window. That's the reason why madVR doesn't switch to exclusive mode.

Does the bug also affect the other thing with having to enable the "limit rendering times to avoid glitches" or is it only related to the frame drops?
It's only related to the frame drops.

madshi, this version is working really well with JR's MC 17 Videoclock as madvr reports anticipated dropped/repeated frames swinging around by many hours or even days. Since the audio is slaved to madvr would it be worth reporting it as infinity or "slaved" in the OSD?
I don't think that's a good idea. What happens if Videoclock stops working correctly? In that situation the madVR report might show that something is wrong. I believe it's better that madVR measures these things and reports them truthfully, regardless of whether Videoclock is turned on or not.

With this update, now my queues do not fill-up, thus I drop frames (unless I drop the scaling Algorithm to something low, like Bilinear.) I went back and forth between .78 and .79 multiple times and am confident that I can only get .78 to work.
What happens if you set both queues to 8 in the madVR settings? Does that make 0.79 behave like 0.78 for you?

Method1: Cuda deinterlace
http://desmond.imageshack.us/Himg706/scaled.php?server=706&filename=alancudadeint.png&res=galhttp://img706.imageshack.us/img706/9914/alancudadeint.png

Method2: madVR DXVA2 deinterlace
http://desmond.imageshack.us/Himg257/scaled.php?server=257&filename=alandxva2deint.png&res=galhttp://img257.imageshack.us/img257/9969/alandxva2deint.png

I did the comparision of single frame by two playback methods. To be honest, the difference is very minor even through I did not capture the exact time frame. Thus the difference could come from the fact that Japanese HDTV contents have very different bit rate distribution among MPEG-2 I / P / B pictures.
I don't see much of a difference. Maybe there is a small one, but that's impossible to judge because it's not an identical frame. Can you post a comparison of the identical frame?

Another strange beast for your zoo :).

http://dl.dropbox.com/u/43376972/PAL%20film%20deinterlacing%20artifacts.mkv
PAL SD movie in .mkv.

If it is DXVA deinterlaced, we have a lot of interlacing artefacts.
And "DXVA deinterlacing off" (plain weaving?) does not help.
Thanks, but this looks like a problem with the source file, nothing even the best deinterlacer could fix.

just to clear things out

"use a separate device for presentation" option give any good on xp64 sp2 or can be safely disabled, because i see it says vista and win7 only ?
Changing this setting has no effect on XP.

and what about "present queue" also on xp64 sp2 ? is it possible to make it > "3" ?
even setting in driver to "4" still limits it to "3"...
Direct3D is limited to 3 backbuffers in XP. Nothing I can do about it.

If I lower the GPU queue to 16 but leave the CPU queue at 32 playback is fine initially with no presentation glitches, but at random it will suddenly start dropping a significant number of frames.

So with Nvidia, at least when running the latest beta drivers, I wouldn't recommend going over 16 at all.
So what final queue sizes did you end up using?

I am forced to use the Intel IGED Drivers to add a custom Interlaced Resolution for my TV.
madVR works with the Intel GMA Drivers but refuses to work with the IGED Drivers.
update

I was able to get it to work with a opengl wrapper but only with the internal Display.
I didn't even know that there are totally different drivers available. madVR has very specific requirements (GPU which has *hardware* support for D3D9 with ShaderModel 3.0). My best guess is that the Intel IGED drivers don't expose hardware support at that level, but I don't really know.

One thing i noticed that my custom Resolution is reported as 25 Hz Interlaced with the IGED Drivers but under the GMA Drivers interlaced resolutions are reported as 50 Hz Interlaced.)
That's the same. Some call is 25i, others 50i. Different names for the same thing. The same situation exists for 30i/60i. That's also the same thing.

On certain files I have a lot of dropped frames. Because I have fast hardware (core i7 -970 with GTX-570, W7 SP1), I assumed it is not a performance issue.
The drops also happen if a switch all scaling to bilinear + lower quality settings.
A full log would help (zipped please).

i've been trying to figure out why my HTPC stopped going into FSE mode, but i couldn't find anything the log regarding a window covering the display or anything like that.
Maybe you can see anything in it?

http://files.1f0.de/madVRnofse.zip

Edit:
Reinstalling MC17 seems to have fixed it for now, but if you still see something in the log, maybe it helps avoid the problem in the future.
Unfortunately the log file only contains the necessary information to analyze exclusive mode failures if you have the debug OSD (Ctrl+J) active.

i just assumed my pc wasnt fast enough do use madvr with 1080 stuf but yesterday i loaded lav video and it works. why is this when i dont have a nvidia card?
You're not even telling us what the problem was before. Too slow CPU? Too slow GPU? Some other problem? Which decoder were you using before? Etc etc...

At least since the latest build 0.79 I am getting very often a black screen when starting a video in MPC-HC. I already tried to play around with the madVR options, but nothing changed the situation.

The sound of the video is audible, but I do not see the picture. If I press CTRL+ALT+DEL the video sometimes appears (sometimes have to press "Switch to" before), but sometimes MPC-HC closes immediately. I prepared a log, where I opened MPC-HC in fullscreen, the picture was black and MPC-HC closed after pressing CTRL+ALT+DEL.

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

Maybe this log helps and I would be glad if you could find the reason for this behaviour.
It seems that madVR is not able to detect the display refresh rate, for whatever funny reason. Which GPU are you using with which refresh rate? I'd suggest trying to reinstall the GPU drivers.

Fixed in 0.79 after 2.5 years :D
Oooops, not intentionally!

When using fullscreen exclusive mode with PotPlayer I can't seem to get the seek bar to show. I have it enabled.

The only thing that will appear upon mouse movement is the potplayer controls which takes the player back into windowed mode.
How old is your PotPlayer version? Newer builds have support for madVR's OSD interface, which means that you should be able to get PotPlayer's seekbar without madVR having to go back to windowed mode. Maybe you need to tweak your PotPlayer settings a bit? Sorry, I'm not a PotPlayer expert. Maybe someone else can help out?

a couple of questions to all,

Does dxva2 de-interlace work with VC1 1080i50?
DXVA2 deinterlacing does not care what codec the video was encoded in. DXVA2 just gets video frames in NV12 format. So the answer is: Yes.

Which are optimal settings in CCC? (auto-deinterlace [on] / pulldown detection [on] all other video options disabled?)
Yes, but I'd also suggest to enable "Advanced Video -> Dynamic Range" and set it to 16-235. But not all users have this option in their CCC. If not, then don't worry, it's not much of a problem.

minimum hw requirements for ATI cards (from you experience?)
That depends on your needs. If you want to use DXVA2 deinterlacing for 1080i60 content and then scale the result with Lanczos4, then I'd suggest a 6750 or faster. My recommendation is always to pick the fastest GPU you can afford and which fits your thermal requirements. Right now I would recommend to wait for the new 28nm GPUs coming out early next yet, though.

Turn everything off pretty much. Especially the 'enhancements'. Don't force anything.
Set the deinterlacing slider to the highest value, though, and activate IVTC.

Ms decoder supports only weave that means no deinterlace.
You can force madVR to deinterlace by pressing Ctrl+Alt+Shift+D twice.

I was asking if madvr decoder & dxva can also support proper vc1 1080i.
You can use the Intel VC-1 decoder, integrated in madVR. It's quite slow, though, so you'll need a fast CPU.

I have some questions about RGB24 input:

- Is madVR able to detect automatically (i.e. from the actual content) whether the RGB input is full range (0-255) or limited range (16-235)?
Yes. You can double check (and correct, if necessary) by pressing Ctrl+Alt+Shift+I. If you find situations where the auto detection fails, please let me know, and I'll fix it.

What's the exact processing chain with RGB input compared to YUV input? I expect some processing steps to be bypassed, but which ones exactly?
Well, naturally chroma upsampling and YCbCr -> RGB conversion steps are skipped. The remaining processing chain is 100% identical. Gamut correction etc is all working for RGB input, too (if enabled in the madVR settings, of course).

dansrfe
20th November 2011, 19:33
The focus problem has always existed but I think in version 0.7x it was partially fixed to where if madVR was in exclusive mode on the secondary monitor the primary monitor would still be able to gain focus on other windows elements.

Also madshi when I minimize MPC-HC to the try the audio starts to cut and the video has to speed up from the frame that I minimized it at to the position of the audio currently.

italospain
20th November 2011, 19:47
I didn't even know that there are totally different drivers available. madVR has very specific requirements (GPU which has *hardware* support for D3D9 with ShaderModel 3.0). My best guess is that the Intel IGED drivers don't expose hardware support at that level, but I don't really know.


That's the same. Some call is 25i, others 50i. Different names for the same thing. The same situation exists for 30i/60i. That's also the same thing.


yeah thats the same thing but are you shure madVR interprets it correct and treats it the same ?
Because like i said it before it works now with the internal display but not with the external.

In my experience madVR works with 50 Hz interlaced resolution (reported by windows) but crashes with 25 Hz interlaced (reported by windows) resolution.

verfluchtes English , sorry for the bad style.

SoBizarre
20th November 2011, 21:42
I was wondering if there is way around a little problem I'm having. Actually it's more of an annoyance than a real problem, but it drives me mad nonetheless.
Every time I start a player, the first file I'm playing gives me correct screen refresh rate (usually ~48Hz, but incorrect composition rate (60 and sometimes 30Hz).

Hmmmm... Does that also happen if you change the refresh rate to the correct rate before loading the video file?



No, it doesn't. Desktop composition is always equal to screen refresh rate from before loading the first (or should I say - most recent) file, so if I manually switch to correct refresh rate beforehand, composition matches it of course. After that, it stays the same until the change to different refresh rate.

In practice:

I use 48Hz/50Hz custom or 60Hz native refresh rate and I have madVR doing the switching.

Desktop refresh rate is at native 60Hz, I load first file (23.976 fps) and refresh rate is changed to 48Hz but composition stays at 60Hz (just to add more confusion - it sometimes, very rarely, changes to 30 Hz).

Upon opening next file, composition matches the last (most recent - in this case 48Hz) refresh rate, so if I reopen the first file, or open any other file which requires the same refresh rate, I'll have matching composition.

But if second file is, say, 25fps, madVR will switch refresh rate to 50Hz but composition will change to 48Hz regardless (always equals most recent refresh rate). In this case, if the third file is 24fps, refresh rate will be switched to 48Hz, but composition will change to 50Hz (refresh rate for the second file).

Typical scenario (playing order->frame rate->refresh rate->composition)

Desktop=60Hz
1->23.976->48->60 (sometimes 30)
2->23.976->48->48
3->23.976->48->48
4->25.000->50->48
6->24.000->48->50

Most of the time (but not always :rolleyes:), when there is wrong composition, madVR reports some dropped/delayed frames. Usually, 60Hz means roughly equal number of dropped/delayed frames, and 30Hz - some dropped and lots of delayed.

Regardless of the dropped/delayed frames, when composition is reported to be different than screen refresh rate, I could actually swear the video is not perfectly smooth. Although I've been told on another forum that this problem is of "cosmetic nature" only, and given I understand what impact can placebo effect have on our perception, I still open first file twice. :D

Cheers,
SB

Pat357
21st November 2011, 02:26
Madshi,

On certain files I have a lot of dropped frames. Because I have fast hardware (core i7 -970 with GTX-570, W7 SP1), I assumed it is not a performance issue.
The drops also happen if a switch all scaling to bilinear + lower quality settings. I started logging and this messages were often repeated in the log :

00092845
00161358 Render drop frame 9246, no free vsync slot, plannedVSync: 4121
00161358 Render drop frame 9247, no free vsync slot, plannedVSync: 4122
00167112 VSync drop frame 9570, can't delay, plannedVSync: 4448, present vsync: 4467, next frame's vsync: 4449
---------------------------------------------------------------------------------------------------------------------------
00041624 Upload drop frame 2119, can't be rendered in time, plannedVSync: 1936, timeLeft: 17220, vsync interval: 19992
00042140 VSync drop frame 2132, can't delay, plannedVSync: 1960, present vsync: 1961, next frame's vsync: 1961
00042460 VSync drop frame 2146, can't delay, plannedVSync: 1976, present vsync: 1977, next frame's vsync: 1977
00042780 VSync drop frame 2160, can't delay, plannedVSync: 1992, present vsync: 1993, next frame's vsync: 1993
00043100 VSync drop frame 2174, can't delay, plannedVSync: 2008, present vsync: 2009, next frame's vsync: 2009
00043740 VSync drop frame 2202, can't delay, plannedVSync: 2040, present vsync: 2041, next frame's vsync: 2041
00044379 VSync drop frame 2230, can't delay, plannedVSync: 2072, present vsync: 2073, next frame's vsync: 2073

If you need the complete log, just say the word, but maybe you can already tell in what direction I have to search to resolve this issue.
It seems it most happens in Window mode (Aero on), much less in exclusive mode. Also if interlace is active, it seems to happen more often, but it could also be the content itself.
I can't reproduce it every time, it seems to happen sometimes.
My buffers settings are : decoder=20, GPU=10, backbuffer =10, and they are filled to about max-2/(max-1 or max), just the backbuffer goes to 0 if the frame gets deleted from the queue.

The GPU load < 35 %, CPU load < 5%.
I use Lav-filters to decode, player is MPC-HC and MadVR v0.79.
System : Core i7 970 (6+6 cores) @3.6 Mhz / 24 GB RAM @ 1600 Mhz
Win7 x64 including latest updates (auto-update) / Aero ON
NV GTX-570 , NV drivers : latest WHQL
Lav filters 0.39 + MadVR v0.79 with latest MPC-HC

This time with full log-file :

Window mode : file plays OK, no dropped frames,
FSE mode : lots of "no vsync slot available"

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

bjd
21st November 2011, 13:21
Ouch, this is bad. madVR has a very complicated logic in it which reads the current VSync scanline from the GPU once per millisecond. Then it looks at all the collected scanline data and tries to do some very clever math to calculate the exact refresh rate. It seems that in your case the scanline data sometimes allows different interpretations (50Hz and 75Hz). I've never heard of such a problem before. This will be hard to fix. Does this occur in windowed and/or fullscreen exclusive mode?



Madshi, thanks for the info. I have spent the last week working on this and managed to resolve by using Powerstrip. Clearly there is some stability issue with using a NVidia custom resolution in my system (I am guessing driver). However even though my TV only supports 50 & 60hz, i can actually lock it at 47.952 (or as near as i can in Powerstrip) which works better for 23.976 material. On another note even though my GT430 runs at about 20-30% load according to GPU-Z when upscaling using spline at 4 taps, i get the odd glitch where as 3 taps causes none so is my preferred scaler. Also with 2gb of GPU ram, madvr defaults to a 28 frame queue/1024mb RAM use which seems a bit OTT, so i have manually set to 16 which means about 716mb in use from memory.

Bottom line, I now have perfect playback and a stable refresh with smooth playback.