summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--gst/qtdemux/qtdemux.c21
2 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0a9bfc75..0537e533 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-01-23 Edward Hervey <edward@fluendo.com>
+
+ * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak),
+ (qtdemux_video_caps), (qtdemux_audio_caps):
+ Added codec recognition for:
+ _ VP31 : video/x-vp3
+ _ AVDJ : image/jpeg
+ _ dvcp, dvc : video/x-dv, systemstream=(boolean)false
+ _ 0x6d730017 : audio/x-adpcm, layout=(string)quicktime
+
2006-01-21 David Schleef <ds@schleef.org>
* configure.ac:
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index fb192636..4b92ea8d 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -2043,6 +2043,16 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
"codec_data", GST_TYPE_BUFFER, buf, NULL);
gst_buffer_unref (buf);
} else if (QTDEMUX_FOURCC_GET (stsd->data + 16 + 4) ==
+ GST_MAKE_FOURCC ('V', 'P', '3', '1')) {
+ GstBuffer *buf;
+ gint len = QTDEMUX_GUINT32_GET (stsd->data);
+
+ buf = gst_buffer_new_and_alloc (len);
+ memcpy (GST_BUFFER_DATA (buf), stsd->data, len);
+ gst_caps_set_simple (stream->caps,
+ "codec_data", GST_TYPE_BUFFER, buf, NULL);
+ gst_buffer_unref (buf);
+ } else if (QTDEMUX_FOURCC_GET (stsd->data + 16 + 4) ==
GST_MAKE_FOURCC ('r', 'l', 'e', ' ')) {
gst_caps_set_simple (stream->caps,
"depth", G_TYPE_INT, QTDEMUX_GUINT16_GET (stsd->data + offset + 82),
@@ -2651,6 +2661,7 @@ qtdemux_video_caps (GstQTDemux * qtdemux, guint32 fourcc,
_codec ("JPEG still images");
return gst_caps_from_string ("image/jpeg");
case GST_MAKE_FOURCC ('m', 'j', 'p', 'a'):
+ case GST_MAKE_FOURCC ('A', 'V', 'D', 'J'):
_codec ("Motion-JPEG");
return gst_caps_from_string ("image/jpeg");
case GST_MAKE_FOURCC ('m', 'j', 'p', 'b'):
@@ -2721,7 +2732,16 @@ qtdemux_video_caps (GstQTDemux * qtdemux, guint32 fourcc,
case GST_MAKE_FOURCC ('i', 'v', '3', '2'):
_codec ("Indeo Video 3");
return gst_caps_from_string ("video/x-indeo, indeoversion=(int)3");
+ case GST_MAKE_FOURCC ('d', 'v', 'c', 'p'):
+ case GST_MAKE_FOURCC ('d', 'v', 'c', ' '):
+ _codec ("DV Video");
+ return gst_caps_from_string ("video/x-dv, systemstream=(boolean)false");
case GST_MAKE_FOURCC ('s', 'm', 'c', ' '):
+ _codec ("Apple Graphics (SMC)");
+ return gst_caps_from_string ("video/x-smc");
+ case GST_MAKE_FOURCC ('V', 'P', '3', '1'):
+ _codec ("VP3");
+ return gst_caps_from_string ("video/x-vp3");
case GST_MAKE_FOURCC ('k', 'p', 'c', 'd'):
default:
#if 0
@@ -2815,6 +2835,7 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
return gst_caps_from_string ("audio/x-adpcm, "
"layout = (string) microsoft");
case 0x6d730011:
+ case 0x6d730017:
_codec ("DVI/Intel IMA ADPCM");
/* FIXME DVI/Intel IMA ADPCM/ACM code 17 */
return gst_caps_from_string ("audio/x-adpcm, "