avcodec/utils/ff_init_buffer_info: Favor color information from AVFrame if available

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-06-03 04:50:07 +02:00
parent 763e714442
commit 4e3fe65610

View File

@ -786,13 +786,16 @@ int ff_init_buffer_info(AVCodecContext *avctx, AVFrame *frame)
frame->reordered_opaque = avctx->reordered_opaque;
#if FF_API_AVFRAME_COLORSPACE
frame->color_primaries = avctx->color_primaries;
frame->color_trc = avctx->color_trc;
if (frame->color_primaries == AVCOL_PRI_UNSPECIFIED)
frame->color_primaries = avctx->color_primaries;
if (frame->color_trc == AVCOL_TRC_UNSPECIFIED)
frame->color_trc = avctx->color_trc;
if (av_frame_get_colorspace(frame) == AVCOL_SPC_UNSPECIFIED)
av_frame_set_colorspace(frame, avctx->colorspace);
if (av_frame_get_color_range(frame) == AVCOL_RANGE_UNSPECIFIED)
av_frame_set_color_range(frame, avctx->color_range);
frame->chroma_location = avctx->chroma_sample_location;
if (frame->chroma_location == AVCHROMA_LOC_UNSPECIFIED)
frame->chroma_location = avctx->chroma_sample_location;
#endif
switch (avctx->codec->type) {