Commit graph

1089 commits

Author SHA1 Message Date
Benjamin Gaignard
88e0b6ba2d codecs: av1 decoder: Drain output buffers resolution change
We must drain the pending output picture so that subclass can renegotiate
the caps. Not doing so while still renegotiating would mean that the
subclass would have to do an allocation query before pushing the caps.
Pushing the caps now without this would also not work since these caps
won't match the pending buffers format.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064>
2025-02-10 13:36:57 +00:00
Nirbheek Chauhan
50680fe32f opencv: Fix pkgconfig dependency name and gstopencv_dep
Broke in bbdf8f5996

Also print the prefix inside which we try to detect opencv's data dir.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>
2025-02-09 14:25:32 +00:00
Nirbheek Chauhan
73da2edbba opencv: Fix hand detect profile paths
This is the same mechanism used by facedetect

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403>
2025-02-09 14:25:32 +00:00
wbartel
8135a6689b webrtc: fix pkg-config missing sdp dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8433>
2025-02-08 02:48:28 +00:00
Guillaume Desmottes
b5fdb5aec5 codecs: include gsth266decoder.h when building gir
Will hopefully fix cerbero ci job.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8430>
2025-02-07 23:04:16 +00:00
Carlos Bentzen
be98ba00d7 h266parser: do not fail when extension flags are set
For VPS, PPS, APS, OPI and DCI, the extension flags are the last syntax
in the structures, and according to the spec, should be ignored if set to 1.

Therefore, we can just ignore them rather than failing.

This fixes a few failures in fluster, like in the PSEXT_A_Nokia_2 stream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>
2025-02-07 08:25:17 +00:00
Carlos Bentzen
4545d199c3 h266parser: add API to parse VVCDecoderConfigurationRecord
VVCDecoderConfigurationRecord is present in ISOBMFF files carrying
VVC/H.266 streams via the vvcC box, as defined in ISO/IEC 14496-15.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359>
2025-02-07 08:25:16 +00:00
Nirbheek Chauhan
0aacc1a6a9 opencv: imgcodecs.hpp is also needed to build the plugin
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>
2025-02-07 02:32:03 +00:00
Nirbheek Chauhan
bbdf8f5996 meson: Modernize opencv build definitions
Use the fs module instead of using `run_command('test')`, simplify
some indentation, fix dependency management

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418>
2025-02-07 02:32:03 +00:00
Sebastian Dröge
7346764b8e play: Distinguish missing plugin errors and include more details in error/warning messages
Include the URI (and if possible) stream-id in the messages. These are provided
by uridecodebin3 / decodebin3 in most cases but there is fallback code to guess
them otherwise.

For missing plugin errors also the installer details are included.

The URI is included in all message types.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3547

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8236>
2025-02-07 01:02:01 +00:00
He Junyan
0ce5fe3cc9 codecs: Add the H266/VVC decoder base class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>
2025-02-05 18:57:06 +08:00
Seungha Yang
353d963c77 d3d12mipgen: Respect requested mip levels
Don't waste GPU power by generating more levels than requested

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>
2025-02-02 21:01:42 +09:00
Seungha Yang
1dc09d67fe d3d12mipgen: Serialize root signature only once
... and reuse serialized blob

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394>
2025-02-02 20:51:43 +09:00
Seungha Yang
cc6941ed9a d3d12converter: Fix SRV descriptor heap size
Converter was allocating smaller size of descriptor heap
than required size when auto-mipgen is enabled

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8391>
2025-01-31 13:16:50 +00:00
Sebastian Dröge
83e95af6e3 mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
Out parameters are (transfer full) by default.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380>
2025-01-30 01:06:55 +00:00
Colin Kinloch
e0e7a11089 wayland: De-dupe filling caps format fields
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268>
2025-01-29 21:04:16 +00:00
Colin Kinloch
edf157beb5 wayland: Don't filter out unrecognised DRM formats
There is no requirement for a base DRM format to be supported by libgstvideo
in order to be uploaded to.

The linux-dmabuf-v1 format events are DRM_FORMAT codes and don't need to
be converted before use with `gst_video_dma_drm_fourcc_to_string`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8279>
2025-01-29 15:23:57 +00: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
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
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
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
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
d63c965ec8 vulkan: Include api header
Needed for GST_VULKAN_HAVE_VIDEO_EXTENSIONS

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:46 +00:00
Edward Hervey
b4b140440f d3d11: Ignore undef issues with external headers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:46 +00:00
Edward Hervey
67b5414c24 d3d12: Disable implicit fallthrough checks
There are some missing explicit fallthrough statements in the direct headers

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:46 +00:00
Edward Hervey
9b5ea24e2b h265parser: Fix unsigned value reading
Unsigned values are always above 0, use MAX variant for reading

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
8d0cd490f0 mpeg2decoder: Remove useless check
The enum is unsigned

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
9b8ecba9a1 vkinstance: Remove useless check
priv->requested_api_major is unsigned

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
21d81d25ec bad: Clearly specify fallthrough in switch/case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
2025-01-13 12:51:45 +00:00
Edward Hervey
8b62792e5c d3d12: Add missing breaks to switch/case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
916774b4f0 h265bitwriter: Don't use type too small
The computed `coef_val` could exceed the maximum range of a gint8. Use a bigger
one, the checks after will ensure it's properly cropped/padded

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
5bb22c24dc mpegts: Add missing break
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
b78c119a42 msemediabuffer: Fix ASCII character detection
Use glib function. The previous check was checking whether a signed int was
lower than its limit (which ... is always TRUE).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Edward Hervey
efbe1e96ca msesourcebuffer: Fix unsigned value handling
Use the explicit valid clocktime handler instead

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Colin Kinloch
4a56c82f0c wayland: Print table split when DMABuf format changes
The `zwp_linux_dmabuf_v1` doesn't specify an order for modifier events
to be sent.

In my case the linear format was sent last resulting in the first item
in each row being the previous format.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8272>
2025-01-09 18:34:51 +00:00
Olivier Crête
33259e7ea4 analytics: Tensor dimensions are always row-major or col-major
Simplify by removing the extra fields, as this is what all
frameworks give us.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250>
2025-01-08 21:47:52 +00:00
Daniel Morin
0a343fa738 analytics: remove batch-size
- Batch-size will be the outer-most dimension. Presence of batch dimension can
  be identified using `dims` and `id`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191>
2025-01-03 23:14:39 +00:00
Seungha Yang
2ff7b5a5ab d3dshader: Add sampling pixel shader for scRGB SRV
Shaders required for HDR capturing

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227>
2025-01-02 05:57:38 +09:00
Sebastian Dröge
9909654a9a play: Fix stream id leaks on initial stream selection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650>
2024-12-28 13:51:50 +02:00
Sebastian Dröge
0b00cb04b3 play: Add stream-id based selection of streams to match better playbin3's API
As part of this

  - Add accessors for the stream ID and selection API based on the
    stream ID
  - Deprecate the old index-based APIs
  - Remove playbin support
  - Implement the track enable API based on stream selection

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7648>
2024-12-27 19:00:18 +00:00
He Junyan
51618400ec libs: codecparsers: Add the missing ilrp_idx field in H266's ref list
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>
2024-12-20 08:22:31 +08:00
He Junyan
5b768ce0cc libs: codecparsers: H266 GstH266RefPicListStruct's abs_delta_poc_st should be 16 bits
Its value range is 0~(2^15 − 1) according to the spec.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>
2024-12-20 08:22:31 +08:00
Stéphane Cerveau
97d62d2291 vkencoder: init debug category earlier
The encoder has not been created if the codec is not supported by
the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
category.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>
2024-12-19 19:49:06 +00:00
Stéphane Cerveau
f618270c59 vkdecoder: init debug category earlier
The decoder has not been created if the codec is not supported by
the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
category.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138>
2024-12-19 19:49:06 +00:00