Browse Source

H264: set colorspace and full range to values indicating unspecified by default

Code based on ffdshow
Author unknown

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.9
Michael Niedermayer 14 years ago
parent
commit
74f77eb048
2 changed files with 3 additions and 1 deletions
  1. +1
    -1
      libavcodec/h264.c
  2. +2
    -0
      libavcodec/h264_ps.c

+ 1
- 1
libavcodec/h264.c View File

@@ -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;


+ 2
- 0
libavcodec/h264_ps.c View File

@@ -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);


Loading…
Cancel
Save