ext/ffmpeg/gstffmpegcodecmap.c: Added proper GstCaps <==> CodecId for Apple QDRaw.

Original commit message from CVS:
reviewed by: Edward Hervey  <edward@fluendo.com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids),
(gst_ffmpeg_get_codecid_longname):
Added proper GstCaps <==> CodecId for Apple QDRaw.
Fixed up proper wrapping for GstCaps <==> FormatId.
This commit is contained in:
Edward Hervey 2006-04-19 15:35:12 +00:00
parent 33255a18c4
commit e57701a511
2 changed files with 63 additions and 4 deletions

View file

@ -1,3 +1,13 @@
2006-04-19 J^ <j@bootlab.org>
reviewed by: Edward Hervey <edward@fluendo.com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids),
(gst_ffmpeg_get_codecid_longname):
Added proper GstCaps <==> CodecId for Apple QDRaw.
Fixed up proper wrapping for GstCaps <==> FormatId.
2006-04-18 Wim Taymans <wim@fluendo.com>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_perform_seek),
@ -126,6 +136,25 @@
case and GstBaseTransform will complain about unit size
issues if we use _alloc_buffer() with the full size.
2006-03-01 Michal Benes <michal dot benes at xeris dot cz>
reviewed by: Edward Hervey <edward@fluendo.com>
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_formatid_get_codecids):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init),
(gst_ffmpegmux_init), (gst_ffmpegmux_finalize),
(gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_setcaps),
(gst_ffmpegmux_collected), (gst_ffmpegmux_change_state),
(gst_ffmpegmux_register):
Port of FFMpeg muxers to 0.10.
Still needs some loving in gstffmpegcodecmap to have them all supported
with correct input formats.
Closes #332339
2006-03-01 Michal Benes <michal dot benes at xeris dot cz>
Reviewed by : Edward Hervey <edward@fluendo.com>

View file

@ -533,6 +533,10 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
caps = GST_FF_VID_CAPS_NEW ("video/x-smc", NULL);
break;
case CODEC_ID_QDRAW:
caps = GST_FF_VID_CAPS_NEW ("video/x-qdrw", NULL);
break;
case CODEC_ID_WS_VQA:
case CODEC_ID_IDCIN:
case CODEC_ID_8BPS:
@ -542,7 +546,6 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
case CODEC_ID_SONIC:
case CODEC_ID_SONIC_LS:
case CODEC_ID_SNOW:
case CODEC_ID_QDRAW:
case CODEC_ID_VIXL:
case CODEC_ID_QPEG:
case CODEC_ID_XVID:
@ -1510,6 +1513,12 @@ gst_ffmpeg_formatid_to_caps (const gchar * format_name)
} else if (!strcmp (format_name, "mov_mp4_m4a_3gp_3g2")) {
caps = gst_caps_from_string (
"application/x-3gp; video/quicktime; audio/x-m4a");
} else if (!strcmp (format_name, "mov")) {
caps = gst_caps_new_simple ("video/quicktime", NULL);
} else if (!strcmp (format_name, "mp4")) {
caps = gst_caps_new_simple ("video/quicktime", NULL);
} else if ((!strcmp (format_name, "3gp")) || (!strcmp (format_name, "3gp2"))) {
caps = gst_caps_new_simple ("application/x-3gp", NULL);
} else if (!strcmp (format_name, "aac")) {
caps = gst_caps_new_simple ("audio/mpeg",
"mpegversion", G_TYPE_INT, 4,
@ -1538,6 +1547,9 @@ gboolean
gst_ffmpeg_formatid_get_codecids (const gchar *format_name,
enum CodecID ** video_codec_list, enum CodecID ** audio_codec_list)
{
GST_LOG ("format_name : %s", format_name);
if (!strcmp (format_name, "mp4")) {
static enum CodecID mp4_video_list[] = { CODEC_ID_MPEG4, CODEC_ID_H264, CODEC_ID_NONE };
static enum CodecID mp4_audio_list[] = { CODEC_ID_AAC, CODEC_ID_NONE };
@ -1545,11 +1557,29 @@ gst_ffmpeg_formatid_get_codecids (const gchar *format_name,
*video_codec_list = mp4_video_list;
*audio_codec_list = mp4_audio_list;
} else if (!strcmp (format_name, "mpeg")) {
static enum CodecID mpeg_video_list[] = { CODEC_ID_MPEG1VIDEO, CODEC_ID_NONE };
static enum CodecID mpeg_audio_list[] = { CODEC_ID_MP2, CODEC_ID_NONE };
static enum CodecID mpeg_video_list[] = { CODEC_ID_MPEG1VIDEO,
CODEC_ID_MPEG2VIDEO,
CODEC_ID_H264,
CODEC_ID_NONE };
static enum CodecID mpeg_audio_list[] = { CODEC_ID_MP2,
CODEC_ID_MP3,
CODEC_ID_NONE };
*video_codec_list = mpeg_video_list;
*audio_codec_list = mpeg_audio_list;
} else if (!strcmp (format_name, "mpegts")) {
static enum CodecID mpegts_video_list[] = { CODEC_ID_MPEG1VIDEO,
CODEC_ID_MPEG2VIDEO,
CODEC_ID_H264,
CODEC_ID_NONE };
static enum CodecID mpegts_audio_list[] = { CODEC_ID_MP2,
CODEC_ID_MP3,
CODEC_ID_AC3,
CODEC_ID_AAC,
CODEC_ID_NONE };
*video_codec_list = mpegts_video_list;
*audio_codec_list = mpegts_audio_list;
} else if (!strcmp (format_name, "vob")) {
static enum CodecID vob_video_list[] = { CODEC_ID_MPEG2VIDEO, CODEC_ID_NONE };
static enum CodecID vob_audio_list[] = { CODEC_ID_MP2, CODEC_ID_AC3, CODEC_ID_NONE };
@ -2278,7 +2308,7 @@ gst_ffmpeg_get_codecid_longname (enum CodecID codec_id)
name = "Ultimotion video";
break;
case CODEC_ID_QDRAW:
name = "Applet Quickdraw video";
name = "Apple Quickdraw video";
break;
case CODEC_ID_VIXL:
name = "Miro VideoXL";