[FFmpeg-devel] [PATCH v2] avcodec/libkvazaar: Respect codec context color settings.

John Mather johnmather at sidefx.com
Sat Sep 30 00:11:50 EEST 2023


This patch makes the libkvazaar encoder respect color settings that are
present on the codec context, including color range, primaries, transfer
function and colorspace.
---
 libavcodec/libkvazaar.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c
index 2ef34dd82e..984f78ba65 100644
--- a/libavcodec/libkvazaar.c
+++ b/libavcodec/libkvazaar.c
@@ -101,6 +101,15 @@ FF_ENABLE_DEPRECATION_WARNINGS
         cfg->rc_algorithm = KVZ_LAMBDA;
     }
 
+    if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED)
+        cfg->vui.fullrange = avctx->color_range == AVCOL_RANGE_JPEG;
+    if (avctx->color_primaries != AVCOL_PRI_UNSPECIFIED)
+        cfg->vui.colorprim = avctx->color_primaries;
+    if (avctx->color_trc != AVCOL_TRC_UNSPECIFIED)
+        cfg->vui.transfer = avctx->color_trc;
+    if (avctx->colorspace != AVCOL_SPC_UNSPECIFIED)
+        cfg->vui.colormatrix = avctx->colorspace;
+
     if (ctx->kvz_params) {
         AVDictionary *dict = NULL;
         if (!av_dict_parse_string(&dict, ctx->kvz_params, "=", ",", 0)) {
-- 
2.39.3



More information about the ffmpeg-devel mailing list