This allows preservation of color values set from the container, while still letting the bitstream take precedent when its values are specified to some actual value (e.g., not *UNSPECIFIED).
Signed-off-by: Neil Birkbeck <neil.birkb...@gmail.com> --- libavcodec/proresdec2.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index 6209c229c9..662ca7d48b 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -262,9 +262,12 @@ static int decode_frame_header(ProresContext *ctx, const uint8_t *buf, } } - avctx->color_primaries = buf[14]; - avctx->color_trc = buf[15]; - avctx->colorspace = buf[16]; + if (buf[14] != AVCOL_PRI_UNSPECIFIED) + avctx->color_primaries = buf[14]; + if (buf[15] != AVCOL_TRC_UNSPECIFIED) + avctx->color_trc = buf[15]; + if (buf[16] != AVCOL_SPC_UNSPECIFIED) + avctx->colorspace = buf[16]; avctx->color_range = AVCOL_RANGE_MPEG; ptr = buf + 20; -- 2.20.1.321.g9e740568ce-goog _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel