summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-07 22:05:57 +0100
committerwm4 <wm4@nowhere>2015-01-07 22:08:20 +0100
commit02dbd41ae09c668025da8f64d9ac76d49308f289 (patch)
tree0ddbf40657b40d515bfcb75dedef4b44b9290235
parentf61b8b312d251f9c8dd33d03d1566fd73019bf08 (diff)
downloadmpv-02dbd41ae09c668025da8f64d9ac76d49308f289.tar.bz2
mpv-02dbd41ae09c668025da8f64d9ac76d49308f289.tar.xz
vo_direct3d: fix shader colormatrix generation
It was accidentally broken in d42d60bc1.
-rw-r--r--video/out/vo_direct3d.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/video/out/vo_direct3d.c b/video/out/vo_direct3d.c
index 7183f7d555..dbdc384e93 100644
--- a/video/out/vo_direct3d.c
+++ b/video/out/vo_direct3d.c
@@ -1150,7 +1150,6 @@ static int query_format(struct vo *vo, uint32_t movie_fmt)
static void update_colorspace(d3d_priv *priv)
{
- float coeff[3][4];
struct mp_csp_params csp = MP_CSP_PARAMS_DEFAULTS;
mp_csp_set_image_params(&csp, &priv->params);
mp_csp_copy_equalizer_values(&csp, &priv->video_eq);
@@ -1159,11 +1158,12 @@ static void update_colorspace(d3d_priv *priv)
csp.input_bits = priv->planes[0].bits_per_pixel;
csp.texture_bits = (csp.input_bits + 7) & ~7;
- mp_get_yuv2rgb_coeffs(&csp, coeff);
+ struct mp_cmat coeff;
+ mp_get_yuv2rgb_coeffs(&csp, &coeff);
for (int row = 0; row < 3; row++) {
- for (int col = 0; col < 4; col++) {
- priv->d3d_colormatrix.m[row][col] = coeff[row][col];
- }
+ for (int col = 0; col < 3; col++)
+ priv->d3d_colormatrix.m[row][col] = coeff.m[row][col];
+ priv->d3d_colormatrix.m[row][3] = coeff.c[row];
}
}
}