From 74f77eb048913ad764537f79fd954d2db3f7fd55 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 8 Oct 2011 01:12:46 +0200 Subject: [PATCH] H264: set colorspace and full range to values indicating unspecified by default Code based on ffdshow Author unknown Signed-off-by: Michael Niedermayer --- libavcodec/h264.c | 2 +- libavcodec/h264_ps.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index cb2ce986a9..40da076530 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2670,7 +2670,7 @@ static int decode_slice_header(H264Context *h, H264Context *h0){ } if(h->sps.video_signal_type_present_flag){ - s->avctx->color_range = h->sps.full_range ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; + s->avctx->color_range = h->sps.full_range>0 ? AVCOL_RANGE_JPEG : AVCOL_RANGE_MPEG; if(h->sps.colour_description_present_flag){ s->avctx->color_primaries = h->sps.color_primaries; s->avctx->color_trc = h->sps.color_trc; diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c index 637cf2737a..f0ec0ff9a9 100644 --- a/libavcodec/h264_ps.c +++ b/libavcodec/h264_ps.c @@ -338,10 +338,12 @@ int ff_h264_decode_seq_parameter_set(H264Context *h){ sps->profile_idc= profile_idc; sps->constraint_set_flags = constraint_set_flags; sps->level_idc= level_idc; + sps->full_range = -1; memset(sps->scaling_matrix4, 16, sizeof(sps->scaling_matrix4)); memset(sps->scaling_matrix8, 16, sizeof(sps->scaling_matrix8)); sps->scaling_matrix_present = 0; + sps->colorspace = 2; //AVCOL_SPC_UNSPECIFIED if(sps->profile_idc >= 100){ //high profile sps->chroma_format_idc= get_ue_golomb_31(&s->gb);