]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Extract colorspace fields from MPEG1/2.
authormichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 5 May 2009 19:53:49 +0000 (19:53 +0000)
committermichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 5 May 2009 19:53:49 +0000 (19:53 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18747 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/mpeg12.c

index 019dc810850ad46905d6485aa91d5563ddc60a4b..e6e4ddcfc9e3dacb108358679ae2817af9bfdc94 100644 (file)
@@ -1188,6 +1188,7 @@ static av_cold int mpeg_decode_init(AVCodecContext *avctx)
     s->mpeg_enc_ctx.picture_number = 0;
     s->repeat_field = 0;
     s->mpeg_enc_ctx.codec_id= avctx->codec->id;
+    avctx->color_range= AVCOL_RANGE_MPEG;
     return 0;
 }
 
@@ -1420,9 +1421,9 @@ static void mpeg_decode_sequence_display_extension(Mpeg1Context *s1)
     skip_bits(&s->gb, 3); /* video format */
     color_description= get_bits1(&s->gb);
     if(color_description){
-        skip_bits(&s->gb, 8); /* color primaries */
-        skip_bits(&s->gb, 8); /* transfer_characteristics */
-        skip_bits(&s->gb, 8); /* matrix_coefficients */
+        s->avctx->color_primaries= get_bits(&s->gb, 8);
+        s->avctx->color_trc      = get_bits(&s->gb, 8);
+        s->avctx->colorspace     = get_bits(&s->gb, 8);
     }
     w= get_bits(&s->gb, 14);
     skip_bits(&s->gb, 1); //marker