Commit graph

269 commits

Author SHA1 Message Date
Albert Lee
f310322e90 gstffmpegcodecmap: Fix ATRAC1/3 caps 2010-06-11 08:23:34 +02:00
Edward Hervey
c28097b6c4 codecmap: First round of type mapping wrapping : image formats 2010-05-31 18:53:12 +02:00
Olivier Crête
2b891aff61 codecmap: Respect the various h263 options
See #577784.
2010-05-10 15:41:45 +02:00
Edward Hervey
0fb014fdbe ffmpegcodecmap: Add mapping for SIPR 2010-05-08 13:47:56 +02:00
Sebastian Dröge
a450bd027f build: Add all kinds of compiler warning flags and fix the resulting warnings 2010-03-24 12:07:28 +01:00
Edward Hervey
3230d4da09 gstffmpegcodecmap: Give a proper mapping for NSV format 2010-03-23 18:53:24 +01:00
Edward Hervey
38b71e40e6 gstffmpegcodecmap: Remove 'format' specified for wmv3 decoder.
Allows WMVA (Advanced Profile) videos to be properly auto-linked.
Doesn't introduce a regression for VC1 files.

Fixes #611722
2010-03-03 18:35:40 +01:00
Edward Hervey
5678ff1ac0 gstffmpegcodecmap: Add mapping for Indeo 5 2010-02-18 13:29:35 +01:00
Edward Hervey
9c497b6010 gstffmpegcodecmap: Add mapping for Windows Media Speech 2010-02-18 13:29:35 +01:00
Wim Taymans
430b8eb74d ffdec: fixup QCELP to always be mono
Make QCELP always mono, even if the caps tell us a different layout.
2010-02-04 17:08:41 +01:00
Wim Taymans
d3f9ee4309 ffmpegcodecmap: don't escape codec_data
Don't escape the codec_data, it breaks some streams (but likely also fixes
others). It's better to leave it as is, like most other players do.

See #608332
2010-01-29 14:00:28 +01:00
Edward Hervey
25073856e4 ffmpegcodecmap: Add proper mapping for Zip Block Motion Video 2010-01-23 15:34:28 +01:00
Edward Hervey
0c938fa10d ffmpegcodecmap: Add proper mapping for LOCO Lossless codec 2010-01-23 14:41:49 +01:00
Edward Hervey
399bb4667b gstffmpegcodecmap: Make a proper mapping for Autodesk Animator Codec 2010-01-23 13:51:24 +01:00
Edward Hervey
56172c60af gstffmpegcodecmap: Add mappings for new codecs
WMAPro
Dolby TrueHD
Atrac1
TwinVQ
2010-01-13 19:50:10 +01:00
Jan Schmidt
faa417cf34 caps: Use default audio channel layouts for some codecs
For a few white-listed codecs, use default fallback channel
layouts when ffmpeg doesn't inform us.
2009-11-22 12:28:12 +01:00
Jan Schmidt
62d54db07d ffmpeg: VC-1/WMV3 fixes.
Use format field in the pad caps to differentiate VC-1 from WMV3.
Fix a typo in the caps creation and parsing - the field is called
'format' - not 'fourcc'

Add a dodgy hack to populate the extradata size field
(first byte) when it is 0 - as it seems to be for some (Matroska)
test files.
2009-11-11 18:53:36 +00:00
Sjoerd Simons
19e81024a3 Always give the most video restricted caps possible
When the video caps aren't fixed yet, make sure we return the most
precise set of caps. It seems a regression was introduced in cc082f,
causing restricted caps to never be used if the context == NULL

None of the restricted caps generation uses the context, so no need to
check whether the context.

Fixes bug #578160.
2009-11-10 12:30:50 +01:00
Wim Taymans
669a0e359a ffmpeg: add support for G721
Add support for g721, which is like G726 but with 1 channel, 8KHz and a bitrate
of 32000.

Fixes #594454
2009-09-09 13:35:20 +02:00
Jonathan Matthew
595de04316 codecmap: don't set channel-positions for common mono and stereo cases 2009-09-08 15:29:24 +02:00
Tim-Philipp Müller
37875a95eb Lower minimum sample rate in generic template caps from 8000 to 4000
Fixes playback of ADPCM clip (#591809).
2009-08-14 16:09:05 +01:00
Sebastian Dröge
d181dbd7a0 ffmpegenc: If an encoder lists the supported pixfmts use them to create the caps
...instead of creating standard caps with all pixfmts.

Fixes bug #591038.
2009-08-08 22:43:06 +02:00
Jordi Mas
c27b4babf1 ffmpegmux: Add proper audio mapping for DVD muxer. Fixes #588546 2009-07-20 11:48:45 +02:00
Sebastian Dröge
63a4d4f332 Add mapping for VQF caps 2009-05-13 16:21:36 +02:00
Wim Taymans
92b8a5adc9 codecmap: revert bogus commit.
We don't need to set a default frame_size, ffmpeg has set this value to 0 to
inform us that there is a fixed relation between the amount of input samples
and output samples. Now we only need to implement handling that fact.
2009-05-12 22:20:49 +02:00
Wim Taymans
11db4588a6 ffmpeg: add default frame_size for g726
Without a frame_size configured in the context, the ffmpeg encoders do nothing.
Since the G726 does not configure a size itself, we set ourselves a frame_size
that corresponds to 20ms of audio, which is a reasonable default.
2009-04-17 16:27:09 +02:00
Edward Hervey
cc7ce2639c Move all non-codecmap-related methods to a new file.
We were starting to get too much unrelated code in there. This makes it
a bit easier to maintain.
2009-04-15 22:33:16 +02:00
Edward Hervey
7ca2836193 Take into account ticks_per_frame for framerate calculation. Fixes #575759 2009-03-17 23:45:34 +01:00
Edward Hervey
2df7d3e960 pixfmt: Stop using PIX_FMT that were marked as deprecated 3 years ago.
It still worked... until the 0.5 ffmpeg release, which made those defines unused.

See the bottom of libavutil/pixfmt.h for more details.
2009-03-11 12:56:29 +01:00
Edward Hervey
45ec23e37c codecmapping: Fix caps for ATRAC3. Fixes #574663 2009-03-10 21:14:21 +01:00
Edward Hervey
cc9dace674 gstffmpegcodecmap: Add proper caps for Fraps video codec 2009-03-09 10:07:39 +01:00
Jordi Mas
c7458545f3 gstffmpegmux: Expose the 'preload' and 'maxdelay' properties, add dvd mux mapping.
Fixes #570975
2009-03-05 08:52:11 +01:00
Edward Hervey
8dcbe4f7e8 codecmap. The VC1 decoder can also handle the Advanced Profile.
Fixes #565269
2009-03-05 07:48:24 +01:00
Sebastian Dröge
b50cc13487 ffmpeg: mxf_d10 is application/mxf too, it only specifies the used mapping 2009-03-04 12:24:47 +01:00
Edward Hervey
269698f020 ffmpegmux: Use information from AVOutputFormat to expose more muxers.
AVOutputFormat does *NOT* contain the full list of codecs a muxer can handle,
but does contain the recommended audio and video codecs. Therefore we use that
information to expose more muxers, until AVOutputFormat contains a list of
*ALL* compatible codecs.
2009-02-27 09:40:03 +01:00
Sebastian Dröge
87494eb949 And remove unused variable 2009-02-22 19:44:12 +01:00
Sebastian Dröge
0a697e42d1 Remove unreachable code 2009-02-22 19:43:19 +01:00
Sebastian Dröge
6fc19a2c49 Cast const GstBuffer * to GstBuffer * before unreffing 2009-02-22 19:40:51 +01:00
Edward Hervey
de4496b274 codecmap: map more codecs 2009-02-18 19:06:52 +01:00
Edward Hervey
9fc91546ea Only use valid SampleFormat for audio encoders/decoders.
For a given AVCodec, when the sample_fmts field is non-NULL, that means that
that codec can only handle a specific set of SampleFormat.
With this patch, we now look for its presence and create the proper pad template
caps.
Fixes #569441
2009-01-29 07:48:19 +01:00
Sebastian Dröge
0376e7049a Add MP1 and ADPCM IMA/ISS variant 2009-01-24 17:59:11 +01:00
Dejan Sakelšak
2742ccf931 ext/ffmpeg/gstffmpegcodecmap.c: Narrow down the allowed channels and sample rates for AMR.
Original commit message from CVS:
Patch by: Dejan Sakelšak <sakdean at gmail dot com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new):
Narrow down the allowed channels and sample rates for AMR.
Fixes #566647.
2009-01-05 18:08:20 +00:00
Edward Hervey
7342d67f97 ext/ffmpeg/gstffmpegcodecmap.c: Add mapping for IMC and MLP audio codecs.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Add mapping for IMC and MLP audio codecs.
2008-12-30 15:59:58 +00:00
Sebastian Dröge
01c49178c0 ffmpegrev: Updating ffmpeg SVN revision to r16304 and update to the corresponding swscale snapshot.
Original commit message from CVS:
* ffmpegrev:
Updating ffmpeg SVN revision to r16304 and update to the corresponding
swscale snapshot.
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid):
Enable the Real Video 3.0 decoder.
2008-12-24 08:09:53 +00:00
Edward Hervey
3d089f4862 ext/ffmpeg/gstffmpegcodecmap.*: Add mapping for EAC3 and QCELP audio codecs.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new),
(gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_smpfmt_to_caps),
(gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_to_smpfmt),
(gst_ffmpeg_caps_to_codecid), (av_smp_format_depth):
* ext/ffmpeg/gstffmpegcodecmap.h:
Add mapping for EAC3 and QCELP audio codecs.
Add conversion functions for all available audo SampleFormat.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate),
(clip_audio_buffer), (gst_ffmpegdec_audio_frame):
Remove assumptions that we can only handle stereo 16bit signed integer
audio, and store the depth locally.
2008-12-17 12:05:12 +00:00
Sebastian Dröge
923580b14f ext/ffmpeg/gstffmpegcodecmap.c: If no channel layout is provided don't set a NONE layout in the case of >2 channels b...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst):
If no channel layout is provided don't set a NONE layout in the
case of >2 channels but instead let audioconvert add some default
layout.
2008-12-13 08:01:45 +00:00
Sebastian Dröge
616c0eb07f ext/ffmpeg/: Set the channel layout if it's exposed by the decoder.
Original commit message from CVS:
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst),
(gst_ff_aud_caps_new):
* ext/ffmpeg/gstffmpegcodecmap.h:
Set the channel layout if it's exposed by the decoder.
Fixes bug #548002.
2008-12-13 07:55:40 +00:00
Wim Taymans
28cc187f59 ext/ffmpeg/gstffmpegcodecmap.c: Initialize some more variables.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
Initialize some more variables.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(alloc_output_buffer):
Disable direct rendering for h264, some functions just seem to read from
invalid memory.
2008-11-07 11:43:42 +00:00
Wim Taymans
0f96b4dfc2 ext/ffmpeg/gstffmpegcodecmap.c: Don't convert caps to strings when we don't have debugging enabled.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps),
(gst_ffmpeg_smpfmt_to_caps), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_avpicture_fill):
Don't convert caps to strings when we don't have debugging enabled.
2008-11-05 12:34:58 +00:00
Mark Nauwelaerts
51e0b9b509 ext/ffmpeg/gstffmpegcodecmap.c: Fix regression in template caps limitations; expose more than 2 channels in both src ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new):
Fix regression in template caps limitations;
expose more than 2 channels in both src and sink template
if so supported.
2008-11-04 18:53:01 +00:00
Alexis Ballier
42cf6d213f Update ffmpeg/swscale snapshot to the latest revision and adjust to API changes. Fixes bug #556405.
Original commit message from CVS:
Based on a patch by: Alexis Ballier <aballier at gentoo dot org>
* configure.ac:
* ext/ffmpeg/gstffmpeg.c:
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegaudioresample.c:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type),
(gst_ffmpeg_cfg_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdeinterlace.c:
* ext/ffmpeg/gstffmpegdemux.c:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_setcaps), (gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c:
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek):
* ext/libpostproc/gstpostproc.c:
* ffmpegrev:
Update ffmpeg/swscale snapshot to the latest revision and adjust
to API changes. Fixes bug #556405.
Require libavutil for swscale too when building with an external
ffmpeg and fix includes for external ffmpeg.
2008-10-30 12:05:45 +00:00
Mark Nauwelaerts
cc082f9b32 ext/ffmpeg/: Add some more width/height/channels/rate limitations to caps to cater for more automagic negotiation. A...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_codectype_to_caps):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_register):
Add some more width/height/channels/rate limitations to caps
to cater for more automagic negotiation.  Addresses #532422.
2008-10-08 14:20:37 +00:00
Wim Taymans
5211c2072a ext/ffmpeg/gstffmpegcodecmap.c: Add some debug that revealed that the escape code was disabled...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (nal_escape), (copy_config),
(gst_ffmpeg_caps_with_codecid):
Add some debug that revealed that the escape code was disabled...
2008-09-04 15:50:03 +00:00
Wim Taymans
5162694c1e ext/ffmpeg/gstffmpegcodecmap.c: Escape the codec_data for h264 before we put it in the extra_data because ffmpeg expe...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (nal_escape), (copy_config),
(gst_ffmpeg_caps_with_codecid):
Escape the codec_data for h264 before we put it in the extra_data
because ffmpeg expects it escaped.
2008-09-04 13:54:58 +00:00
Edward Hervey
bf1316819f ext/ffmpeg/gstffmpegcodecmap.c: Give the TrueSpeech audio codec a proper caps. This is now synchronized with libriff ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Give the TrueSpeech audio codec a proper caps. This is now synchronized
with libriff in -base cvs.
2008-09-03 14:06:45 +00:00
Edward Hervey
459ba46c22 ext/ffmpeg/gstffmpegcodecmap.c: Instead of marking all audio decoders/encoders as accepting up to 6 channels, we whit...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new):
Instead of marking all audio decoders/encoders as accepting up to 6
channels, we white-list those for which we are sure they can handle
those 6 channels.
Fixes #549799
2008-08-29 09:53:29 +00:00
Edward Hervey
35168b4a41 ext/ffmpeg/gstffmpegcodecmap.c: ffmpeg audio decoders can now do up to 6 channels... and actually expose it properly....
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_aud_caps_new):
ffmpeg audio decoders can now do up to 6 channels... and actually
expose it properly. Don't expect any channel mapping though.
2008-08-28 18:03:26 +00:00
Mark Nauwelaerts
f86e548d47 ext/ffmpeg/gstffmpegcodecmap.c: Recognize video/x-raw-gray and map to proper pixfmt.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
Recognize video/x-raw-gray and map to proper pixfmt.
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps),
(gst_ffmpegenc_chain_video):
Fail negotiation if pixfmt cannot be determined from input caps.
Prevent segfault accessing non-existant coded_frame, provide some
warning debug output instead.
2008-07-28 11:50:56 +00:00
Mark Nauwelaerts
98c2db7ea6 ext/ffmpeg/gstffmpegcodecmap.c: Prevent likely segfault on EMPTY provided caps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Prevent likely segfault on EMPTY provided caps.
2008-07-11 17:54:26 +00:00
Edward Hervey
bed7aa3f98 ext/ffmpeg/gstffmpegcodecmap.c: MP4 does not allow H263 and AMR.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
MP4 does not allow H263 and AMR.
2008-06-13 17:59:43 +00:00
Edward Hervey
1df167a9d6 ext/ffmpeg/: FFMpeg now provides proper long_name for AVCodec, remove our internal mapping and directly use upstream ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init),
(gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init),
(gst_ffmpegenc_register):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register):
FFMpeg now provides proper long_name for AVCodec, remove our
internal mapping and directly use upstream naming.
Improve debugging messages.
Remove g_warning() which isn't really needed.
2008-06-13 17:06:55 +00:00
Wim Taymans
b150447eae ext/ffmpeg/gstffmpegcodecmap.c: Add more specific width/height for DV video so that it negotiates more automatically.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_with_codecid):
Add more specific width/height for DV video so that it negotiates more
automatically.
Try to avoid accessing NULL caps.
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
Add some more debuggin to the caps generation.
2008-05-26 09:19:53 +00:00
Sebastian Dröge
2b248e29ff Use av_picture_copy() instead of libswscale to copy pictures. This removes the swscale dependency and is faster. Fixe...
Original commit message from CVS:
Patch by:
Hans de Goede <j dot w dot r degoede at hhs dot nl>
* configure.ac:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdec.c: (get_output_buffer):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected):
Use av_picture_copy() instead of libswscale to copy pictures. This
removes the swscale dependency and is faster. Fixes bug #534390.
2008-05-26 07:39:19 +00:00
Sebastian Dröge
0d7adba925 Fix build with (Debian's) system ffmpeg. Fixes bug #532803.
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/gstffmpegcodecmap.c:
* ext/ffmpeg/gstffmpegdemux.c:
* ext/libpostproc/gstpostproc.c:
Fix build with (Debian's) system ffmpeg. Fixes bug #532803.
2008-05-13 15:07:25 +00:00
Edward Hervey
811fa1a3cc ext/ffmpeg/gstffmpegcodecmap.c: Replace usage of img_convert (deprecated) by sws_scale.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_img_convert):
Replace usage of img_convert (deprecated) by sws_scale.
Fixes #529015
2008-05-08 13:45:14 +00:00
Sebastian Dröge
1ffe547e23 ext/ffmpeg/: Add support for MusePack StreamVersion 7 and disable the StreamVersion 8 typefinder. Fixes bug #510745.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Add support for MusePack StreamVersion 7 and disable the StreamVersion
8 typefinder. Fixes bug #510745.
2008-04-19 20:27:25 +00:00
Sebastian Dröge
b83d37033a ext/ffmpeg/: Add support for Monkey's Audio (APE). Fixes bug #518033.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Add support for Monkey's Audio (APE). Fixes bug #518033.
2008-04-19 19:43:54 +00:00
Michael Smith
ff9e22cac5 ext/ffmpeg/gstffmpegcodecmap.c: Fix masks for RGBA32 caps. Fixes colours when decoding using ffdec_qtrle. Follows an ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps):
Fix masks for RGBA32 caps. Fixes colours when decoding using
ffdec_qtrle. Follows an identical fix in the ffmpegcolorspace copy of
this code (revision 1.29).
2008-03-06 12:18:48 +00:00
Wim Taymans
dad7b0d4af ext/ffmpeg/gstffmpegcodecmap.c: Add H263+ to valid 3GP muxing formats. Fixes #511476.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Add H263+ to valid 3GP muxing formats. Fixes #511476.
2008-01-25 11:39:59 +00:00
Sebastian Dröge
a0bae2f656 ext/ffmpeg/: Add GIF (animations and single images) decoding and encoding support.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_formatid_get_codecids),
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop),
(gst_ffmpegdemux_register):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected),
(gst_ffmpegmux_register):
Add GIF (animations and single images) decoding and encoding support.
Fixes #503249.
2007-12-17 20:31:35 +00:00
Edward Hervey
f6186655c5 Merging GST_FFMPEG_NO_MIRROR branch to trunk
Original commit message from CVS:
Merging GST_FFMPEG_NO_MIRROR branch to trunk
2007-12-17 12:43:06 +00:00
Ole Andr Vadla Ravns
3627dbca5a ext/ffmpeg/:
Original commit message from CVS:
Patch by: Ole Andr Vadla Ravns <ole dot andre dot ravnas at tandberg dot com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init):
2007-11-08 14:44:36 +00:00
Edward Hervey
f85c737410 ext/ffmpeg/: gst-indent cleanup.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_avcodec_open),
(gst_ffmpeg_avcodec_close), (gst_ffmpeg_av_find_stream_info),
(gst_ffmpeg_log_callback), (plugin_init):
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_mb_decision_get_type),
(gst_ffmpeg_flags_get_type), (gst_ffmpeg_cfg_init),
(gst_ffmpeg_cfg_codec_has_pspec),
(gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_set_property),
(gst_ffmpeg_cfg_get_property), (gst_ffmpeg_cfg_set_defaults),
(gst_ffmpeg_cfg_fill_context), (gst_ffmpeg_cfg_finalize):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_save_incoming_values),
(gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init),
(gst_ffmpegdemux_src_query):
* ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf),
(gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers):
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open),
(gst_ffmpegdata_peek), (gst_ffmpegdata_read),
(gst_ffmpegdata_write), (gst_ffmpegdata_seek),
(gst_ffmpegdata_close):
gst-indent cleanup.
2007-11-03 16:14:53 +00:00
Wim Taymans
503ab7bf82 ext/ffmpeg/gstffmpegcodecmap.c: Add Real Video 3.0 and remove some bogus caps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_get_codecid_longname):
Add Real Video 3.0 and remove some bogus caps.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_video_frame):
When skipping because of QoS, pretend we consumed all bytes for the
frame so that the pcache's timestamp is updated correctly.
2007-10-01 17:27:42 +00:00
Wim Taymans
144b42608b ext/ffmpeg/gstffmpegcodecmap.c: Improve debugging of codec data. realvideo caps are underspecified, use fields of alt...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Improve debugging of codec data.
realvideo caps are underspecified, use fields of alternative variant
before we settle this.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_video_frame):
Add more debugging of used parsers.
Setup the realvideo slices correctly before calling the decoder, fixed
realvideo in matroska.
2007-08-07 10:21:19 +00:00
Stefan Kost
d0920a38d7 ext/ffmpeg/gstffmpegcodecmap.c: Enable mjpeg-codec in more containers.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Enable mjpeg-codec in more containers.
2007-06-20 08:00:30 +00:00
Stefan Kost
603caa3479 ext/ffmpeg/gstffmpeg.c: Cut off double \n.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_log_callback):
Cut off double \n.
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Enable more codecs in containers.
2007-06-19 14:14:29 +00:00
Wim Taymans
7f7a5d9d0b ext/ffmpeg/gstffmpegcodecmap.c: Add MSMPEG4V3 video and MP3 audio to the asf muxer supported formats.
Original commit message from CVS:
Patch by: <bram at luon dot net>
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Add MSMPEG4V3 video and MP3 audio to the asf muxer supported formats.
Fixes #444384.
2007-06-05 16:33:39 +00:00
Edward Hervey
4b2f21c351 ext/ffmpeg/gstffmpegcodecmap.c: Remove cruft inserted by wim's last commit.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
Remove cruft inserted by wim's last commit.
2007-04-25 10:19:01 +00:00
Mark Nauwelaerts
ed36eb0fc5 ext/ffmpeg/: Add the CODEC_FLAG_GLOBAL_HEADER to the exposed flags, and makes it as such configurable as a property. ...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be> and
Thomas Vander Stichele  <thomas at apestaart dot org>
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_get_codecid_longname):
Add the CODEC_FLAG_GLOBAL_HEADER to the exposed flags, and makes it as such
configurable as a property. Fixes #393187.
2007-04-12 11:06:46 +00:00
Johan Dahlin
c9aec911c2 ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname): Fix typo in Indeo-2 codec name
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname):
Fix typo in Indeo-2 codec name
2007-03-17 12:58:48 +00:00
Martin Szulecki
7dd3df72a1 ext/ffmpeg/gstffmpegcodecmap.c: Need to set depth on context for camtasia decoder (fixes #398875).
Original commit message from CVS:
Patch by: Martin Szulecki  <gnomebugzilla at sukimashita com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Need to set depth on context for camtasia decoder (fixes #398875).
2007-01-22 10:26:04 +00:00
Mark Nauwelaerts
6ff00e8dcb ext/ffmpeg/gstffmpegcodecmap.c: Internally, ffmpeg (demuxer) expects YUV4MPEG version 2, this patch sets the caps cor...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw@skynet.be>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
Internally, ffmpeg (demuxer) expects YUV4MPEG version 2, this patch sets
the caps correctly. Fixes #394071.
2007-01-11 10:02:40 +00:00
Wim Taymans
304641fd78 ext/ffmpeg/: Use codecid as extra parameter when getting caps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette),
(gst_ffmpeg_set_palette), (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps),
(gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_to_pixfmt),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_init_pix_fmt_info), (gst_ffmpeg_avpicture_fill),
(gst_ffmpeg_img_convert):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_register):
Use codecid as extra parameter when getting caps.
Restrict H263 caps to allowed sizes for better negotiation.
MP4/3gp can contain AMR-WB as well.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Indent.
2007-01-09 14:59:34 +00:00
Tim-Philipp Müller
c0322416f6 ext/ffmpeg/gstffmpegcodecmap.c: The "signed" field in raw audio caps is of boolean type, trying to extract the value ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_smpfmt):
The "signed" field in raw audio caps is of boolean type, trying to
extract the value with _get_int() will fail.
2006-12-21 12:21:51 +00:00
Edward Hervey
d524eefabb ext/ffmpeg/gstffmpegcodecmap.c: Activate "amr" and "3gp" muxers.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids):
Activate "amr" and "3gp" muxers.
Add AMR-NB as a valid audio codec for "mp4" muxer
2006-12-07 18:07:32 +00:00
Wim Taymans
c9e71601c5 ext/ffmpeg/gstffmpegcodecmap.c: Add H263p variants as possible format for mov.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Add H263p variants as possible format for mov.
Fixes #378796.
2006-12-07 11:37:10 +00:00
Ville Syrjala
5eae399a60 ext/ffmpeg/gstffmpegcodecmap.c: Specify H.263 variant and version in the caps (fixes #361636)
Original commit message from CVS:
Patch by: Ville Syrjala <ville.syrjala@movial.fi>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
Specify H.263 variant and version in the caps (fixes #361636)
2006-11-16 07:28:28 +00:00
Michael Smith
bb5e57a5f1 ext/ffmpeg/gstffmpegcodecmap.c: Add mmf to _get_codecids, so we can use the mmf muxer.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid):
Add mmf to _get_codecids, so we can use the mmf muxer.
Use "audio/x-adpcm" rather than the dubious looking "x-adpcm" as our
caps type for the adpcm variants.

* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init):
Allow muxers that allow either only audio or only video, needed for
mmf (audio only).
2006-11-14 12:34:20 +00:00
Wim Taymans
87106ca6c7 ext/ffmpeg/gstffmpegcodecmap.c: Fix AMR caps. Fixes #364956.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid):
Fix AMR caps. Fixes #364956.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_get_stream):
Activate pads before adding them.
2006-10-25 17:20:25 +00:00
Edward Hervey
5ace343ac9 ext/ffmpeg/gstffmpegcfg.c: FLV is in fact h263 and can take the same parameters as other mpeg derivatives.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c:
FLV is in fact h263 and can take the same parameters as other mpeg
derivatives.
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Add pixel format to video/x-dv,systemstream=False
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init),
(gst_ffmpegenc_init):
Use EPZS (Enhanced Predictive Zonal Search) as the default motion
estimation method, since it's the best quality to speed compromise.
2006-10-24 09:27:16 +00:00
Edward Hervey
5e39aa8e8e ext/ffmpeg/gstffmpegcodecmap.c: Added some codec mappings for dv and mov muxers.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Added some codec mappings for dv and mov muxers.
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps),
(gst_ffmpegenc_register):
Don't attempt to add caps to a NULL caps.
Add video/x-raw-gray to the input raw video types.
2006-10-13 13:13:08 +00:00
Edward Hervey
c3d6981559 ext/ffmpeg/gstffmpegcodecmap.c: Added proper mime types for mxf and gxf formats.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_formatid_get_codecids):
Added proper mime types for mxf and gxf formats.
Added known configuration for asf muxer. Implies allowing the ffmpeg asf
muxer to take WMV and WMA.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Most demuxers/formats don't give keyframe information on encoded
audio streams. We therefore don't discard them, and use the clipping
functionnality to drop the decoded buffers we didn't need.
2006-10-09 13:31:55 +00:00
Edward Hervey
ab7a8db4a5 ext/ffmpeg/gstffmpegcodecmap.c: Clarify some CODEC_ID <=> mime type conversions for image formats.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Clarify some CODEC_ID <=> mime type conversions for image formats.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Cleanup on demuxer registration.
Bumped flv demuxer to RANK_MARGINAL since it proved solid enough.
Will have to go over more demuxers, for which we don't have any
gst-plugins-* alternative, to figure out which ones can move to
RANK_MARGINAL too.
2006-09-30 14:42:16 +00:00
Edward Hervey
8c08c7872b ext/ffmpeg/gstffmpegcodecmap.c: Added definitions for FLASHSV, Flash Screen Video format.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
Added definitions for FLASHSV, Flash Screen Video format.
2006-09-23 12:00:15 +00:00
Edward Hervey
cc1482ca41 ext/ffmpeg/gstffmpegcodecmap.c: Adding codec mapping for vp5, vp6, vp6f and cavs.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
Adding codec mapping for vp5, vp6, vp6f and cavs.
2006-09-20 20:02:16 +00:00
Edward Hervey
1ead2073aa ext/ffmpeg/: Seems like the ffmpeg folks finally understood that VC9 does not exist, and that it's in fact VC1 (aka W...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Seems like the ffmpeg folks finally understood that VC9 does not
exist, and that it's in fact VC1 (aka WMV9 or WMV3, but that's yet
another debate).
2006-09-20 19:24:59 +00:00
Michal Benes
5312e1f777 ext/ffmpeg/: Port of FFMpeg muxers to 0.10.
Original commit message from CVS:
Patch by: Michal Benes  <michal dot benes at xeris dot cz>
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid):
* 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-09-08 15:25:51 +00:00
Sebastien Moutte
df305f763b ext/ffmpeg/: Make stuff compile on Visual Studio 6.
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien at moutte dot net>
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps),
(gst_ffmpeg_init_pix_fmt_info):
* ext/ffmpeg/gstffmpegcodecmap.h:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_send_event):
* ext/ffmpeg/gstffmpegprotocol.c:
Make stuff compile on Visual Studio 6.
Convert some crach macros to functions.
Convert some static tables to _init functions.
Fixes #343951.
2006-09-06 15:15:05 +00:00
Wim Taymans
d3f7b8582b ext/ffmpeg/gstffmpegcodecmap.c: Pad extradata. Allocate dummy empty extradata because some codecs like to read it and...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
Pad extradata. Allocate dummy empty extradata because some codecs like
to read it and segfault when it's not there.
2006-08-21 16:33:15 +00:00