Commit graph

668 commits

Author SHA1 Message Date
Edward Hervey
f3c1a56a60 The proper spelling is 'FFmpeg'. 2009-04-15 22:11:10 +02:00
Edward Hervey
d39ad81ad7 gstffmpegmux: Use the AVFormat long_name in our descriptions.
This is the same behaviour we use in the demuxers.
2009-04-15 22:04:02 +02:00
Edward Hervey
9b8a99761a Disable more fake codecs (raw audio). 2009-04-15 21:56:00 +02:00
LRN
2b25dbe12e ffdec: copy input offsets to output buffers
Copy the incomming offsets to the outgoing buffers.
Fixes 578278.
2009-04-10 00:19:50 +02:00
Janin Kolenc
a44f5b4df3 ffenc: Add support for I-frame request.
Add request for I-frame request using GstForceKeyUnit event.
Fixes #575709.
2009-03-25 12:51:55 +01:00
Sebastian Dröge
3fcef3b6a7 ffmux: Actually set caps on the srcpad instead of working with NULL caps 2009-03-23 14:07:06 +01: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
983d2f2b36 Re-enable amr muxer. It's a muxer after all. Fixes #575664 2009-03-17 11:51:28 +01:00
Edward Hervey
59796dd0bc gstffmpegdec: Disable vdpau decoders. Fixes #573400 2009-03-11 13:25:40 +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
1e689f057f Disable exposing decoder/encoder using external library. Fixes #574746 2009-03-10 21:11:43 +01:00
Edward Hervey
ca1321b224 blacklist bogus demuxer/muxer/typefind. Fixes #567336 and #574814 2009-03-10 21:05:52 +01:00
Edward Hervey
8cfa2c4314 gstffmpegdec: Use 64bit scaling function to avoid overflows detected in some situations. 2009-03-09 18:18:24 +01:00
Edward Hervey
146aab9dcb demux: If the demuxer isn't initialized yet, forward serialized events without waiting.
We do this, because the demuxer is initialized in the loop function. If it's not
initialized yet, that means the loop hasn't been entered... and therefore the
PIPE GCond will never be signalled.
2009-03-09 15:09:10 +01:00
Edward Hervey
f8e3a0007f demuxers: Blacklist push-mode for avformat demuxers which aren't reliable in push-mode.
Currently, only one is blacklisted : ffdemux_ape. This has been confirmed by
ffmpeg developers.
2009-03-09 13:46:06 +01:00
Edward Hervey
3f34bf8ef4 demuxers: Add more debugging 2009-03-09 13:45:22 +01:00
Edward Hervey
cc9dace674 gstffmpegcodecmap: Add proper caps for Fraps video codec 2009-03-09 10:07:39 +01:00
Edward Hervey
98167578c4 ffmpegdec: Make sure we provide 16 byte aligned data to ffmpeg. Fixes #572863
We simply allocate the memory using ffmpeg's av_malloc which provides us
with properly memalign'ed data.
This avoids write-outside-of-bounds when sse/altivec code is being used.
2009-03-06 17:37:51 +01:00
Edward Hervey
df6fb6867e ffaudioresample: Add padding to output buffer. Fixes #573649
The internal resampling functions seem to require a slightly bigger buffer
for output than what we require. Therefore we give it an extra 64bytes (although
16 should have been enough).
2009-03-06 12:47:12 +01:00
Tim-Philipp Müller
c389f49295 ffmpegdec: post an error message on the bus when decoding fails
We should post a STREAM DECODE error message on the bus when we return
GST_FLOW_ERROR, otherwise the user ends up seeing an ugly internal flow
error message, which isn't very nice.
2009-03-06 11:01:55 +00:00
Edward Hervey
eeffd7b87f gstffmpegdec: Set the rank of the AAC decoder to NONE.
It will stay this way until the ffmpeg aac decoder can report before decoding
whether it can handle a given stream or not.
2009-03-05 12:09:32 +01:00
Damien Lespiau
ac82da060a Make bz2 requirement optional. Fixes #564867 2009-03-05 09:10:37 +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
Tim-Philipp Müller
30805cd2c4 ffdec: fix build 2009-03-04 20:58:08 +00:00
Edward Hervey
9eb48ddcda gstffmpegdec: Abort on first failure by AAC decoder. Fixes #566250.
The problem is that the ffmpeg aac decoder fails... but still accepts
the following buffers as if nothing happened. But because some things
were not properly set in the internal code, all hell breaks loose.
2009-03-04 21:10:22 +01:00
Edward Hervey
ec1ff94e7b gstffmpegdec: Bring the real decoders up to GST_RANK_PRIMARY.
They have proven by now that they're more reliable than the
-bad real wrapper plugins.
2009-03-04 20:04:25 +01:00
Sebastian Dröge
778df9cae0 ffmpeg: Don't register the MXF typefinder, we have our own in -base 2009-03-04 12:25:34 +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
Sebastian Dröge
9f912aa69e Don't register ASS/SSA typefinder 2009-02-05 17:19:20 +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
Edward Hervey
89c3c79d5e Differentiate between "no more data" from "IO failure" when reading.
Where no more data is available, av_read_frame just returns an error code
instead of making the difference between "I am not returning anything because
we finished reading" and "I am not returning anything because the underlying
read failed".

We differentiate between the two by looking at whether we outputted any
data previously or not.
2009-01-27 15:59:25 +01:00
Edward Hervey
965f23f4f1 Implement push-based support for demuxers
Fixes #392534
2009-01-27 11:39:18 +01:00
Edward Hervey
91ac27e6de Add support for AVSEEK_SIZE in seek handler. This should make demuxers work again (sigh) 2009-01-26 18:21:50 +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
Stefan Kost
0222971453 ext/ffmpeg/gstffmpegmux.c: Renaming tagsetter_flush to _reset_tags().
Original commit message from CVS:
* ext/ffmpeg/gstffmpegmux.c:
Renaming tagsetter_flush to _reset_tags().
2008-12-16 15:58:05 +00:00
Stefan Kost
c5102d2045 Fix tag merging. Use tagsetter and not internal copies. Depend on
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/gstffmpegmux.c:
Fix tag merging. Use tagsetter and not internal copies. Depend on
CVS core and use new API to flush.
2008-12-16 14:24:05 +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
Edward Hervey
4540e7d752 ext/ffmpeg/gstffmpegdec.c: Fix check for memory to free.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward.hervey@collabora.co.uk>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_finalize):
Fix check for memory to free.
Fixes #560644
2008-12-03 17:43:45 +00:00
Wim Taymans
97e7c6ecee ext/ffmpeg/gstffmpegmux.c: Copy the codec aspect ratio to the stream, ffmpeg expects them to be the same. Fixes #560305.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_setcaps):
Copy the codec aspect ratio to the stream, ffmpeg expects them to be the
same. Fixes #560305.
2008-11-11 17:18:46 +00:00
Sebastian Dröge
7ce8ab7ad4 configure.ac: Fix typo: libswcale -> libswscale for the pkg-config check.
Original commit message from CVS:
* configure.ac:
Fix typo: libswcale -> libswscale for the pkg-config check.
* ext/libswscale/gstffmpegscale.c:
Fix include path, newer ffmpeg installs the headers for all
libraries into separate directories. Fixes bug #560137.
2008-11-10 12:37:46 +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
4ad12e4818 ext/ffmpeg/: Add G_PARAM_STATIC_STRINGS to avoid numerous strcpy calls.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_init):
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer), (get_output_buffer),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Add G_PARAM_STATIC_STRINGS to avoid numerous strcpy calls.
2008-11-06 11:47:40 +00:00
Wim Taymans
fe4e398482 ext/ffmpeg/gstffmpegdec.c: Enable direct rendering.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer), (get_output_buffer):
Enable direct rendering.
Add some more debug info about image strides.
2008-11-05 17:05:46 +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
Stefan Kost
0165bad2a8 ext/: Don't install static libs for plugins. Fixes #550851 for -ffmpeg.
Original commit message from CVS:
* ext/ffmpeg/Makefile.am:
* ext/libpostproc/Makefile.am:
* ext/libswscale/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -ffmpeg.
2008-11-04 12:49:40 +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
Robin Stocker
e6425e766d ext/ffmpeg/gstffmpegdec.c: If both, the decoder and the demuxer, provide a non-1:1 PAR prefer the one of the demuxer ...
Original commit message from CVS:
Patch by: Robin Stocker <robin at nibor dot org>
* ext/ffmpeg/gstffmpegdec.c:
(gst_ffmpegdec_add_pixel_aspect_ratio):
If both, the decoder and the demuxer, provide a non-1:1 PAR
prefer the one of the demuxer instead of the one of the decoder.
Fixes bug #556336.
2008-10-15 11:28:05 +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
Mark Nauwelaerts
d0877c48e4 Rewrite ffvideoscale using libswscale and put into a separate plugin.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/libswscale/Makefile.am:
* ext/libswscale/gstffmpegscale.c:
(gst_ffmpegscale_method_get_type), (gst_ffmpegscale_base_init),
(gst_ffmpegscale_class_init), (gst_ffmpegscale_init),
(gst_ffmpegscale_reset), (gst_ffmpegscale_finalize),
(gst_ffmpegscale_caps_remove_format_info),
(gst_ffmpegscale_transform_caps), (gst_ffmpegscale_fixate_caps),
(gst_ffmpegscale_get_unit_size), (gst_ffmpeg_caps_to_pixfmt),
(gst_ffmpegscale_fill_info), (gst_ffmpegscale_set_caps),
(gst_ffmpegscale_transform), (gst_ffmpegscale_handle_src_event),
(gst_ffmpegscale_stop), (gst_ffmpegscale_set_property),
(gst_ffmpegscale_get_property), (gst_ffmpeg_log_callback),
(plugin_init):
Rewrite ffvideoscale using libswscale and put into a separate plugin.
Fixes #504056.
2008-10-08 13:11:54 +00:00
Damien Lespiau
b706c481d3 Fix cross compilation and add support for compilation with mingw32.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* configure.ac:
* ext/ffmpeg/Makefile.am:
Fix cross compilation and add support for compilation with mingw32.
Fixes bug #542216.
2008-10-08 11:24:26 +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
d16e6f1ecc ext/ffmpeg/gstffmpegdec.c: If we have a parser and we did not consume any of the bytes of a new buffer, make sure we ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame),
(gst_ffmpegdec_chain):
If we have a parser and we did not consume any of the bytes of a new
buffer, make sure we submit the buffer again with its original timestamp
instead of a -1 timestamp. Fixes various h264 cases with reordered
frames.
If we have a discont and a timestamp but the first buffer after the
discont did not produce any data, make sure we set the timestamp on the
next buffer instead. Fixes initial timestamp on realaudio in many cases.
2008-09-04 14:08:50 +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
d16582feb6 ext/ffmpeg/gstffmpegdec.c: Finalizing a decoder that was never used shouldn't trigger an assertion.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_finalize),
(gst_ffmpegdec_get_buffer), (gst_ffmpegdec_frame):
Finalizing a decoder that was never used shouldn't trigger an assertion.
Add debug messages for the two other g_assert_if_reached().
2008-08-29 09:59:29 +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
Michael Smith
7d4c7bf635 ext/ffmpeg/gstffmpegdemux.c: gst_pad_template_new() takes ownership of caps; ref them beforehand since we want to kee...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c:
gst_pad_template_new() takes ownership of caps; ref them beforehand
since we want to keep using them afterwards.
2008-08-29 00:27:28 +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
aadbfcfeb9 ext/ffmpeg/: Latest ffmpeg revision's avcodec_close frees more; use safer coding to prevent double free and other rel...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_fill_context):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
Latest ffmpeg revision's avcodec_close frees more; use safer coding to
prevent double free and other related segfaults.
2008-08-01 18:37:02 +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
Aurelien Grimaud
ffaf42c1df ext/ffmpeg/gstffmpegmux.c: Properly convert buffer duration to an ffmpeg packet duration.
Original commit message from CVS:
Based on a patch by: Aurelien Grimaud <gstelzz at yahoo dot fr>
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected):
Properly convert buffer duration to an ffmpeg packet duration.
Fixes #371939.
2008-07-06 21:06:45 +00:00
Jan Schmidt
17e954b034 ext/ffmpeg/gstffmpegdec.c: If ffmpeg reports 0 bytes of input data consumed, don't break out unless it also didn't pr...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c:
If ffmpeg reports 0 bytes of input data consumed, don't break out
unless it also didn't produce any output. Fixes the audio in #377400
and doesn't break anything else I've tested.
Enable the mp3 parser, and set mp3 and mpeg2-video decoding autoplug
at marginal level, as they seem to both work fine now.
2008-07-01 09:39:19 +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
Edward Hervey
63d2aa24cf Bump upstream ffmpeg revision to todays (rev 13766). ffmpeg now requires libbz2.
Original commit message from CVS:
* ext/ffmpeg/Makefile.am:
* ffmpegrev:
Bump upstream ffmpeg revision to todays (rev 13766).
ffmpeg now requires libbz2.
2008-06-13 15:23:08 +00:00
Wim Taymans
4cd2785756 ext/ffmpeg/gstffmpegdemux.c: Set flv demuxer to rank NONE, we have a better, working demuxer in -bad and we don't wan...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Set flv demuxer to rank NONE, we have a better, working demuxer in -bad
and we don't want any bug reports about this one. Fixes #534783.
2008-05-26 10:25:59 +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
0378202dc8 ext/ffmpeg/gstffmpegdec.c: Explicitely disable the AAC decoders as they don't work very well and we have better alter...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Explicitely disable the AAC decoders as they don't work very well
and we have better alternatives. Fixes bug #534392.
2008-05-26 07:43:00 +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
Tim-Philipp Müller
a24ce03f75 ext/ffmpeg/gstffmpegdemux.c: Explicitly disable 'raw' mpeg-ts typefinder as well; better debug logging for the gst-ff...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find),
(gst_ffmpegdemux_register):
Explicitly disable 'raw' mpeg-ts typefinder as well; better debug logging
for the gst-ffmpeg typefinders. (#533708).
2008-05-25 21:55:24 +00:00
Tim-Philipp Müller
b7e4ff666a ext/ffmpeg/gstffmpegdemux.c: Implement SEEKING query, so players such as totem can query seekability. Fix a comment t...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_query_list),
(gst_ffmpegdemux_src_query), (gst_ffmpegdemux_get_stream),
(gst_ffmpegdemux_open):
Implement SEEKING query, so players such as totem can query
seekability. Fix a comment typo or two.
2008-05-25 21:48:39 +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
Edward Hervey
4d5f8819ad ext/ffmpeg/gstffmpegaudioresample.c: small gst-indent run.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegaudioresample.c:
(gst_ffmpegaudioresample_class_init),
(gst_ffmpegaudioresample_init),
(gst_ffmpegaudioresample_transform_caps),
(gst_ffmpegaudioresample_transform_size),
(gst_ffmpegaudioresample_get_unit_size),
(gst_ffmpegaudioresample_set_caps),
(gst_ffmpegaudioresample_transform):
small gst-indent run.
2008-05-08 11:15:52 +00:00
Edward Hervey
221bcf6f97 ext/ffmpeg/gstffmpegdec.c: Previous commit in fact broke playback for standard wmv3.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_register):
Previous commit in fact broke playback for standard wmv3.
Instead make both ffdec_vc1 and ffdec_wmv3 accept any wmv3 variant and
figure out the proper codecid when opening the ffmpeg decoder.
2008-05-07 10:15:53 +00:00
Edward Hervey
11f80ecdc6 ext/ffmpeg/gstffmpegdec.c: Bump the priority of VC1 decoder so that it goes before the WMV3 decoder. This allows prop...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_register):
Bump the priority of VC1 decoder so that it goes before the WMV3
decoder. This allows proper auto-pluggin with decodebin/playbin.
Fixes #531857
2008-05-07 09:47:57 +00:00
Gabriel Bouvigne
d6934dcd7c ext/libpostproc/gstpostproc.c: Support for non-I420 colorspaces in postproc
Original commit message from CVS:
Patch by: Gabriel Bouvigne  <bouvigne at mp3-tech dot org>
* ext/libpostproc/gstpostproc.c:
Support for non-I420 colorspaces in postproc
Fixes #496127
2008-05-06 14:31:22 +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
Andy Wingo
32bed94a31 Revert my patch, it was the badness.
Original commit message from CVS:
(gst_post_proc_transform_ip): Revert my patch, it was the badness.
2008-04-15 10:02:40 +00:00
Andy Wingo
223ea0d623 ext/libpostproc/gstpostproc.c (gst_post_proc_transform_ip): Fix some mistyping when calling pp_postprocess.
Original commit message from CVS:
2008-04-15  Andy Wingo  <wingo@pobox.com>

* ext/libpostproc/gstpostproc.c (gst_post_proc_transform_ip): Fix
some mistyping when calling pp_postprocess.
2008-04-15 09:11:52 +00:00
Edward Hervey
72b54f8e4c ffmpegrev: Bump upstream ffmpeg revision to todays
Original commit message from CVS:
* ffmpegrev: Bump upstream ffmpeg revision to todays
* configure.ac: Fix configure for build modification in upstream
* ext/libpostproc/gstpostproc.c: (gst_post_proc_transform_ip):
Fix build for modifications in upstream
2008-04-03 09:32:46 +00:00
Andy Wingo
a5a03facd1 ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain if we've already set up a codec.
Original commit message from CVS:
2008-03-18  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain
if we've already set up a codec.
2008-03-18 10:35:40 +00:00
Andy Wingo
1c7202ea06 ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz explicitly here.
Original commit message from CVS:
2008-03-17  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz
explicitly here.

* configure.ac: Remove -lz from FFMPEG_LIBS, because FFMPEG_LIBS
are used in the Makefile.am as a DEPENDENCIES target, and -lz is
not a target. Also in a blahriffic turn of events, MMX and Altivec
code on MacOS 10.5 produces non-PIC code. Turn them off on macos.
2008-03-17 14:09:54 +00:00
Wim Taymans
52b26ee96e ext/ffmpeg/gstffmpegdec.c: When we receive a newsegment event, we must drain any pending frames because they belong t...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event):
When we receive a newsegment event, we must drain any pending frames
because they belong to the previous segment. This fixes some cases of
very large timestamps when doing segment seeks.
2008-03-11 16:07:11 +00:00
Wim Taymans
be4b2533a9 ext/ffmpeg/gstffmpegdec.c: Work around an ffmpeg bug where it always returns 0 timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(get_output_buffer), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Work around an ffmpeg bug where it always returns 0 timestamps.
2008-03-06 14:47:57 +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
62bc3b929b ext/ffmpeg/gstffmpegdec.c: Detect DTS or PTS as timestamps. This is done by tracking frame reordering on the output a...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_setcaps), (check_keyframe),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_sink_event),
(gst_ffmpegdec_set_property):
Detect DTS or PTS as timestamps. This is done by tracking frame
reordering on the output and making sure that timestamps don't go
backwards. Fixes #482660.
2008-03-05 17:02:33 +00:00
Damien Lespiau
bebde6f878 ext/ffmpeg/gstffmpegdec.c: Add property for controlling of motion vectors. Fixes #515811.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Add property for controlling of motion vectors. Fixes #515811.
API: GstFFMpegDec::debug-mv
2008-02-11 18:45:53 +00:00
Edward Hervey
d5df61ccb7 ext/ffmpeg/gstffmpegdemux.c: Don't try handling a buffer if downstream allocation failed.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Don't try handling a buffer if downstream allocation failed.
Avoids crashes and Fixes #515205
2008-02-08 15:12:03 +00:00
Wim Taymans
7d3fa2df4b ext/ffmpeg/gstffmpegdec.c: Don't blindly copy input timestamp to output timestamp but prefer the one attached to the ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
Don't blindly copy input timestamp to output timestamp but prefer the
one attached to the picture when we can.
Add new variables for the output timestamp and duration to make the code
a little more clear.
2008-01-29 17:53:47 +00:00
Sebastian Dröge
950ad1abbe ext/ffmpeg/gstffmpegdec.c: Initialize hurry_up to 0 to fix "might be used uninitialized" compiler warning.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
Initialize hurry_up to 0 to fix "might be used uninitialized"
compiler warning.
2008-01-26 15:20:10 +00:00
Wim Taymans
15c2ba23c6 ext/ffmpeg/: When doing QoS, don't drop the frame before decoding because we might drop an important reference frame,...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_video_frame):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init):
When doing QoS, don't drop the frame before decoding because we might
drop an important reference frame, just make the decoder hurry_up on
this frame.
2008-01-25 11:44:29 +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
Wim Taymans
2e73ff53f0 ext/ffmpeg/gstffmpegdec.c: Add padding to input data before feeding it to ffmpeg. Also add option to disable this (al...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (get_output_buffer), (gst_ffmpegdec_chain),
(gst_ffmpegdec_change_state), (gst_ffmpegdec_set_property),
(gst_ffmpegdec_get_property):
Add padding to input data before feeding it to ffmpeg. Also add option
to disable this (although it does not seem to cause slowdown).
2008-01-23 18:23:37 +00:00
Wim Taymans
e57ac5b514 ext/ffmpeg/gstffmpegdec.c: Change the pad_alloc calculations for weird clipped sizes, refactor the code a bit.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(alloc_output_buffer), (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_release_buffer), (gst_ffmpegdec_negotiate),
(get_output_buffer):
Change the pad_alloc calculations for weird clipped sizes, refactor the
code a bit.
Add support for some different refcounting algorithm.
Direct rendering still disabled by default.
2008-01-23 16:08:27 +00:00
Edward Hervey
31131add1f ext/ffmpeg/gstffmpegdec.c: Disable direct-rendering by default until buffer allocation works correctly.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init):
Disable direct-rendering by default until buffer allocation works
correctly.
Rename the alias of the direct rendering property from 'direct' to
'direct-rendering'.
2008-01-22 18:24:40 +00:00
Wim Taymans
40a3686fe0 ext/ffmpeg/gstffmpegdec.c: Disable direct rendering for h264 since it does not always work.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_get_buffer):
Disable direct rendering for h264 since it does not always work.
2008-01-22 17:16:12 +00:00
Wim Taymans
9e70ac2064 ext/ffmpeg/gstffmpegdec.c: Implement get/set for the new property too.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_set_property),
(gst_ffmpegdec_get_property):
Implement get/set for the new property too.
2008-01-22 16:44:51 +00:00
Wim Taymans
39ea5ac5f0 ext/ffmpeg/gstffmpegdec.c: Reenable pad_alloc, seem to work now.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_open),
(gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_release_buffer), (get_output_buffer),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_audio_frame),
(gst_ffmpegdec_frame), (gst_ffmpegdec_change_state),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Reenable pad_alloc, seem to work now.
Added property to easily disable it later on.
Remove some old code that tried hard to break the get_buffer
functions. Fixes #321662.
2008-01-22 16:32:23 +00:00
Wim Taymans
221ff7e482 ext/ffmpeg/gstffmpegcfg.c: Add h263 to the list of codecs using the mpeg flags and options.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type):
Add h263 to the list of codecs using the mpeg flags and options.
Add some more H263 specific flags. Fixes #421068.
2008-01-22 13:54:34 +00:00
Sebastian Dröge
94b1421fa2 ext/ffmpeg/gstffmpegdemux.c: Don't register typefinders for which we have better replacements in base. Fixes bug #510...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Don't register typefinders for which we have better replacements
in base. Fixes bug #510985.
2008-01-22 11:10:57 +00:00
Wim Taymans
5627c7d3e7 ext/ffmpeg/gstffmpegdec.c: Remove some more overly clever code that does nothing but mess up timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Remove some more overly clever code that does nothing but mess up
timestamps.
2008-01-21 11:19:03 +00:00
Wim Taymans
c7d5be2b69 ext/ffmpeg/gstffmpegdec.c: Flush delayed frames on DISCONT if we have them.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_drain),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain):
Flush delayed frames on DISCONT if we have them.
2008-01-18 17:48:21 +00:00
Wim Taymans
c0bed4bd8d ext/ffmpeg/gstffmpegdec.c: Flush on DISCONT because ffmpeg does not reliably tell us about keyframes.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Flush on DISCONT because ffmpeg does not reliably tell us about
keyframes.
2008-01-18 14:50:46 +00:00
Wim Taymans
1f8557e203 ext/ffmpeg/gstffmpegdec.c: Rewrite timestamping code to let ffmpeg track timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_open), (gst_ffmpegdec_get_buffer),
(gst_ffmpegdec_release_buffer), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain):
Rewrite timestamping code to let ffmpeg track timestamps.
Fixes #482660, #337866.
2008-01-18 12:18:08 +00:00
Wim Taymans
6033df76e9 ext/ffmpeg/gstffmpegdec.c: Add basic reverse playback for video.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (clear_queued), (flush_queued),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_frame),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_change_state):
Add basic reverse playback for video.
2008-01-16 17:35:58 +00:00
Sebastian Dröge
c8c3da525b ext/ffmpeg/: Don't register the WavPack demuxer and decoder. They don't work, we have better ones and the output of t...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Don't register the WavPack demuxer and decoder. They don't work,
we have better ones and the output of the demuxer/input of the
decoder is in a different format than what audio/x-wavpack of the
wavpack plugin is (it seems that the demuxer strips of the wavpack
headers from every frame).
This fixes typefinding of Wavpack files again, as the ffmpeg
typefinder was preffered for some reason and gave
application/x-gst_ff-wv instead of audio/x-wavpack.
2008-01-04 22:14:50 +00:00
Edward Hervey
4b12fdb186 ext/ffmpeg/gstffmpegdemux.c: Fix demuxer to stop properly (emit an error message on the bus) if no pads are linked. U...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Fix demuxer to stop properly (emit an error message on the bus) if no
pads are linked. Use aggregated flow return values a bit more.
2007-12-18 10:05:28 +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
Tuomas Kulve
8f95bd95cc ext/ffmpeg/gstffmpegdec.c: Fix the return type of the setcaps function. Fixes #485033.
Original commit message from CVS:
Patch by: Tuomas Kulve <tuomas dot kulve at movial dot fi>
* ext/ffmpeg/gstffmpegdec.c:
Fix the return type of the setcaps function. Fixes #485033.
2007-10-10 09:31:32 +00:00
Yann Gilquin
808f080279 ext/ffmpeg/gstffmpegdemux.c: Don't return FALSE for the LATENCY event but instead forward it upstream. Fixes #482946.
Original commit message from CVS:
Patch by: Yann Gilquin <yann dot gilquin at purplelabs dot com>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event):
Don't return FALSE for the LATENCY event but instead forward it
upstream. Fixes #482946.
2007-10-05 15:03:21 +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
Edward Hervey
f616f4aa7c ext/ffmpeg/gstffmpegdec.c: Don't set rank of sp5x video decoder to NONE.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
Don't set rank of sp5x video decoder to NONE.
Fixes #466221
Re-order the cases of the switch statement so that the default case
is last.
2007-08-14 14:29:36 +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
907d7e40f5 ext/ffmpeg/: Free strings atleast when finalizing elements.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_install_property),
(gst_ffmpeg_cfg_finalize):
* ext/ffmpeg/gstffmpegcfg.h:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_finalize),
(ffmpegenc_setup_working_buf), (gst_ffmpegenc_chain_video),
(gst_ffmpegenc_flush_buffers):
Free strings atleast when finalizing elements.
* tests/check/generic/libavcodec-locking.c: (GST_START_TEST),
(simple_launch_lines_suite):
Fix some leaks.
2007-08-01 17:43:39 +00:00
Stefan Kost
8e16a39836 Check for libm and link against it (ffmpeg is using sqrt).
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/Makefile.am:
Check for libm and link against it (ffmpeg is using sqrt).
2007-08-01 15:06:44 +00:00
Julien Moutte
4c6045a04f ext/ffmpeg/: Handle buffers with invalid duration correctly even in the case where we have a demuxer AND a decoder fr...
Original commit message from CVS:
2007-07-25  Julien MOUTTE  <julien@moutte.net>

* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Handle
buffers with invalid duration correctly even in the case where
we have a demuxer AND a decoder from ffmpeg linked.
Fixes: #460274.
2007-07-25 15:39:43 +00:00
Stefan Kost
2897413b57 configure.ac: Use pkg-config to locate check. Bump core requirement.
Original commit message from CVS:
* configure.ac:
Use pkg-config to locate check. Bump core requirement.
* ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_chain):
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_transform):
Replace deprecated method.
2007-07-12 11:13:13 +00:00
Jan Schmidt
5f02c0eb85 ext/ffmpeg/gstffmpegenc.c: Fix the encoders by actually copying the encoded output data from the working area into th...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video),
(gst_ffmpegenc_flush_buffers):
Fix the encoders by actually copying the encoded output data from the
working area into the output buffer.
Fixes: #453135.
2007-07-05 11:19:21 +00:00
Jan Schmidt
b0aa56c796 ext/ffmpeg/gstffmpegenc.*: Instead of allocating 512KB buffers and then setting BUFFER_SIZE to what ffmpeg produced, ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf),
(gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers),
(gst_ffmpegenc_change_state):
* ext/ffmpeg/gstffmpegenc.h:
Instead of allocating 512KB buffers and then setting BUFFER_SIZE
to what ffmpeg produced, we're better off by far to use a single
working buffer and copy data out into neat little buffers.
This prevents exhorbitant virtual memory wastage in the form
of allocated but untouched buffers.
2007-06-22 12:13:18 +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
Jan Arne Petersen
ddbf1ee10c ext/ffmpeg/gstffmpegdemux.c: Use total duration when the individual stream duration is not known.
Original commit message from CVS:
Patch by: Jan Arne Petersen <jpetersen at jpetersen dot org>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_query):
Use total duration when the individual stream duration is not known.
Fixes #375534.
2007-06-05 13:58:30 +00:00
Laurent Glayal
991730660c ext/ffmpeg/gstffmpegscale.c: don't leak refcounts in event handler. Fixes #444332.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_handle_src_event):
don't leak refcounts in event handler. Fixes #444332.
2007-06-05 13:41:54 +00:00
Wim Taymans
c413858fe6 ext/ffmpeg/gstffmpegdec.c: Be a bit smarter when clipping the frame without a duration, we don't want the frame to ex...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (clip_video_buffer),
(gst_ffmpegdec_video_frame):
Be a bit smarter when clipping the frame without a duration, we don't
want the frame to extend to the end of the segment in this case.
2007-05-25 10:41:56 +00:00
Jan Schmidt
a23a6a9d2a ext/ffmpeg/gstffmpegdemux.c: Reduce the probability of the MPEG-TS typefinder, because there's a better one in recent...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find):
Reduce the probability of the MPEG-TS typefinder, because there's a
better one in recent base releases.
2007-05-21 11:04:11 +00:00
Edward Hervey
bdadc136b2 Fix the build on MacOSX. since the one shipped by Apple is from the middle ages and is packed with issues.
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/Makefile.am:
* ext/libpostproc/Makefile.am:
Fix the build on MacOSX.
This requires a recent enough version of libtool (ex : 1.5.22), since
the one shipped by Apple is from the middle ages and is packed with
issues.
Fixes #435742
2007-05-17 15:46:17 +00:00
Edward Hervey
cc9a75adcb ext/ffmpeg/: Protect calls to ffmpeg functions that will implicitly call avcodec_open/close with the avcodec mutex.
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_av_find_stream_info):
* ext/ffmpeg/gstffmpeg.h:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_open):
Protect calls to ffmpeg functions that will implicitly call
avcodec_open/close with the avcodec mutex.
Fixes #433245
2007-05-09 15:30:51 +00:00
Edward Hervey
0fcacdde8c ext/ffmpeg/gstffmpegdec.c: Fix timestamping for out-of-order incoming buffers. Instead of blindly copying the incomin...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_open), (gst_ffmpegdec_save_incoming_values),
(gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_sink_event):
Fix timestamping for out-of-order incoming buffers. Instead of blindly
copying the incoming buffer timestamps on the outgoing buffers we cache
the latest 2 incoming buffer timestamps and duration and make a wise
choice as to what the outgoing buffer timestamp and duration should be.
Fixes #342962
2007-05-02 16:06:09 +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
Michael Smith
357aa01ac6 ext/ffmpeg/gstffmpegdemux.c: Allow ffmpeg typefinders to try and typefind very short (<4kB) files.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find):
Allow ffmpeg typefinders to try and typefind very short (<4kB)
files.
2007-04-20 10:51:37 +00:00