summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-10-20 15:26:18 +0200
committerwm4 <wm4@nowhere>2019-10-20 16:16:28 +0200
commitc9d217979e57ebfd898bd68f6ed31a9eaf851772 (patch)
treebc0e7775455915046c21e79e722c9376f262dcd3
parent5dc78b61f5dfa5c27a627d798fd867e728d2be70 (diff)
downloadmpv-c9d217979e57ebfd898bd68f6ed31a9eaf851772.tar.bz2
mpv-c9d217979e57ebfd898bd68f6ed31a9eaf851772.tar.xz
zimg: add some more colorspace mappings
As suggested by the zimg author. This is mostly related to XYZ support. It's unclear whether this works. Using the only XYZ test sample we know, and the next commits to consume the pixfmt, it looks wrong.
-rw-r--r--video/zimg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/video/zimg.c b/video/zimg.c
index ef9738d660..142e561303 100644
--- a/video/zimg.c
+++ b/video/zimg.c
@@ -109,8 +109,8 @@ static zimg_matrix_coefficients_e mp_to_z_matrix(enum mp_csp csp)
case MP_CSP_BT_2020_NC: return ZIMG_MATRIX_BT2020_NCL;
case MP_CSP_BT_2020_C: return ZIMG_MATRIX_BT2020_CL;
case MP_CSP_RGB: return ZIMG_MATRIX_RGB;
+ case MP_CSP_XYZ: return ZIMG_MATRIX_RGB;
case MP_CSP_YCGCO: return ZIMG_MATRIX_YCGCO;
- case MP_CSP_XYZ: // ?
default: return ZIMG_MATRIX_BT709;
}
}
@@ -145,12 +145,12 @@ static zimg_color_primaries_e mp_to_z_prim(enum mp_csp_prim prim)
case MP_CSP_PRIM_BT_709: return ZIMG_PRIMARIES_BT709;
case MP_CSP_PRIM_BT_2020: return ZIMG_PRIMARIES_BT2020;
case MP_CSP_PRIM_BT_470M: return ZIMG_PRIMARIES_BT470_M;
+ case MP_CSP_PRIM_CIE_1931: return ZIMG_PRIMARIES_ST428;
+ case MP_CSP_PRIM_DCI_P3: return ZIMG_PRIMARIES_ST431_2;
+ case MP_CSP_PRIM_DISPLAY_P3:return ZIMG_PRIMARIES_ST432_1;
case MP_CSP_PRIM_APPLE: // ?
case MP_CSP_PRIM_ADOBE:
case MP_CSP_PRIM_PRO_PHOTO:
- case MP_CSP_PRIM_CIE_1931:
- case MP_CSP_PRIM_DCI_P3:
- case MP_CSP_PRIM_DISPLAY_P3:
case MP_CSP_PRIM_V_GAMUT:
case MP_CSP_PRIM_S_GAMUT: // ?
default: return ZIMG_PRIMARIES_BT709;
@@ -393,7 +393,7 @@ static bool setup_format(zimg_image_format *zfmt, struct mp_zimg_repack *r,
zfmt->color_family = ZIMG_COLOR_YUV;
if (desc.num_planes == 1) {
zfmt->color_family = ZIMG_COLOR_GREY;
- } else if (csp == MP_CSP_RGB) {
+ } else if (csp == MP_CSP_RGB || csp == MP_CSP_XYZ) {
zfmt->color_family = ZIMG_COLOR_RGB;
}