[FFmpeg-devel] [PATCH] avcodec/proresdec2: only set avctx->color* when values are specified
Neil Birkbeck
neil.birkbeck at gmail.com
Fri Jan 18 05:43:06 EET 2019
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.birkbeck at 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
More information about the ffmpeg-devel
mailing list