diff options
author | wm4 <wm4@nowhere> | 2015-01-07 22:05:57 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-07 22:08:20 +0100 |
commit | 02dbd41ae09c668025da8f64d9ac76d49308f289 (patch) | |
tree | 0ddbf40657b40d515bfcb75dedef4b44b9290235 /video | |
parent | f61b8b312d251f9c8dd33d03d1566fd73019bf08 (diff) | |
download | mpv-02dbd41ae09c668025da8f64d9ac76d49308f289.tar.bz2 mpv-02dbd41ae09c668025da8f64d9ac76d49308f289.tar.xz |
vo_direct3d: fix shader colormatrix generation
It was accidentally broken in d42d60bc1.
Diffstat (limited to 'video')
-rw-r--r-- | video/out/vo_direct3d.c | 10 |
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]; } } } |