122977 Commits

Author SHA1 Message Date
acu
6422c7f343 added comments 2025-09-01 16:44:40 +02:00
052ce3ca15 delete Debug 2025-09-01 16:44:40 +02:00
acu
840e5b4dd1 opencl gpu acceleration tested - successful 2025-09-01 16:44:40 +02:00
0f0ddbb776 changed variable types in remap function in gstcameraundistort.cpp to support gpu acceleration - It still needs to be tested on the ACU! 2025-09-01 16:44:40 +02:00
Elias Rosendahl
75652a481a Add Execution Provider OpenVINO 2025-09-01 16:44:39 +02:00
Santosh Mahto
5186341c28 gstanalytics : Add tensor decoder element for yolo detection models
Existing tensor decoder has been bifurcated into two seperate gst
element as:

`yoloodv5tensordecoder`: decodes tensors output(masks) from detection-only
models e.g yolov8s.onnx

`yolsegv8tensordecoder`: decoder tensors output(masks and logits) from
segementation models e.g FastSAM or yolov8s-seg
2025-09-01 16:37:15 +02:00
Daniel Morin
96ac4c9a43 tensordecoders: rename element
- yolotensordecoder replaced with yolov8segtensordecoder
2025-09-01 16:36:41 +02:00
Daniel Morin
8f08bafa5d tensordecoders: address MR comments 2025-09-01 16:36:41 +02:00
Daniel Morin
3f3cfc0c91 tensordecoders: Remove object locking in properties accessors 2025-09-01 16:36:41 +02:00
Daniel Morin
a194dcc293 tensordecoders: add property label-file to exemple 2025-09-01 16:36:41 +02:00
Daniel Morin
64e0805126 tensordecoder: Improve class retrieval
- Optimize the way to retrieve class with maximum confidence. Avoir multiple
  pass.
- Add support for label files
2025-09-01 16:36:41 +02:00
Santosh Mahto
07920e7122 gst-analytics : Adapt and Rename fastsamtensordecoder to yolo based.
YOLOv8 model have same tensor output format as FastSAM, so for better
generalization rename fastsamtensordecoder to yolotensordecoder. This
also requires code adaptation to support Yolo based model.
2025-09-01 16:36:41 +02:00
Olivier Crête
f967d58093 fastsamtensordecoder: Set mask resolution based on model output 2025-09-01 16:34:56 +02:00
Daniel Morin
7aa0319af6 fastsamtensordecoder: Add FastSAM tensor decoder
Co-authored-by: Vineet Suryan <vineet.suryan@collabora.com>

# Conflicts:
#	subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json
#	subprojects/gst-plugins-bad/gst/tensordecoders/gsttensordecoders.c
#	subprojects/gst-plugins-bad/gst/tensordecoders/meson.build
2025-09-01 16:34:56 +02:00
Tim-Philipp Müller
680b687639 csharp: add trailing spaces to match bindings generator generated files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9623>
2025-08-30 20:43:07 +01:00
Tim-Philipp Müller
dd483d3e88 csharp: Gst: update for miscellaneous other core additions in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:29 +00:00
Tim-Philipp Müller
803bde32dc csharp: GstSdp: add API new in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:29 +00:00
Tim-Philipp Müller
de0a6cfd20 csharp: GstWebRTC: add API new in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:28 +00:00
Tim-Philipp Müller
83351aed41 csharp: Gst: add LogContext API new in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:27 +00:00
Tim-Philipp Müller
b2daa4400d csharp: GstRtspServer: update for new API in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:27 +00:00
Tim-Philipp Müller
3765169973 csharp: Gst: add new value hash API new in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:26 +00:00
Tim-Philipp Müller
c7c5f0e1d5 csharp: GstVideo: update for new format defines in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:25 +00:00
Tim-Philipp Müller
b697c7fafd csharp: Gst: update for miniobject is_writable() and make_writable() changes in 1.28
These were defines before and are now inline functions, so
were probably not picked up before because of that.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:25 +00:00
Tim-Philipp Müller
acb903186f csharp: GstNet: add new gst_net_client_clock_deinit() API in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:24 +00:00
Tim-Philipp Müller
9873de8d73 csharp: GstBase: update for new aggregator and baseparse API in 1.28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:23 +00:00
Tim-Philipp Müller
b1c7203059 csharp: GstApp: add gst_app_sink_pull_object() and _try_pull_object()
This API was added in 1.20. Unsure if it had been omitted on
purpose or if it's just an oversight.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:22 +00:00
Tim-Philipp Müller
ae7a5eff7c csharp: GstApp: update for new 1.28 API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:22 +00:00
Tim-Philipp Müller
246bd61b07 csharp: update gstreamer version constants
Some were not updated, some had formatting issues.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9620>
2025-08-30 07:18:21 +00:00
stefan-dangl
a17c566c7e docs: Fix negotiation documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9618>
2025-08-28 20:55:33 +00:00
Stéphane Cerveau
0b26bebe35 vkdecoder-private: manage existing dpb pool
When the decoder wants to recreate the dpb pool
on resize event for example, an existing dpb pool
might exist, so it should be kept if the caps
are equal or destroy for new caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9614>
2025-08-28 08:35:57 +00:00
Jan Schmidt
c086c83ac4 rtspsrc: Prefer an empty SET_PARAMETER call for keep-alive
In RTSP 2.0, they started recommending that clients use an
empty SET_PARAMETER request as the preferred keep-alive mechanism
as all cameras must support that method. It also works
for RTSP 1.0, so use it as the preferred method unconditionally.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9577>
2025-08-28 00:46:19 +00:00
Jan Schmidt
492a420fa9 rtspsrc: Send RTSP keepalives in TCP/interleaved modes
When rtspsrc is using an interleaved connection to the camera,
it will continously receive a stream of tunnelled RTP packets
from the server, so the rtspconnection doesn't return ETIMEOUT
and trigger the keepalive. Add a check on the RTSP timer
and send the keepalive whenever we haven't sent a message to
the server in some time.

Fixes problems with some cameras that don't see the RTCP traffic
as sufficient proof of liveness, when using TCP/HTTP tunnelled
modes

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9577>
2025-08-28 00:46:19 +00:00
Nicolas Dufresne
7205433549 video: pool: Fix pool size configuration for DMA DRM
Now that VideoPool accept DMA DRM, it is quite likely that the size does not get
provided in the configuration even if the format have a matching GstVideoFormat.

Fix this by reporting back the minimum expected size in the configuration. This
allows the configuration handshake to succeed.

Fixes regression caused by !9345

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9600>
2025-08-27 15:30:22 +00:00
Víctor Manuel Jáquez Leal
5e995b2b21 vulkanh26xdec: fix discont state handling
It fixes a couple tests in fluster for H.265 decoding.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9610>
2025-08-27 11:32:32 +00:00
Stéphane Cerveau
90dc0f1313 vulkan: tests: remove/update ci comments
Since previous commit, the CI can now run vulkan
tests. Remove or update the comments related to CI.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9416>
2025-08-27 10:50:57 +00:00
Stéphane Cerveau
b2eeb6d6d3 ci: enable vulkan tests in validate
As CI now supports llvm 18 and mesa 24.1 which
allow to use properly lavapipe in the CI, the vulkan
ci tests have been removed from the validate blacklist.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9416>
2025-08-27 10:50:56 +00:00
Xavier Claessens
13eed32842 gst: Add _take and _steal to more mini objects
Those are simple wrappers around mini object API, similar to
what GstEvent does.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9595>
2025-08-26 19:23:55 +00:00
Vivian LEE
5801dd0593 x265: Fix duplicate SEI at startup IDR frame problem
x265 encoder_headers return headers with SEI after encoding the frame,
while the output frame also contains SEI so two identical header
blocks appeared.
Cache the headers at init, leaving only a single copy in the stream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9604>
2025-08-26 06:56:07 +00:00
Thibault Saunier
321601f069 ges: validate: Fix race condition in deeply nested timeline test
Fix race condition where wrong caps were sometimes received before
the last gap internal clip by setting explicit framerate in video
caps and adjusting test timing accordingly.

The test now uses framerate=1/1 with single buffer expectations
instead of relying on default 30fps timing that created timing
races with the internal gap clip processing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9608>
2025-08-25 15:22:29 +00:00
Sebastian Dröge
e8ab8eccae baseparse: Try harder to fixate caps based on upstream in default negotiation
Upstream might provide a width/height while downstream has the field but accepts
a range. gst_caps_fixate() would select the minimum value of that range later
but it would be more accurate to take the upstream value, at least if it's a
subset of what downstream accepts.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9593>
2025-08-24 10:32:02 +00:00
Robert Mader
c24dc93944 gl: Add support for the NV24 pixel format
For completeness - and because it came in handy while testing the format
in a related context.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9596>
2025-08-24 11:43:23 +02:00
Thibault Saunier
8d2612a056 ges: validate: Fix konwn issue synthax
It somehow passed undetected on the CI

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9602>
2025-08-23 13:21:21 +00:00
Thibault Saunier
5376a1d5e2 ges: validate: Respect the mute argument
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9602>
2025-08-23 13:21:20 +00:00
Sebastian Dröge
9f19e0e0a2 gst: Convert is_writable() / make_writable() macros to inline functions
Plus actual functions that are exported from the library.

Apart from improving type-safety, this also makes bindings more happy.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9588>
2025-08-23 12:42:12 +00:00
Daniel Morin
c2d83fabbd tensordecoders: fix wrong assumption in ultralightfacedetectortensordec
- UltraLightFaceDetection was assmuming only one TensorMeta could be attach to
  buffer. We need to look at all TensorMeta attach to the buffer and check for
  the one it support.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9564>
2025-08-22 23:10:31 +00:00
Daniel Morin
3116ecc970 analytics: update gir
- update gir file

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9564>
2025-08-22 23:10:31 +00:00
Daniel Morin
3eefb6c5db analytics: always add GstTensorMeta
Always add GstTensorMeta to buffer instead of re-using existing GstTensorMeta
when it's already present. The reason for the change is when we have cascaded
inference elements overwriting (tflite) or leaking (ONNX) GstTensorMeta when we
have cascaded inferences. We didn't create and API to append to GstTensorMeta
and I think it's more convenient to have a new GstTensorMeta for each
inferences. It's also more clear that a group of tensor was produced by one
inference but doesn't limit tensordecoders from using tensors produced by
multiple inference. I don't see much value in having all tensors data always
inside one GstTensorMeta since appending would mean re-allocation of the tensors
array anyway.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9564>
2025-08-22 23:10:31 +00:00
Seungha Yang
0f4bddc9a9 wasapi2: Add support for format negotiation
Enumerate supported formats during open so that src/sink can
report them via get_caps(). The format is then fixated and
initialized on acquire(), allowing users to select their
preferred format

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9586>
2025-08-22 22:10:28 +00:00
Seungha Yang
d9279a5145 wasapi2: Enumerate supported shared mode formats
... and report it via device provider property

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9586>
2025-08-22 22:10:28 +00:00
Seungha Yang
c97ed1e6f6 wasapi2: Workaround for S24_32LE format mismatch
Since Windows 24bit-in-32bit format is not supported
by GStreamer (Windows one is MSB-aligned), converts format
in ringbuffer using SSE2.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9586>
2025-08-22 22:10:28 +00:00