mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 09:55:36 +00:00
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.
This commit is contained in:
parent
1a90a6c4dc
commit
a2104e0994
4 changed files with 18 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
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 *
|
||||||
} 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 @@
|
||||||
#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:
|
||||||
||!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:
|
||||||
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:
|
||||||
("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;
|
||||||
|
|
Loading…
Reference in a new issue