Commit graph

31 commits

Author SHA1 Message Date
Sebastian Dröge 6571196fb8 libav: avcodec_close() also resets fields like the AVCodec
We need to reload the defaults for the codec after closing it,
otherwise we can't access codec information like the supported
sample rates and can crash.

https://bugzilla.gnome.org/show_bug.cgi?id=707040
2013-08-29 16:53:28 +02:00
Sebastian Dröge ae946bab1c libav: Use new flush vfunc of video codec base classes and remove reset implementations 2013-08-15 15:51:52 +02:00
Olivier Crête 2556cb325a avviddec: Initialise opaque from the start
https://bugzilla.gnome.org/show_bug.cgi?id=693581
2013-07-23 14:01:32 +02:00
Arnaud Vrac 4a2054c6aa avviddec: increase bottom padding for output frames
libav can write slightly after the plane end in some SIMD optimized
functions. The extra padding value needs to be at least 16+stride_align
for each plane, so just increase the bottom padding value for the output
frame.

https://bugzilla.gnome.org/show_bug.cgi?id=694299
2013-07-18 16:24:18 +02:00
Thiago Santos dce9d85695 avviddec: reset coded_width/_height before trying to open codec
If coded_width/_height is supplied, the codec might use it as the
width/height and if it is wrong can lead to segfaults or video
corruption.

This is specially harmful on renegotiation scenarios where the
resolution changed. There seems to be no specific function for reseting
the AV Context in libav, so just set it directly.

https://bugzilla.gnome.org/show_bug.cgi?id=702003
2013-06-11 09:00:49 -03:00
Tim-Philipp Müller 068be939cb CODEC_ID_* -> AV_CODEC_ID_* 2013-05-06 23:56:22 +01:00
Sebastian Dröge 2d2c9b1aac avviddec: Enable FRAME based threaded decoding if upstream is not live
If upstream is live we don't want FRAME based threaded decoding as
it adds latency.
2013-04-23 14:20:42 +02:00
Siva Chandran P 758d7bf7ea avvidec: Make sure to store newly set caps after resetting the decoder
Otherwise we'll just set the to NULL while resetting the decoder and
don't have them available anymore later.

https://bugzilla.gnome.org/show_bug.cgi?id=697548
2013-04-09 20:44:23 +02:00
Sebastian Dröge adfdfebc8c av: Use correct printf format strings for gsize 2012-12-21 11:03:27 +01:00
Sebastian Dröge 022ab84288 av: Fix some memory leaks and misuse of libav API 2012-12-17 16:35:36 +01:00
Sebastian Dröge 21ac746f33 avdec: Improve src template caps 2012-12-12 15:42:09 +00:00
Wim Taymans 4c46f11d5f libav: fix palette support again 2012-12-12 10:12:22 +01:00
Sebastian Dröge 06de84c747 avviddec: Fix memory leak if we already allocated an output buffer for the frame 2012-12-11 10:34:42 +00:00
Wim Taymans 76b8b8c67f Revert "avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame"
This reverts commit 47647e1cac.

Breaks playback when direct rendering is disabled.
The reason is that we set the opaque vaue to NULL and then try to use the NULL
value when we decoded a frame.
2012-12-11 10:24:08 +01:00
Sebastian Dröge 2d7ebf9514 av: Correctly populate the codec context with the defaults 2012-12-05 19:25:37 +01:00
Sebastian Dröge d840211412 av: Use av_codec_is_{en,de}coder() API instead of private struct fields 2012-12-05 10:52:34 +01:00
Sebastian Dröge 47647e1cac avviddec: Fix memory leaks and assertions in error cases if we can't allocate a frame 2012-12-04 20:44:58 +01:00
Sebastian Dröge f5c112990f av: Port remaining simple bits 2012-12-04 18:36:56 +01:00
Sebastian Dröge 0f206124b6 av: Remove palette support for now
It was never ported to the way how paletted color formats work
in 1.0 anyway and the API changed in libav upstream.
2012-12-04 18:36:37 +01:00
Luca Barbato 5f03a7d869 av: update to use AVOption variants. 2012-12-04 18:36:30 +01:00
Sebastian Dröge c784ec9fa5 av: Put declarations in header files and rename audio codec files 2012-11-19 10:30:37 +01:00
Tim-Philipp Müller d0ef33d463 Fix FSF address 2012-11-04 00:22:16 +00:00
Alban Browaeys f1071cc1b1 avviddec: exclude non-video decoders
Otherwise audio decoders "ignored", ie blacklisted, end up
registered by avviddec as video decoders.

https://bugzilla.gnome.org/show_bug.cgi?id=685113
2012-09-30 16:24:18 +01:00
Sebastian Dröge f0d700d5ca avviddec: Correctly handle 0-sized buffers without crashing
Might e.g. be valid for Theora.
2012-09-27 12:20:30 +02:00
Tim-Philipp Müller 787bd57ea1 avviddec: don't try to set invalid latency
Avoids warnings when we don't know the latency.
2012-09-25 18:29:08 +01:00
Wim Taymans aafffb7665 avviddec: improve debug 2012-09-14 13:25:03 +02:00
Nicolas Dufresne 3ca45b8c45 viddec: Set latency base on the number of bframes 2012-09-13 15:48:26 +02:00
Nicolas Dufresne 1f74496b8a viddec: Cleanup unused has_b_frames flag 2012-09-13 15:48:22 +02:00
Edward Hervey 0f9cc8dac6 libav: Switch to non-deprecated symbols
This symbols/enums will all be deprecated in the next releases
2012-09-13 15:23:26 +02:00
Wim Taymans 1e5bfa5215 avviddec: add support for codecs that use reget_buffer
Add support for codec that use reget_buffer. In this mode, it reuses the picture
and we need to attach the corresponding input frame to it or else we get the
timestamps wrong.
2012-09-11 13:53:23 +02:00
Edward Hervey 90a8b3fb9f ext: ffmpeg/gstffmpeg*.[ch] => libav/gstav*.[ch] 2012-09-10 17:53:54 +02:00
Renamed from ext/ffmpeg/gstffmpegviddec.c (Browse further)