mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 17:51:16 +00:00
riff: Mark jpeg as parsed
This is needed so that autoplugging works with avidemux and JPEG decoders that need parsed sink caps (eg rockchip 'mppjpegdec' decoder). It also works fine with 'jpegdec' decoder regardless. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3175>
This commit is contained in:
parent
4e03c5f885
commit
9197235539
3 changed files with 20 additions and 8 deletions
File diff suppressed because one or more lines are too long
|
@ -172,7 +172,9 @@ gst_riff_create_video_caps (guint32 codec_fcc,
|
|||
case GST_RIFF_dmb1:
|
||||
case GST_MAKE_FOURCC ('A', 'C', 'D', 'V'):
|
||||
case GST_MAKE_FOURCC ('Q', 'I', 'V', 'G'):
|
||||
caps = gst_caps_new_empty_simple ("image/jpeg");
|
||||
caps =
|
||||
gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL);
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("Motion JPEG");
|
||||
break;
|
||||
|
@ -180,7 +182,9 @@ gst_riff_create_video_caps (guint32 codec_fcc,
|
|||
case GST_RIFF_JPEG: /* generic (mostly RGB) MJPEG */
|
||||
case GST_RIFF_jpeg:
|
||||
case GST_MAKE_FOURCC ('j', 'p', 'e', 'g'): /* generic (mostly RGB) MJPEG */
|
||||
caps = gst_caps_new_empty_simple ("image/jpeg");
|
||||
caps =
|
||||
gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL);
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("JPEG Still Image");
|
||||
break;
|
||||
|
@ -188,25 +192,33 @@ gst_riff_create_video_caps (guint32 codec_fcc,
|
|||
case GST_MAKE_FOURCC ('P', 'I', 'X', 'L'): /* Miro/Pinnacle fourccs */
|
||||
case GST_RIFF_VIXL: /* Miro/Pinnacle fourccs */
|
||||
case GST_RIFF_vixl:
|
||||
caps = gst_caps_new_empty_simple ("image/jpeg");
|
||||
caps =
|
||||
gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL);
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("Miro/Pinnacle Motion JPEG");
|
||||
break;
|
||||
|
||||
case GST_MAKE_FOURCC ('C', 'J', 'P', 'G'):
|
||||
caps = gst_caps_new_empty_simple ("image/jpeg");
|
||||
caps =
|
||||
gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL);
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("Creative Webcam JPEG");
|
||||
break;
|
||||
|
||||
case GST_MAKE_FOURCC ('S', 'L', 'M', 'J'):
|
||||
caps = gst_caps_new_empty_simple ("image/jpeg");
|
||||
caps =
|
||||
gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL);
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("SL Motion JPEG");
|
||||
break;
|
||||
|
||||
case GST_MAKE_FOURCC ('J', 'P', 'G', 'L'):
|
||||
caps = gst_caps_new_empty_simple ("image/jpeg");
|
||||
caps =
|
||||
gst_caps_new_simple ("image/jpeg", "parsed", G_TYPE_BOOLEAN, TRUE,
|
||||
NULL);
|
||||
if (codec_name)
|
||||
*codec_name = g_strdup ("Pegasus Lossless JPEG");
|
||||
break;
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue