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

TinTime
9th April 2009, 15:09
My first impressions...

Testing
I thought the best way to test madVR would be to sit down and watch a movie all the way through, rather than trying lots of different clips.

Hardware
Athlon X2 5000, Nvidia 8600GT (512MB) feeding 1080p plasma telly (DVI to HDMI) at 24Hz (23.998Hz according to ReClock).

Software
Win XP SP3, Zoom Player, CoreAVC with CUDA enabled, ReClock in S/PDIF passthrough mode. Er, and madVR ;)

Source file
mkv ("Revenge of the Sith" if anyone cares), 1024x576 h264, DTS audio. Encode from a PAL DVD but a/v slowed to 23.998Hz (prior to playback) to match my refresh rate as reported by ReClock.

Installation
No problems here - worked as advertised, but I guess those having difficulties were using Vista.

Playback
Initial brightness levels were off for me so there was a brief interlude where I went from "What on earth is cr3dlut?" to generating a new 3D LUT (PAL DVD to RGB Video) :D
I then watched the film. As I said above the source file frame rate matches the display refresh rate.
So after 2hrs+ I'm happy to report that playback was smooth for me - no stuttering, no tearing. General image quality is as good as I've ever seen, although I need to calibrate my display or play around with different 3D LUTs to get the levels correct (low blacks are currently too bright). EDIT - changed output format from sRGB to Blu-ray and this sorted it. I need to read up on cr3dlut. If I use VMR9 or Haali at 24Hz (but not 50Hz or 60Hz) I get occasional tearing and stuttering when I first start playback which can be fixed by pausing the video. This never happened with madVR. Not bad for v0.1 beta :)
No problems either running madVR and CoreAVC CUDA at the same time, although I haven't tried any HD video yet.
STaRGaZeR mentioned weirdness when going from windowed to fullscreen. When I do this there is a split second where the windowed image is displayed within the fullscreen image - I think. It is for a split second so it's kind of hard to tell, and not a problem as far as I'm concerned unless it's a symptom of a bigger issue.

Conclusions
Very impressive and no problems for me on my system so far. I went on a bit of a clicking frenzy, trying all the resizers and turning performance options on and off at random, and none of the settings caused any crash.
And so to the inevitable feature request... In the future you mentioned adding support for user switching between 3D LUTs. I have absolutely no idea whether this is possible or not, but what would seem to be ideal for playback purposes would be to flag mkv files somehow to indicate to madVR which 3D LUT to use when playing it back. Perhaps the appropriate LUT could be attached to the mkv and madVR would load it from there? That's for further down the line anyway.

So that's it for now - another quality product :thanks:

yesgrey
9th April 2009, 16:27
madshi, have you tested this with neuron2's VC1/AVC CUDA decoder, or coreavc's CUDA? That can get you back some h/w acceleration. :)
I've tested this, but it did not worked fine. My card is a GF8600GT 256MB, but I think it's not lack of GPU power, it seems to be some kind of "fighting" for resources between CoreAVC with CUDA and madVR. One user with a GF 8600GT 512MB reported good results, so, perhaps it's only a "fighting" for graphics card memory (mine has only 256MB)...

List of things to improve to make it perfect for me:
- Improve load time. It's not that slow but if it can be improved... :p
It's in our plans adding compression for the 3DLUT files to reduce size and (hopefully) improve load time.

I'm planning to add support for 10bit and 16bit output modes once Windows 7 arrives.
Some graphics cards seems to already support 10bit output mode when using fullscreen (Belyiaal add that to mpc-hc evr-cp).

Or is the image just squeezed for a short time?
I also see this.

BTW, forgot to mention: Subtitle rendering is currently not supported. That needs to be added, too.
Yes, It would be good. Currently I have to keep using ffdshow's subtitle rendering.

Thunderbolt8
9th April 2009, 16:36
regarding speed: I played a few HD remuxes now with madVR and ffdshow on my system (c2d @2800, 400MHz bus + 7600GT). most stuff starts around 30fps and then very(!) slowly pends down to little above 24fps (but mostly doesnt reach 23.9 fps). but the picture is actually never really fluid and theres can also a very little audio delay perceived. guess my hardware is a little too slow, at least for v0.1. seems to be a little faster with coreavc instead of ffdshow, but not as fluid as ffdshow or coreavc with haali.

edit: another little things, step forward (right arrow button) in mpc also doenst work yet ;)

leeperry
9th April 2009, 16:39
In the future you mentioned adding support for user switching between 3D LUTs. I have absolutely no idea whether this is possible or not, but what would seem to be ideal for playback purposes would be to flag mkv files somehow to indicate to madVR which 3D LUT to use when playing it back. Perhaps the appropriate LUT could be attached to the mkv and madVR would load it from there? That's for further down the line anyway.
well, one LUT for SD/one for HD would do IMHO(like <1024 horizontal>)
noone can guess if you're watching US, PAL or HDTV gamut stuff...so shortcuts in the start menu would enable you to change that(by renaming/decompressing), because having (2x96)x3 is nearly 600MB of LUT data.

PS: or maybe they could be compressed?

yesgrey
9th April 2009, 16:43
because having (2x96)x3 is nearly 600MB of LUT data.
That's why we want to add compression...
For example, a 96MB 3DLUT file compressed with winrar at the best compression method could end up to a size of only... 640kB!...

racerxnet
9th April 2009, 16:46
Using MPC-Hc I get a macrovision failure when opening a disk.:scared:

MAK

Win XP SP2
DX updated
ATI 3850 ATI 9.2 drivers
C2 Duo 6320

leeperry
9th April 2009, 16:47
That's why we want to add compression...
For example, a 96MB 3DLUT file compressed with winrar at the best compression method could end up to a size of only... 640kB!...
yeah that's what I use atm on my ramdisk(decompressing if I wanna go PAL/NTSC/HDTV), but it takes 2/3 seconds to unRAR...I'd rather waste 200MB of RAMDISK than wait 3" before each movie opens :o

plus MPC's major point is that it takes 100ms to open up, KMPlayer is so darn slow...my benchmarks are available here : http://www.kmplayer.com/forums/showthread.php?t=11629

PS: oh well, 2x96 of LUT is fine...forget what I said, just setting one LUT for SD/one for HD and we'd be all set :cool:

TinTime
9th April 2009, 17:02
well, one LUT for SD/one for HD would do IMHO(like <1024 horizontal>)
noone can guess if you're watching US, PAL or HDTV gamut stuff

You're right that you can't guess. I know when I create an mkv file what it is though. That's why I thought that if I can tag the mkv in some way (BT.601 or BT.709 I suppose) that madVR could then pick up on this and choose the LUT accordingly. No manual selection then and no assumptions based on resolution.

But as I said before I've got no idea if this is feasible or not, and this is a purely selfish idea based on how I'd like my HTPC to work :)

That's why we want to add compression...
For example, a 96MB 3DLUT file compressed with winrar at the best compression method could end up to a size of only... 640kB!...

Sounds good - thanks for your work too on the LUT side of things!

leeperry
9th April 2009, 17:10
You're right that you can't guess. I know when I create an mkv file what it is though. That's why I thought that if I can tag the mkv in some way (BT.601 or BT.709 I suppose) that madVR could then pick up on this and choose the LUT accordingly.
indeed a tag in the filename would be great, like no tag=SMPTE-C otherwise [EBU]/[REC.709] :)

cyberbeing
9th April 2009, 17:10
Could you make a small change so the properties settings are retained? It would be nice to not have to change the settings every time I load a video.

Another thing that would be nice is some simple statistics that show the achieved framerate, actual framerate, jitter, sync offset, and frame drops (is madVR able to drop frames or does it never drop frames?).

BTW, forgot to mention: Subtitle rendering is currently not supported. That needs to be added, too.

Subtitles are currently working perfectly with VSFilter auto-loading.

Thunderbolt8
9th April 2009, 17:20
yes, but only with autoloading. but then you cant choose between differents subs, for example different ones inside one mkv file or between an internal or an external file.

clsid
9th April 2009, 17:23
Then you are doing something wrong! DirectVobSub (aka VSFilter) supports subtitle switching and works for both embedded and external subs.

Rectal Prolapse
9th April 2009, 18:23
both, haali and madvr look quite similar to each other, apart from that one can see that haali outputs a bit too much red.

I believe this is because haali has the incorrect colorspace conversion for 709. AFAIK, Haali Renderer has always had the wrong colors, which is why I don't use it (I have calibrated displays and I can see the problems hehe).

leeperry
9th April 2009, 18:37
haali has the incorrect colorspace conversion for 709.
it's also wrong for 601....HR in YUY2 is a no no :o

Rectal Prolapse
9th April 2009, 19:09
heh, I didn't know that leeperry!

Anyhow - kudos to madshi for this cool renderer.

leeperry
9th April 2009, 19:14
heh, I didn't know that leeperry!
well, there's some new comers that didn't follow all the previous episodes :D

Dark Shikari
9th April 2009, 19:43
@Dark

this is not about dithering to RGB16, but dithering from YV12 (i.e. floating point)YV!2 isn't floating-point.to RGB24/32. What you observed is something totally different, namely GDI dithering from RGB24 to RGB16. ;)But then why does it still dither even when I use FFDshow for the conversion? ;)

cyberbeing
9th April 2009, 19:46
yes, but only with autoloading. but then you cant choose between differents subs, for example different ones inside one mkv file or between an internal or an external file.

Then you are doing something wrong! DirectVobSub (aka VSFilter) supports subtitle switching and works for both embedded and external subs.

Subtitle switching is working fine over here as well using VSFilter and Haali Media Splitter on MKVs with multiple subtitles. Switching between internal and external subs also is working fine. I think clsid is right, you must be doing something wrong.

TripleH
9th April 2009, 20:12
My findings (all tests was made with remuxed BDs):

Configuration:

Intel Core 2 Quad Q9400
2GB DDR2 800Mhz CL4
Radeon HD 4670 512MB GDDR3

Windows Vista Ultimate SP1 32bit
ATi Catalyst 9.2

FFDShow video decoder, MPC-HC and Reclock latest version

1080p@23.976hz to Optoma HD81 projector


Result:
The video is suffering from massive tearing, and Reclock Vsync correction doesn't seem to work on it (the Vsync cross is always stays at the same area, even if I move the Vsync target position).

Moreover, I've tried setting Reclock hardware access method to both automatic (then it choose DirectDraw) and Direct3D, and the result is the same.



I think it'll be one hell of a renderer when it stables.

cyberbeing
9th April 2009, 21:24
Configuration:

AMD X2 4800+ @ 2.64Ghz
2GB DDR400 @ 440Mhz 2-3-3-6-1T
NVIDIA 7800GTX 512MB

Windows XP SP3 x86
NVIDIA Forceware 182.50

Tested Resolutions:
1920x1080@120Hz, 1280x720@144Hz, 1600x1200@96Hz
on Sony GDM-F520

Software:
CoreAVC(software only)/FFDshow, MPC-HC, Reclock 1.8.4.2

I'm seeing no tearing with or without Reclock. It's not as smooth as Haali Renderer, but since you haven't done any work on smoothness yet, that is to be expected. It is very watchable with the current smoothness, but I will welcome any improvements you are able to make in that area.

Other then the simple changes in my previous post, and the ability to switch between two different LUTs automatically depending on the video resolution, I have no other wishlist features in mind.

BUG:
madVR freezes (locks up) when I check both use 10bit luma & chroma buffer during playback and hit apply. It recovers when I uncheck the options and click apply.

madVR freezes (locks up) when I check use 10bit luma buffer and click apply. It recovers when I uncheck the options and click apply.

madVR crashes the player silently when I check use 10bit chroma buffer and click apply.

Thunderbolt8
9th April 2009, 22:05
Then you are doing something wrong! DirectVobSub (aka VSFilter) supports subtitle switching and works for both embedded and external subs.
hm seems like it. on another system that button is not greyed out, although I did exactly the same on I did on my PC. strange :S

Mark_A_W
9th April 2009, 22:48
My setup:

Q6600
HD2600XT
Vista32
CRT monitor/projector running 1920x1080 interlaced at 95.904hz exactly.
CoreAVC for AVC
FFdshow using WMV9 decoder for VC-1
(Therefore no DXVA...ever!!)
Ffdshow doing RGB HQ for Haali Renderer
Reclock
Madflac for Flac (of course ;) )

With MadVR I get slight stutters and tearing. The tearing is odd, there are about 5 little tears, rather than the more normal big single tear towards the top of the screen (I get that with EVR back on XP).


More info:

I'm watching 1080p BD/HD-DVD transferred to MKV.

And the levels were fine. They were unmolested, with black at 16 and white at 235....just the way they should be ;)

When I play a file with a freshly opened ZP, all is well. But if I try to play another file, or replay the original, ZP just disappears.

I haven't played with the scaling options...because I don''t scale anything (HD on HD baby!).

Thanks Madshi

Mark

vucloutr
9th April 2009, 23:03
..
NVIDIA 7800GTX 512MB
..
BUG:
madVR freezes (locks up) when I check both use 10bit luma & chroma buffer during playback and hit apply. It recovers when I uncheck the options and click apply.

madVR freezes (locks up) when I check use 10bit luma buffer and click apply. It recovers when I uncheck the options and click apply.

madVR crashes the player silently when I check use 10bit chroma buffer and click apply.
I encoutered the same problem with GeForce 7 Series onboard graphics.

silent crash on 10bit luma and/or chroma when hitting apply.

btw: great work madshi !
first eac3to and now this gem. thanks ! ^.^

Rectal Prolapse
10th April 2009, 01:09
Hmmm. If I use Haali Media Splitter + Autoloading VSFilter, the madVR renderer is never loaded. Only the regular Video Renderer is loaded, and the subtitle rendering is awful. If I disable VSFilter.dll, madVR loads fine again. What am I missing?

(I am using an older Haali Media Splitter, from June 2007, the last known Haali splitter that doesn't blow out my speakers when playing LPCM in .m2ts files).

TinTime
10th April 2009, 01:21
Is VSFilter passing out YV12? If not then madVR won't connect.

Rectal Prolapse
10th April 2009, 01:21
Hmm didn't work with latest Haali splitter either.

madshi
10th April 2009, 10:04
Second, the output color is certainly different from EVR CP and everything else. I think madVR is wrong though
You were right after all. There is a bug in madVR's color handling. This will be fixed in the next build.

I think the scaling method crash may have something to do with something else entirely and not relate to the scaling itself. The thing is, I can't change the scaling method by go to MPC-HC options->external filter. When I change it there and play a file, it go back to default. When I right click while playing and change it by go to filter->madVR then close the file and reopen it, MPC-HC crash as soon as (I guess) the 96mb is filled and it try to display the video.
Strange. You don't need to close the file and reopen, though. Changing scaling settings by right clicking during playing should show immediate effect.

If you want any hardware acceleration working best on ATI you must use NV12, be it hardware decoding, deinterlacing, post processing or color conversion.
Well, I've retested and I get ugly chroma upsampling with ATI when using NV12, too. However, Beliyaal has sent me a screenshot of his ATI card which looks a lot nicer. We're not sure yet why he gets different results than I do. Might be due to different OS, driver version or graphics card...

Will this work on popular integrated video card Intel GMA X3100/X3000 (http://en.wikipedia.org/wiki/Intel_GMA#Table_of_GMA_graphics_cores_and_chipsets)?
Technically it should work. But I rather guess that the Intel GMA shaders and memory access speed will not be fast enough for fluid playback. But you can give it a try...

With default upscaling, I get substantial tearing at 24Hz. Switching to 3tap Lanzcos or Spline helps. Haven't tried any other settings. When I switch to 60Hz, the tearing goes away.
The video is suffering from massive tearing
Not sure why you guys get tearing. I've not seen any tearing on my setup. But I'll investigate. I plan to implement a fullscreen mode, which should get rid of any tearing, if all else fails...

edit: another little things, step forward (right arrow button) in mpc also doenst work yet ;)
I know, but I don't know why it doesn't work right now. Will have to see...

Would it be possible to get DXVA working with madVR?
Nope, sorry.

Great work, specially the dithering is impressive. ffdshow's output is inferior just because it does not have dithering. I'm sure ffdshow converters calculate in 10bit and round to 8bit.

With "Allow output format change during playback" checked and "Connect to compatible filters only" unchecked,
I found two issues,
I cannot toggle resize during playback.
I cannot play DVD at all (DVD: Macrovision Fail) whichever the decoder is.
Reconnecting filters is the most difficult and important step in DirectShow.
Each video renderer has its own API to reconnect, and most open source DirectShow filters have workaround for each video renderer. This is a big mess. I don't want to add new workaround in ffdshow.
Please simulate one video renderer's behavior so that we don't have to code too much.
Also please document how to reconnect with your video renderer.
You may want to check out our svn and read Tffdecoder.cpp TffdshowDecVideo::reconnectOutput (which is a mess) or DScaler5's DSVideoOutPin.cpp.
Thanks for the feedback! I'll see what I can do about the reconnect problems. Can you give me a hint what I need to do to make this macrovision error go away? I've no clue right now...

My first impressions...
Thanks!

And so to the inevitable feature request... In the future you mentioned adding support for user switching between 3D LUTs. I have absolutely no idea whether this is possible or not, but what would seem to be ideal for playback purposes would be to flag mkv files somehow to indicate to madVR which 3D LUT to use when playing it back. Perhaps the appropriate LUT could be attached to the mkv and madVR would load it from there? That's for further down the line anyway.
I'm not sure how I will handle that. Theoretically the video bitstream contains information about which color transformation has to be used, but sometimes this information is not available.

Could you make a small change so the properties settings are retained?
That's on my to do list, of course.

BUG:
madVR freezes (locks up) when I check both use 10bit luma & chroma buffer during playback and hit apply. It recovers when I uncheck the options and click apply.

madVR freezes (locks up) when I check use 10bit luma buffer and click apply. It recovers when I uncheck the options and click apply.

madVR crashes the player silently when I check use 10bit chroma buffer and click apply.
I encoutered the same problem with GeForce 7 Series onboard graphics.

silent crash on 10bit luma and/or chroma when hitting apply.
It seems that either your graphics card hardware or the driver you're using doesn't support 10bit temp buffers. I'll need to handle that situation gracefully, of course, but I'll probably not be able to make 10bit work for you.

When I play a file with a freshly opened ZP, all is well. But if I try to play another file, or replay the original, ZP just disappears.
Strange. Doesn't happen with MPC HC, it seems. Will have to check that...

madshi
10th April 2009, 10:05
madVR 0.2 released

http://madshi.net/madVideoRenderer.rar

* fixed: colors were not fully correct
* improved install/uninstall

Thunderbolt8
10th April 2009, 10:37
thanks! :D

haruhiko_yamagata
10th April 2009, 10:52
Thanks for the feedback! I'll see what I can do about the reconnect problems. Can you give me a hint what I need to do to make this macrovision error go away? I've no clue right now...

Well, just random guesses...
For DVD playback, renderers have to implement subpicture input pin. ffdshow does alpha blending in itself, this shouldn't be necessary (only if you use ffdshow) though.
Renderers have to support switches between 16:9 and 4:3 during playback. Even if it is the first picture, it's technically during playback.
You could ask Casimir for support.

Matching_Mole
10th April 2009, 12:41
madVR is really interesting and if you succeed to improve its smoothiness at the level of HR or EVR CP customized by Beliyaal, it will be the best renderer on Windows.

Just a question, do you plan to handle the subtitles like doing VRM9 and EVR?

Thanks.

STaRGaZeR
10th April 2009, 13:40
Well, I've retested and I get ugly chroma upsampling with ATI when using NV12, too. However, Beliyaal has sent me a screenshot of his ATI card which looks a lot nicer. We're not sure yet why he gets different results than I do. Might be due to different OS, driver version or graphics card...

Try with other renderers, in Vista if you use NV12 and EVR Custom, you get bad chroma upsampling. However if you use plain EVR instead you get good chroma upsampling. Weird.

Mike5
10th April 2009, 15:47
XP SP3
Radeon 9700 Pro 128MB
Catalyst 9.1

I can't have madVR working. I tried MPC-HC (special version) and ZP6 with or without the last reclock and get audio but no video for several second, then both players freeze.

I checked YV12 in decoder output (both internal MPC-HC and ffdshow tried) and in Reclock.

Finally I tried Graphedit, changing the video renderer to madVR and get the same behaviour: audio, no video, after a few seconds Graphedit freezes.

Perhaps the video card is too old (it's my workplace PC and dates back to 2002).

Tonight at home I'll try on a recent PC.

Xorp
10th April 2009, 16:21
I get some wackiness trying to play VC1 content:

http://img208.imageshack.us/img208/1112/bad1.th.png (http://img208.imageshack.us/img208/1112/bad1.png)http://img167.imageshack.us/img167/7917/bad2.th.png (http://img167.imageshack.us/img167/7917/bad2.png)

None of those color issues with AVC, but playback is very choppy on higher bitrate stuff, get about 15fps. But CPU is at 100% (C2D @ 3.4ghz)

No issues with MPEG2 stuff it seems.

Graphics card is a 8800GTS 640MB, its the original G80 version so no DXVA or CUDA.

Also, madVR didn't work for me at all with v0.1, just got a black screen.

Keiyakusha
10th April 2009, 16:47
After installing version 0.2, in settings it still shows ver 0.1. Thats normal?
http://www.petaimg.com/u397/858111.png

Mike5
10th April 2009, 18:14
Tonight at home I'll try on a recent PC.

Tried on a E8500, ATI HD 4650 (my HTPC)

XP SP3 Catalyst 9.1
Now it works fine with HD content, quality appears excellent to me. As for smoothness, I need to watch a whole movie.

As for DVD on Hard Disk, if I open the .IFO file, MPC-HC hangs. No problem with single .VOB files.

Windows 7 7048 Catalyst 9.3
Perfect with HD content.

As for DVD on Hard Disk, if I open the .IFO file, I get the error: DVD: Macrovision Fail. No problem with single .VOB files.

So, probably the problems in the workplace PC were due to the old video card, but there is still a problem on DVD.

What's this Macrovision Fail that I have seen reported by others above,too ? It reminds me old analogic stuff.

P.S. Both in XP and Windows 7 madVR needs d3dx9_35.dll to be present in C:\Windows\System32. I downloaded it from the Internet.

Brazil2
10th April 2009, 19:28
I get some wackiness trying to play VC1 content:

http://img208.imageshack.us/img208/1112/bad1.th.png (http://img208.imageshack.us/img208/1112/bad1.png)http://img167.imageshack.us/img167/7917/bad2.th.png (http://img167.imageshack.us/img167/7917/bad2.png)
I got the same but only when the MPC-HC internal VC-1 decoder is used. It's Ok with the Microsoft VC-1 decoder (wvc1dmod.dll).

However I have a 1920*1080 VC-1 video in a MKV container (demuxed from the M2TS with TsMuxer and muxed in a MKV with MKVToolNix) that doesn't want to be displayed with the correct aspect ratio with MadVR and only with MadVR. Aspect ratio is correct with other renderers (VMR and EVR).

Video
ID : 1
Format : VC-1
Format profile : AP@L3
Codec ID : WVC1
Codec ID/Hint : Microsoft
Duration : 1h 37mn
Bit rate : 26.8 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.539

Egh
10th April 2009, 21:49
madVR is really interesting and if you succeed to improve its smoothiness at the level of HR or EVR CP customized by Beliyaal, it will be the best renderer on Windows.


Oh, someone really started doing the right job! HR is the best, let's see if this renderer can match it ;)

16bit per channel per design is the way to go!!!! I just love it!

As for Beliyaal's or even not customized EVRCP, I love your sarcasm. Just in case you didn't know, both Beliyaal's and SVN versions output junk instead of video on EVRCP on my system. If not Haali or now madVR I'd be stuck with VMR9 on a system with pulls Crysis in medium settings easily....

As for DXVA with modern systems it is not a priority for mainstream PCs, only for nettops and stuff, and even that realistically is a bit too early as first nettop with integrated GeForce 9400M has just been announced.

I will choose CPU&Quality over "Fast, unreliable and limited in functionality" DXVA anytime...

Besides, due to GPU usage on HR and on madVR, much of the quality improvement is achieved on GPU anyway.

I will probably start saving for true 10bit capable LCD panel :)

KoD
10th April 2009, 22:30
Laptop with a Merom Core 2 Duo T5800 (800 Mhz FSB), 2GHz and Nvidia GeForce 9600M GT with 512MB DDR3 dedicated memory graphics.

Media files are played with ZoomPlayer. No ReClock or other similar filters. Using latest "official" notebook drivers from Nvidia's website, no "modded" ones (so no CUDA for video, either).

Good things:
- playback is good, colors seem to be appropriate, no tearing that I was aware of
- loading time is low enough, but it's true it causes a litle desync at the beginning of playback, with sound going on and video playing catch up. However, catching up happens very fast, even with 1080p files. In comparison, Haali's renderer, once it loses sync, it keeps on widening it as playback goes, and never catches it up (well, unless you pause the video and let the buffer fill in, then resuming playback and pausing it again, to allow the buffer to fill in some more, and so on untill you get to around 4 ms, after which Haali's renderer seems to be able to keep sync). madVr catches up sync very fast and keeps it, so this is a great improvement over Haali's behavior. This is most noticeably on laptops, where power management might keep the CPU running at a lower frequency when starting playback, until it figures out the load went sky high and it needs to increase the clock speed.
- subtitles work perfectly with VSFilter. The issues people are reporting are either related to filter management issues on their system, or MPC random bugs (if they're using MPC).
- CPU load is light, however the GPU load is not. I notice that when I look at the temperatures monitor: CPU temps stay low, but GPU ones rise.
- regarding playback smoothness, there are issues, but I don't know if they're ZoomPlayer related or madVR related. Let's explain:

I start a file in ZoomPlayer and playback seems smooth. I stop playback, without closing the player. I start another file, and now playback might be smooth, or it might be jerky (visible on long pans). No matter what I do, like opening another file (but still not having closed ZoomPlayer), I can't seem to get rid of the jerkiness. Now, I close ZoomPlayer. I open ZoomPlayer again and start playing the file I got jerkiness. However, this time playback is smooth...

I should say playback of one file after another in ZoomPlayer is always smooth with Haali's renderer, it doesn't randomly start to get jerky like with madVR.

Features requests:
- having the renderer remember the settings is a must. Each time playback starts, it forgets what the settings were.
- remembering the position of the settings panel on the screen, is also a good thing to have.

Questions:
- how does the filter know whjat .3dlut file to use. What if I have many .3dlut files in the folder where madvideorenderer.ax is, will it load one at random, or will it load only the out16.3dlut one ?

Issues:
- madVR accepts YUY2 input, however it can't handle it and shows a black screen. The proper behavior in this case would be to reject a connection with YUY2 input, not to accept it.
- sometimes, after changing the resizing algorithm in the settings panel, the renderer doesn't show a picture anymore, but only a black screen. This seems to happen randomly. Remember, I'm using ZoomPlayer, so it might be an issue between the two, as well.
- yes, switching from fullscreen to windowed is not very visually pleasing, but we can live with that.
- wrong AR on some anamorphic video mkv files, in conjunction with the "Derived" aspect ratio option in ZoomPlayer. Haali's renderer shows proper behavior.

This is related to the issue haruhiko mentioned: the renderer should accept a change of the aspect ratio during playback and adapt accordingly. Why ? Well, on anamorphic video files (like the one I'm mentioning), during intial graph connection and before playback starts, the advertised biWidth and biHeight in BITMAPINFOHEADER are those of the source size (like, let's say, 688x448), and only as soon as playback starts the desired display size gets entered into biWidth and biHeight (like 768, -448). madVR doesn't catch this change, and ends up displaying the image at an aspect ratio of 688/448 (=1.53571) instead of 768/448 (=1.776785).

One more note: dwPictAspectRatioX and dwPictAspectRatoY members in the VIDEOINFOHEADER2 structure are initialized to a value that almost reflects the correct display AR even before playback, but the value is in fact not very correct (it's rounded up). In the case above, they were dwPictAspectRatioX = 0x000031bf and dwPictAspectRatoY = 0x00001c00, which gives display AR = 1.776646. This might be considered a good enough approximation or not.


Great job with this renderer, by the way. Way to go, madshi !



Finally: login management on Doom9 Forum needs some improvement. Save goodness I had the inspiration to copy to clipboard all this text before pressing the submit button, or I would have lost everything when the forum suddenly decided I was no longer logged in. I learned this behavior from previous experiences, that's why I copied everything to clipboard before trying to submit. It happens if one doesn't enable the "Remember me" option at login.


Final edit: to all the people reporting issues with madVR: try using another player than MPC. You may not like to hear this, but you might be encountering bugs in MPC instead of bugs in madVR.

Snowknight26
10th April 2009, 22:35
I get the same thing that Xorp does except with H.264 content as well. MPC Video Decoder (YUV2) -> ffdshow video decoder (YV12) -> madVR. (Edit: Nevermind, guess it's an MPC Video Decoder issue. Blocking that filter so that only ffdshow does the decoding shows the videlo correctly.)

Also, on a laptop of mine (GM45), MPC-HC freezes and maxes out a single core while its frozen. RAM usage keeps climbing but nothing else happens.

Also, when you go to fullscreen in MPC-HC, it takes up to half a second for the video's AR to adjust to the correct AR.

Egh
10th April 2009, 23:00
This renderer potentially is top#1 choice for video elite ;)

However some issues already: massive CPU load (independent of the videocodec or original resolution), typically uses here in between 60% and 90% CPU, that is on 7900GTX (fastest 7xxx GForce) and E8500 stock freq (3.1GHzX2) Funny enough even when I pause the video it still uses around 50% so I sense a bug here as well ;)

For the same content but with Haali renderer overall CPU usage is typically around 10-15% for 720p AVC content.

So, does it really support older than 8xxx series of GForce of GPUs? If so, why so much CPU%? In order to be really usable here needs to be probably around half of the current load and definitely as minimal as possible whilst paused.

Mark_A_W
10th April 2009, 23:06
Interesting.

I'm not getting any unusual CPU load watching BD's converted to 1080p MKV.

But I am getting major tearing, which I don't get with EVR/VMR9/Haali/etc.

On an ATi 2600XT (which has been fine so far, I don't game).

Thunderbolt8
10th April 2009, 23:25
perhaps it might be optimized more for ATI card, as madshi has no nvidia card (provided that optimization has to be done into that direction and cannot be generally be done for all cards/manufactors by generally optimizing direct3d stuff or something similar). so it could make sense here to have another programmer with nvidia card trying to optimze nvidia playback then?

noee
11th April 2009, 00:23
...
But I am getting major tearing, which I don't get with EVR/VMR9/Haali/etc.

On an ATi 2600XT (which has been fine so far, I don't game).

I have the same card and the same issues here, with SD material inside MKV (AVC) and 1080P material inside MKV (AVC).

I've tried turning all of the "quality" settings off and same tearing results. Perhaps this card just doesn't have the guts?

Mark_A_W
11th April 2009, 00:27
I have the same card and the same issues here, with SD material inside MKV (AVC) and 1080P material inside MKV (AVC).

I've tried turning all of the "quality" settings off and same tearing results. Perhaps this card just doesn't have the guts?


Maybe...but like I said, it's fine with every other renderer on Vista (but not EVR on XP....but that's a bad idea).

It's early days yet, let's see what Madshi can pull out of his hat ;)

Rectal Prolapse
11th April 2009, 00:42
I fixed my VSFilter issue - I had to block several filters: Arcsoft Video Decoder, Cyberlink PDVD8 h264 Decoder, CoreAVC (it has trouble with AR on some videos), etc. and chose FFDShow as the decoder for the target videos (x264). Now it can connect! Naturally, VSFilter is limited by the resolution output by ffdshow - if I leave the resolution untouched and let madVR do the scaling, the video looks quite good, but of course the subtitles are soft and/or jaggy!

I can't wait for the subpicture pin to be implemented in madVR! :)

Hypernova
11th April 2009, 01:53
Dithering is the best indeed. Color from madVR still looks different (and looks wrong) for me, though. I still don't have time to learn about 3dlut file either. But now a lot of people already giving their feedback, I'll just sit back and wait, I think.

Edit: Now I'm spoiled by madVR dithering, could anyone suggest me the setting that give me the closest to what madVR have? I'm using Beliyaal's MPC-HC build with EVR CP right now. Sometimes I use Kovensky's mplayer build with software upscaling to my desktop resolution as well.

ice25
11th April 2009, 09:43
Interesting.

I'm not getting any unusual CPU load watching BD's converted to 1080p MKV.

But I am getting major tearing, which I don't get with EVR/VMR9/Haali/etc.

On an ATi 2600XT (which has been fine so far, I don't game).

Yup quite a bit of tearing here as well, i'm on a 8800 GTS though.

red5goahead
11th April 2009, 10:34
Any Media Portal users in there?
now I'm using Media Portal under Vista with Evr and Aero with an Asus Ati HD 3850 graphic card. I use Slysoft Reclock.
My monitor is a plasma Panasonic 37PV60 it hasn't 24p support only 50 and 60 HZ. so reclock speedup play to Pal mode. No meaningful problem.
the minor problems with this configuration are:

1) with Ati card the secondary monitor in extended desktop mode do not work very well. so when start Media Portal I switch the two monitor and plasma became the primary one.

2) with reclock the evr vsynch does'nt work. I have to use the embedded reclock vsynch correction to get the perfect smooth play (24p to Pal and Pal/25 fps either).
And only with Aero on because without Aero reclock and evr do not work fine. I got stuttering for vysnch problems.

Could be important a combined developer with Slysoft to obtain the ultimate renderer for the perfect and troubleless htpc (very optimistic :D )

yesgrey
11th April 2009, 11:38
This renderer potentially is top#1 choice for video elite ;)
7900GTX (fastest 7xxx GForce)
On an ATi 2600XT
Perhaps this card just doesn't have the guts?
Maybe...but like I said, it's fine with every other renderer on Vista
So the "video elite" want's to run madVR in such old graphics cards?:D
Please remember that madVR needs lot of shader processing power, and the old cards have very few shader processing units... My GF 8600GT only has 16, and it barelly keeps up with it. So, if we really want to use madVR, we should start thinking in upgrading... of course madshi could be able to optimize the code, but in the end it will always be a question of shading power. You have it or not.;)
It would be great if people with more recent cards would test it and post the results, so we could be able to see if it's just our cards that cannot handle it.

Dithering is the best indeed. Color from madVR still looks different (and looks wrong) for me, though. I still don't have time to learn about 3dlut file either.
I can help you with the 3dlut files creation, but you have to be more specific with your problems... Which source, which other renderers are you comparing? video levels or PC levels?

madshi,
are you ok with using this thread for 3dlut discussions, or will you prefer that we discuss 3dlut stuff in another thread?