gstavviddec: only set range when actually reported by avcodec
authorMatej Knopp <matej.knopp@gmail.com>
Fri, 8 May 2020 17:16:41 +0000 (19:16 +0200)
committerMatej Knopp <matej.knopp@gmail.com>
Sat, 9 May 2020 12:56:25 +0000 (14:56 +0200)
otherwise we get incomplete colorimetry that video-info complains about

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/70>

ext/libav/gstavviddec.c

index 2c117cb..ded4c4a 100644 (file)
@@ -1259,8 +1259,10 @@ gst_ffmpegviddec_negotiate (GstFFMpegVidDec * ffmpegdec,
       || in_info->colorimetry.range == GST_VIDEO_COLOR_RANGE_UNKNOWN) {
     if (context->color_range == AVCOL_RANGE_JPEG) {
       out_info->colorimetry.range = GST_VIDEO_COLOR_RANGE_0_255;
-    } else {
+    } else if (context->color_range == AVCOL_RANGE_MPEG) {
       out_info->colorimetry.range = GST_VIDEO_COLOR_RANGE_16_235;
+    } else {
+      out_info->colorimetry.range = GST_VIDEO_COLOR_RANGE_UNKNOWN;
     }
   }