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

Asmodian
22nd November 2012, 03:56
Contrast is, by definition, dynamic range expressed as a ratio instead of a range (white/black instead of white-black), isn't it?

With Plasma/LCDs I like and expect brightness = black level, contrast = white level. This is also the way my plasma TV works (LG PK750) for what that is worth.

Of course, changing 100% white changes 50% white and changing 0% white changes 50% white. Only changing brightness should not change 100% white and only changing contrast should not change 0% white.

I think it is easier to think about contrast as changing 100% white instead of changing gain but in reality it is the same thing. Doing all this in linear light makes it so much easier to think about compared to in gamma corrected light. You can scale with a simple multiply.

More amazing work madshi! Thanks a lot!

Gary.M
22nd November 2012, 06:20
Of course, changing 100% white changes 50% white and changing 0% white changes 50% white. Only changing brightness should not change 100% white and only changing contrast should not change 0% white.

But it's a grey scale isn't it, with 50% white actually a shade of grey and 0% white = black.

Sent using Tapatalk

Asmodian
22nd November 2012, 07:27
50% grey = 50% black = 50% white. :)

but you get what I meant. ;)

Gary.M
22nd November 2012, 08:00
I've attached a picture, I think this captures what is going on better than words...


https://www.dropbox.com/s/zb6rk0myrv50kib/brightness%26contrast.jpg

Gary.M
22nd November 2012, 08:02
Try again...

https://www.dropbox.com/s/zb6rk0myrv50kib/brightness%26contrast.jpg

Budtz
22nd November 2012, 08:14
With the new version is it possible to finally implemant a sharpening filter in Madvr?

ryrynz
22nd November 2012, 08:43
If you use Madshi's linked build of MPC-HC, yes.

madshi
22nd November 2012, 09:10
I'm not sure where these controls are supposed to be? If I'm supposed to be using the Nvidia control panel, they appear to be working correctly for DXVA2 Native.
Please don't use the NVidia control panel for this. Doing that will introduce NVidia's bad algorithms when using DXVA2, instead of activating madVR's color control algorithms. MPC-HC does not have a color control dialog, but you can assign keys to increase/decrease brightness, contrast and saturation (but not hue), and to reset the color controls to standard values. When you do that, you're activating madVR's color control algorithms...

Yes, I was using Photoshop, so it is probably still calculated in gamma corrected light. If your shader script is adjusting RGB values in such a way, it's a Chroma control, rather than a pure "saturation" control. (but operating in linear light instead of gamma corrected) Most "saturation" or "colour" controls are labelled incorrectly though. Without a full HSL colour system, a "chroma" control would be the right thing to use. (so your implementation is fine) Sorry for any confusion.
I still don't understand the difference between "chroma" and "saturation" control. Whose definition are you refering to? You're talking about a "full HSL color system" as if that would be the best solution, while in reality HSL is total crap. So if your definition of chroma vs saturation control is based on HSL then please throw your definition out of the window and forget about it as fast as possible. If your definition of "saturation" vs. "chroma" is based on something other than HSL, then please let me know where I can read about the difference between "saturation" and "chroma" control.

So I should avoid DXVA2 Native, and stick with DXVA2 Copy-Back, or does copy-back still have this problem [...]?

What about CUVID?
I already answered that before:

"It has always been this way when madVR comes in *direct* contact with any DXVA2 output. DXVA2cb/CUVID don't count as direct contact"

Is this something you are going to be able to get around, or is it up to Nvidia to fix? (and is it a hardware issue that would require new cards?)
I already answered this before, too.

DXVA2 native with LAV Video doesn't work on some files for me. I used the LAVFilters-0.53.2-8-g7fd402c release, but mpc-hc hangs with a black screen and I have kill it via the taskmanager.
Weird. It seems to be stuck while flushing the GPU or something. Can I have a sample with which the problem can be reproduced?

- DXVA2 scaling seems to use something like nearest neighbor.
Too bad, it seems to happen with both Intel and AMD, but not with NVidia. Not sure why.

- some frames are shown out of order when seeking. (DXVA2 decoding + scaling)
Can you please try to find out which feature is responsible for this problem? Is it DXVA2 decoding? Or DXVA2 scaling? Or do both have to be activated for this problem to occur?

- when seeking "scaling failed" warning may appear, but playback seems to immediately continue fine
Can I have a log from this situation, please?

@madshi, 0.85 cant work with ffdshow dxva video decoder(build 4493), it gave me a blackscreen.
Interesting, I'll give that a try.

Also the save image function doesn't work as intended when using DXVA2. When using Jinc, the image is saved in its native resolution but when using DXVA2, it's upscaled.
Oh yes, that's true. That's the way it will be for now. Will fix that some time in the future, but probably not soon.

DXVA2 scaling doesn't work for me... I set my image upscaling and downscaling to DXVA2, the on-screen display says

- scaling failed
Can I have a log from this?

Try again...

https://www.dropbox.com/s/zb6rk0myrv50kib/brightness%26contrast.jpg
Ok, I see what you mean.

But let's get back to the roots: Do we really want to replicate what old CRTs did? Does it not make more sense to design the controls today in such a way that they serve their purpose better?

With the new version is it possible to finally implemant a sharpening filter in Madvr?
Basically yes. You can use the already existing sharpening scripts in MPC-HC's list of custom shaders. They are not of comparable image quality to good AviSynth sharpening, though. That said, it should be possible to create a custom shader script which does something similar to AviSynth sharpening. It might run quite slowly, though (or require a very fast GPU).

sneaker_ger
22nd November 2012, 09:22
Can you please try to find out which feature is responsible for this problem? Is it DXVA2 decoding? Or DXVA2 scaling? Or do both have to be activated for this problem to occur?


Can I have a log from this situation, please?

Likely not before before Sunday or Monday. Hopefully someone else will have already have provided the necessary info by then.

ryrynz
22nd November 2012, 09:51
Madshi, have you considered adding presets for upscaling and downscaling? I was thinking you could have the default settings listed say for a quick revert and also your High Quality preferences listed too with the ability to have the user create up to say 10 presets or so?

psychobo
22nd November 2012, 09:58
Any chance of a portrait fix soon ? I got an eyefinity setup with 3x1 screens in portrait mode and even though the combined resolution is landscape-ish (3900x1920) it seems to be reported as portrait and MadVR won't work with it. Works fine with MPC-HC's EVR though. It is admittedly a weird setup.

madshi
22nd November 2012, 10:14
Madshi, have you considered adding presets for upscaling and downscaling? I was thinking you could have the default settings listed say for a quick revert and also your High Quality preferences listed too with the ability to have the user create up to say 10 presets or so?
This is all so much a matter of taste that it's hard for me to choose specific presets. Anyway, doing presets etc falls into the "fine-tuning" category and this is not really the time for that.

Any chance of a portrait fix soon ? I got an eyefinity setup with 3x1 screens in portrait mode and even though the combined resolution is landscape-ish (3900x1920) it seems to be reported as portrait and MadVR won't work with it. Works fine with MPC-HC's EVR though. It is admittedly a weird setup.
I spent some time a few weeks ago to try to get portrait mode to work, but I failed. According to all the information I found, it should work automagically. Direct3D is supposed to do all the heavy lifting for me, without me even having to ask about it. But for some reason it doesn't work, and I don't know why. I've found no information about this with a google search, so I don't really have a clue how to fix this at the moment. I'm sure I'll find a way to fix it eventually, but it's going to be difficult and time consuming to even find out what's going on, so unfortunately because of that it's not a high priority on my to do list at the moment...

toniash
22nd November 2012, 10:26
Thanks, I will try it out. Maybe there's a deband shader somewhere, can't find it in the official list though.
here -> http://forum.doom9.org/showthread.php?p=1498593#post1498593

leeperry
22nd November 2012, 10:29
Alright, the next build of PotP will support PS scripts with mVR :)

And FWIWT, it's currently possible to assign a specific script to its based rules automatic profiles....awaiting more infos atm because the broken english translation of PotP isn't too helpful.

ryrynz
22nd November 2012, 10:32
This is all so much a matter of taste that it's hard for me to choose specific presets. Anyway, doing presets etc falls into the "fine-tuning" category and this is not really the time for that.


Yeah I know but how many times have you seen users ask "What are the best settings?" Often they won't bother to test these options themselves, anyway and I think your preference for HQ settings would be fine as a HQ preset and nobody is really going to dispute that. Certainly it's something that fits into fine-tuning, just wanted to run it by you.

toniash
22nd November 2012, 10:34
alright, the next build of potp will support ps scripts with mvr :)

;):d:)

Prinz
22nd November 2012, 10:43
Weird. It seems to be stuck while flushing the GPU or something. Can I have a sample with which the problem can be reproduced?

12 seconds sample (https://www.dropbox.com/s/cah65mw1kfypgwq/B.zip)

huhn
22nd November 2012, 10:55
i got the scailing fail error with dxva2 from resizing the player windows
http://s3.imgimg.de/uploads/syncda33de6bpng.png

but everything is "fine"

the log ist 183 mb big after ~5 sec...

the error is right at the end but i have to resize the player alot in that 5 sec to produce the error
at least i don't get the error with seeking

http://www.file-upload.net/download-6841757/madVR---log.7z.html

kasper93
22nd November 2012, 11:02
MPC-HC does not have a color control dialog, but you can assign keys to increase/decrease brightness, contrast and saturation (but not hue), and to reset the color controls to standard values.

Are you sure? :devil: http://i.imgbox.com/ach7eJyU.png

We could add a note that it works with madVR too. FWIW. I have few ideas for cosmetic changes in mpc-hc, but I'm far from home and right now I can't make any patches ;p

TheLion
22nd November 2012, 12:24
Here is a madVR debug report with MC18 regarding the "washed out" picture problem.

After playback starts I opened the MC color controls and changed brightness and contrast and then reset to defaults again. As mentioned using this color controls turns the picture black/white. With default settings the picture is "washed out" No setting in MC, madVR or Catalyst driver fixes this.

The issue has been confirmed by other MC users.

Thanks!

ajp2k11
22nd November 2012, 12:32
I installed Win8 on my laptop a few days ago and since then I'm having trouble with MadVR in MPC-HC. Never hade any problems on Win7.

Playback starts but the screen is black and I hear audio. Sometimes the picture appears after I while or if I maximize/minimize the player a few times, maybe it's just a coincident. Some files are harder to get to play than others. MPC-HC with just EVR/CP and LAV filters on their own work fine...

My laptop has a Radeon HD6650M with Catalyst 12.10...

Suggestions?

romulous
22nd November 2012, 12:35
Hi madshi,

This was something Blight asked me to post here a little while ago - he thinks it is a bug in madVR rather than Zoom Player. There were two slightly different ways to reproduce this - so I'm not sure if they are quite the same issue or not, so I've copied them both below.

#1:
a) make sure you are using madVR with FSE option enabled
B) start a video in fullscreen mode (madVR will be in exclusive mode)
c) right click anywhere on screen (this will force madVR in windowed mode)
d) left click anywhere on the video window but on the menu from now on you can do other stuff like showing different navigators and interact with them (even close them with a right click) and the popup menu will still be visible until you right click on a different place on the video window.

Just checked with v0.85.0, and this one is still an issue.

#2:
1. Ensure the 'Enable Automatic Fullscreen Exclusive Mode' option in madVR is enabled.
2. Open Zoom, open a video.
3. Fullscreen Zoom. Wait until madVR displays the 'exclusive' on the OSD, to indicate it is in exclusive mode.
4. Right click the Zoom window.
5. When the context menu displays, madVR is kicked out of exclusive mode.
6. Immediately exit out of fullscreen, back to windowed mode in Zoom.
7. The context menu is still displaying, and won't disappear until you close Zoom, even if you right click again.

Blight's comment for #2 was "MadVR is doing something weird, it's taking focus from the menu, but the context menu never receives a windows message saying it lost focus."

Blight
22nd November 2012, 12:50
Hi everyone, here's a new ZP MAX v8.6 test build that adds support for MadVR's 0.85 color control feature:
https://dl.dropbox.com/u/104094858/zplayer_860b2.rar

Madshi:
The only thing missing to make MadVR perfect right now is image rotation for people who take videos on the side using their cell-phones.

Xaurus
22nd November 2012, 12:51
The latest mpc-hc build (1.6.5.6240) now supports pixel shaders with madvr.

http://xhmikosr.1f0.de/mpc-hc/

From changelog.txt:

+ Ticket #2739, Support custom pixel shaders with madVR v0.85.0

cyberbeing
22nd November 2012, 13:39
I personally believe that Adobe Photoshop's Brightness & Contrast methods are optimal for image quality.

http://img42.imageshack.us/img42/8089/stepchart.th.png (http://img42.imageshack.us/img42/8089/stepchart.png)
Stepchart

http://img829.imageshack.us/img829/2141/stepchartpsbrightness50.th.png (http://img829.imageshack.us/img829/2141/stepchartpsbrightness50.png)
Stepchart - Photoshop Brightness 50

http://img4.imageshack.us/img4/5390/stepchartpsbrightness10.th.png (http://img4.imageshack.us/img4/5390/stepchartpsbrightness10.png)
Stepchart - Photoshop Brightness 100

http://img507.imageshack.us/img507/3783/stepchartpscontrast50.th.png (http://img507.imageshack.us/img507/3783/stepchartpscontrast50.png)
Stepchart - Photoshop Contrast 50

http://img687.imageshack.us/img687/8435/stepchartpscontrast100.th.png (http://img687.imageshack.us/img687/8435/stepchartpscontrast100.png)
Stepchart - Photoshop Contrast 100

Traditional brightness and contrast controls only belong on TV and Monitor displays IMHO, since only there can black level and peak luminance be set.
If someone desires an ability to clip/expand a video's levels significantly, options for that should probably be placed elsewhere in madVR if needed.
Though since I really don't see myself using this functionality, I'm okay with whatever madshi ultimately decides on.

crotecun
22nd November 2012, 14:25
Can I have a log from this?



Here's a log.

madVR - log 2012-11-22 mpc-hc (http://bayfiles.com/file/t6qn/wVsgbi/madVR_-_log_2012-11-22_mpc-hc.rar)

Thanks for looking into it! :)

Boltron
22nd November 2012, 14:58
Here is a madVR debug report with MC18 regarding the "washed out" picture problem.
Thanks!

I can confirm this also with MC18. Reverted to previous madVR version (0.84.7) and all is well.

Blight
22nd November 2012, 15:12
Small glitch:
When using the frame-capture (screenshot) feature, it seems a back-buffer is displayed with junk on screen for a split second.
The captured image is fine, this is only cosmetic.

madshi
22nd November 2012, 15:48
Are you sure? :devil: http://i.imgbox.com/ach7eJyU.png

We could add a note that it works with madVR too. FWIW. I have few ideas for cosmetic changes in mpc-hc, but I'm far from home and right now I can't make any patches ;p
Ooooh, I looked in the menu for an extra color control dialog. Never thought of looking in the main options dialog... :D

I installed Win8 on my laptop a few days ago and since then I'm having trouble with MadVR in MPC-HC. Never hade any problems on Win7.

Playback starts but the screen is black and I hear audio. Sometimes the picture appears after I while or if I maximize/minimize the player a few times, maybe it's just a coincident. Some files are harder to get to play than others. MPC-HC with just EVR/CP and LAV filters on their own work fine...

My laptop has a Radeon HD6650M with Catalyst 12.10...

Suggestions?
Maybe I can say something if you upload a (zipped) log file.

This was something Blight asked me to post here a little while ago - he thinks it is a bug in madVR rather than Zoom Player. There were two slightly different ways to reproduce this - so I'm not sure if they are quite the same issue or not, so I've copied them both below.

#1:
a) make sure you are using madVR with FSE option enabled
B) start a video in fullscreen mode (madVR will be in exclusive mode)
c) right click anywhere on screen (this will force madVR in windowed mode)
d) left click anywhere on the video window but on the menu from now on you can do other stuff like showing different navigators and interact with them (even close them with a right click) and the popup menu will still be visible until you right click on a different place on the video window.

Just checked with v0.85.0, and this one is still an issue.

#2:
1. Ensure the 'Enable Automatic Fullscreen Exclusive Mode' option in madVR is enabled.
2. Open Zoom, open a video.
3. Fullscreen Zoom. Wait until madVR displays the 'exclusive' on the OSD, to indicate it is in exclusive mode.
4. Right click the Zoom window.
5. When the context menu displays, madVR is kicked out of exclusive mode.
6. Immediately exit out of fullscreen, back to windowed mode in Zoom.
7. The context menu is still displaying, and won't disappear until you close Zoom, even if you right click again.

Blight's comment for #2 was "MadVR is doing something weird, it's taking focus from the menu, but the context menu never receives a windows message saying it lost focus."
I'll put this on my list of things to look it. For now I'm more concerned about fixing all the new bugs with DXVA2 decoding and scaling first.

The only thing missing to make MadVR perfect right now is image rotation for people who take videos on the side using their cell-phones.
My to do list has 3D rendering as the next big priority now. Maybe I can look at rotation afterwards...

I personally believe that Adobe Photoshop's Brightness & Contrast methods are optimal for image quality.

http://img42.imageshack.us/img42/8089/stepchart.th.png (http://img42.imageshack.us/img42/8089/stepchart.png)
Stepchart

http://img829.imageshack.us/img829/2141/stepchartpsbrightness50.th.png (http://img829.imageshack.us/img829/2141/stepchartpsbrightness50.png)
Stepchart - Photoshop Brightness 50

http://img4.imageshack.us/img4/5390/stepchartpsbrightness10.th.png (http://img4.imageshack.us/img4/5390/stepchartpsbrightness10.png)
Stepchart - Photoshop Brightness 100

http://img507.imageshack.us/img507/3783/stepchartpscontrast50.th.png (http://img507.imageshack.us/img507/3783/stepchartpscontrast50.png)
Stepchart - Photoshop Contrast 50

http://img687.imageshack.us/img687/8435/stepchartpscontrast100.th.png (http://img687.imageshack.us/img687/8435/stepchartpscontrast100.png)
Stepchart - Photoshop Contrast 100

Traditional brightness and contrast controls only belong on TV and Monitor displays IMHO, since only there can black level and peak luminance be set.
If someone desires an ability to clip/expand a video's levels significantly, options for that should probably be placed elsewhere in madVR if needed.
Though since I really don't see myself using this functionality, I'm okay with whatever madshi ultimately decides on.
You do have a point. Putting black & white level adjustments controls in the madVR device setup might make more sense because you can set them there per monitor. True brightness & contrast controls which don't change black nor white levels might be better choices for the media player color controls. I guess brightness could simply be changed by changing the gamma curve. For contrast I also have an algorithm which doesn't modify black & white level.

What do the others say?

Small glitch:
When using the frame-capture (screenshot) feature, it seems a back-buffer is displayed with junk on screen for a split second.
The captured image is fine, this is only cosmetic.
Does this happen only under specific circumstances? Maybe only with DXVA2 decoding or DXVA2 scaling or something? I'm wondering because nobody reported this yet, so probably it only occurs when using the new madVR v0.85.0 features? Does it occur every time? Are we talking about taking screenshots while the video is playing? Or while the video is paused?

madshi
22nd November 2012, 15:51
12 seconds sample (https://www.dropbox.com/s/cah65mw1kfypgwq/B.zip)
Can't reproduce any problems here with LAV + madVR with DXVA2 decoding on win7 x64. NVidia 9400.

madshi
22nd November 2012, 16:03
madVR v0.85.1 released

http://madshi.net/madVR.zip

* fixed: corruption on bottom image border with native h264 DXVA2 decoding
* fixed: DXVA2 scaling didn't work correctly
* fixed: color controls resulted in washed out image with J.River MC
* small DXVA2 decoding stability improvement
* limited DXVA2 decoding to not work on Windows XP
* limited DXVA2 decoding to not work when using the old FSE mode
* custom shaders are now compiled with wanted profile instead of always ps_3_0
* added "[DXVA2]" to debug log when DXVA2 decoding is used
Please retest DXVA2 scaling, it should be a lot different now compared to before. No more "scaling failed" and no more point resampling with AMD and Intel. Also probably better scaling quality with NVidia now.

SamuriHL
22nd November 2012, 16:06
You do have a point. Putting black & white level adjustments controls in the madVR device setup might make more sense because you can set them there per monitor. True brightness & contrast controls which don't change black nor white levels might be better choices for the media player color controls. I guess brightness could simply be changed by changing the gamma curve. For contrast I also have an algorithm which doesn't modify black & white level.

What do the others say?


I think that makes a hell of a lot of sense, personally.

rahzel
22nd November 2012, 16:11
Sorry for the noob questions, but I haven't really followed this thread extensively, nor am I the most educated person when it comes to all this scaling/decoding stuff.

-So now that madVR supports DXVA2 native for AMD/ATI users (or all I should say), is there any downside to using it over software decoding? And what about Intel iGPUs? Intel HD4000 for example... are there any disadvantages to using QuickSync vs DXVA2? I tried both and I can definitely see that, as far as processor usage, it goes Software > Quicksync > DXVA2.

-Are the new DXVA2 scaling options for weaker GPUs? Or is there some other benefit in using DXVA2 scaling over madVR's scaling algorithms? Or am I completely off the mark here? What's the main reasoning behind this addition?

Anyway, big thanks to madshi for this big release.

ajp2k11
22nd November 2012, 16:15
Maybe I can say something if you upload a (zipped) log file.


I'll give it another go tonight and if I can't get it working I'll upload a (zipped) logfile. Thanks, much appreciated! :)

Prinz
22nd November 2012, 16:19
Something really strange is going on here. Almost no files play with dxva native and madvr. Even the files that play only play sometimes... :o

With EVR all files work.

dxva cb with madvr also works (as a very slow slideshow of course since it's a ATI 2600 XT)

wanezhiling
22nd November 2012, 16:28
0.85.1 still failed with ffdshow dxva, cyberlink dxva.
Furthermore, coreavc dxva will fall back to sw mode with 0.85.1 but is ok with 0.85.0

ice25
22nd November 2012, 16:29
For some reason Madvr 0.85.0 is outputting PC levels on some files and TV levels on others..?

madshi
22nd November 2012, 16:39
-So now that madVR supports DXVA2 native for AMD/ATI users (or all I should say), is there any downside to using it over software decoding? And what about Intel iGPUs? Intel HD4000 for example... are there any disadvantages to using QuickSync vs DXVA2? I tried both and I can definitely see that, as far as processor usage, it goes Software > Quicksync > DXVA2.
If you notice no problems then the limitations probably won't bother you. The main limitation right now is that subtitle rendering via vsfilter/xy-vsfilter won't work. Oh yes, and with Intel and NVidia there's a very small blurring of the chroma channel. There should be no image quality difference to software decoding with AMD.

-Are the new DXVA2 scaling options for weaker GPUs? Or is there some other benefit in using DXVA2 scaling over madVR's scaling algorithms? Or am I completely off the mark here? What's the main reasoning behind this addition?
The reasoning is that at least Intel is supposed to have a good scaling algorithm with hard wired circuits, so it should have good performance / quality ratio. I don't know yet how good AMD and NVidia scaling algorithms are and what the performance implications are. We'll have to find out. If it all doesn't proof to be a worthy addition I can remove it again. But I think it will be useful, at least from a quality vs performance ratio.

Something really strange is going on here. Almost no files play with dxva native and madvr. Even the files that play only play sometimes... :o

With EVR all files work.

dxva cb with madvr also works (as a very slow slideshow of course since it's a ATI 2600 XT)
Anybody has similar problems when using LAV + madVR?

0.85.1 still failed with ffdshow dxva, cyberlink dxva.
Furthermore, coreavc dxva will fall back to sw mode with 0.85.1 but is ok with 0.85.0
Yeah, still gotta look into ffdshow and cyberlink DXVA2. Funny that CoreAVC now falls back to software decoding. At least that bit should be easy to fix.

For some reason Madvr 0.85.0 is outputting PC levels on some files and TV levels on others..?
Is that a new problem introduced in v0.85.0?

Please double check input and output levels by pressing Ctrl+Alt+Shift+I (input) and Ctrl+Alt+Shift+Y (output).

ice25
22nd November 2012, 16:54
Is that a new problem introduced in v0.85.0?

Please double check input and output levels by pressing Ctrl+Alt+Shift+I (input) and Ctrl+Alt+Shift+Y (output).

Yes, it's a new problem, i never had that issue before 0.85.0. In fact i noticed that the output levels don't switch between TV and PC levels but rather between PC and crushed black levels. For the moment i changed my Panasonic output levels in the madvr config to TV levels to counter this problem, so that i can manually switch between the 2 outputs according to the file.

madshi
22nd November 2012, 17:00
As I said, please double check input and output levels, if you see the problem again. Also please double check that the color controls in your media player are set to neutral values. If you're using MPC-HC, they're in the general options dialog under "Miscellaneous".

rahzel
22nd November 2012, 17:11
Thanks for your answers, madshi.

Haven't tried my AMD rig yet, but on my HD4000 Intel, I'm noticing a small difference in gamma using DXVA2 native (LAV 0.53.1) vs the other decoders.

First screen is DXVA2 native, then the others it doesn't really matter as they're identical, but they're either Quicksync, DXVA2-CB or LAV software decoding.
http://imgbox.com/g/ABn4hB4zBf

madshi
22nd November 2012, 17:23
Have you disabled all funny algorithms in the Intel GPU driver control panel? Using DXVA2 always comes with the danger of introducing stupid GPU algorithms.

robpdotcom
22nd November 2012, 17:27
Not sure if this is a bug or a limitation, but the IVTC filter does not work with DXVA2 decoding. In fact, I cannot even toggle to "film mode" using the keyboard shortcut.

crotecun
22nd November 2012, 17:28
madVR v0.85.1 released

http://madshi.net/madVR.zip

* fixed: corruption on bottom image border with native h264 DXVA2 decoding
* fixed: DXVA2 scaling didn't work correctly
* fixed: color controls resulted in washed out image with J.River MC
* small DXVA2 decoding stability improvement
* limited DXVA2 decoding to not work on Windows XP
* limited DXVA2 decoding to not work when using the old FSE mode
* custom shaders are now compiled with wanted profile instead of always ps_3_0
* added "[DXVA2]" to debug log when DXVA2 decoding is used
Please retest DXVA2 scaling, it should be a lot different now compared to before. No more "scaling failed" and no more point resampling with AMD and Intel. Also probably better scaling quality with NVidia now.

Hooray, scaling in DXVA2 now works as expected :thanks:

And yes, the video settings in the GPU control panel do affect the output.

On my video card I can easily see the difference by turning on demo mode to split screen in AMD Catalyst settings --

http://i.imgur.com/gYzzCl.jpg (http://imgur.com/gYzzC)

http://i.imgur.com/UemMvl.jpg (http://imgur.com/UemMv)

I wonder how much different it would like on an Intel or Nvidia card :D

ajp_anton
22nd November 2012, 17:33
"New" default scalings + LAV/QS: ~17.5W
All bilinear scaling + QS: ~15.0W
DXVA scaling + QS: ~14.0W
DXVA scaling and decoding: ~13.0W
EVR-CP with any scaling: ~12.5W (<-chroma looks horrible)
EVR: ~12.0W

i7-2600k, HD3000, looking at the whole CPU package power. Upscaling from 720p to 1440p.
DXVA scaling looks a little sharper than lanczos3, but haven't made any more detailed comparisons.

ajp2k11
22nd November 2012, 17:46
I installed Win8 on my laptop a few days ago and since then I'm having trouble with MadVR in MPC-HC. Never hade any problems on Win7.

Playback starts but the screen is black and I hear audio. Sometimes the picture appears after I while or if I maximize/minimize the player a few times, maybe it's just a coincident. Some files are harder to get to play than others. MPC-HC with just EVR/CP and LAV filters on their own work fine...

My laptop has a Radeon HD6650M with Catalyst 12.10...

Suggestions?

Madshi,

debug log as requested.

Thanks!

aufkrawall
22nd November 2012, 18:10
The bars are gone, nice & thanks.

But now I have another problem:
madVR fails to correctly enter FSE if there's a display mode change at the same time when DXVA2 downscaling is selected.
It's reproducible to me. Doesn't happen with other downscale methods.

6233638
22nd November 2012, 18:12
MPC-HC does not have a color control dialog, but you can assign keys to increase/decrease brightness, contrast and saturation (but not hue), and to reset the color controls to standard values.Got it. I only tried adjusting the Nvidia settings because that was all I could find which changed the image.

Using the MPC-HC controls, they are not working correctly. Or at least, not how everyone else does it - I do think your usage is more accurate, but it will confuse anyone familiar with how the brightness/contrast controls work on anything else.

+contrast should be −brightness
−contrast should be +brightness

+brightness should be +contrast
−brightness should be −contrast

+saturation should be called +colour or +chroma
−saturation should be called −colour or −chroma

But I guess the "saturation" label isn't something you can change, and that would be up to the MPC-HC devs. (I don't think you should change how "saturation" is working in madVR)

I've also noticed that when using the "DXVA2" scaling option, the controls can be quite unresponsive and cause a large number of dropped frames. (fine with any other scaling option)


Am I correct in thinking that the brightness/contrast controls only affect either the white/black points, and are not stretching the range?

i.e. −contrast under your naming scheme is only raising black from say 16 to 20, and leaves white at 235 rather than also reducing it by a similar amount at the same time. (say to 230)


I actually think that it would be useful to have a control that adjusted both black level and white level by the same amount to fix videos which have been encoded with the wrong levels settings (sometimes a video is recorded at 16-235 but gets encoded at 30–218 for some reason) but that's not what people would expect the brightness/contrast controls to do.

I do wish there was an option to add some custom levels presets or something inside madVR rather than manually adjusting brightness/contrast for each video though. Being able to switch between "PC Levels", "TV Levels", and "Custom 1", "Custom 2" etc. would be very useful. (or at least PC, TV, and 30-218)
I still don't understand the difference between "chroma" and "saturation" control. Whose definition are you refering to? You're talking about a "full HSL color system" as if that would be the best solution, while in reality HSL is total crap. So if your definition of chroma vs saturation control is based on HSL then please throw your definition out of the window and forget about it as fast as possible. If your definition of "saturation" vs. "chroma" is based on something other than HSL, then please let me know where I can read about the difference between "saturation" and "chroma" control.Most colour management systems now use RGBCMY HSL controls to adjust things. It's a far easier way to calibrate the display because you can use dE'94 to split the colour error into its hue/saturation/lightness components and allows you to adjust each aspect individually. HSL controls allow you to dial in a display much quicker than any other method.

RGBCMY HSL controls (or xyY) are exactly what yCMS needs to adjust the LUT if the calculated points are not correct. (although personally I would rather just directly enter RGB output values, similar to when you write a custom LUT for some hardware LUT boxes)

A chroma control adjusts both saturation and lightness of a colour at the same time, and is considerably less useful in calibration. A chroma control is probably what most people would expect from something like this (http://i.imgbox.com/ach7eJyU.png) however, so your "linear saturation" implementation is fine there. (but it's technically a "chroma" control rather than a "saturation" one)

I already answered that before:

"It has always been this way when madVR comes in *direct* contact with any DXVA2 output. DXVA2cb/CUVID don't count as direct contact"Sorry, I just wasn't 100% sure on whether this was a madVR specific issue, or one with DXVA. I thought that it was a DXVA issue and that LAV Filters using copy-back would be similarly affected.

You do have a point. Putting black & white level adjustments controls in the madVR device setup might make more sense because you can set them there per monitor. True brightness & contrast controls which don't change black nor white levels might be better choices for the media player color controls. I guess brightness could simply be changed by changing the gamma curve. For contrast I also have an algorithm which doesn't modify black & white level.

What do the others say?I couldn't disagree more. I don't see how the Photoshop style of brightness/contrast adjustment is useful for video. Brightness/contrast controls for video exist solely to set the black/white point in the video to correct for level errors.

If you want to adjust midtone contrast of the image, that's what gamma controls are for. (and madVR already has keyboard shortcuts for ±gamma control)


Please retest DXVA2 scaling, it should be a lot different now compared to before. No more "scaling failed" and no more point resampling with AMD and Intel. Also probably better scaling quality with NVidia now.The image is still getting cropped slightly with DXVA2 scaling as well. (but less than it was before)

DragonQ
22nd November 2012, 19:18
So what is the implication of this new DXVA mode? Does this mean we can get hardware decoding plus high-quality MadVR scaling? Would the scaling still be done in software?

madshi
22nd November 2012, 19:21
Not sure if this is a bug or a limitation, but the IVTC filter does not work with DXVA2 decoding. In fact, I cannot even toggle to "film mode" using the keyboard shortcut.
That is as intended because the madVR IVTC algorithm currently runs on the CPU, so it doesn't work with native DXVA2 decoding.

debug log as requested.
Please upload it somewhere else. Attachments on this forum can sometimes take a long time to get approved.

But now I have another problem:
madVR fails to correctly enter FSE if there's a display mode change at the same time when DXVA2 downscaling is selected.
It's reproducible to me. Doesn't happen with other downscale methods.
It does not occur when using DXVA2 upscaling? That's weird, if it only occurs during downscaling but not during upscaling!. Can I have a debug log, please?

Using the MPC-HC controls, they are not working correctly. Or at least, not how everyone else does it - I do think your usage is more accurate, but it will confuse anyone familiar with how the brightness/contrast controls work on anything else.

+contrast should be −brightness
−contrast should be +brightness

+brightness should be +contrast
−brightness should be −contrast
Ok.

+saturation should be called +colour or +chroma
−saturation should be called −colour or −chroma
You're still continuing to talk about "saturation" vs. "chroma" without really saying which definition you're basing this on. Where is it defined exactly what a "saturation" control does and what a "chroma" control does? I hate to ask the same question multiple times, but you still haven't answered that. You're continuing to explain your understanding of what a saturation control does vs. chroma control, but you haven't said yet which definition/theory/concept this is based on.

Am I correct in thinking that the brightness/contrast controls only affect either the white/black points, and are not stretching the range?

i.e. −contrast under your naming scheme is only raising black from say 16 to 20, and leaves white at 235 rather than also reducing it by a similar amount at the same time. (say to 230)

I actually think that it would be useful to have a control that adjusted both black level and white level by the same amount to fix videos which have been encoded with the wrong levels settings (sometimes a video is recorded at 16-235 but gets encoded at 30–218 for some reason) but that's not what people would expect the brightness/contrast controls to do.

I do wish there was an option to add some custom levels presets or something inside madVR rather than manually adjusting brightness/contrast for each video though. Being able to switch between "PC Levels", "TV Levels", and "Custom 1", "Custom 2" etc. would be very useful. (or at least PC, TV, and 30-218)
The whole brightness and contrast control stuff is a big mess. Your opinion seems to be that I should design the controls in the same way displays do that. But is it really a good idea to do that? E.g. if you use the madVR controls to change the levels from 16-235 to 32-180 then you're also severely reducing the number of "steps" madVR can output. It would be better for image quality to use the display's controls instead.

Most colour management systems now use RGBCMY HSL controls to adjust things. It's a far easier way to calibrate the display because you can use dE'94 to split the colour error into its hue/saturation/lightness components and allows you to adjust each aspect individually. HSL controls allow you to dial in a display much quicker than any other method.

RGBCMY HSL controls (or xyY) are exactly what yCMS needs to adjust the LUT if the calculated points are not correct. (although personally I would rather just directly enter RGB output values, similar to when you write a custom LUT for some hardware LUT boxes)

A chroma control adjusts both saturation and lightness of a colour at the same time, and is considerably less useful in calibration. A chroma control is probably what most people would expect from something like this (http://i.imgbox.com/ach7eJyU.png) however, so your "linear saturation" implementation is fine there. (but it's technically a "chroma" control rather than a "saturation" one)
You still haven't explained where all these terms are defined that you're using. Are you basing all of this on the HSL colorspace definition? If so, you should really do some research because even if HSL might work reasonably ok for calibration, it's a very flawed system. "Lightness" as defined by HSL doesn't even take into account that green looks brighter to the human eye than blue does. So it's really a totally crappy system. If you try to judge madVR's saturation controls by HSL standards then yes, both "lightness" and "color" are changed. But the HSL term of "lightness" is totally bad. If you judge the madVR controls based on a better concept than HSL then madVR actually only changes saturation and nothing more. madVR splits the colors into luminance and chrominance (not luma and chroma) and luminance is left untouched by the saturation control. So if you think about it, "luminance" is somewhat comparable to HSL's "lightness". madVR's saturation control does not change "luminance", but it does change "lightness". But since the concept of luminance/chrominance is technically far superior to lightness/color, the proper name really is "saturation control" and not "chroma/color control", as far as I understand. If you disagree, I'm open for discussion, but I'd like some links that explain your definitions.

I couldn't disagree more. I don't see how the Photoshop style of brightness/contrast adjustment is useful for video. Brightness/contrast controls for video exist solely to set the black/white point in the video to correct for level errors.
But shouldn't level errors be corrected by using brightness/contrast controls in the display? Even if you think they should be corrected by madVR's controls, then don't they still belong into the madVR device setup, so they can be defined per monitor? If so, this can't be done via color controls, because the color controls are out of madVR's hands, so they can't be applied per monitor.

But then, media players do reapply the same color controls for every video, so the color controls are neither truely per monitor, nor are they per source file. This really is a mess...

If you want to adjust midtone contrast of the image, that's what gamma controls are for. (and madVR already has keyboard shortcuts for ±gamma control)
Changing the gamma curve can change the "brightness" of the image, but a contrast change is something different. For changing contrast you would apply an S-curve, which is different to what gamma adjustments do. Look here for more information about this:

http://tutes.tonebytone.com/ImageMagick/Enhance/SigmoidalContrast/index.php