[FFmpeg-devel] [PATCH v2 07/16] swscale/utils: fix XYZ primaries tagging
Niklas Haas
ffmpeg at haasn.xyz
Fri Dec 6 16:32:06 EET 2024
From: Niklas Haas <git at haasn.dev>
Swscale currently handles XYZ by embedding a forced conversion to
BT.709 RGB with a hardcoded matrix. This is not ideal, but to preserve the
status quo and avoid any unexpected changes in behavior, this patch merely
fixes the inferred primaries tag to match the reality.
In the future, I would like to handle XYZ properly, via direct conversion
to the target colorspace (or possibly simply by using a more fitting
RGB intermediate like SMPTE428), but for now just keep the status quo.
---
libswscale/utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libswscale/utils.c b/libswscale/utils.c
index adbfda10a5..01c21c74d8 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -2684,7 +2684,7 @@ SwsFormat ff_fmt_from_frame(const AVFrame *frame, int field)
} else if (desc->flags & AV_PIX_FMT_FLAG_XYZ) {
fmt.csp = AVCOL_SPC_UNSPECIFIED;
fmt.color = (SwsColor) {
- .prim = AVCOL_PRI_SMPTE428,
+ .prim = AVCOL_PRI_BT709, /* swscale currently hard-codes this XYZ matrix */
.trc = AVCOL_TRC_SMPTE428,
};
} else if (desc->nb_components < 3) {
--
2.47.0
More information about the ffmpeg-devel
mailing list