Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 | Link |
Registered User
Join Date: Jun 2016
Posts: 3
|
Player that supports shifting colour components to correct display registration?
I have a 3LCD projector that has poor registration. As time goes on it seems to get worse. The element is about three pixels to the left of where it should be and the red element is about 2 pixels to the right of where it should be. There is no configuration in the projector hardware to correct for this.
Is there any software player that supports shifting each component by a predefined number of pixels so that I can correct for this? I've been looking at the likes of MPC and VLC, but I can not find anything that supports what in theory should be a fairly straight forward transformation. Also, is there any player that supports any kind of enhanced resolution that can be calibrated to take advantage of the pixels not being where they should be in a Cleartype style? The native resolution of the projector is 1024x768. If I could take advantage of it I think I actually have component pixels falling in areas that would equate to a resolution nearer to 3000x1500, albeit with only one component available for each pixel. In theory in both scenarios for user friendliness you could use a calibration stage where you line up components to form a line of solid colour on both axis in order to work out the best way to distribute the pixels. Any guidance gratefully received. |
![]() |
![]() |
![]() |
#2 | Link |
/人 ◕ ‿‿ ◕ 人\
Join Date: May 2011
Location: Russia
Posts: 643
|
Dunno about solutions with GUI, but MPC-HC could do this with shaders.
Create .hlsl file (e.g. RGB shift.hlsl) in MPC-HC\Shaders folder, paste there this code: Code:
sampler s0 : register(s0); float4 p1 : register(c1); #define dx (p1[0]) #define dy (p1[1]) #define RShift -2.0 #define GShift 3.0 #define BShift 0.0 float4 main(float2 tex : TEXCOORD0) : COLOR { return float4( tex2D(s0, float2(tex.x + dx * RShift, tex.y)).r, tex2D(s0, float2(tex.x + dx * GShift, tex.y)).g, tex2D(s0, float2(tex.x + dx * BShift, tex.y)).b, 0.0); } You can edit shader file to change shift values and MPC-HC will update image as soon as you save the file, so you can tweak it in real time. You can use non-integer shift values too. Last edited by vivan; 17th July 2016 at 16:43. |
![]() |
![]() |
![]() |
#5 | Link |
Registered User
Join Date: Jun 2016
Posts: 3
|
Thanks Lee, I will see if I can find that. I am beginning to think that the misalignment may actually be down to a component going wonky as they seem to be almost exactly one pixel out of line either way, and it seems fairly consistent across the screen.
I would love to exploit the potential increase resolution that could be gained from a Cleartype style of resolution boosting. I would expect that would not be possible with a standard shader. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|