summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-23Release 1.19.2HEAD1.19.2masterdiscontinued-for-monorepoTim-Philipp Müller5-13/+93
2021-09-18avcodecmap: Add support for GBRA_10LE/BESebastian Dröge2-198/+200
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/142>
2021-08-09avdemux: add xwma supportStéphane Cerveau2-0/+37
Add xwma tested with the media b8edfb1e970ed7892f35b34a1ef36fee_wma.wav from this ticket: http://trac.ffmpeg.org/ticket/9358 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/138>
2021-07-08avviddec: Enable subframe decoding for H.264Olivier Crête3-1/+46
Enable sending NAL units to the decoder without having to first group them in a frame (an AU). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/66>
2021-07-07avviddec: Split allocation tracking from decode-only-nessOlivier Crête1-2/+18
When doing subframe decoding, handle_frame will be called multiple times, so the DECODE_ONLY flag gets re-set when it shouldn't. Instead, let's create our own flag to track this. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/66>
2021-06-21Update COPYINGCorentin Damman1-94/+116
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/135>
2021-06-03avviddec: Fix size of linesize parameterDoug Nazar1-1/+1
Although avcodec_align_dimensions2() only copies 4 ints, it expects a buffer of at least AV_NUM_DATA_POINTERS (8) ints. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/134>
2021-06-01Back to developmentTim-Philipp Müller1-1/+1
2021-06-01Release 1.19.11.19.1Tim-Philipp Müller5-1992/+358
2021-04-29avmux: Blacklist ttml subtitlesDoug Nazar1-0/+1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/133>
2021-04-24avviddec: Take into account coded_height for poolEdward Hervey1-2/+5
Failure to do this would cause the decoders to constantly request a new bufferpool thinking the height had changed ... whereas it hadn't. Fixes #95 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/131>
2021-04-13avviddec: deprecated debug-mv property to match deprecation in FFmpegTim-Philipp Müller3-227/+226
This has been unimplemented and non-functional for years and was deprecated with FFmpeg 4.4. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/126>
2021-04-13avdemux: fix build with FFmpeg 4.4Tim-Philipp Müller1-0/+4
Direct access to avstream->index_entries was removed in favour of the newly added avformat_index_get_entry() and friends. Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/127>
2021-03-16avmux: fix segfault when a plugin's long_name is NULLNicholas Jackson1-3/+5
Some plugins register an empty long_name field. Check for this before calling strcmp to avoid a crash. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/114>
2021-03-15Hook up audio/x-xma: xmaversion: [1,2] to AV_CODEC_ID_XMA[1,2]Jade Macho2-2/+32
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/124>
2021-03-15avcodecmap: Don't try converting channel layouts with more than 64 channelsSebastian Dröge1-2/+2
We only support up to 64 channels in GStreamer with a specific layout so it's safe to assume a NONE layout in this case. Also the arrays of channel positions are allocated everywhere with 64 elements so don't try setting more than 64 to NONE as that will cause stack corruptions and similar memory safety issues. Thanks to Natalie Silvanovich for reporting this issue. Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/92 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/120>
2021-02-17avviddec: take the maximum of the height/coded_heightMatthew Waters1-1/+1
Otherwise, some h.264 streams (particularly with cropping information) may cause memory corruption after a renegotiation to a smaller size when decoded and then ffmpeg writes past the end of the buffer. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/80 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/110>
2021-02-17viddec: don't configure and incorrect buffer pool when receiving a gap eventMatthew Waters1-0/+14
Scenario is this: 1. libav receives enough data to want a buffer with get_buffer2() which wants a buffer pool with a certain format, say Y42B but does not negotiate and therefore GstVideoDecoder does not have any output state configured 2. A gap event is received which GstVideoDecoder wants to forward. It needs caps to forward the gap event so attempts to negotiate with some default information which chooses e.g. I420 and overwrites the previously configured bufferpool decided on by get_buffer2() 3. There is a mismatch between what ensure_internal_pool() check for consistency and what decide_allocation() sets when overriding the internal pool with the downstream pool. 4. FFMpeg then requests a Y42B buffer from an I420 pool and predictably crashes writing past the contents of the buffer This is fixed by keeping track of the internal pool states correctly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/116>
2021-02-03avviddec: Support for alternate-field interlacingVivia Nikolaidou2-242/+309
Not yet supported in FFmpeg, so we temporarily rely on the parser setting the correct buffer flags for us. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/115>
2020-12-29avauddec: Drain decoder on decoding failureSeungha Yang1-5/+11
... and call finish_frame() so that baseclass can reset internal status. Otherwise baseclass will keep holding the status for decoding failed frame which will result in outputting buffer with wrong timestamp. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/112>
2020-12-14codec map: Add a mapping for the OKI ADPCM variant.Jan Schmidt2-1/+7
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/111>
2020-11-04meson: Enable some MSVC warnings for parity with GCC/ClangNirbheek Chauhan1-6/+13
This makes it easier to do development with MSVC by making it warn on common issues that GCC/Clang error out for in our CI configuration. Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/109>
2020-10-27avauddec: Check planar-ness of frame rather than contextArun Raghavan1-1/+1
The check seems to be to present to verify that the decoded frame matches the format we expect. The actual check for the layout of the frame was being performed against the context instead. The check fails at least for avdec_aptx_hd, where the AVCodecContext has the sample format set to AV_SAMPLE_FMT_NONE. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/107>
2020-10-07tests: Add audio/video encoder testSeungha Yang3-0/+244
Add simple encoder drain test case Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/100>
2020-10-07build: Re-enable unit testsEdward Hervey4-1/+67
Looks like they weren't ported when we switched to meson Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/100>
2020-10-06avaudenc/avvidenc: Reopen encoding session if it's requiredSeungha Yang5-1/+99
Since the commit https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/22b25b3ea5c, ffmpeg will not clear draning flag for encoder by avcodec_flush_buffers() API by default. Allowed case is only if encoder has AV_CODEC_CAP_ENCODER_FLUSH capability flag. If it's not supported, we should re-open encoding session, otherwise ffmpeg encoder will keep returning AVERROR_EOF Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/99>
2020-10-01avvidenc: Call avcodec_flush_buffers() after draining to allow accepting new ↵Sebastian Dröge1-0/+1
input again This is already done in all other codec elements. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/97>
2020-09-30avauddec/audenc/videnc: Don't return GST_FLOW_EOS when drainingSebastian Dröge4-2/+26
Same behaviour as for avviddec now. FFmpeg will return AVERROR_EOF when it's completely drained but we should not return that here or otherwise upstream will receive EOS and not forward us more data. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/97>
2020-09-16avviddec: Don't return GST_FLOW_EOS from drain()/finish()Seungha Yang1-0/+8
AVERROR_EOF means that it's fully drained, but it doesn't mean that that end of stream. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-15avauddec: Ensure finish_subframe() and finish_frame() are pairedSeungha Yang1-7/+18
audiodecoder baseclass implementation is expecting that finish_subframe() is followed by finish_frame() in order clear its internal state related to subframe. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-14avauddec: Forward flow returns from draining instead of assuming OKSebastian Dröge1-9/+10
It might be useful for upstream to know that draining/finishing didn't succeed, and why. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-14avviddec: Forward flow returns from draining instead of assuming OKSebastian Dröge1-4/+7
It might be useful for upstream to know that draining/finishing didn't succeed, and why. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-14avauddec: Avoid dropping non-OK flow returnEdward Hervey1-1/+4
When sucessfully finishing out frames (or finishing configuration), we must make sure we don't override any failing GstFlowReturn that might have been detected previously. Failure to do this would result in not propagating not-linked, flushing, etc... Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
2020-09-09avcodecmap: Enable 24 bit WMA Lossless decodingOlivier Crête2-3/+2
This now works with not so recent ffmpeg. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/88>
2020-09-08ci: include template from gst-ci master branch againTim-Philipp Müller1-1/+1
2020-09-08Back to developmentTim-Philipp Müller1-2/+2
2020-09-08Release 1.18.01.18.0Tim-Philipp Müller6-71/+2097
2020-09-07Update for gst_video_transfer_function_*() function renamingSebastian Dröge2-2/+2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/89>
2020-08-20Release 1.17.901.17.90Tim-Philipp Müller5-42/+87
2020-08-04gstavcfg.c: fix max->min typo in limits and implict double conversionJordan Petridis2-38/+43
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/86>
2020-07-23Revert "docs: update plugins doc cache"Jordan Petridis1-11/+6
This reverts commit d1b20eb6558b5188fe539a2aba3dc15630e703b0. See https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/324 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/85>
2020-07-23docs: update plugins doc cacheJordan Petridis1-6/+11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/80>
2020-07-08meson: set release date from .doap file for releasesTim-Philipp Müller2-2/+61
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/84>
2020-07-07avviddec: Fix typo that duplicated closed caption metaVivia Nikolaidou1-1/+1
We examined the output buffer, instead of the input buffer, for existence of cc meta. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/83>
2020-07-03gstavviddec: Only allow a single closed caption metaVivia Nikolaidou1-16/+4
Following discussion in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1396#note_556068 While it is technically possible to store multiple closed caption metas in the same buffer, we don't currently do that anywhere and for H264/MPEG2 both parts have to be stored in the same packet, and also the number of CC bytes you can store per frame is rather limited. This restriction might be relaxed later once we figured out how to do it without breaking things. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/82>
2020-07-03Back to developmentTim-Philipp Müller1-1/+1
2020-07-03Release 1.17.21.17.2Tim-Philipp Müller5-4/+60
2020-06-30avauddec: fix buffer leak when send packet failedMatej Knopp1-5/+6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/81>
2020-06-26avcodecmap: Add support for SpeedHQ video codecSebastian Dröge2-1/+31
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/79>
2020-06-23meson: mark plugins cache target as always staleMathieu Duponchelle1-0/+1