videodecoder: only copy known colorimetry values

Avoid overriding the default colorimetry values.
This commit is contained in:
Wim Taymans 2012-06-04 18:17:42 +02:00
parent 831519364c
commit d923f9fe70

View file

@ -550,7 +550,16 @@ _new_output_state (GstVideoFormat fmt, guint width, guint height,
tgt->interlace_mode = ref->interlace_mode;
tgt->flags = ref->flags;
tgt->chroma_site = ref->chroma_site;
tgt->colorimetry = ref->colorimetry;
/* only copy values that are not unknown so that we don't override the
* defaults. subclasses should really fill these in when they know. */
if (ref->colorimetry.range)
tgt->colorimetry.range = ref->colorimetry.range;
if (ref->colorimetry.matrix)
tgt->colorimetry.matrix = ref->colorimetry.matrix;
if (ref->colorimetry.transfer)
tgt->colorimetry.transfer = ref->colorimetry.transfer;
if (ref->colorimetry.primaries)
tgt->colorimetry.primaries = ref->colorimetry.primaries;
GST_DEBUG ("reference par %d/%d fps %d/%d",
ref->par_n, ref->par_d, ref->fps_n, ref->fps_d);
tgt->par_n = ref->par_n;