Commit graph

257 commits

Author SHA1 Message Date
Matthew Waters
dbf4915abd cuda/context: add gpu stack size property
Allows reducing the initial stack size of GPU threads.  Cuda should
automatically increase this value if a kernel requires a larger stack.

Can save roughly 40MB of GPU memory for a single nvh264enc instance.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>
2024-12-19 00:33:03 +00:00
Matthew Waters
d6563016ca cuda: add CuGet/SetCtxLimit()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>
2024-12-19 00:33:03 +00:00
Thibault Saunier
5aadb25d0e ges-meta-container: Fix the GET_INTERFACE macro
It had a synthax issue

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/141

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8146>
2024-12-13 16:37:54 +00:00
Oskar Fiedot
a3a7acdd0a analytics: add rotation to object detection mtd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7938>
2024-12-11 11:54:15 +01:00
Thibault Saunier
5e18499372 tracers: Simplify params handling using GstStructure and object properties
Instead of having each tracer implement its own parameter parsing,
centralize the handling in the tracer subsystem using GstStructure.
This simplifies tracer implementations and provides a consistent way
to handle properties.

It also allows for much better documentation by forcing tracer object
to expose properties

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>
2024-12-10 09:35:35 +00:00
Daniel Morin
0878a83860 analytics: update gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>
2024-12-09 18:18:30 +00:00
Daniel Morin
a1e623d200 analytics: add _N_TO_N relation type
This relation type define relations between each components of two groups.
First component of first group relate to first component of second group,
Second component of second group relate to second component of second group,
and so on. It's a denser way to express relations in this context.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>
2024-12-09 18:18:30 +00:00
Seungha Yang
ebd4ec93b1 vecdeque: Fix documentation of push_tail_struct()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8111>
2024-12-09 14:00:33 +00:00
Nicolas Dufresne
6b6fb4c8b8 build: gl: Properly add sub-package to gst_libraries
GstGLEGL/Wayland/X11/Viv was actually never written into any of the gir_targets,
as a side effect, their gir was never copied into girs/ and not used to generate
the documentation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8061>
2024-12-05 15:42:54 -05:00
Stéphane Cerveau
6790093fe6 vkoperation: use inline query with video maintenance1
When video_maintenance1 is supported,
gst_vulkan_operation_begin_query will now use
the inline query mechanism instead of vkCmdBeginQuery
API.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995>
2024-12-04 22:01:02 +00:00
Guillaume Desmottes
082a8fcd5e h264parse: parse unregistered SEI without user data
We get loads of warnings when parsing videos from users:

gsth264parser.c:1115:gst_h264_parser_parse_user_data_unregistered: No more remaining payload data to store
gsth264parse.c:646:gst_h264_parse_process_sei:<h264parse0> failed to parse one or more SEI message

Those are raised because of unregistered SEI without user data.

The spec does not explicitly state that unregistered SEI needs to have
data and I suppose the UUID by itself can carry valuable information.
FFmpeg also parses and exposes such SEI so there is no reason for us no
too as well.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931>
2024-12-04 13:56:13 +00:00
Víctor Manuel Jáquez Leal
1df99ec0d4 vulkan: store in GstVulkanVideoCapabilities encoder and decoder caps
The structure already stored the generic video capabilities and the specific
codec capabilities both for encoding an decoding. The generic decoder
capabilities weren't stored because it was only used internally in the decoder
helper object. Nonetheless, for the encoder, the elements will need the generic
encoder capabilities to configure the encoding. That's why it's required to
expose it as part of GstVulkanVideoCapabilities. And the generic decoder is
included for the sake of symmetry.

While updating the API vkvideoencodeh265 test got some code-style fixes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007>
2024-12-04 02:17:44 +00:00
Jakub Adam
b7970a4d95 gldownload: enumerate emulated video formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6792>
2024-11-28 15:25:28 -05:00
Jakub Adam
d80477d769 glupload: make _dma_buf_transform_* functions public API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6792>
2024-11-28 15:25:27 -05:00
Stéphane Cerveau
7dfed55929 vkoperation: update doc to skip barriers array methods
Some methods are using arrays of element which type can
vary at compile time. These methods should not
be introspectable as it's not possible to determine
the final type.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7880>
2024-11-25 15:24:17 +00:00
He Junyan
1efef641d8 Doc: Add the document for gst_util_floor_log2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003>
2024-11-24 16:49:24 +00:00
Nicolas Dufresne
dff223fdb4 doc: Update girs cache after GstVideo API additions
Commit automatically generated code.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849>
2024-11-19 21:22:38 +00:00
Qian Hu (胡骞)
e7f0bc15f3 gir: update gir about aggregate params and pool
1) update aggregate params gir
2) update gstbufferpool gir

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201>
2024-11-19 15:27:38 +00:00
Thibault Saunier
45806c4d66 gl: colorconvert: Add support for I422_10XX and I422_12XX
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7919>
2024-11-19 12:39:01 +00:00
Stéphane Cerveau
0dd706a420 vkutils: add gst_vulkan_ensure_element_device
In order to keep the same device across
the elements in the pipeline, use either the device id
to create the device or get the device from the context
set by the peer elements.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>
2024-11-15 20:32:24 +00:00
Stéphane Cerveau
9a771b6909 vkinstance: add gst_vulkan_instance_create_device_with_index
This method will allow to create a device with its device_index
preparing the support of multiple device.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843>
2024-11-15 20:32:24 +00:00
Stéphane Cerveau
a6f82ba590 utils: improve gst_util_ceil_log2
According to the following comparison of algorithms, the value
for 0 and 1 was giving an incorrect result.

https://gist.github.com/ceyusa/6061b33ac109a68bcd222f6919968c9a

More information here:
https://github.com/rofrol/codeforces/blob/master/ceil_log2.c

Use a different algorithm which offers better result and keep the
performance.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429>
2024-11-15 16:52:29 +00:00
Sebastian Dröge
bc63d85f19 idstr: Fix docs of set_static_str_with_len()
The passed string must be NUL-terminated because otherwise a copy would be
necessary to make it NUL-terminated, which defeats the whole purpose of the
set_static() functions.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7863>
2024-11-14 17:12:27 +00:00
Thibault Saunier
6ed0d547a7 gl: colorconvert: Add support for Y444_10XX and Y444_16XX
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858>
2024-11-12 11:31:37 -03:00
Alicia Boya García
2080aff70c adapter: Improve documentation for gst_adapter_available()
When I first read the documentation of gst_adapter_available() and
gst_adapter_available_fast() I got quite confused as it seemed that
both performed the same purpose but one was slower than the other.

I shared it with other people and found they also arrived at the same
wrong conclusion.

Hopefully this patch will make the actual purpose clearer.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/12

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859>
2024-11-11 17:25:18 +00:00
Diego Nieto
0d85cdafd5 exiftag: handle GST_TAG_CAPTURING_LIGHT_SOURCE tag
This exif tag allows to specify the different light conditions
when taking a picture. This tag is defined in:
https://exiftool.org/TagNames/EXIF.html#LightSource

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5571>
2024-11-10 12:57:36 +00:00
Olivier Crête
9153024af1 girs: Update analytics
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000>
2024-11-08 14:58:49 +00:00
Thibault Saunier
dfd5357214 validate: scenario: Add a way to make the select-streams run several times
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700>
2024-11-07 20:52:45 +00:00
Sebastian Dröge
5da635c2da play: Improve play message API inconsistencies
* Consistently name parse functions according to their message type and
    deprecate the misnamed ones,
  * Add missing parse functions,
  * Check for the correct message type when parsing
  * Use correct field name for warning message details

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7754>
2024-10-29 10:14:56 +00:00
Edward Hervey
6923d5008c girs: Update for fedora 40 gobject-introspection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455>
2024-10-25 13:55:19 +00:00
Edward Hervey
38c07a2d01 all: Fix closure annotations
This was misused almost everywhere.

See
https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures

and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725>
2024-10-25 08:58:29 +00:00
Carlos Falgueras García
561ca94916 video: Add GRAY10_LE16 support
This adds a 10-bit variant of grayscale packed into 16 bits little-endian
words. The MSB 6 bits are padding and should be ignored. This format is
used by Fraunhofer VVC encoder and decoder libraries.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706>
2024-10-25 05:53:22 +00:00
Daniel Morin
5d2f0b369f analytics: update gir file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>
2024-10-17 18:13:03 +00:00
Daniel Morin
6db6d44ff5 analytics: add segmentation analytics-meta
- Add a new analytics-meta to store segmentation analysis result.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026>
2024-10-17 18:13:03 +00:00
François Laignel
bc5bd03723 gst: update gir file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7644>
2024-10-16 23:14:50 +00:00
François Laignel
067fe7b9bc gst: structure: add more GstIdStr methods
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7613>
2024-10-04 11:19:46 +02:00
Sebastian Dröge
e758ffa2cf girs: Update Gst-1.0.gir with new API and deprecations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432>
2024-09-26 19:26:18 +03:00
Sebastian Dröge
389302eb96 dynamictypefactory: Fix name of the class cast macro
And deprecate the old name.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7541>
2024-09-23 15:04:31 +00:00
Sebastian Dröge
37ef85f268 aggregator: Add gst_aggregator_push_src_event()
This ensures that any pending events are pushed before pushing the new event.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542>
2024-09-19 17:08:45 +03:00
Edward Hervey
2e8afcf51a mpegts: Add support for JPEG-XS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>
2024-09-16 18:31:01 +01:00
Edward Hervey
6ce1910c5b mpegts: Handle ISO 13818 / ITU H.222.0 base extension descriptor
Previously this was hardcoded to the DVB extension descriptors (0x7f), but it
should also be applied for the base specification extension descriptors (0x3f)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7172>
2024-09-16 18:31:01 +01:00
Seungha Yang
9eb5bfc00c cuda: Update gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480>
2024-09-14 15:33:44 +00:00
Seungha Yang
e4220fa9a8 cuda: Update gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427>
2024-09-11 17:15:14 +00:00
Nirbheek Chauhan
e402ed86df vulkan: Fix some doc strings and also some g-i warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7481>
2024-09-10 14:59:36 +00:00
Sebastian Dröge
e5133033fa clock: Use external / internal as term for the two clock bases everywhere
It was confusing that some functions were using master for the external time and
slave for the internal time. This is not consistently using external / internal
when talking about concrete clock times.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7456>
2024-09-08 11:42:38 +01:00
Thibault Saunier
9f410a8714 validate: scenario: Handle the fact that structs field names don't have a static lifetime anymore
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7453>
2024-09-05 18:58:24 +00:00
Oskar Fiedot
327df9766d analytics: Change pointers in getters to const
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7403>
2024-09-02 12:27:37 +00:00
Daniel Morin
4106ad4ae6 doc: correct delimiters documentation
- "<>" are delimiters for GST_TYPE_ARRAY and "{}" are delimiters for
  GST_TYPE_LIST.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7419>
2024-08-29 00:00:43 +00:00
RSWilli
b2c4f68328 webrtc: fix documentation error in GstWebRTCKind
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7407>
2024-08-24 10:08:57 +00:00
Marijn Suijten
10464f352f vulkan: Annotate queue getter as nullable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736>
2024-08-12 19:23:08 +00:00