Commit graph

695 commits

Author SHA1 Message Date
Sebastian Dröge
63a4d4f332 Add mapping for VQF caps 2009-05-13 16:21:36 +02:00
Edward Hervey
ee5a964293 gstffmpegdec: Don't forget to copy over the reordered_opaque in our buffers.
This is to be on-par with the default get_buffer() implementation (which is
detailed in libavcodec/utils.c).
2009-05-13 13:47:58 +02:00
Vanista
a26b94d92c gstffmpegdec: Handle out-of-order frames. Fixes #580796 2009-05-13 12:45:38 +02:00
Wim Taymans
e2dd913f4c ffenc: make the output buffer big enough
The ffmpeg docs say that the output buffer should at least be
FF_MIN_BUFFER_SIZE (which is overly large, but anyways).
2009-05-13 11:21:35 +02:00
Wim Taymans
25b41829b9 ffmpeg: rewrite audio encoders.
Rewrite the audio encoders to use the right API functions of ffmpeg. Also get
rid of the handrolled cache and use adapter instead for formats that require
fixed frame_size as input.
2009-05-13 01:04:30 +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
Edward Hervey
a0c7a2d0c5 ffmpegcfg: Expose two more CODEC_FLAG. 2009-05-12 18:13:16 +02:00
Edward Hervey
f384b2a006 gstffmpegdec: No, really, we don't want the VDPAU decoders.
They've changed the names, keeping the old ones til we switch upstream
revision.
2009-05-12 15:30:10 +02:00
Sebastian Dröge
b9617cac31 ffdec: Update rank of ffdec_mpeg2video to SECONDARY to make it the default
ffdec_mpeg2video is much faster, fixes bug #574461.
2009-05-12 11:21:01 +02:00
Edward Hervey
fb613191ae gstffmpegdec: Implement interlaced support.
ffmpeg only tells us on a per-decoded-buffer basis if the stream is
interlaced or not. When we see a change, we force negotiation.

We can't detect that in our get_buffer() (when doing downstream allocation),
because at that point the interlaced flags aren't set on the outgoing
buffer.
2009-05-12 11:16:43 +02:00
Edward Hervey
36bdeea0e7 win32: Fix non-portable printf format. 2009-05-09 10:57:55 +02:00
David Hoyt
da8d4abad2 Use av_{i,o}format_next instead of the private next field
This fixes compilation with MSVC where the initializer variables
are aliased to different names. Fixes bug #576126.
2009-05-07 12:57:10 +02:00
Sebastian Dröge
c2a9ee9264 ffenc: Implement preset interface 2009-05-04 13:00:49 +02:00
Thiago Santos
9133bb9ba2 ffenc: Send error upstream when gst_pad_push return is different from GST_FLOW_OK 2009-04-23 14:35:10 -03:00
Edward Hervey
f07223fd24 gstffmpegenc: Don't change properties once opened. Fixes #570815
Based on a patch by Tristan Matthews <le businessman at gmail dot com>
2009-04-21 18:38:03 +02:00
Janin Kolenc
ec5ad411a5 gstffmpegcfg: Add H263 to the list of mpeg property-compatible codecs. 2009-04-21 18:34:22 +02:00
Edward Hervey
57e66c5a22 Make sure we provide ffmpeg with 128bit-aligned data.
Add a new function new_aligned_buffer() which creates a GstBuffer of
the requested size/caps, with the memory being allocated/freed by ffmpeg's
av_malloc/av_free which guarantees properly aligned memory.
Added a can_allocate_aligned internal property which we use to figure out
whether downstream can provide us with 128bit aligned buffers.
2009-04-21 18:28:54 +02:00
Edward Hervey
ea76b43723 Reverting Jan's fix-the-buildbot commit
This reverts commit 5465d40b8d.
2009-04-19 14:07:58 +02:00
Jan Schmidt
5465d40b8d build: Deliberately break the build, temporarily.
This is to force the buildbots to run autogen.sh one time. I can't
figure out a more elegant way.
2009-04-19 02:42:20 +01:00
Edward Hervey
ae018718d4 gstffmpegdec: Really fix the arguments this time.
I blame compilers who can't figure out there's the wrong number of arguments
for the given print format :)
2009-04-18 09:08:39 +02:00
Edward Hervey
199d95c390 gstffmpegdec: Fix build on macosx.
The arguments were in the wrong order (and therefore the types were wrong).
2009-04-18 08:50:12 +02:00
Wim Taymans
010871cb77 ffmpegdec: resize padding buffer when it's small
Only resize the padding buffer when the size is too small, when it's just right,
we don't need to call realloc.
2009-04-17 19:07:26 +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
cbea9841ec gstffmpegutils: Add the files :) 2009-04-16 11:00:46 +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
55336b1c5c gstffmpeg.c: Fix the description of the plugin. 2009-04-15 22:14:09 +02:00
Edward Hervey
05a1470151 gstffmpeg.c: Point to the new ffmpeg website (ffmpeg.org). 2009-04-15 22:11:33 +02:00
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