Mercurial > libavcodec.hg
changeset 11685:d3098fb8ec05 libavcodec
schroenc: Set colorspace info
author | conrad |
---|---|
date | Wed, 05 May 2010 21:38:02 +0000 |
parents | b4aff04c10cf |
children | 41a083a2527a |
files | libschroedingerenc.c |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libschroedingerenc.c Wed May 05 21:37:58 2010 +0000 +++ b/libschroedingerenc.c Wed May 05 21:38:02 2010 +0000 @@ -128,6 +128,24 @@ if (SetSchroChromaFormat(avccontext) == -1) return -1; + if (avccontext->color_primaries == AVCOL_PRI_BT709) { + p_schro_params->format->colour_primaries = SCHRO_COLOUR_PRIMARY_HDTV; + } else if (avccontext->color_primaries == AVCOL_PRI_BT470BG) { + p_schro_params->format->colour_primaries = SCHRO_COLOUR_PRIMARY_SDTV_625; + } else if (avccontext->color_primaries == AVCOL_PRI_SMPTE170M) { + p_schro_params->format->colour_primaries = SCHRO_COLOUR_PRIMARY_SDTV_525; + } + + if (avccontext->colorspace == AVCOL_SPC_BT709) { + p_schro_params->format->colour_matrix = SCHRO_COLOUR_MATRIX_HDTV; + } else if (avccontext->colorspace == AVCOL_SPC_BT470BG) { + p_schro_params->format->colour_matrix = SCHRO_COLOUR_MATRIX_SDTV; + } + + if (avccontext->color_trc == AVCOL_TRC_BT709) { + p_schro_params->format->transfer_function = SCHRO_TRANSFER_CHAR_TV_GAMMA; + } + if (ff_get_schro_frame_format(p_schro_params->format->chroma_format, &p_schro_params->frame_format) == -1) { av_log(avccontext, AV_LOG_ERROR,