Commit graph

4178 commits

Author SHA1 Message Date
Arun Raghavan
4cd63e09d9 webrtcdsp: Use C++20 with MSVC if needed
The subproject fails on vs2022 builds with:

[...]agc2/input_volume_stats_reporter.cc(89): error C7555: use of designated initializers requires at least '/std:c++20'

So let's force C++20 in this case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>
2025-01-26 12:30:01 -05:00
Arun Raghavan
9b647a0bbd webrtcdsp: Bump to WebRTC AudioProcessing 2.1
Keep 1.0 support around so distros can manage this bump more easily.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8270>
2025-01-24 15:53:36 -05:00
Andoni Morales Alastruey
432ada66f2 vtdec: fix seeks hangs due to a race condition draining
If the drain function of the decoder triggered by FLUSH_START
is run while the output loop is running, once the output loop
finished vtdec->downstream_ret will be GST_FLOW_FLUSHING instead
of GST_FLOW_OK, which must not be treated as an error since
the queue is cleaned correctly as well.

Fix #4179

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8328>
2025-01-24 17:36:17 +00:00
Matthew Waters
0b92e04142 cudacompositor: pass correct variable to debug log functions
Fixes spew of:

gst_debug_log_full_valist: assertion 'id != NULL ||
    object == NULL || G_IS_OBJECT (object)' failed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8345>
2025-01-23 17:18:46 +00:00
Guillaume Desmottes
0e3d6f0606 wpe: remove glFlush() when filling buffer
According to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4162#note_2739338
it was introduced as workaround for tearing issues.
I do not experience any tearing without flushing on both nvidia and AMD
GPU, so I suppose it's no longer needed.

Slightly improve CPU usage according to my tests.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8348>
2025-01-23 14:45:57 +00:00
Seungha Yang
dc81abe9ee cudacompositor: Fix memory leak
gst_cuda_compositor_upload_frame() returns buffers with increased
refcount already

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8335>
2025-01-22 11:42:00 +00:00
Brad Hards
9b578abe15 h264parse: add conditional values to AVCConfigurationRecord
This adds the data required in AVCDecoderConfigurationRecord for
higher profile (High variants) configurations - everything in the if(...) {...} part
of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version).

Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8308>
2025-01-22 15:58:21 +11:00
Seungha Yang
d9510be7b1 docs: Update nvcodec plugin docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>
2025-01-20 19:31:36 +00:00
Seungha Yang
c01ef564d9 cudaipc: Use empty string for address property docs
Since Windows and Linux have different default values,
use empty string when generating plugin docs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>
2025-01-20 19:31:36 +00:00
Seungha Yang
1f481fe1d5 nvcodec: Specify documentation caps
... since produced caps will be different depending on OS and GPU model.
Also adding Y444_16LE format to decoder's GL template caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>
2025-01-20 19:31:36 +00:00
Seungha Yang
06afe8aa8f docs: Add nvcomp plugin docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>
2025-01-20 19:31:36 +00:00
Sebastian Dröge
03942ff5b4 tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8326>
2025-01-20 17:57:31 +00:00
Mathieu Duponchelle
b26a5ee088 docs: explicitly list gir files as depends for generating configs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8324>
2025-01-20 13:24:44 +01:00
Seungha Yang
289f63b6e7 nvcodec: Add cudacompositor element
Adding CUDA based compositor element

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>
2025-01-20 01:12:21 +09:00
Seungha Yang
875e137f4f cudaconverter: Add support for alpha blending
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>
2025-01-20 01:12:21 +09:00
Seungha Yang
d761196bb7 cudaconverter: Add support for configuration update
Allow updating various configuration values via property

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>
2025-01-20 01:12:21 +09:00
Seungha Yang
1fa51046d1 cudaconverter: Pass constant values as kernel argument
Make conversion kernel more flexible and reusable

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>
2025-01-20 01:12:20 +09:00
Seungha Yang
1b6f66a840 cuda: Load 2D memset function symbols
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170>
2025-01-20 01:12:20 +09:00
Mathieu Duponchelle
7983ecff1c docs: generate hotdoc configs for libraries with our helper script
With this patch, configure time is identical no matter whether doc is
enabled or not.

The configuration files also now contain explicitly-listed sources with
no wildcards.

For the four libraries where hotdoc needs to use clang to generate the
documentation (as opposed to the rest of the libraries where hotdoc uses
the gir), the script will call pkg-config to determine the appropriate
C flags.

This means a side effect of this patch is that pkg-config files are now
generated for the gstadaptivedemux and gstopencv libraries.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>
2025-01-17 20:36:06 +01:00
Mathieu Duponchelle
17e53f8c95 meson: bump minimum version to 1.4 in every subprojects
36c01d0579 bumped to 1.4 for gst-devtools
and the root project, but we usually keep those in sync everywhere.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312>
2025-01-17 20:22:34 +01:00
Sam James
c7a7eb1eb3 lc3: tweak meson style
While this might seem a bit silly, it aids some of our infra in
packaging. Tweak for consistency with other use.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8239>
2025-01-16 20:09:06 +00:00
Stéphane Cerveau
ee7d41f76b vkh264dec: enhance interlaced content support
- Use frame_num instead of pic_num to set the long_term_pic_num
fixing 10 interlaced tests in fluster test suite: JVT-AVC_V1

- Send the slice offset only once in case of interlaced content.
Fixing 5 interlaced tests in fluster test suite: JVT-AVC_V1.

- The default value for top and bottom field flag should be 0 in the
case of a progressive content.

- Use short and long term refs helper getter method to retrieve the
reference frames according its none existing and interlaced state

- Reorganize the find_next_slot_idx code to be easier to read.

Co-authored-by: Daniel Almeida <daniel.almeida@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>
2025-01-16 19:18:22 +00:00
Víctor Manuel Jáquez Leal
3090cefbc5 vkh264dec: enable h264 interlaced decoding
First the slot_index shall have the same value for the first and second
fields.

Also, the reference frames are only those with both fields.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>
2025-01-16 19:18:22 +00:00
Víctor Manuel Jáquez Leal
f5f20ce85e vkh264dec: make GstVulkanH264Picture a reference count
Thus we could re-use the same structure for interlaced fields: a single bistream,
single output buffer and single vulkan structures.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>
2025-01-16 19:18:21 +00:00
Stéphane Cerveau
c38a847fe1 vkh264dec: non existing picture are not refs
The non existing picture or gap picture should not be
considered as refs for vulkan decoder.

Fix fluster tests:

MR3_TANDBERG_B
MR4_TANDBERG_C
MR5_TANDBERG_C

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>
2025-01-16 19:18:21 +00:00
Stéphane Cerveau
538747907d vkh264dec: support h264 extended profile
Extended is identical to main but allows FMO/ASO features to be used,
and prevent using CABAC.
Using similar logic to "baseline", assume that if we support main,
we can also do extended.

This fixes the following fluster vectors, which otherwise would fail when trying to link the parsebin pad.

BA3_SVA_C
MR6_BT_B
MR7_BT_B
MR8_BT_B

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7854>
2025-01-16 19:18:21 +00:00
Daniel Morin
5919b20e8b gst-analytics: add missing mtd segmentation API
- add gst_analytics_segmentation_mtd_get_mtd_type() which is required to
  retrieve the concrete type of a generic mtd (GstAnalyticsMtd).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8307>
2025-01-15 17:27:15 -05:00
Sebastian Dröge
0476b9cd2c decklinkvideosink: Fix handling of caps framerate in auto mode
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8280>
2025-01-15 14:24:34 +00:00
Carlos Bentzen
7405866c84 tsdemux: add support for VVC/H.266
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4940>
2025-01-15 13:55:25 +01:00
Tim-Philipp Müller
5c2c688c4c webrtc-nice: fix compiler warning with older versions if libnice
warning: "HAVE_LIBNICE_CONSENT_FIX" is not defined, evaluates to 0 [-Wundef]

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8305>
2025-01-15 02:18:31 +00:00
Seungha Yang
ee0afa29d1 d3d12: Update docs for max-mip-levels property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-15 03:03:52 +09:00
Seungha Yang
561714a454 d3d12convert: Add max-mip-levels property
Add support for automatic mipmap generation depending on viewport size

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-15 03:03:47 +09:00
Seungha Yang
caf6f36276 d3d12swapchainsink: Add max-mip-level property
Add support for automatic mipmap generation depending on viewport size

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-15 03:03:42 +09:00
Seungha Yang
11d4b59b73 d3d12videosink: Add max-mip-level property
Add support for automatic mipmap generation depending on viewport size

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-14 17:23:04 +00:00
Seungha Yang
826da1c960 d3d12converter: Add support for mipmap generation
Adding max-mip-levels property so that converter can generate
mipmap textures if render target size is smaller than
input texture resolution.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-14 17:23:04 +00:00
Seungha Yang
2fc11cce84 d3d12converter: Refactor to support mipmap handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-14 17:23:04 +00:00
Seungha Yang
b14448dd37 d3d12mipmapping: Add support for GRAY output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-14 17:23:04 +00:00
Seungha Yang
65c23885d4 d3d12mipmapping: Skip alpha sampling if possible
If input format has no alpha and output format has no alpha,
skip alpha sampling which can reduce the number of instruction slots

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-14 17:23:04 +00:00
Seungha Yang
1e243d0960 d3d12: Move mipgen to libs
converter object will use mipgen object

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8290>
2025-01-14 17:23:04 +00:00
Tim-Philipp Müller
a059536b58 Back to development after 1.25.1 2025-01-14 15:00:43 +00:00
Tim-Philipp Müller
ca9d85c3b7 Release 1.25.1 2025-01-14 14:57:58 +00:00
Jordan Yelloz
806bdc7c4b decklink: Fixed caps-building for output devices
When iterating through output devices, video_input_caps was being
updated instead of video_output_caps.

As a result, video output devices were being created with an empty caps object
and `gst-device-monitor-1.0 Video/Sink` would produce no decklink devices.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8298>
2025-01-14 06:19:54 +00:00
Ruben Gonzalez
c6ed0c33a0 h264parse: drop duplicated call
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8299>
2025-01-13 22:09:10 +01:00
Tim-Philipp Müller
22bb73b796 docs: update vampeg2dec docs with new rank
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>
2025-01-13 19:26:26 +00:00
Tim-Philipp Müller
79a04e936d docs: add svtjpegxs plugin
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>
2025-01-13 19:26:26 +00:00
Tim-Philipp Müller
dba15a43c7 docs: add openaptx plugin
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8295>
2025-01-13 19:26:26 +00:00
Mathieu Duponchelle
3de86b2b97 docs: port plugins to explicit sources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273>
2025-01-13 19:17:13 +01:00
Xavier Claessens
f7ea1f84c9 magicleap: Drop MLSDK support
I was used by ML1 (first gen device) which is deprecated and not
supported anymore. ML2 uses standard Android JNI and NDK.

Note that mlaudiosink element remains in bad/sys/magiclea because it
allows 3d spatial audio and that API is still supported by Magicleap
SDK.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6108>
2025-01-13 14:40:18 +00:00
Edward Hervey
eef680b441 bad: Add extra warning flags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:46 +00:00
Edward Hervey
57196d634e winscreencap: Don't use aggregate returns
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:46 +00:00