PDA

View Full Version : Control video settings in MPC-HC with VMR7 and overlay mixer?


antdude
21st February 2012, 03:23
Hello.

Is there a way to control the gamma, brightness, colors, etc. in MPC-HC v1.6.1.4072 in old, updated Windows XP Pro. SP3 with its VMR-7 or overlay mixer option. I can't use the other ones, like VMR-9, because I can't play fullscreen on my old 20" Sharp CRT TV (from 1996). I am using an ATI Radeon 4870 video card (512 MB). :(

Thank you in advance. :)

Midzuki
21st February 2012, 15:38
Hi there.
...
I can't use the other ones, like VMR-9, BECAUSE I can't play fullscreen on my old 20" Sharp CRT TV (from 1996).

:confused: Please explain that to us!

And AFAIK, neither VMR-9 nor EVR require fullscreen mode. :confused:

P.S.: As a last resort, you can always turn to ffdshow's raw video filter...

antdude
21st February 2012, 16:14
Hi there.


:confused: Please explain that to us!

And AFAIK, neither VMR-9 nor EVR require fullscreen mode. :confused:

P.S.: As a last resort, you can always turn to ffdshow's raw video filter...When I try to watch my videos fullscreen, on an old CRT TV, while using my computer in MPC-HC with VMR-9 and EVR, I do not get the fullscreen. I have to use VMR-7 or video overlay mixer.

JanWillem32
23rd February 2012, 15:41
Perhaps I can help out a bit. Both the internal EVR CP and VMR-9 r. renderers should be capable of presenting in both full screen windowed and D3D exclusive modes. If that doesn't work, the program needs a bugfix.
Can you describe what happens when you try both full screen modes? Maybe you can post a screenshot, or a photo of the situation, because I don't really get what the exact situation is.
Resorting to overlay or vanilla VMR-7 is a rather bad solution generally, neither supports any decent resizer, for instance (it's generally only a nearest neighbor filter).

antdude
23rd February 2012, 16:18
Perhaps I can help out a bit. Both the internal EVR CP and VMR-9 r. renderers should be capable of presenting in both full screen windowed and D3D exclusive modes. If that doesn't work, the program needs a bugfix.
Can you describe what happens when you try both full screen modes? Maybe you can post a screenshot, or a photo of the situation, because I don't really get what the exact situation is.
Resorting to overlay or vanilla VMR-7 is a rather bad solution generally, neither supports any decent resizer, for instance (it's generally only a nearest neighbor filter).I will get back to you on this later. I am not at home to find out.

I do remember that using VMR-9 doesn't make my old CRT TV show the video fullscreen like video overlay mixer and VMR-7. FYI, I keep my WMP-HC in windowed on my primary LCD monitor (DVI) so I can use the computer while watching videos fullscreen on the old secondary CRT TV. I also forgot to mention that I tried clone, horizontal, etc. for the dual screen setups. And my old ATI Radeon 4870 video card is connected to a VCR and connected to the old CRT TV (only has a coax input so VCR acts like the interface with my DTV Pal DVR, computer, etc.).

JanWillem32
23rd February 2012, 19:11
What you're looking for is the D3D exclusive mode, available in VMR-9 r., EVR CP, and EVR Sync. The main player window can stay on the primary monitor if you want that. Just select your secondary monitor for the D3D9 render device In the "Options, "Output" tab.

antdude
23rd February 2012, 20:35
What you're looking for is the D3D exclusive mode, available in VMR-9 r., EVR CP, and EVR Sync. The main player window can stay on the primary monitor if you want that. Just select your secondary monitor for the D3D9 render device In the "Options, "Output" tab.
OK, I will try them later. I don't remember fiddling with rendering devices with Direct3D for my XP's DirectX 9.0c (do have the latest version).

JanWillem32
23rd February 2012, 22:40
Windows registers a display adapter for every attached monitor. That's what the "Select D3D9 Render device" option is based on. The "D3D9" part is a bit off, actually. Internally, the adapters get a 32-bit private identification number, a 32-bit master adapter identification number and a 512-character adapter name. These are the same in D3D, DXGI and OpenGL.

antdude
23rd February 2012, 23:06
Windows registers a display adapter for every attached monitor. That's what the "Select D3D9 Render device" option is based on. The "D3D9" part is a bit off, actually. Internally, the adapters get a 32-bit private identification number, a 32-bit master adapter identification number and a 512-character adapter name. These are the same in D3D, DXGI and OpenGL.Interesting even though technical. I wonder if that is why I never got VLC to work fullscreen when using OpenGL. VLC forum told me to use OpenGL since I was having audio skipping with 720p and 1080i MPEG-2/TS videos, but had to lose the fullscreen video overlay on my CRT TV. Ugh!

JanWillem32
23rd February 2012, 23:47
That's odd. OpenGL supports multi-monitor handling and full screen exclusive modes just fine for situations like this. If they're trying to use a full screen borderless window mode, I can imagine that tearing or performance problems occur though. Note that overlay is not the paramount of efficiency either. The videocard has to re-combine the desktop bitmap with the rendered video in that mode as well.

antdude
23rd February 2012, 23:53
That's odd. OpenGL supports multi-monitor handling and full screen exclusive modes just fine for situations like this. If they're trying to use a full screen borderless window mode, I can imagine that tearing or performance problems occur though. Note that overlay is not the paramount of efficiency either. The videocard has to re-combine the desktop bitmap with the rendered video in that mode as well.I haven't retried it with the recent v2, but that was with v1. Maybe it will work in v2. [shrugs]

antdude
24th February 2012, 06:04
What you're looking for is the D3D exclusive mode, available in VMR-9 r., EVR CP, and EVR Sync. The main player window can stay on the primary monitor if you want that. Just select your secondary monitor for the D3D9 render device In the "Options, "Output" tab.OK, here are my quick tests (will try EVR later, but I do remember them not working either in the past):

http://i.imgur.com/tw6wK.gif for the MPC-HC v1.6.1.4081 (also happened in many previous versions and builds). Notice it is greyed out with VMR-9 and EVR options.

Old Render = fullscreen video overlay on CRT TV result
Overlay Mixer = fullscreen video overlay on CRT TV result
VMR-7 (windowed) = fullscreen video overlay on CRT TV result
VMR-9 (windowed) = no fullscreen on CRT TV result
VMR-7 (renderless) = blank black fullscreen CRT TV result
VMR-9 (renderless) = no fullscreen on CRT TV result
All three EVR options showed non-full screen videos (just my desktop and MPC-HC with its videos)

CRT TV = secondary
19" 1280x1024 LCD Monitor = primary with its DVI (it won't let me use VGA for some reason)

:(

JanWillem32
24th February 2012, 10:09
Is the secondary monitor correctly recognized and set up for extended desktop mode in the general display settings panel? Is it correctly showing the extended desktop?
Let's try something different...
Try one of my builds: http://forum.doom9.org/showthread.php?p=1559819#post1559819
Reset all settings using the button in the "Miscellaneous" tab, you can export a backup first, too.
In the "Output" tab, select EVR CP, and "D3D Fullscreen". The option for "D3D9 Render device" should become available. Select it and your secondary monitor.
About 6 mixer buffers should work fine.
Under "View", "Renderer Settings"; under "Reset" use the option "Reset to Optimal Renderer settings" and under "Presentation", select "16-bit floating point surfaces". (32-bit surfaces are a bit demanding on memory.)
That should cover the basics. The main player window can stay on the primary screen. The video window should be able to lock the entire secondary screen.

For "Dithering levels", pick an option you like. I've included a test to see the patterns directly as well.
The same thing goes for the resizer choice (on the "Output" tab). The latter resizers are somewhat heavier than the first few, but nothing serious.
Using more advanced options, such as frame interpolation or custom pixel shaders should not be a problem with a HD4870. Just try and use what works best for you.

By the way, about "it won't let me use VGA for some reason". In my opinion, all digital panels should just reject analog inputs. Coming from a digital source, use a converter to analog signals and using an analog to digital converter in the monitor for feeding the panel driver is just plain stupid. Your monitor's manufacturer probably just didn't add a useless analog to digital converter to the monitor. That's perfectly legal, if the DVI input is of the DVI-D type.

antdude
24th February 2012, 20:23
Is the secondary monitor correctly recognized and set up for extended desktop mode in the general display settings panel? Is it correctly showing the extended desktop?
Let's try something different...
Try one of my builds: http://forum.doom9.org/showthread.php?p=1559819#post1559819
Reset all settings using the button in the "Miscellaneous" tab, you can export a backup first, too.
In the "Output" tab, select EVR CP, and "D3D Fullscreen". The option for "D3D9 Render device" should become available. Select it and your secondary monitor... That should cover the basics. The main player window can stay on the primary screen. The video window should be able to lock the entire secondary screen.

For "Dithering levels", pick an option you like. I've included a test to see the patterns directly as well.
The same thing goes for the resizer choice (on the "Output" tab). The latter resizers are somewhat heavier than the first few, but nothing serious.
Using more advanced options, such as frame interpolation or custom pixel shaders should not be a problem with a HD4870. Just try and use what works best for you.

By the way, about "it won't let me use VGA for some reason". In my opinion, all digital panels should just reject analog inputs. Coming from a digital source, use a converter to analog signals and using an analog to digital converter in the monitor for feeding the panel driver is just plain stupid. Your monitor's manufacturer probably just didn't add a useless analog to digital converter to the monitor. That's perfectly legal, if the DVI input is of the DVI-D type.

Yes, secondary monitor (ATI CCC says "Default TV") works in clone and extended (2560x1024 horizontal) desktop setups. I only the old CRT TV for fullscreen videos. I don't use it for desktops since everything is too tiny and unreadable. IIRC, CRT TVs only can do 640x480 resolutions?

Same problem with your EXE build and I took a screen shot for you: http://i.imgur.com/iOkHb.gif

I also noticed in ATI Catalyst driver v8.10 and earlier versions would let me use VGA and CRT TV a couple years ago, but somehow ATI removed this and forced me to use DVI to use with CRT TV. :( I can't remember if VMR-9 and EVR worked with the older video card drivers. I could uninstall and downgrade back to it. However, that means my newer games, demonstrations/demos, etc. would not work or just be messy. Ugh! :(

JanWillem32
24th February 2012, 23:24
Clone modes won't work. It obscures the secondary monitor for all applications, and on top of that, it would make the video card scale the master resolution to the slave resolution. That's obviously not working in this case. Scaling a desktop resolution on top of scaling the regular video resolution doesn't benefit the quality either.
After changing the desktop modes, restart the player to see changes reflected in the options. Some player settings are initialized only once, on player startup.
CRT TVs can have various resolutions, even up to 1080p. For SD models, these are the most common: http://en.wikipedia.org/wiki/Standard-definition_television .

I must say, it's been a while for me since I've used a dual screen setup on a system older than Vista. My current setup is similar to yours: a HD4890 attached to a CRT monitor on D-SUB (primary) and a receiver + projector (currently not attached) on HDMI (secondary).
I've managed quite a few (often temporary) multi-monitor setups, and I never had any problems locking one screen by an (multi-monitor aware) application active on another screen. You're using reasonably recent hardware and recent drivers, so I wonder why you're having so much trouble.

antdude
24th February 2012, 23:56
Clone modes won't work. It obscures the secondary monitor for all applications, and on top of that, it would make the video card scale the master resolution to the slave resolution. That's obviously not working in this case. Scaling a desktop resolution on top of scaling the regular video resolution doesn't benefit the quality either.
After changing the desktop modes, restart the player to see changes reflected in the options. Some player settings are initialized only once, on player startup.
CRT TVs can have various resolutions, even up to 1080p. For SD models, these are the most common: http://en.wikipedia.org/wiki/Standard-definition_television .

I must say, it's been a while for me since I've used a dual screen setup on a system older than Vista. My current setup is similar to yours: a HD4890 attached to a CRT monitor on D-SUB (primary) and a receiver + projector (currently not attached) on HDMI (secondary).
I've managed quite a few (often temporary) multi-monitor setups, and I never had any problems locking one screen by an (multi-monitor aware) application active on another screen. You're using reasonably recent hardware and recent drivers, so I wonder why you're having so much trouble.My monitor is a 19" Samsung SyncMaster 931BF LCD TFT monitor (4:3 aspect ratio and 1280x1024 native screen resolution). My CRT TV is Sharp 20" from 1996 (yep, that old).

I had ATI Radeon 4870 video card for about almost 3.2 years. Drivers are from v11.7, but I had this probblems with v10.x as well so I doubt it is fixed in the latest one like v12.1. It's not like ATI is fixing and improving for old Windows XP Pro. SP3. :P

And yes, I restarted my players. I have another program DVB Viewer Pro that also can use VMR-7, VMR-9, etc. and has the same problem. I also tried K-Lite Codec Mega Pack and same results in the past (never knew I didn't need K-Lite Codec to play all my video file formats). :(

JanWillem32
25th February 2012, 00:30
You are certain that the secondary monitor works as an extended desktop on a secondary screen? Not as a Hydravision type that enumerates both as only one screen, with extended resolution?

antdude
25th February 2012, 00:46
You are certain that the secondary monitor works as an extended desktop on a secondary screen? Not as a Hydravision type that enumerates both as only one screen, with extended resolution?I did not install Hydravision (lame addon). It should be extended screen if it is vertical or horizontal since my task bar, desktop, cursor have way more room to roam around. Sometimes I get confused/lost where things are in it. It's useless with CRT TV since it is hard/difficult to see the blurry tiny texts, buttons, etc. :D It's only good for fullscreen videos.

JanWillem32
25th February 2012, 01:18
I've just enabled the component/S-video output on my video card, and it's not detected as a true monitor. The best the player can do for such a type is actually locking Desktop 2 to exclusive mode while the player starts on desktop 2, and also use the controls for the exclusive mode (the key bindings remain the same, just the menus for the mouse are reduced to one seekbar). I'll see what I can do to get a better grip on outputs such as this from the program code's side. There must be some way to make it selectable just like a D-Sub, DVI, HDMI or DP output...

antdude
25th February 2012, 01:33
I've just enabled the component/S-video output on my video card, and it's not detected as a true monitor. The best the player can do for such a type is actually locking Desktop 2 to exclusive mode while the player starts on desktop 2, and also use the controls for the exclusive mode (the key bindings remain the same, just the menus for the mouse are reduced to one seekbar). I'll see what I can do to get a better grip on outputs such as this from the program code's side. There must be some way to make it selectable just like a D-Sub, DVI, HDMI or DP output...OK and thanks. I assume this is by design since other players do the same. :(

JanWillem32
25th February 2012, 11:27
Silly me, I've overlooked the "Options", "Fullscreen" tab. The fullscreen monitor can successfully be selected there. I was browsing through the code, and I saw that the adapter selection is only for a master adapter, not an output adapter.
No code changes required (apart from the two unrelated bugs I saw while browsing the code).

antdude
26th February 2012, 02:45
Silly me, I've overlooked the "Options", "Fullscreen" tab. The fullscreen monitor can successfully be selected there. I was browsing through the code, and I saw that the adapter selection is only for a master adapter, not an output adapter.
No code changes required (apart from the two unrelated bugs I saw while browsing the code).So I still can't do it?

JanWillem32
26th February 2012, 08:43
You mean that your secondary monitor isn't selectable on the "Fullscreen" tab?

antdude
26th February 2012, 08:53
You mean that your secondary monitor isn't selectable on the "Fullscreen" tab?It is greyed out: http://i.imgur.com/lSTd2.gif ... :(

JanWillem32
26th February 2012, 09:06
...And you're sure that the secondary monitor is configured in an extended desktop mode (not a clone)?

antdude
26th February 2012, 13:48
...And you're sure that the secondary monitor is configured in an extended desktop mode (not a clone)?Yep, I used clone and then extended desktop (horizontal) separately with VMR-9 (windowed and renderless) and EVR CP DirectShow Video options.

JanWillem32
27th February 2012, 17:28
That's odd, I can't replicate this issue. It could be because of the difference in OS, but XP should generally enumerate monitors fine for the code behind this menu. I'd like to solve this issue if the player is at fault, also for other users. Would you care for a debug session? I can make a debug build that generates some extra status messages. After analyzing those, I can immediately try some variants in the code that might work, and send that modified debug build.

antdude
27th February 2012, 20:33
That's odd, I can't replicate this issue. It could be because of the difference in OS, but XP should generally enumerate monitors fine for the code behind this menu. I'd like to solve this issue if the player is at fault, also for other users. Would you care for a debug session? I can make a debug build that generates some extra status messages. After analyzing those, I can immediately try some variants in the code that might work, and send that modified debug build.Sure, but note that I will be busy during the week days so I hope they are quick and easy. I assume it is just an EXE file? :)