Question / Help Color space correction with an XCAPTURE-1?

Sixfortyfive

New Member
I suppose this question would be applicable for any capture card but my issue concerns the XCAPTURE-1 specifically.

One problem I have when using this card is that the colors seem slightly out of whack. The reds are often slightly too dark and the greens are often slightly too bright, with some black/white crush at the respective ends of the spectrum. This issue tends to manifest itself most clearly when the source is outputting YCbCr instead of RGB, or full-range instead of limited. I'm not 100% sure whether this is a consequence of how the card samples its colors in the first place, or if they're just getting poorly converted to another color space during capture.

In any case, I can mostly compensate for this when capturing in VirtualDub by using an alias filter that matches my source:

alias.png


Dreamcast: no alias filter vs. 601 Full
Xbox 360 (RGB Expanded mode): no alias filter vs. 709 Full
Wii U: no alias filter vs. 709 Limited

Is there a comparable option, script, or plug-in for OBS?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
There needs to be color options like this in OBS. I will do what I can in the upcoming versions to ensure this is possible.
 

paibox

heros in an halfshel
Just for the record, I made a shader pretty much specifically for the XCAPTURE-1 to get better colors for it in OBS, it's available here: http://www.apehead.se/bt601_shader.php

As far as I can tell, it also uses BT.601 full range for HD video as well. As for the full range/limited range issue, the XCAPTURE-1 outputs and expects full range color at all times, but if you have a device that is for some reason incapable of outputting full range, there are limited range shader values in the custom shader file as well.
 

Sixfortyfive

New Member
Just for the record, I made a shader pretty much specifically for the XCAPTURE-1 to get better colors for it in OBS, it's available here: http://www.apehead.se/bt601_shader.php

As far as I can tell, it also uses BT.601 full range for HD video as well. As for the full range/limited range issue, the XCAPTURE-1 outputs and expects full range color at all times, but if you have a device that is for some reason incapable of outputting full range, there are limited range shader values in the custom shader file as well.
Thanks for that. Could you briefly explain where I should save this and how to use this? I see that there's already a shader with this file name in one folder and I'm not sure if I should just overwrite it.
 

paibox

heros in an halfshel
You can overwrite it or back it up, it's not like the shader is hard to revert using the OBS binary zips available from the download page, the original shader values should still be in the file as well, just commented out.

As for how you use it, it should activate automatically once you load up the source for the XCAPTURE-1, shaders can be edited and replaced without any issues.
 

Kadano

New Member
Thank you very much, paibox. You are a hero for creating and sharing this.

I have a StarTech PEXHDCAP with RGBHV / VGA input and noticed that the colors are slightly different from my reference material. Will your script help for that as well? Just asking because its name is “YUXVtoRGB”, so maybe it’s not being used for RGBHV?

Edit: Just tried it and I can’t see any difference in colors with the script.
 
Last edited:

paibox

heros in an halfshel
It should work fine with the PEXHDCAP as long as you have it set to output YUY2 color format video and not RGB (upsampling done by the drivers themselves).

Do not use the RGB24 or RGB32 software upscaling modes of the newer drivers if you want to use the shader I made, as no color correction can be applied to that.
 

Videophile

Elgato
It should work fine with the PEXHDCAP as long as you have it set to output YUY2 color format video and not RGB (upsampling done by the drivers themselves).

Do not use the RGB24 or RGB32 software upscaling modes of the newer drivers if you want to use the shader I made, as no color correction can be applied to that.
So which would be better for colors, your shader, or the RGB24/32 when coming from a console(Xbox One, PS4)?
 

Kadano

New Member
It should work fine with the PEXHDCAP as long as you have it set to output YUY2 color format video and not RGB (upsampling done by the drivers themselves).

Do not use the RGB24 or RGB32 software upscaling modes of the newer drivers if you want to use the shader I made, as no color correction can be applied to that.
Thanks. I did compare the YUY2 setting vs. RGB32 thoroughly, but I’m very sure that it only increased the brightness, not the slight color shift. As far as I can tell, the Yuan cards (OEM of the Micomsoft/StarTech cards I think) lack a little bit of blue compared to the BMI Shuttle. Is this a problem caused by the hardware or is it still a color space problem that can be corrected by altering the filters in OBS further?
 
Top