Daniel Morin
a04ed4b91e
doc: Add analytics support design
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6139 >
2024-07-05 20:51:58 +00:00
Nirbheek Chauhan
fd971ed9d8
docs: CI insists that this docs update must be applied
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7130 >
2024-07-05 16:20:22 +00:00
Nirbheek Chauhan
9d719b9937
meson: Fix invalid include flag in uninstalled gl pc file
...
${libdir}/gstreamer-1.0/include is only valid after installation, but
extra_cflags are added unconditionally, so we can't use that for
include flags.
Instead, let's add the include flag via variables, which are different
for installed and uninstalled pc files.
This is particularly bad for consuming GStreamer via CMake which barfs
on non-existent include paths.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7130 >
2024-07-05 16:20:22 +00:00
Taruntej Kanakamalla
f54320b161
lc3: remove bitstream comparison in the tests
...
since the encoded output is changing based on version
it does not make sense to check the output bitstream with a fixed
bytearray since the version in the target might vary. So sticking
to checking the number of output buffers and encoded frame size
similar to the other tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7141 >
2024-07-05 18:27:20 +05:30
Guillaume Desmottes
3b47b87038
downloadbuffer: send EOS in push mode
...
gst_download_buffer_read_buffer() returns FLOW_EOS but it was not
handled in the 'out_flushing' goto block which uses srcresult,
so EOS was not sent downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7128 >
2024-07-05 07:34:03 +00:00
Guillaume Desmottes
894bef7a1d
downloadbuffer: initialize upstream_size when activated in push mode
...
Push mode flow relies on upstream_size but it was not initialized when
activated as it is when activated in pull mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7128 >
2024-07-05 07:34:03 +00:00
Guillaume Desmottes
560d9b5b91
downloadbuffer: init upstream_size to -1
...
Code in check_upstream_size() is checking for -1 to check if
upstream_size has been set or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7128 >
2024-07-05 07:34:03 +00:00
Guillaume Desmottes
523adcfb1d
downloadbuffer: properly log when receiving events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7128 >
2024-07-05 07:34:03 +00:00
Tihran Katolikian
cc1d978d7f
qt6: explicitly specify path to QtGui private headers when including qrhi_p.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7131 >
2024-07-04 09:52:57 +00:00
Víctor Manuel Jáquez Leal
426616cca7
vavpp: simplify gst_va_vpp_transform_caps()
...
The code is simplified by using GQuarks for looking for caps features, and
removing inner loops.
Also, it's used the pad template caps to compare with the incoming caps because
is cheaper at the beginning of negotiation, where the pad template caps is used.
And, since the ANY caps where removed, there's no need to check for an initial
intersection.
Finally, the completion of caps features is done through a loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698 >
2024-07-04 08:54:16 +00:00
He Junyan
9f1887a623
glupload: Add a comment in DMA's propose_allocation query for video meta
...
The video meta API now is a mandatory request for DMA kind negotiation. In
current code, the raw method always adds that video meta API in the query
of propose_allocation(), so we do not need to do the duplicated task here.
Just adding a comment to declare that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698 >
2024-07-04 08:54:15 +00:00
He Junyan
f235e0308d
vadeinterlace: Do not append ANY caps into pad template
...
Just like the vapostproc, we delete the ANY caps in pad template to
avoid unexpected negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698 >
2024-07-04 08:54:15 +00:00
He Junyan
38a4224c8c
vapostproc: Do not append ANY caps into pad template
...
The ANY caps in pad template caps seems to mess up the DMA negotiation.
The command of:
GST_GL_API=opengl gst-launch-1.0 -vf videotestsrc ! video/x-raw,format=NV12 !
vapostproc ! "video/x-raw(memory:DMABuf)" ! glimagesink
fails to negotiate, but in fact, the vapostproc can convert the input NV12
formant into the RGBA format to render.
The ANY may help the passthough mode, but we should make the negotiate correct
first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6698 >
2024-07-04 08:54:15 +00:00
Lim, Siew Hoon
e82eb628b1
vacompositor: Initialize the allocation related variables in decide_allocation()
...
Prevent garbage value has been pass thru and causing
pipeline fail to run later on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097 >
2024-07-04 06:48:46 +00:00
Lim, Siew Hoon
f498ba25da
vabasedec: Initialize the allocation related variables in decide_allocation()
...
Prevent garbage value has been pass thru and causing
pipeline fail to run.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097 >
2024-07-04 06:48:45 +00:00
Lim, Siew Hoon
c270c5643d
vabasetranform: Initialize the allocation related variables in decide_allocation()
...
Prevent garbage value has been pass thru and causing
pipeline fail to run.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7097 >
2024-07-04 06:48:45 +00:00
He Junyan
e9801cb0a5
vah265enc: Set the trellis only when HW supports it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663 >
2024-07-04 05:59:07 +00:00
He Junyan
2049c7e050
vah264enc: Init missing fields in reset_state()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663 >
2024-07-04 05:59:06 +00:00
He Junyan
5706e3566c
vah264enc: Set the trellis only when HW supports it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663 >
2024-07-04 05:59:06 +00:00
He Junyan
5b27aff33b
va: baseenc: Set the trellis parameter anyway
...
The driver may enable trellis by default. So we should also set the
trellis info to driver even when the trellis option is turned off.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6663 >
2024-07-04 05:59:06 +00:00
jadarve
fd25409a70
doc: fix Since marker
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:22 +00:00
jadarve
3323245606
mpegts: Added missing function prototype
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
5c3f3d8f16
doc: fix docstrings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
14c4d62915
doc: fix single line Since comments
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
7f35a4f7c3
doc: fix Since marker for gst_mpegts_descriptor_from_metadata_pointer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
fad36407bb
doc: update docstrings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
c12a861fb7
doc: update plugin cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
728c83f74d
mpegtsmux: mux meta/x-id3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
0a57f361ce
mpegts: use GstMpegtsMetadataApplicationFormat in metadata descriptor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
992a35b8f9
mpegts: added metadata pointer descriptor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:21 +00:00
jadarve
669a351c78
mpegts: moved metadata descriptors to gstmpegtsdescriptor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793 >
2024-07-03 08:40:20 +00:00
Tim-Philipp Müller
154b84649f
info: remove unused valgrind header include
...
Follow-up to commit a2cbf75523
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7126 >
2024-07-03 03:46:19 +00:00
Tim-Philipp Müller
6cc25bd630
subparse: remove regex optimized flag explicitly
...
That way the other flags in jit_flags are not touched and
flags changes in future only need to be done in one place.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7126 >
2024-07-03 03:46:19 +00:00
Tim-Philipp Müller
084f6b3fbe
gst-plugins-base: put valgrind header availability define into config.h for subparse
...
Make the valgrind header avaibility accessible to any code in
gst-plugins-base, currently it was only signalled to unit tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7126 >
2024-07-03 03:46:19 +00:00
Alicia Boya García
506af5b8e4
gst-validate: Don't treat FALSE when sending flushes as an error
...
gst_element_send_event(FLUSH_START / FLUSH_STOP) returns FALSE in cases
where any of the most downstream elements have unlinked pads, even if
the pipeline is successfully flushed.
Currently this is considered expected behavior in GStreamer. This patch
updates gst-validate to treat it as such and therefore not fail the test
for a "failing" flush.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7064 >
2024-07-02 19:06:02 +00:00
Chris Spoelstra
0f7bb97e81
srtsrc: fix case fallthrough of authentication param
...
Add missing breaks to two case statements.
Also adds a missing lock of srtobject->element when getting the value
of PROP_AUTHENTICATION.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4367 >
2024-07-02 16:49:32 +02:00
Matthew Waters
5bbeccbb65
qml/glsink: also support GLES2 needing shader 'precision' directives
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3616
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7024 >
2024-07-02 12:54:59 +00:00
Edward Hervey
01b397601f
subparse: Don't use jitted regex when used with valgrind
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7117 >
2024-07-02 09:44:25 +02:00
Vivia Nikolaidou
331b37ac9a
ptpclock: Fix typo in comments
...
s/continous/continuous/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7121 >
2024-07-02 00:08:28 +00:00
Edward Hervey
b2edab940a
gstreamer/gst-tester: Don't leak thread
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:40 +00:00
Edward Hervey
61a8d4d43d
gst-inspect: Fix leak of plugin/feature
...
Reordering changes the initial list head
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Edward Hervey
2c1c1ec575
encoding-target: Chain up to parent class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Edward Hervey
651568d543
encoding-profile: Chain up to parent class finalize
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7115 >
2024-07-01 23:19:39 +00:00
Seungha Yang
c0a02affa4
d3d12: Add support for resource copy between d3d11 and d3d12
...
If driver can support cross-api resource sharing, use device-to-device
resource copy in d3d12upload/download elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119 >
2024-07-01 20:18:42 +00:00
Seungha Yang
6cac053549
d3d12bufferpool: Use shared heap by default
...
... to make cross-api resource sharing possible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7119 >
2024-07-01 20:18:42 +00:00
Shengqi Yu
1875c178cd
v4l2object: use v4l2 reported width for padded_width when complex video formats
...
Stride means bytes per line, and padded_width means pixels. Here,
padded_width shoule be pix width reported by v4l2 instead of stride.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7076 >
2024-07-01 18:53:04 +00:00
Sebastian Dröge
1159d7144a
ges-uri-asset: Annotate async/sync/finish functions correctly
...
Due to bad naming, gobject-introspection can't figure these out itself and
prints a warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7118 >
2024-07-01 13:10:27 +00:00
Edward Hervey
43bf898f2d
nlecomposition: Don't leak atomic rc box
...
* gst_structure_get => increases ref
* query_ancestors_position: There are two refs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Edward Hervey
8addeae87b
nlecomposition: Don't leak message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Edward Hervey
734ca44805
ges-layer: Don't use invalid layers
...
There's a possibility that there are no layers at that priority
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Edward Hervey
5d7a35ca59
ges-discoverer-manager: Properly initialize/free GRecMutex
...
Fixes small leak of mutex internals
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7116 >
2024-07-01 12:25:41 +00:00
Sebastian Dröge
f8fb72b0d7
ajasrc: Drop some frames after signal recovery
...
After signal recovery the capture times for the next frames are simply
wrong. Experimentally this affected 2-3 frames and seemed to be related
to the buffer fill level after signal recovery, so drop at least 5
frames and up to fill level + 1 frames in this situation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106 >
2024-07-01 11:37:08 +00:00
Sebastian Dröge
63dec7c704
ajasrc: Reset clock after signal loss or signal change
...
Otherwise timestamps would continue as if there was no gap, and the next
frames until the clock has compensated would be all too late.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7106 >
2024-07-01 11:37:08 +00:00
Thibault Saunier
5f50b93f0a
meson: Remove duplicated library definitions for gstmse and gstanalytics
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7109 >
2024-06-30 15:43:27 +00:00
Seungha Yang
c2531853fc
d3d12commandallocatorpool: Remove unused methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108 >
2024-06-29 20:47:39 +09:00
Seungha Yang
c013e88295
d3d12decoder: Use sub-allocated bitstream buffer
...
Since a buffer resource will occupy at least 64KB,
allocating upload resource per decoding command might not be
an optimal approach. Instead, use sub-region of a upload resource
for multiple decoding command if sub-regions are not overlapped
each other.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7108 >
2024-06-29 20:47:39 +09:00
Jordan Petridis
60454336c8
validate: Remove G_REGEX_OPTIMIZE usage
...
It's not needed and causes issues with valgrind (which doesn't support jit)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7112 >
2024-06-28 14:13:31 +00:00
Tim-Philipp Müller
b4ebf52f06
subprojects: update liblc3 wrap to 1.1.1
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6407#note_2472538
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7111 >
2024-06-28 13:38:36 +01:00
Guillaume Desmottes
037d36f28d
rtmp2: guard against calling gst_amf_node_get_type() with NULL
...
gst_amf_node_get_type() raises a CRITICAL if called with a NULL node.
All callers were checking for this except those.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7103 >
2024-06-28 07:18:29 +00:00
Xavier Claessens
84b3a0950d
build: Add missing common options that are yielding in subprojects
...
- Align `glib_debug`, `glib_assert` and `glib_checks` options with GLib,
otherwise glib subproject won't inherit their value. Previous names
and values are preserved using Meson's deprecation mechanism.
- Add `extra-checks` and `benchmarks` options in the main project so it
can be inherited in GStreamer subprojects.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1165 >
2024-06-27 15:53:46 +00:00
He Junyan
77f779e86a
vaav1enc: Move repeat header data to a dedicated buffer
...
When enable parallel encoding, it is possible that the unshown frame
is not output but it is already be marked as a repeated frame header.
So we need to use a dedicated buffer to hold the repeat frame header,
don't mix it with the orignal frame data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6867 >
2024-06-27 12:48:37 +00:00
Seungha Yang
fca7e5aa23
video: convertframe: Add support for d3d12 conversion
...
Use d3d12convert in case of d3d12 memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7095 >
2024-06-26 17:56:41 +00:00
Seungha Yang
76fd732d42
qsv: Check d3d shared resource tier using D3D11 API
...
We can check the tier using d3d11 API. Thus, don't need to
create d3d12 device
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7099 >
2024-06-26 16:25:06 +00:00
Jan Schmidt
73480e60d0
adaptivedemux: Fix handling closed caption streams
...
Fix a typo "CLOSED_CAPTION" -> "CLOSED-CAPTION" and
a broken if statement that always bailed out for
closed captions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6985 >
2024-06-26 13:44:27 +00:00
Jan Schmidt
2bd682d326
webrtcdsp: Enable multi_channel processing
...
Enable multi_channel processing in webrtc-audio-processing when the
input or output has multiple channels.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3220
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7100 >
2024-06-25 22:29:21 +10:00
Piotr Brzeziński
32d4e5f73c
vtenc: Fix redistribute latency spam
...
Just a quick fix to only report the maximum noticed delay (measured by frames inside the encoder) instead of changing
the reported latency every time the number there changes, which is way too often.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7094 >
2024-06-24 16:08:37 +02:00
Seungha Yang
e71ffe978a
d3d12converter: Make sure data upload before executing compute shader
...
Use read d3d12 map, so that upload can happen if needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093 >
2024-06-24 20:49:19 +09:00
Seungha Yang
245e15eab0
d3d12: Add ARGB64_LE format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093 >
2024-06-24 20:11:21 +09:00
Seungha Yang
8c538c8122
d3d12: Add AV12 format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093 >
2024-06-24 20:11:13 +09:00
Seungha Yang
2703f41da6
d3d12: Add NV16, NV61, and NV24 format support
...
Can reuse NV12 shader for the formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093 >
2024-06-24 20:10:50 +09:00
Seungha Yang
bb0f95a67f
d3d12: Add A420, A422 and A444 format support
...
Adding A420/A422/A444 and its 10/12/16 bits format support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093 >
2024-06-24 20:10:50 +09:00
Seungha Yang
52bc28c93d
d3d12: Add YUV 4:1:0 and 4:1:1 format support
...
Adding Y41B, YUV9, and YVU9 format support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7093 >
2024-06-24 20:10:50 +09:00
Seungha Yang
69ea20b739
d3d12videosink: Present on GstVideoOverlay::expose()
...
... so that updated backbuffer can be swapped and presented
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7079 >
2024-06-24 08:46:24 +00:00
Seungha Yang
25514c8fc1
d3d12: Add v216, v210, r210, v308, IYU2, RGB, BGR format support
...
Reuse the compute shader implemented for d3d11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092 >
2024-06-23 22:30:40 +09:00
Seungha Yang
c1498851b3
d3d12: Add support for UYVY, VYUY, and YVYU
...
Use already implemented compute shaders
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092 >
2024-06-23 22:30:40 +09:00
Seungha Yang
6fcb5f6ae7
d3d12: Add RGB{16,15} and BGR{16,15} format support
...
d3d12 device can support B5G6R5_UNORM and B5G5R5A1_UNORM formats
in pixel shader. If the format is not supported by device,
U16_UINT format with compute shader will be used, like d3d11converter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092 >
2024-06-23 22:30:40 +09:00
Seungha Yang
94bb9fec58
d3d12: Add BGRA64 and BGR10A2 format support
...
Map BGRA64 and BGR10A2 to Y416 and Y410, respectively,
since it's possible RGB space decoder output
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092 >
2024-06-23 22:30:30 +09:00
Seungha Yang
66cc3ff84e
d3d12: Add support for DXGI native packed YUV formats
...
Adding YUY2, Y210, Y216, and Y416 format support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7092 >
2024-06-23 22:11:32 +09:00
Seungha Yang
dd4d85272e
d3d12converter: Fix Y410 conversion
...
Adding format conversion helper and use compute shader in case that
output format does not support RTV.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088 >
2024-06-23 10:53:18 +00:00
Seungha Yang
f432e61bdc
d3d12memory: Add support for UAV descriptor cache
...
Cache shader invisible UAV descriptor in memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088 >
2024-06-23 10:53:18 +00:00
Seungha Yang
ec06b0445e
d3d12: Format table refactoring
...
Hide format table from header. This is a preparation for compute
shader based format support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7088 >
2024-06-23 10:53:18 +00:00
George Hazan
9e1abc0797
parsebin: fix compilation problem with Visual C++ 2017
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7089 >
2024-06-22 20:56:03 +03:00
Tim-Philipp Müller
03a60c9950
subprojects: bump opus wrap to 1.5.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7085 >
2024-06-22 12:26:22 +01:00
Seungha Yang
5d18d8a109
d3d12converter: Upload shader buffer resources earlier
...
Schedule (semi-)static resource upload at converter creation time.
And use single resource for all vertex, index, and constant
buffers, since separate resources will waste GPU memory.
Note that size and address of a committed resource are 64K aligned
even if requested buffer size is small.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7081 >
2024-06-21 20:16:19 +09:00
Edward Hervey
a20569b1ba
basesink: Remove field not used
...
It was never actually used since it was introduced as part of the commit
introducing support for instant rate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7077 >
2024-06-21 09:29:48 +02:00
Seungha Yang
c5785fbeec
d3d12converter: Make gamma remap work as intended
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7073 >
2024-06-20 17:54:12 +00:00
Sebastian Dröge
8117ee4fa3
queue, queue2, multiqueue: Timestamps of gap events must be valid
...
This is checked in gst_event_new_gap() so doesn't have to be checked again here,
but simply can be asserted with a g_return_if_fail().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7071 >
2024-06-20 20:02:43 +03:00
Sebastian Dröge
909cd6d865
queue: queue2: multiqueue: Don't work with segment.position if buffers have no timestamps
...
If the first buffers have no timestamp then the sink position would be
initialized to 0. The source pad might output this buffer, which would then
initialize the source position to 0 too.
Afterwards two buffers with a valid but huge timestamp might arrive before any
of them are output on the source pad. The first one would set the sink position
to a huge value, the second one would notice that the difference between the
huge value and 0 is certainly larger than max-size-time and consider the queue
as full.
Instead, simply don't update the times from buffers without timestamps and
assume whatever was set before is still valid, i.e. the buffer has the same
timestamp as the previous one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7071 >
2024-06-20 20:02:43 +03:00
Seungha Yang
e90880e988
d3d12device: Don't warn for out of range device index
...
It can happen during enumeration as well, and it's expected error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070 >
2024-06-20 14:23:13 +00:00
Seungha Yang
2983c50a9f
d3d12device: Dump device feature support
...
... and use CD3DX12FeatureSupport helper class in d3dx12.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7070 >
2024-06-20 14:23:13 +00:00
Edward Hervey
11ff2b2835
decodebin3: Fix keyframe drop probe handling
...
We were storing the probe id in a different structure (DecodebinOutputStream)
than the pad it is targetting (which is in MultiQueueSlot).
The problem is that when re-targetting outputs (to a different slot)... we would
end up having an invalid probe id, or not have a reference to an existing one.
Instead, store the probe id in the same structure as the pad it's targetting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7069 >
2024-06-20 12:56:46 +00:00
Edward Hervey
6aa0c8442d
decodebin3: Fix detection of selection done
...
We should not assert if there are still some old streams that are waiting to be
deactivated.
Instead wait for them to be gone before posting the selection done message
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7069 >
2024-06-20 12:56:46 +00:00
Seungha Yang
bdb12db5c6
d3d12device: Prevent too many in-flight GPU commands
...
Even if each element is checking its own in-flight commands,
total number of commands can get larger in case of complex pipeline.
Limits total number of in-flight commands at command queue level
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066 >
2024-06-20 00:58:45 +09:00
Seungha Yang
143efa2f86
d3d12commandqueue: Detect device removed event
...
Early return if device removed event is detected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066 >
2024-06-20 00:07:41 +09:00
Seungha Yang
327fb9924c
d3d12basefilter: Add adapter property
...
Allows initial GPU adapter selection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7066 >
2024-06-20 00:03:28 +09:00
Seungha Yang
2ec7d82bd7
d3d12: Move fence setter helper method to gst-libs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057 >
2024-06-19 13:19:48 +00:00
Seungha Yang
fa7c4a2e39
d3d12converter: Update API signature
...
Always use device's main direct queue, and control gpu waiting
behavior by using boolean value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057 >
2024-06-19 13:19:48 +00:00
Seungha Yang
f6eb3a01c0
d3d12memory: Hide fence value from header
...
Instead of exposing fence value to wait in header, user setter/getter
methods.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057 >
2024-06-19 13:19:47 +00:00
Seungha Yang
49c4247cb3
d3d12device: Add helper method for getting fence handle
...
Add get_fence_handle() method so that caller can get command queue's
dedicated fence handle from device
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057 >
2024-06-19 13:19:47 +00:00
Seungha Yang
289bc1d440
d3d12: Remove notify_com and notify_mini_object helper methods
...
Use private macros instead of exposing multiple APIs for the same thing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7057 >
2024-06-19 13:19:47 +00:00