Piotr Brzeziński
55136c30c4
avaudenc: Avoid double-freeing frame's extended data
...
This occured when attempting to encode 16 channel audio, would crash on the first buffer.
We only need to store ext_data, old ext_data_array (frame->extended_data) is already freed by `av_frame_unref`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6359 >
2024-03-14 16:35:21 +00:00
Piotr Brzeziński
a53ea3c61c
avcodecmap: Increase max AAC channels to 16
...
This is the maximum amount supported by aacenc. 8-channel output fully works.
16-channel also encodes fine, but codec-utils isn't able to parse its channel config,
so output level will not be shown in caps. For that to work, GASpecificConfig parsing
needs to be implemented. It's not a critical issue and can be worked on at a later date.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6359 >
2024-03-14 16:35:21 +00:00
Edward Hervey
086ecb008f
avviddec: Fix how we get back the codec frame
...
With the new copy_opaque system, the corresponding frame is stored in the
picture opaque ref.
This also handles the case where the "regular" opaque might be empty in the
case of "DECODE_ONLY" frames, since it that field is set in `get_buffer2()`
which might not be called for those frames
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6301 >
2024-03-11 10:17:41 +00:00
Edward Hervey
eacd5c1cb1
avviddec: Improve debug statements
...
Add SFN to better track what is going on
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6301 >
2024-03-11 10:17:41 +00:00
Seungha Yang
37578454b9
avviddec: Fix interlaced mode detection
...
Fixing regression introduced by the commit b46559102b
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6285 >
2024-03-07 11:53:07 +00:00
Tim-Philipp Müller
756064b9c3
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6261 >
2024-03-05 12:58:57 +00:00
Tim-Philipp Müller
b125253cad
Release 1.24.0
2024-03-04 23:59:25 +00:00
Edward Hervey
a3980f4838
docs: Use Discourse and Matrix as prefered communication channels
...
Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220
2024-02-27 09:35:47 +01:00
Tim-Philipp Müller
d474de8ff0
Release 1.23.90
2024-02-23 18:20:11 +00:00
Sebastian Dröge
00bbd6961c
libav: Don't add -Werror=deprecated-declarations
...
It will fail the build for anybody who has an older FFmpeg version
than 6.1 and doesn't use the FFmpeg subproject.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6199 >
2024-02-23 13:24:22 +00:00
Seungha Yang
781fc4a1b6
avviddec: Fix crash with FFmpeg n6.0
...
FFmpeg version 6.0 has an AV_CODEC_FLAG_COPY_OPAQUE related bug.
See a3bf63c26e
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6184 >
2024-02-22 18:54:45 +00:00
Tim-Philipp Müller
88412ef100
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126 >
2024-02-15 16:38:53 +00:00
Tim-Philipp Müller
88751d4110
Release 1.23.2
2024-02-15 15:37:17 +00:00
Edward Hervey
a1cbe351ec
musepack: Prefer using FFmpeg musepack decoder/demuxer
...
* Bump the rank of the musepack v7/v8 FFmpeg demuxers to SECONDARY
* Bump the rank of the musepack v7/v8 FFmpeg audio decoders to SECONDARY
* Demote the rank of the musepackdec element to MARGINAL
This is for two reasons:
* The musepack library is no longer maintained, whereas the FFmpeg
implementation can/will receive fixes
* The `musepackdec` implementation was a all-in-one "parsing and decoding" blob
which doesn't play nicely with decodebin3 and others
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3033
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6074 >
2024-02-09 12:15:14 +00:00
Tim-Philipp Müller
2111d6f015
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6066 >
2024-02-06 18:29:31 +00:00
Tim-Philipp Müller
9255e397f0
Release 1.23.1
2024-02-06 16:43:27 +00:00
Tim-Philipp Müller
c84285d44d
meson: bump Meson requirement to >= 1.1 for all modules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6002 >
2024-01-29 01:11:55 +00:00
Edward Hervey
978b75b18a
avauddec: Use proper version guard
...
Just like we do with avviddec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5931 >
2024-01-17 17:24:49 +01:00
L. E. Segovia
396c5aef7c
meson: Ensure FFmpeg deprecated APIs are rejected
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 >
2024-01-17 08:39:13 +00:00
L. E. Segovia
b46559102b
libav: Port deprecated AVFrame fields to flags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 >
2024-01-17 08:39:13 +00:00
L. E. Segovia
09de59477a
libav: Port AVCodecContext.ticks_per_frame to AV_CODEC_PROP_FIELDS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 >
2024-01-17 08:39:13 +00:00
L. E. Segovia
4dc955e94a
libav: Port reordered_opaque usage to ref-counted opaque_ref
...
Instead of passing along the system frame number, we pass along a reference to
the GstVideoCodecFrame.
In order for all internal cleanup to happen properly, this also requires
switching to the proper AVPacket creation/destruction methods (av_packet_alloc()
and av_packet_unref())
Fixes #2568
Co-authored-by: Edward Hervey <edward@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 >
2024-01-17 08:39:13 +00:00
L. E. Segovia
f2c9d9baa1
libav: Port frame counting to frame_num
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 >
2024-01-17 08:39:13 +00:00
L. E. Segovia
bbf6b4e634
libav: Port channel layout and counting to AVChannelLayout
...
Fixes #2833
Co-authored-by: Edward Hervey <edward@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 >
2024-01-17 08:39:13 +00:00
Philippe Normand
84d9e5b6e7
avviddec: Calculate latency only for fixed framerate
...
The framerate was checked correctly in _negotiate, but not in _set_format.
Also fix loss of precision in _negotiate when calculating the framerate.
Fixes #3093
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5600 >
2023-12-17 12:48:44 +00:00
Seungha Yang
d2c9200828
avviddec: Unlock stream lock while waiting for decoded frame
...
FFmpeg might request buffer from other threads, it will result
in deadlock
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2558
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5681 >
2023-11-16 18:02:30 +00:00
Seungha Yang
5e147ed3b8
meson: Fix MSVC build with GST_DISABLE_GST_DEBUG
...
MSVC does not understand Wno-unused
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5585 >
2023-11-03 13:31:03 +00:00
Jordan Petridis
656bea80ea
meson: Fix typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5526 >
2023-10-22 08:06:29 +03:00
Jordan Petridis
88e6dd0555
ci: switch the Fedora base image to f34
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060 >
2023-10-22 05:23:28 +03:00
Guillaume Desmottes
6d94b77ae8
libav: expose fake booleans properties as enums
...
Some ffmpeg options claims to be booleans but are actually 3-values enums
with -1 as default instead of 1 or 0. Handle those using a custom enum
so we keep the same defaults as ffmpeg and users can properly configure them
if they need to.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3035
for an actual example of this problem. The GStreamer element was
automatically enabling a non-default option, leading to strange behavior
in the AAC encoder.
Fix #3035
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5507 >
2023-10-19 12:39:06 +00:00
Chris Wiggins
c3b6479755
avcodecmap: Add MxPEG codec ID
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5361 >
2023-09-21 15:03:01 +00:00
Olivier Crête
48c43e5b7f
gst-omx: Retire the whole package
...
The OpenMAX standard is long dead and even the Raspberry Pi OS
no longer supports it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976 >
2023-07-16 19:10:03 +00:00
Nirbheek Chauhan
8e1b6accbd
meson: Always use forward slashes in defines with paths
...
Fixes the following build failure on MSYS2:
```
../subprojects/gstreamer/tests/check/elements/filesrc.c: In function 'test_seeking':
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: error: incomplete universal character name \U
107 | g_object_set (G_OBJECT (src), "location", TESTFILE, NULL);
| ^
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\A'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\s'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\c'
```
Due to: `-DTESTFILE=\"C:\\Users\\Administrator\[...]`
https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/45317733
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018 >
2023-07-12 21:17:25 +00:00
Carlos Rafael Giani
34238e251d
libav: Integrate FFmpeg's DSD support with GstDsd caps
...
Code is partially based on the DSD of Robert Tiemann <rtie@gmx.de>:
https://gitlab.freedesktop.org/rtiemann/gstreamer/-/tree/dsd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901 >
2023-06-23 01:27:04 +00:00
Edward Hervey
ebf7966a26
avvidec: Fix more deprecated symbol
...
We only used these fields for debugging anyway
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4635 >
2023-06-13 20:12:11 +00:00
Edward Hervey
447ee0b566
avvidec: Fix usage of deprecated field
...
Since ffmpeg 6.0 frame_num is used instead of frame_number
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4635 >
2023-06-13 20:12:11 +00:00
Stéphane Cerveau
dd17beb681
gstreamer-full: add full static support
...
Allow a project to use gstreamer-full as a static library
and link to create a binary without dependencies.
Introduce the option 'gst-full-target-type' to
select the build type, dynamic(default) or static.
In gstreamer-full/static build configuration gstreamer (gst.c)
needs the symbol gst_init_static_plugins which is defined
in gstreamer-full.
All the tests and examples are linking with gstreamer but the
symbol gst_init_static_plugins is only defined in the gstreamer-full
library. gstreamer-full can not be built first as it needs to know what plugins
will be built.
One option would be to build all the examples and tests after
gstreamer-full as the tools.
Disable tools build in subprojects too as it will be built at the end of
build process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4128 >
2023-05-31 15:17:11 +00:00
Sebastian Dröge
186d8a99cc
avviddec: Temporarily unlock stream lock while flushing buffers
...
This can call into the decoder again from other threads and try to take
the stream lock from there, which would cause a deadlock.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2558
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4610 >
2023-05-13 10:20:32 +00:00
U. Artie Eoff
649d59b88b
gst-libav: add avvideocompare element
...
The avvideocompare element compares two incoming video buffers using
the specified comparison method (e.g. ssim or psnr). The first
video buffer is passthrough, unchanged.
The comparison is calculated by using libav's ssim or psnr filters.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3366 >
2023-05-04 19:34:06 +00:00
Stéphane Cerveau
f0d61ac8b0
libav: set the frame rate values in ffmpeg stream context
...
To avoid a default value to be used in mux.c+304, give the
frame rate detected from the caps.
Fix IVF header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248 >
2023-04-27 06:45:26 +00:00
Stéphane Cerveau
6f21ef9d3a
libav: add av1 to gst_ffmpeg_caps_to_codecid
...
Restrict the stream-format to obu-stream
and the alignment to "tu" and "frame" as "obu"
is not properly supported by libav.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4248 >
2023-04-27 06:45:26 +00:00
Thibault Saunier
7aaf2b48ef
doc: Avoid shelling out to hotdoc to generate plugins config files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4479 >
2023-04-25 02:57:55 +00:00
U. Artie Eoff
bab573b59c
gst-libav: map P010, VUYA, Y410, P012, Y212, and Y412
...
P010 has been around for a long time.
VUYX introduced in:
cc5a5c9860
P012, Y212, XV30 (Y410), and XV36 (Y412) introduced in:
d75c4693fe
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4454 >
2023-04-19 16:47:17 -04:00
Tim-Philipp Müller
a40c38eddf
avmux: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384 >
2023-04-10 18:06:17 +01:00
Tim-Philipp Müller
c723d9a1e0
avdeinterlace: fix element leak
...
Fixes #2473
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4384 >
2023-04-10 17:59:30 +01:00
Tobias Rapp
b30f982cf5
gst-libav: Update codec mapping for FFVHuff video
...
Replaces the ad-hoc type string 'video/x-gst-av-ffvhuff' with
'video/x-ffvhuff' for the avdec_ffvhuff and avenc_ffvhuff elements.
Related to #2389 .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250 >
2023-03-23 14:30:59 +00:00
Tim-Philipp Müller
3ad4128084
gst-libav: re-indent with GNU indent 2.2.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4182 >
2023-03-17 03:18:54 +00:00
Nicolas Dufresne
83985ae1fa
avviddec: Drop decoder stream lock when calling send_packet
...
This is already done for every other calls to send_packet. The deadlock occures
since FFMPeg 6.0. The decoder tries to get a buffer from a thread during
the draining process, and blocks trying to get the video decoder stream lock
already heald by the drain function.
Fixes #2383
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4171 >
2023-03-15 16:52:57 +00:00
Sebastian Dröge
236465e5d4
ffmpeg: avauddec/avviddec: Free packet side data after usage
...
As we don't use proper refcounting with AVPacket we have to manage this
ourselves.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2006
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4076 >
2023-02-28 12:01:57 +00:00
U. Artie Eoff
233de05a98
avviddec: change AV_CODEC_CAP_AUTO_THREADS->AV_CODEC_CAP_OTHER_THREADS
...
This fixes a compile error with recent upstream FFmpeg.
The AV_CODEC_CAP_AUTO_THREADS was deprecated and renamed to
AV_CODEC_CAP_OTHER_THREADS in FFmpeg upstream commit
7d09579190de (lavc 58.132.100).
The AV_CODEC_CAP_AUTO_THREADS was finally removed in FFmpeg upstream
commit 10c9a0874cb3 (lavc 59.63.100).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3951 >
2023-02-14 09:01:04 -05:00