Seungha Yang
27d5e269cc
tests: d3d11: Add buffer pool test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240 >
2024-02-29 11:57:50 +00:00
Seungha Yang
05aae3dd02
tests: cuda: Add buffer pool test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6240 >
2024-02-29 11:57:50 +00:00
Kamal Mostafa
ce45e63dcc
tests: cudafilter: actually check for cudascale
...
Actually check for availability of 'cudascale' instead of accidentally
checking for 'cudadownload' twice.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3327
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6158 >
2024-02-21 10:16:02 +00:00
Stéphane Cerveau
977a59a3fb
test: vkimagebufferpool: fix queue leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6143 >
2024-02-21 04:50:47 +00:00
Víctor Manuel Jáquez Leal
4268268a79
tests: vkvideodecode: add H.265 decoding test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
8a4a619c32
tests: vkvideodecode: choose the queue's codec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
d581690f61
tests: vkvideodecode: h264 prefix to global variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Víctor Manuel Jáquez Leal
a853cc419f
tests: vkvideodecode: refactor functions for later reuse
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6089 >
2024-02-10 17:17:24 +00:00
Xavier Claessens
561f8b71ee
structure: Allow STRICT flag only in _serialize_full()
...
The STRICT flag makes _serialize() nullable which is an API break for
bindings. Forbid it and add _serialize_full() that accepts it and is
properly annotated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829 >
2024-02-09 15:45:33 +00:00
Jonas K Danielsson
7c4e6442db
srt: Add basic check test of srt[src|sink]
...
Add some basic tests for the srtsrc and the srtsink and set us up for
more advanced tests down the road.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5440 >
2024-02-02 15:08:02 +00:00
Daniel Morin
f1d2147ba8
analytics: add test for OD confidence level retrieval
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017 >
2024-01-31 14:40:56 +00:00
Thibault Saunier
b0fdbcec64
autovideoconvert: Handle passing bin description instead of factories
...
This way we can build our own well know bins for conversion keeping the
code simple.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
e153c558c7
autoconvert: Handle reconfiguring on the srcpad
...
Only upstream renegotiation was properly handled, we needed to answer
that when downstream forces a renegotiation we take into account the
new downstream restrictions.
And add tests for it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Seungha Yang
07ba225183
cudaipc: Add support for custom meta forwarding
...
Forward custom meta to peer ipcsrc elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
He Junyan
a278137f7e
tests: Add the av1 bit code writer test case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015 >
2024-01-30 08:24:25 +00:00
Seungha Yang
4e1bf149d0
d3d12: Add H.264 video encoder
...
Adding video encoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5808 >
2024-01-19 12:47:35 +00:00
Seungha Yang
c737799900
h264parser: Add gst_h264_parser_identify_and_split_nalu_avc() method
...
Equivalent to _split_nalu_hevc() method in h265parser. This method
will scan start-code prefix and split into individual NAL units
if start-code prefix is detected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5772 >
2024-01-17 14:57:57 +00:00
Chris Spencer
865227b750
vkimagebufferpool: allow specifying initial image layout
...
The pool currently defaults to performing a layout transition to
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, with some special exceptions for
video usages. This may not be a legal transition depending on the usage.
Provide an API to explicitly control the initial image layout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5881 >
2024-01-13 05:54:00 +00:00
Olivier Crête
5d3035553c
analytics: Replace type quark with opaque struct pointer
...
This way, we can add function pointers in there for things like
transformations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5863 >
2024-01-10 18:34:53 -05:00
Stéphane Cerveau
476c7efcb7
vulkan: decoder: create union for profile usage
...
As a profile can include a VkVideoDecodeUsageInfoKHR
or VkVideoEncodeUsageInfoKHR, use union to separate the both.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5701 >
2024-01-10 17:15:12 +00:00
Víctor Manuel Jáquez Leal
ec4054e637
jpegparse: always forward pixel-aspect-ratio
...
And by default it's 1/1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838 >
2023-12-22 04:38:06 +00:00
Víctor Manuel Jáquez Leal
20b636ee9a
jpegparse: add support interlaced mjpeg
...
Interlaced MJPEG is a big hack. Most of the streams we've found are from old
AVID tools. There are two methods to detect interlaced stream: the container
offers a height bigger (or double) than the image's height in SOF. The other
is from a APP0 marker.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5838 >
2023-12-22 04:38:06 +00:00
Xavier Claessens
533f814fd9
h264parse: test - AU align with SEI between frame slices
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5741 >
2023-12-17 21:42:47 +00:00
Xavier Claessens
f076a9bf2f
unixfd: Serialize buffer metas
...
Serialize every GstMeta that supports serialization into the NEW_BUFFER
payload. This is especially important for GstVideoMeta in the case of
multiplanar buffers, or if stride!=width.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355 >
2023-12-17 16:13:26 +00:00
Daniel Morin
aaee569087
analytics: replace id type from gint to guint
...
- Replace all id type from gint to guint
- Fix annotation for GstAnalyticsODMtdData
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5758 >
2023-12-04 10:14:59 -05:00
Seungha Yang
845f5d4856
d3d11: Rework memory allocation params signalling
...
Hide GstD3D11AllocationParams detail from public header and
set setter methods.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5717 >
2023-11-27 15:14:09 +00:00
Daniel Morin
d23a90cb16
analytics: base class for analytics meta
...
- GstAnalyticRelationMeta is a base class for analytics
meta. It's able to store analytics results (GstAnalyticRelatableMtd)
and describe the relation between each analysis results.
- GstAnalysisRelationMeta also contain an algorithm able to explore
analysis results relation using a bfs.
- Relation(edge) between analysis results (vertice) are stored in an adjacency-matrix
that allow to quickly identify if two analysis results are related and by
which relation they related. It also work for indirect relation
and can provide the path of analysis results by which two
analysis results are related.
- One allocation per buffer to store analysis results. Here we rely on
the application to guess how much space will be required to store all
analysis results. This is something that could be improved
significantly but it's a starting point.
- Define common analysis results, classification, object-detection,
tracking that are subclass of GstAnalyticRelatableMtd. The also
provide exemple of how to extend GstAnalyticRelatableMtd to have them
benefit for the mechanim to express relation with other analysis
results.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4962 >
2023-11-21 18:04:53 +00:00
Stéphane Cerveau
159f24c07f
vulkan: use gst_vulkan_device_select_queue
...
Use gst_vulkan_device_select_queue api to retrieve a valid queue
in vkupload, vkdownload, vkimagebufferpool, and vkvideofilter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5656 >
2023-11-21 13:51:21 +00:00
Stéphane Cerveau
23a144dcec
test: look for proper queue among multiple physical device
...
There might be multiple GPUs in a system and only one might provided vulkan
video extensions. Now, in order to run the tests, the proper GPU is looked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850 >
2023-11-20 13:32:20 +00:00
Víctor Manuel Jáquez Leal
221811119a
test: add vkvideodecode test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850 >
2023-11-20 13:32:20 +00:00
Stéphane Cerveau
96daac8ac7
vkvideoutils: add GstVulkanVideoOperation enum
...
To differentiate a video/x-h264 caps use with a decoder or an encoder
and get the correct video profile, the API expects an enum
GstVulkanVideoOperation to handle this difference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850 >
2023-11-20 13:32:20 +00:00
Víctor Manuel Jáquez Leal
8ee0f04d8d
vkvideoutils: add dec postfix to profiles
...
So it the future don't collide with encoding profiles.
Original-patch-by: Stéphane Cerveau <scerveau@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4850 >
2023-11-20 13:32:20 +00:00
Jordan Yelloz
66f51f642f
bad: Added W3C Media Source Extensions library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2992 >
2023-11-19 13:48:43 +00:00
Vivia Nikolaidou
dd00dab5e9
ccutils: Add padding also for ccp data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5423 >
2023-11-08 10:06:45 +00:00
Vivia Nikolaidou
78bc3d53dd
ccutils: Keep upstream padding payload
...
A payload of 0x80 0x80 means that it's padding. It's not a good idea to
throw this away though, because of the cc_valid field.
According to CEA 10-B section 25.2.1, if cc_valid is zero, the run-in
clock and start bit should not be generated. In practice, this means
that any closed captions will be erased and the end-user TV will show
that captions are not available for this stream. This might have
undesired consequences, e.g. we were just showing a long line of
captions and we disable it before the user has had time to read it, or
you can't enable closed captions during silence/music intervals.
We cannot reliably detect whether there's a currently-silent closed
caption stream or just nothing, but we have this information coming from
upstream, so we can at least not discard it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5508 >
2023-11-06 13:44:36 +00:00
Xavier Claessens
f1a1901b8b
unixfd: New plugin with unixfdsink and unixfdsrc elements
...
This pair of elements, inspired from shmsink/shmsrc, send unix file
descriptors (e.g. memfd, dmabuf) from one sink to multiple source
elements in other processes.
The unixfdsink proposes a memfd/shm allocator, which causes for example
videotestsrc to write directly into memories that can be transfered to
other processes without copying.
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328 >
2023-11-03 18:22:00 +00:00
Tim-Philipp Müller
3438b7a880
kate: remove plugin
...
Bitrotten and not really used in the wild.
The actual render library (libtiger) is not just unmaintained
but the upstream location has disappeared, and it's also not
even packaged by e.g. debian/ubuntu.
Closes #3071
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5408 >
2023-10-27 07:34:39 +00:00
Matthew Waters
b82a402bf1
vkformat: also check configured usage flags
...
This does also mean that if the primary format fails this check, we need
to try the secondary format before returning an error
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2957
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288 >
2023-09-08 16:09:33 +00:00
Matthew Waters
4d3b03e8e8
vkformat: invert srgb and multiplane && planes > 1 checks
...
The primary format for RGB includes sRGB transfer but was not actually
being used.
The !(no_multiplane && planes > 1) check for YUV resulted in those
formats never being used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5288 >
2023-09-08 16:09:33 +00:00
Sebastian Dröge
d50c842d87
video: Fix ordering of video formats in GST_VIDEO_FORMATS_ALL_STR
...
This now follows the algorithm again that is described in the
documentation and implemented in gstreamer-rs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5243 >
2023-08-25 15:27:02 +00:00
Seungha Yang
d84c13ab0d
h265parser: Allow partially broken hvcC data
...
Ignores parsing error on the last nalu of the array if the nalu type
is not VPS/SPS/PPS
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2905
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5188 >
2023-08-23 10:43:18 +00:00
Fabian Orccon
d07ffae343
h264parser: Write Unregistered User Data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5071 >
2023-08-08 02:47:41 +00:00
Fabian Orccon
216f9d66a0
h265parser: Write Unregistered User Data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5070 >
2023-07-25 18:28:26 +00:00
Fabian Orccon
dd47fa53d8
h265parse: Parse SEI unregistered user data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5070 >
2023-07-25 18:28:26 +00:00
Nirbheek Chauhan
b0dbc09ea2
webrtcrenego: Use payload type correctly for the dynamic stream
...
All streams were using pt=96 which is incorrect. In some cases that
can cause EOS to be sent to both branches of the receiver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045 >
2023-07-19 13:01:49 +00:00
Nirbheek Chauhan
76b5178260
webrtcrenego: Fix incorrect release of non-request pad
...
GStreamer-CRITICAL **: 16:39:23.230: gst_element_release_request_pad:
assertion 'GST_PAD_PAD_TEMPLATE (pad) == NULL ||
GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
GST_PAD_REQUEST' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045 >
2023-07-19 13:01:49 +00:00
Nirbheek Chauhan
fb406b7a56
webrtcrenego: Port to updated mechanism for doing renegotiation
...
Sending an EOS event is actually really bad because rtpbin doesn't
handle that very well. It was only being used as a way to notify
webrtcbin to check if re-negotiation is needed.
We don't need that anymore, since changing the direction is enough to
notify webrtcbin to check for re-negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5045 >
2023-07-19 13:01:49 +00:00
Nirbheek Chauhan
576ec6e72e
d3d11: Fix build on MSYS2 GCC
...
```
../subprojects/gst-plugins-bad/tests/examples/d3d11/d3d11overlay.cpp:145:37: error:
invalid conversion from 'unsigned int' to 'D2D1_DRAW_TEXT_OPTIONS' [-fpermissive]
145 | D2D1_DRAW_TEXT_OPTIONS_CLIP | D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| unsigned int
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018 >
2023-07-12 21:17:25 +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
Philippe Normand
424a78c9b9
webrtcbin: Prevent critical warning when creating an additional data channel
...
The max_channels value wasn't clamped to 65534 in all situations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5001 >
2023-07-10 14:08:09 +00:00