Commit graph

656 commits

Author SHA1 Message Date
Wim Taymans
14e8ce8816 ffmpegdec: only clip to a smaller region
When we have an input width/height that should be used for clipping, only
perform the clipping if the rectangle is smaller than the actual picture size.

Fixes #330681
2010-02-04 13:28:11 +01:00
Wim Taymans
8312a8f89d ffdec: free audio buffer when not decoded
When we don't decode an audio frame (for audio codecs that need a previous audio
frame) free the buffer we allocated.

See #608564
2010-02-01 15:26:43 +01:00
Wim Taymans
d3f9ee4309 ffmpegcodecmap: don't escape codec_data
Don't escape the codec_data, it breaks some streams (but likely also fixes
others). It's better to leave it as is, like most other players do.

See #608332
2010-01-29 14:00:28 +01:00
Edward Hervey
4f9de70744 ffmpegmux/demux: Blacklist ASS/SSA 'demuxers'.
They're not a container format, but a subtitle format, and we already
have plugins to handle those subtitle formats.
2010-01-25 16:40:58 +01:00
Edward Hervey
25073856e4 ffmpegcodecmap: Add proper mapping for Zip Block Motion Video 2010-01-23 15:34:28 +01:00
Edward Hervey
0c938fa10d ffmpegcodecmap: Add proper mapping for LOCO Lossless codec 2010-01-23 14:41:49 +01:00
Edward Hervey
399bb4667b gstffmpegcodecmap: Make a proper mapping for Autodesk Animator Codec 2010-01-23 13:51:24 +01:00
Alessandro Decina
c5f16de56f Revert a change I accidentally introduced in 7c91fb.
I removed the plugin name from an error message for no good reason.
2010-01-22 13:48:24 +01:00
Alessandro Decina
7c91fb4cf4 Fix compiler warnings under OS X. 2010-01-22 11:43:59 +01:00
Edward Hervey
56172c60af gstffmpegcodecmap: Add mappings for new codecs
WMAPro
Dolby TrueHD
Atrac1
TwinVQ
2010-01-13 19:50:10 +01:00
Mark Nauwelaerts
8236e74ca4 ffmpegenc: more consideration for upstream (audio) timestamps 2010-01-12 18:17:40 +01:00
Tim-Philipp Müller
a657f789d3 ffmpegdec: ignore all vdpau decoders
Make check for vdpau decoders more generic. There might be vdpau
decoders we don't expect when using an external ffmpeg version,
and we want those blacklisted as well (e.g. ffdec_mpeg4_vdpau).
2009-12-09 15:27:14 +00:00
Jan Schmidt
faa417cf34 caps: Use default audio channel layouts for some codecs
For a few white-listed codecs, use default fallback channel
layouts when ffmpeg doesn't inform us.
2009-11-22 12:28:12 +01:00
Olivier Crête
b69fcc471e ffenc: Make keyframe forcing thread-safe
Make the keyframe forcing thread-safe, also emit a downstream event
to allow muxers or payloaders to react appropriately.

https://bugzilla.gnome.org/show_bug.cgi?id=602556
2009-11-20 22:14:51 -05:00
Edward Hervey
a00fb254aa Move encoders and muxers to GST_RANK_SECONDARY. 2009-11-18 17:36:48 +01:00
Wim Taymans
59bc425174 ffdec: remove clipping hack
Remove a hack that seems to produce wrong clipping values.
2009-11-16 13:55:01 +01:00
Jan Schmidt
62d54db07d ffmpeg: VC-1/WMV3 fixes.
Use format field in the pad caps to differentiate VC-1 from WMV3.
Fix a typo in the caps creation and parsing - the field is called
'format' - not 'fourcc'

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

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

Fixes bug #578160.
2009-11-10 12:30:50 +01:00
Edward Hervey
a1384f990b ffmpegdec: Only restore default in AVCodecContext when needed.
Resetting default values is currently very complex in libavcodec, so
we only call it when needed (i.e. when a context was previously used).

Shaves off 10% of the setup of a decoder.
2009-11-09 19:21:35 +01:00
Tim-Philipp Müller
72cd8f1843 ffmpegdec: printf format fixes 2009-11-05 23:54:47 +00:00
Edward Hervey
019a6020e4 ffdec: Don't use an allocated 1-entry structure for private data.
If there's only one entry, just use that entry.
2009-11-02 09:06:46 +01:00
Edward Hervey
bd1b315c43 ffmux: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-11-02 09:06:40 +01:00
Edward Hervey
e8c689fe94 ffdemux: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-11-02 09:06:05 +01:00
Edward Hervey
a7dd30d8eb ffenc: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-11-02 09:06:05 +01:00
Wim Taymans
343c82b18c ffdec: avoid generating caps when registering
Don't generate caps when we register the class but delay that till when
we actually create an instance of the class.
2009-10-22 16:27:28 -04:00
Sebastian Dröge
2ed8b6728d ffmpegenc: Add a note to the buffer-size property description
Setting it has no effect anymore and is deprecated.
2009-10-08 13:54:45 +02:00
Sebastian Dröge
087582d7cd Revert "ffenc: Make the buffer-size property read-only"
This reverts commit 98439aacc7.

Instead of printing a warning when trying to set the property
it should do nothing as before and the property description
should contain a note that setting it has no effect.
2009-10-08 13:52:22 +02:00
Sebastian Dröge
98439aacc7 ffenc: Make the buffer-size property read-only
...instead of just doing nothing when setting it. This makes sure
that people notice that they shouldn't set the property because
it creates a warning now.
2009-10-08 12:29:30 +02:00
Sebastian Dröge
c914f08b40 ffenc: Make sure to always provide large enough buffers
For audio always add the minimum ffmpeg buffer size, for video
use the same weird buffer size as they use in ffmpeg.c:
width*height*6 + 200

Also make setting of the buffer-size property a no-op.

Fixes bug #593651.
2009-10-07 09:15:40 +02:00
Sebastian Dröge
3a96bed6e6 ffmpegenc: Use dash instead of underscore in property names
GLib internally converts them to dashs anyway.
2009-10-07 09:13:56 +02:00
Sebastian Dröge
ee31435d49 Revert "ffmpegenc: Use dash instead of underscore in property names"
This reverts commit b814d25cc9.
2009-10-01 17:03:49 +02:00
Sebastian Dröge
25003e4307 Revert "ffenc: Make sure to always provide large enough buffers"
This reverts commit d9f6febe70.
2009-10-01 17:03:42 +02:00
Sebastian Dröge
799b19c2f2 Revert "ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too"
This reverts commit 577525af3d.
2009-10-01 17:03:33 +02:00
Sebastian Dröge
577525af3d ffmpegenc: Also add FF_MIN_BUFFER_SIZE to video buffers too
Just to make sure we never get below it in case of very small videos.
2009-10-01 16:46:34 +02:00
Sebastian Dröge
d9f6febe70 ffenc: Make sure to always provide large enough buffers
For audio always add the minimum ffmpeg buffer size, for video
use the same weird buffer size as they use in ffmpeg.c:
width*height*6 + 200

Also make setting of the buffer-size property a no-op.

Fixes bug #593651.
2009-10-01 16:44:22 +02:00
Sebastian Dröge
b814d25cc9 ffmpegenc: Use dash instead of underscore in property names
GLib internally converts them to dashs anyway.
2009-10-01 16:20:13 +02:00
Wim Taymans
b85d889582 ffdec: correctly check for NONE timestamp 2009-09-10 14:11:18 +02:00
Wim Taymans
669a0e359a ffmpeg: add support for G721
Add support for g721, which is like G726 but with 1 channel, 8KHz and a bitrate
of 32000.

Fixes #594454
2009-09-09 13:35:20 +02:00
Jonathan Matthew
595de04316 codecmap: don't set channel-positions for common mono and stereo cases 2009-09-08 15:29:24 +02:00
Wim Taymans
46bf3b92d0 ffdec: disable interpolation when dropping frames
When we are dropping frames because of QoS disable the DTS interpolation because
we won't be able to update the timestamps and end up setting the wrong
timestamps. Instead, simply use the timestamps from ffmpeg.
2009-09-01 21:42:26 +02:00
Tim-Philipp Müller
0044128487 typefinders: skip ffmpeg typefinders if there isn't enough data
ffmpeg typefinders don't do bounds checking for small chunks of
data, so just skip them if we don't have a lot of data, to avoid
invalid memory access and/or crashes.
2009-08-21 02:58:58 +01:00
Wim Taymans
2b967b4122 ffdec: reset timestamp queue after flush 2009-08-18 13:20:55 +02:00
Tim-Philipp Müller
37875a95eb Lower minimum sample rate in generic template caps from 8000 to 4000
Fixes playback of ADPCM clip (#591809).
2009-08-14 16:09:05 +01:00
Sebastian Dröge
5497a8d140 ffmpegdec: Fix strict aliasing warnings 2009-08-13 17:38:32 +02:00
Sebastian Dröge
6923de9378 ffmpegdec: Don't use guintptr as it's new in GLib 2.18
Fixes bug #591469.
2009-08-12 10:57:18 +02:00
Edward Hervey
305e80e7d6 gstffmpeg: Lower debugging levels from WARNING to DEBUG
These statements aren't critical per se... and just clutter debug logs.
2009-08-10 12:04:39 +02:00
Sebastian Dröge
0111edbf5d ffmpegenc: Return all supported caps instead of only the first 2009-08-09 09:47:26 +02:00
Sebastian Dröge
d181dbd7a0 ffmpegenc: If an encoder lists the supported pixfmts use them to create the caps
...instead of creating standard caps with all pixfmts.

Fixes bug #591038.
2009-08-08 22:43:06 +02:00
Sjoerd Simons
ea6a66b5b3 ffmpegdec: Fix duration calculation when ticks_per_frame isn't 1
Fixes bug #591163.
2009-08-08 22:20:03 +02:00
Sebastian Dröge
1c283b8c22 ffmpegdec: Fix compiler warning and indention 2009-08-06 06:57:18 +02:00