gst-libs/gst/riff/riff-media.c: add h263/h264 variants to the caps, Fixes #363118

Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
add h263/h264 variants to the caps, Fixes #363118
This commit is contained in:
Stefan Kost 2006-11-07 07:22:32 +00:00
parent 7298ebaa61
commit 86de56e49d
2 changed files with 35 additions and 10 deletions

View file

@ -1,3 +1,9 @@
2006-11-07 Stefan Kost <ensonic@users.sf.net>
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
add h263/h264 variants to the caps, Fixes #363118
2006-11-06 Tim-Philipp Müller <tim at centricular dot net> 2006-11-06 Tim-Philipp Müller <tim at centricular dot net>
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func): * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):

View file

@ -55,6 +55,8 @@ gst_riff_create_video_caps (guint32 codec_fcc,
GstCaps *caps = NULL; GstCaps *caps = NULL;
GstBuffer *palette = NULL; GstBuffer *palette = NULL;
GST_DEBUG ("video fourcc %" GST_FOURCC_FORMAT, GST_FOURCC_ARGS (codec_fcc));
switch (codec_fcc) { switch (codec_fcc) {
case GST_MAKE_FOURCC ('D', 'I', 'B', ' '):{ case GST_MAKE_FOURCC ('D', 'I', 'B', ' '):{
gint bpp = (strf && strf->bit_cnt != 0) ? strf->bit_cnt : 8; gint bpp = (strf && strf->bit_cnt != 0) ? strf->bit_cnt : 8;
@ -174,58 +176,68 @@ gst_riff_create_video_caps (guint32 codec_fcc,
case GST_MAKE_FOURCC ('h', '2', '6', '3'): case GST_MAKE_FOURCC ('h', '2', '6', '3'):
case GST_MAKE_FOURCC ('i', '2', '6', '3'): case GST_MAKE_FOURCC ('i', '2', '6', '3'):
case GST_MAKE_FOURCC ('U', '2', '6', '3'): case GST_MAKE_FOURCC ('U', '2', '6', '3'):
caps = gst_caps_new_simple ("video/x-h263", NULL); caps = gst_caps_new_simple ("video/x-h263",
"variant", G_TYPE_STRING, "itu", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("ITU H.26n"); *codec_name = g_strdup ("ITU H.26n");
break; break;
case GST_MAKE_FOURCC ('L', '2', '6', '3'): case GST_MAKE_FOURCC ('L', '2', '6', '3'):
caps = gst_caps_new_simple ("video/x-h263", NULL); /* http://www.leadcodecs.com/Codecs/LEAD-H263.htm */
caps = gst_caps_new_simple ("video/x-h263",
"variant", G_TYPE_STRING, "lead", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("Lead H.263"); *codec_name = g_strdup ("Lead H.263");
break; break;
case GST_MAKE_FOURCC ('M', '2', '6', '3'): case GST_MAKE_FOURCC ('M', '2', '6', '3'):
case GST_MAKE_FOURCC ('m', '2', '6', '3'): case GST_MAKE_FOURCC ('m', '2', '6', '3'):
caps = gst_caps_new_simple ("video/x-h263", NULL); caps = gst_caps_new_simple ("video/x-h263",
"variant", G_TYPE_STRING, "microsoft", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("Microsoft H.263"); *codec_name = g_strdup ("Microsoft H.263");
break; break;
case GST_MAKE_FOURCC ('V', 'D', 'O', 'W'): case GST_MAKE_FOURCC ('V', 'D', 'O', 'W'):
caps = gst_caps_new_simple ("video/x-h263", NULL); caps = gst_caps_new_simple ("video/x-h263",
"variant", G_TYPE_STRING, "vdolive", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("VDOLive"); *codec_name = g_strdup ("VDOLive");
break; break;
case GST_MAKE_FOURCC ('V', 'I', 'V', 'O'): case GST_MAKE_FOURCC ('V', 'I', 'V', 'O'):
caps = gst_caps_new_simple ("video/x-h263", NULL); caps = gst_caps_new_simple ("video/x-h263",
"variant", G_TYPE_STRING, "vivo", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("Vivo H.263"); *codec_name = g_strdup ("Vivo H.263");
break; break;
case GST_MAKE_FOURCC ('x', '2', '6', '3'): case GST_MAKE_FOURCC ('x', '2', '6', '3'):
caps = gst_caps_new_simple ("video/x-h263", NULL); caps = gst_caps_new_simple ("video/x-h263",
"variant", G_TYPE_STRING, "xirlink", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("Xirlink H.263"); *codec_name = g_strdup ("Xirlink H.263");
break; break;
/* apparently not standard H.263...? */ /* apparently not standard H.263...? */
case GST_MAKE_FOURCC ('I', '2', '6', '3'): case GST_MAKE_FOURCC ('I', '2', '6', '3'):
caps = gst_caps_new_simple ("video/x-intel-h263", NULL); caps = gst_caps_new_simple ("video/x-intel-h263",
"variant", G_TYPE_STRING, "intel", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("Intel H.263"); *codec_name = g_strdup ("Intel H.263");
break; break;
case GST_MAKE_FOURCC ('H', '2', '6', '4'): case GST_MAKE_FOURCC ('H', '2', '6', '4'):
case GST_MAKE_FOURCC ('h', '2', '6', '4'): case GST_MAKE_FOURCC ('h', '2', '6', '4'):
caps = gst_caps_new_simple ("video/x-h264", NULL); caps = gst_caps_new_simple ("video/x-h264",
"variant", G_TYPE_STRING, "itu", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("ITU H.264"); *codec_name = g_strdup ("ITU H.264");
break; break;
case GST_MAKE_FOURCC ('V', 'S', 'S', 'H'): case GST_MAKE_FOURCC ('V', 'S', 'S', 'H'):
caps = gst_caps_new_simple ("video/x-h264", NULL); caps = gst_caps_new_simple ("video/x-h264",
"variant", G_TYPE_STRING, "videosoft", NULL);
if (codec_name) if (codec_name)
*codec_name = g_strdup ("VideoSoft H.264"); *codec_name = g_strdup ("VideoSoft H.264");
break; break;
@ -1124,12 +1136,15 @@ gst_riff_create_video_template_caps (void)
GST_MAKE_FOURCC ('D', 'X', '5', '0'), GST_MAKE_FOURCC ('D', 'X', '5', '0'),
GST_MAKE_FOURCC ('F', 'L', 'V', '1'), GST_MAKE_FOURCC ('F', 'L', 'V', '1'),
GST_MAKE_FOURCC ('H', '2', '6', '3'), GST_MAKE_FOURCC ('H', '2', '6', '3'),
GST_MAKE_FOURCC ('H', '2', '6', '4'),
GST_MAKE_FOURCC ('H', 'F', 'Y', 'U'), GST_MAKE_FOURCC ('H', 'F', 'Y', 'U'),
GST_MAKE_FOURCC ('I', '2', '6', '3'), GST_MAKE_FOURCC ('I', '2', '6', '3'),
GST_MAKE_FOURCC ('I', '4', '2', '0'), GST_MAKE_FOURCC ('I', '4', '2', '0'),
GST_MAKE_FOURCC ('I', 'V', '3', '2'), GST_MAKE_FOURCC ('I', 'V', '3', '2'),
GST_MAKE_FOURCC ('I', 'V', '4', '1'), GST_MAKE_FOURCC ('I', 'V', '4', '1'),
GST_MAKE_FOURCC ('I', 'V', '5', '0'), GST_MAKE_FOURCC ('I', 'V', '5', '0'),
GST_MAKE_FOURCC ('L', '2', '6', '3'),
GST_MAKE_FOURCC ('M', '2', '6', '3'),
GST_MAKE_FOURCC ('M', '4', 'S', '2'), GST_MAKE_FOURCC ('M', '4', 'S', '2'),
GST_MAKE_FOURCC ('M', 'J', 'P', 'G'), GST_MAKE_FOURCC ('M', 'J', 'P', 'G'),
GST_MAKE_FOURCC ('M', 'P', '4', '2'), GST_MAKE_FOURCC ('M', 'P', '4', '2'),
@ -1147,8 +1162,11 @@ gst_riff_create_video_template_caps (void)
GST_MAKE_FOURCC ('U', 'L', 'T', 'I'), GST_MAKE_FOURCC ('U', 'L', 'T', 'I'),
GST_MAKE_FOURCC ('V', 'C', 'R', '1'), GST_MAKE_FOURCC ('V', 'C', 'R', '1'),
GST_MAKE_FOURCC ('V', 'C', 'R', '2'), GST_MAKE_FOURCC ('V', 'C', 'R', '2'),
GST_MAKE_FOURCC ('V', 'D', 'O', 'W'),
GST_MAKE_FOURCC ('V', 'I', 'V', 'O'),
GST_MAKE_FOURCC ('V', 'M', 'n', 'c'), GST_MAKE_FOURCC ('V', 'M', 'n', 'c'),
GST_MAKE_FOURCC ('V', 'P', '3', ' '), GST_MAKE_FOURCC ('V', 'P', '3', ' '),
GST_MAKE_FOURCC ('V', 'S', 'S', 'H'),
GST_MAKE_FOURCC ('W', 'M', 'V', '1'), GST_MAKE_FOURCC ('W', 'M', 'V', '1'),
GST_MAKE_FOURCC ('W', 'M', 'V', '2'), GST_MAKE_FOURCC ('W', 'M', 'V', '2'),
GST_MAKE_FOURCC ('W', 'M', 'V', '3'), GST_MAKE_FOURCC ('W', 'M', 'V', '3'),
@ -1159,7 +1177,8 @@ gst_riff_create_video_template_caps (void)
GST_MAKE_FOURCC ('Z', 'L', 'I', 'B'), GST_MAKE_FOURCC ('Z', 'L', 'I', 'B'),
GST_MAKE_FOURCC ('c', 'v', 'i', 'd'), GST_MAKE_FOURCC ('c', 'v', 'i', 'd'),
GST_MAKE_FOURCC ('h', '2', '6', '4'), GST_MAKE_FOURCC ('h', '2', '6', '4'),
GST_MAKE_FOURCC ('m', 's', 'v', 'c') GST_MAKE_FOURCC ('m', 's', 'v', 'c'),
GST_MAKE_FOURCC ('x', '2', '6', '3')
/* FILL ME */ /* FILL ME */
}; };
guint i; guint i;