vo_opengl: handle grayscale input better, add YA16 support

Simply clamp off the U/V components in the colormatrix, instead of doing
something special in the shader.

Also, since YA8/YA16 gave a plane_bits value of 16/32, and a colormatrix
calculation overflowed with 32, add a component_bits field to the image
format descriptor, which for YA8/YA16 returns 8/16 (the wrong value had
no bad consequences otherwise).
This commit is contained in:
wm4
2015-01-21 19:29:18 +01:00
parent 30ca30c0a1
commit a0caadd512
7 changed files with 26 additions and 21 deletions

View File

@@ -116,6 +116,8 @@ struct mp_csp_params {
float rgamma;
float ggamma;
float bgamma;
// discard U/V components
bool gray;
// texture_bits/input_bits is for rescaling fixed point input to range [0,1]
int texture_bits;
int input_bits;