Commit a2104e09 authored by David Schleef's avatar David Schleef
Browse files

gst/matroska/: Fix Dirac mapping. I had previously added a VfW-type mapping,...

gst/matroska/: Fix Dirac mapping.  I had previously added a VfW-type mapping, but it looks like Dirac will get a nati...

Original commit message from CVS:
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
Fix Dirac mapping.  I had previously added a VfW-type
mapping, but it looks like Dirac will get a native Matroska
mapping, and this is the most likely method.
parent 1a90a6c4
2008-02-28 David Schleef <ds@schleef.org>
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
Fix Dirac mapping. I had previously added a VfW-type
mapping, but it looks like Dirac will get a native Matroska
mapping, and this is the most likely method.
2008-02-28 David Schleef <ds@schleef.org> 2008-02-28 David Schleef <ds@schleef.org>
   
* gst/avi/gstavimux.c: Add Dirac encoding * gst/avi/gstavimux.c: Add Dirac encoding
......
...@@ -3652,6 +3652,9 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext * ...@@ -3652,6 +3652,9 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *
} else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_THEORA)) { } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_THEORA)) {
caps = gst_caps_new_simple ("video/x-theora", NULL); caps = gst_caps_new_simple ("video/x-theora", NULL);
context->send_xiph_headers = TRUE; context->send_xiph_headers = TRUE;
} else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_DIRAC)) {
caps = gst_caps_new_simple ("video/x-dirac", NULL);
context->send_xiph_headers = FALSE;
} else { } else {
GST_WARNING ("Unknown codec '%s', cannot build Caps", codec_id); GST_WARNING ("Unknown codec '%s', cannot build Caps", codec_id);
return NULL; return NULL;
......
...@@ -161,6 +161,7 @@ ...@@ -161,6 +161,7 @@
#define GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO3 "V_REAL/RV30" #define GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO3 "V_REAL/RV30"
#define GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO4 "V_REAL/RV40" #define GST_MATROSKA_CODEC_ID_VIDEO_REALVIDEO4 "V_REAL/RV40"
#define GST_MATROSKA_CODEC_ID_VIDEO_THEORA "V_THEORA" #define GST_MATROSKA_CODEC_ID_VIDEO_THEORA "V_THEORA"
#define GST_MATROSKA_CODEC_ID_VIDEO_DIRAC "V_DIRAC"
/* TODO: Quicktime */ /* TODO: Quicktime */
#define GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1 "A_MPEG/L1" #define GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1 "A_MPEG/L1"
......
...@@ -592,8 +592,7 @@ skip_details: ...@@ -592,8 +592,7 @@ skip_details:
||!strcmp (mimetype, "video/x-huffyuv") ||!strcmp (mimetype, "video/x-huffyuv")
|| !strcmp (mimetype, "video/x-divx") || !strcmp (mimetype, "video/x-divx")
|| !strcmp (mimetype, "video/x-dv") || !strcmp (mimetype, "video/x-dv")
|| !strcmp (mimetype, "video/x-h263") || !strcmp (mimetype, "video/x-h263")) {
|| !strcmp (mimetype, "video/x-dirac")) {
BITMAPINFOHEADER *bih; BITMAPINFOHEADER *bih;
const GValue *codec_data; const GValue *codec_data;
gint size = sizeof (BITMAPINFOHEADER); gint size = sizeof (BITMAPINFOHEADER);
...@@ -630,8 +629,6 @@ skip_details: ...@@ -630,8 +629,6 @@ skip_details:
GST_WRITE_UINT32_LE (&bih->bi_compression, GST_STR_FOURCC ("DX50")); GST_WRITE_UINT32_LE (&bih->bi_compression, GST_STR_FOURCC ("DX50"));
break; break;
} }
} else if (!strcmp (mimetype, "video/x-dirac")) {
GST_WRITE_UINT32_LE (&bih->bi_compression, GST_STR_FOURCC ("drac"));
} }
/* process codec private/initialization data, if any */ /* process codec private/initialization data, if any */
...@@ -700,6 +697,10 @@ skip_details: ...@@ -700,6 +697,10 @@ skip_details:
("theora stream headers missing or malformed")); ("theora stream headers missing or malformed"));
return FALSE; return FALSE;
} }
return TRUE;
} else if (!strcmp (mimetype, "video/x-dirac")) {
context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_DIRAC);
return TRUE; return TRUE;
} else if (!strcmp (mimetype, "video/mpeg")) { } else if (!strcmp (mimetype, "video/mpeg")) {
gint mpegversion; gint mpegversion;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment