Nirbheek Chauhan
80bb69ba66
vtdec: Set input formats when we get incomplete caps
...
In some cases, decodebin3 will send us incomplete caps (not containing
codec_data), and then a GAP event, which will force a negotiation.
This segfaults due to a null pointer deref because self->input_state
is NULL.
The only possible fix is to avoid negotiating when we get incomplete
caps (to avoid re-negotiationg immediately afterwards, which isn't
supported by some muxers), but also set as much input state as
possible so that a renegotiation triggered by a GAP event can complete
successfully.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7634 >
2024-10-12 01:31:52 +00:00
Xavier Claessens
b4ccd940d4
qroverlay: Change pixel-size to percent of width or height
...
The size is now expressed in percent of the smallest dimention. 100
means the biggest square that fits the render area.
Fixes : #3695
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7638 >
2024-10-11 04:07:26 +00:00
Víctor Manuel Jáquez Leal
809ab829d0
tests: va: fix vapostproc test for DMABuf
...
Now it picks the first format in the template srcpad list and do
the convertion. Also the format size is reduced because not all
drives support 4K as DMABuf (radeonsi).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7636 >
2024-10-10 16:34:04 -04:00
Seungha Yang
7c06001705
d3d12: Shorten various names
...
Update names of various objects and method to be shorter, for instance
GstD3D12CommandAllocator is changed to GstD3D12CmdAlloc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642 >
2024-10-10 10:35:36 -04:00
Seungha Yang
024f450204
d3d12: Fix typo in docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642 >
2024-10-10 09:21:54 -04:00
Seungha Yang
ef55b31f46
d3d12: Early error out on Signal() fail
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7642 >
2024-10-10 09:21:54 -04:00
Jordan Petridis
ab54e45f67
tests/lc3: Allocate the same size for the buffer and the data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7631 >
2024-10-09 22:16:13 +00:00
Vivia Nikolaidou
384cb299ec
mxftypes: Add support for a few additional fields
...
According to SMPTE ST 377-1:2019
Currently still unused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626 >
2024-10-09 21:34:06 +00:00
Vivia Nikolaidou
1b81c9ca87
mxftypes: Check for the existence of all required fields
...
According to SMPTE ST 377-1:2019
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626 >
2024-10-09 21:34:06 +00:00
Vivia Nikolaidou
7cc16b64b7
mxfdemux: Keep tracking the offsets even when an index table was found
...
Some files may contain a partial index table, leading into a crash when
you try seeking in them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7626 >
2024-10-09 21:34:06 +00:00
Piotr Brzeziński
9a232f7983
vtenc: Don't call drop_frame() when flushing
...
Slipped through with earlier changes to use drop/release_frame() explicitly.
We should only drop when something goes wrong in the encoder, and just release otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7475 >
2024-10-09 20:29:52 +00:00
Julian Bouzas
35354d4229
lcevcencoder: Add README.md
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
e99b42d924
lcevcdecoder: Add README.md
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
4c82416798
lcevcencoder: Add new LCEVC Encoder plugin
...
This new LCEVC encoder plugin is meant to implement all LCEVC encoder elements.
For now, it only implements the LCEVC H264 encoder (lcevch264enc) element. This
element essentially encodes raw video frames using a specific EIL plugin, and
outputs H264 frames with LCEVC data. Depending on the encoder properties, the
LCEVC data can be either part of the video stream as SEI NAL Units, or attached
to buffers as GstMeta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
cfc6b09693
lcevcdecoder: Add new lcevch264decodebin element
...
This new element wraps both the base H264 decoder and lcevcdec elements into a
bin so that LCEVC decoding works with auto-plugging elements such as decodebin.
By default, the H264 decoder element with higher rank is used as base decoder,
but any particular H264 decoder can be used by manually setting the base-decoder
property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
636690f2aa
lcevcdecoder: Add new LCEVC Decoder plugin
...
This new LCEVC decoder plugin is meant to implement all LCEVC decoder elements.
For now, it only implements the LCEVC enhancement decoder (lcevcdec) element.
This element essentially enhances raw video frames using the LCEVC metadata
attached to input buffers into a higher resolution frame. The element is only
meant to be used after any base decoder (eg avdec_h264).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
9accf21e53
h264parse: Wait for SEI before exposing src caps
...
This makes sure 'lcevc=false' src caps are not set before parsing SEI. It is
needed for decodebin2 to work properly with the LCEVC decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Olivier Crête
8055b0386f
h264parse: Don't fake IDR without at least an i-slice
...
There was an override to fake an IDR as soon as a SPS/PPS
is encountered, but that's not valid, at least an i-slice is needed.
Amend the visl result, as the output is slightly more correct, not
duplicating frame_num.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
2c514ac2f1
h264parse: attach LCEVC meta to buffers if it is present in SEI
...
This improves the h264parse element to attach LCEVC enhancement data to buffers
using the new GstLcevcMeta API. This metadata will eventually be used downstream
by LCEVC decoders to enhance the RAW video frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Julian Bouzas
fea8578ee9
codecparsers: Add LCEVC metadata API
...
This new metadata API allows elements to attach LCEVC enhancement data to video
buffers. Usually, the video parser elements are charged to parse the LCEVC
enhancement data from SEI Nal units (Supplemental enhancement Information).
However, other elements such as demuxers can also use this API if the LCEVC
enhancement data of the video is stored in a separate stream in the container.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7330 >
2024-10-02 20:33:13 +00:00
Seungha Yang
d9114db5d0
nvdecoder: Add support for D3D12 output
...
Enable D3D12 output if device can support D3D12 interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529 >
2024-10-02 02:02:08 +09:00
Seungha Yang
16e94b7fc3
nvcodec: Add support CUDA to D3D12 memory copy
...
Adding CUDA -> D3D12 memory copy method to GstCudaD3D12Interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529 >
2024-10-02 02:02:08 +09:00
Mengkejiergeli Ba
5bf85229e5
msdkenc: Guard the read of thiz->initialized with the modification of this value
...
This is to avoid wrongly read/write thiz->initialized when multi-thread
invoking encoder init function, it is possible when user apps deploy
multi-thread to dynamically change encoder's settings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7578 >
2024-09-29 01:07:39 +00:00
Sebastian Dröge
be6eba3e9e
ntv2: Update to AJA NTV2 SDK 17.1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7568 >
2024-09-27 16:43:37 +00:00
Sebastian Dröge
b7b24573ce
common: Use more efficient versions of GstCapsFeatures API where possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:26:18 +03:00
Sebastian Dröge
3b9f050600
common: Stop using GQuark-based GstCapsFeatures API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
6233eb0ff3
common: Stop using GQuark-based GstStructure field name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Sebastian Dröge
0c1611d31d
common: Stop using GQuark-based GstStructure name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Seungha Yang
2d91521dfc
d3d12: Fix resource allocation on old Windows version
...
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag was introduced as of
Windows 10 May 2020 Update, and older versions don't understand
the heap flag. Checks the feature support and enables the
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED only if it's supported by OS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7573 >
2024-09-26 12:48:55 +00:00
Weijian Pan
df23724b96
avfdeviceprovider: Fix caps leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6966 >
2024-09-26 11:48:19 +00:00
Guillaume Desmottes
7e3f9df9a5
wpe: initialize threading.ready before reading it
...
Fix Valgrind warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7377 >
2024-09-25 11:12:28 +02:00
Michael Grzeschik
4670e1c809
uvcsink: make gst_v4l2uvc_fourcc_to_bare_struct work with more raw formats
...
The uvcsink was limited to only transfer YUY2 and MJPEG. For the
uncompressed formats there is no technical reason not to support them.
Since gst_video_format_to_string is already supporting more fourcc than
only YUY2 we use the default path in gst_v4l2uvc_fourcc_to_bare_struct
to create structures for more formats and bail out if the returned
format is not from the uncompressed type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6037 >
2024-09-24 20:07:40 +00:00
Hugues Fruchet
5801e17160
kmsallocator: fix stride with planar formats
...
This fixes a regression introduced by the merge request
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3801
The extrapolated stride was computed but not used, resulting in the same
stride being applied to all planes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7566 >
2024-09-24 12:57:16 -04:00
Seungha Yang
86af5a5f20
d3d12: Add colorconvert and scale elements
...
In addition to existing d3d12convert element which supports
color conversion and rescale at once, adding
separate color-conversion-only and scale-only elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7560 >
2024-09-24 20:58:47 +09:00
Seungha Yang
cef201734c
d3d12: Add d3d12mipmapping element
...
Adding a new element for texture conversion from single mip level
texture to mipmapping enabled RGBA texture
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555 >
2024-09-23 13:52:37 +00:00
Seungha Yang
51e1834e81
d3d12: Use D3D12_FILTER_MIN_MAG_MIP_LINEAR filter by default
...
... instead of D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT, since we supports
mipmap texture now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555 >
2024-09-23 13:52:37 +00:00
Seungha Yang
8550ed5888
d3d12: Add support for mipmap texture
...
Consider D3D12_RESOURCE_DESC.MipLevels > 1 or zero case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7555 >
2024-09-23 13:52:37 +00:00
Seungha Yang
eb6d083ebe
d3d12converter: Fix crash on pso update
...
Allocates D3D12_INPUT_ELEMENT_DESC memory on heap instead of using
stack memory for later reuse
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
71d26ee4f8
d3d12swapchainsink: Add auto-resize mode
...
Automatically resize swapchain backbuffer to be identical to
stream resolution if user calls resize() signal with zero resolution
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
9dee102867
d3d12swapchainsink: Add support for MSAA
...
Adding "msaa" property and enable MSAA if supported by device
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
ce5321be68
d3d12videosink: Use converter config for initial MSAA setup
...
Avoid redundant pso creation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
7cf27c456b
d3d12converter: Add support initial pso DXGI_SAMPLE_DESC setting
...
Add more options for pso, in order to avoid redundant pso
creation when MSAA is used
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
965d898deb
d3d12swapchainsink: Add sampling-method property
...
Allow setting sampler filter method to use
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
62caa76155
d3d12convert: Use new sampler filter update method
...
... instead of creating new converter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
a1029d5b87
d3d12converter: Add support for sampler filter update
...
Creates new root signature and pipeline state object
if sampler filter method is updated
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
Seungha Yang
c75e6d01c5
d3d12converter: Use generated sampler
...
... instead of static ones, in order to support sampler state update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7550 >
2024-09-20 19:19:15 +00:00
He Junyan
05353e69ca
va: decoder: Delete all the internal locks
...
In fact, the va decoder is just a internal helper class and its access
is under the control of all dec elements. So far, there is no parallel
operation on it now.
At the other side, some code scan tools report race condition issues.
For example, the "context" field is just protected with lock at _open()
but is not protected at _add_param_buffer().
So we just delete all its lock usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
2652467d7c
h264bitwriter: Add check for data size to avoid overflow
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
b427f33818
h265bitwriter: Add check for data size to avoid overflow
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
6bb294343b
va: jpegenc: Fix a memory leak when filter sink caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
He Junyan
dfccbd52f4
va: vpp: Use gst_caps_replace to operate the filter_caps
...
No need to use lock when we assign value to priv->filter_caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7547 >
2024-09-20 14:36:17 +00:00
Sebastian Dröge
cff7e3986e
mxfmux: Use gst_aggregator_update_segment() instead of randomly pushing a segment event
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 17:08:45 +03:00
Sebastian Dröge
1bd6aabf96
mpegtsmux: Use gst_aggregator_push_src_event() for pushing downstream events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7542 >
2024-09-19 17:08:45 +03:00
Benjamin Gaignard
0d0097b0b2
v4l2codecs: h265: Minimize memory allocation
...
Be smarter when allocating sink and source memory pools to reduce the
memory footprint. Use gst_v4l2_decoder_get_render_delay() to know the
need number of buffers for downstream element.
Handle errors in case of memory allocation failures.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7544 >
2024-09-18 22:34:34 +00:00
Tim Blechmann
edf64dc277
mdns: fix thread names
...
Linux thread names are limited to 15 chars. providing long thread names
causes the thread name not to be applied at all
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6094 >
2024-09-18 20:37:10 +00:00
Seungha Yang
5182cac9be
d3d12decoder: Disable sub-allocated bitstream buffer
...
This sub-allocation causes decoding artifacts for some reason
on Intel platform
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7535 >
2024-09-18 10:23:26 +00:00
Sebastian Dröge
9f7148025f
mpegtsmux: Fix refcounting issue when selecting the best pad
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7538 >
2024-09-17 23:49:35 +00:00
Edward Hervey
15e7928c8a
mpegts: Add support for SMPTE ST-2038 ANC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7461 >
2024-09-17 19:58:48 +01:00
Xavier Claessens
a791648600
aja: there is no need to take object lock
...
Both _sink_event() and _aggregate() vfunc are called from the source pad
streaming thread. There is thus no need to protect caps fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7536 >
2024-09-17 15:59:47 +00: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
838ad5c7e4
tsmux: Split off j2k descriptor code in separate function
...
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
Tim-Philipp Müller
d7e8f0e1ca
svtjpegxs: add to documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Tim-Philipp Müller
cdea025b5b
svtjpegxsenc: put "codestream-length" into caps
...
So consumers can calculate the maximum bitrate (brat)
from that for various descriptors, in combination with
the framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Tim-Philipp Müller
ae1cd3d528
svtjpegxs: add SVT JPEG XS decoder
...
Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Tim-Philipp Müller
a6f18726c1
svtjpegxs: add SVT JPEG XS encoder
...
Based on: https://github.com/OpenVisualCloud/SVT-JPEG-XS/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7430 >
2024-09-14 18:30:58 +00:00
Seungha Yang
f5ce4d10b1
nvencoder: Add support for d3d12 memory
...
Use d3d12 -> cuda memory copy helper object in cuda mode encoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
6d28f3b2c6
nvcodec: Add a helper object for d3d12 interop
...
Adding new helper object for d3d12 -> cuda memory copy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
e962af3064
d3d12: Add gst_d3d12_get_copyable_footprints() method
...
This helper method will calculate buffer resource size and layout
required for (mutiple) texture resources to be stored in a single
buffer resource
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
f3589b57d2
d3d12device: Hold compute queue
...
Compute queue will be used for async compute task or device-to-device
memory copy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
6f92807759
cuda: Load external resource interop symbols
...
Required for d3d12 interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Sebastian Dröge
396ef0cbcf
video: Don't overshoot QoS earliest time by a factor of 2
...
By setting the earliest time to timestamp + 2 * diff there would be a difference
of 1 * diff between the current clock time and the earliest time the element
would let through in the future. If e.g. a frame is arriving 30s late at the
sink, then not just all frames up to that point would be dropped but also 30s of
frames after the current clock time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7459 >
2024-09-13 19:52:52 +00:00
Sebastian Dröge
cd5d03811d
mpegtsmux: Wait for data on all pads before deciding on a best pad unless timing out
...
This makes sure that if upstream has different latencies that we're still
outputting buffers with increasining timestamps across the different streams
unless buffers are arriving after the latency deadline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7500 >
2024-09-13 18:15:05 +00:00
Seungha Yang
25f696c7c0
examples: Add application CUDA memory pool example
...
An example to show application managed CUDA memory pool usage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
ad02fae416
cuda: Add support for application cuda memory pool
...
Adding gst_cuda_register_allocator_need_pool_callback() method
to support memory allocation from application's CUmemoryPool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
3c3b8e79c2
cuda: Add CUDA memory pool object
...
Adding a wrapper object for CUmemoryPool handle to use the native
handle in a refcounted way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
cdaa798ac7
cuda: Add methods to enable stream ordered allocation
...
Adding prefer-stream-ordered-alloc property to GstCudaContext.
If stream ordered allocation buffer pool option is not configured
and this property is enabled, buffer pool will enable the stream
ordered allocation. Otherwise it will follow default behavior.
If GST_CUDA_ENABLE_STREAM_ORDERED_ALLOC env is set,
default behavior is enabling the stream ordered allocation.
Otherwise sync alloc/free method will be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
d5d17d804e
nvencoder: Disable stream ordered allocation
...
Stream ordered allocation is not supported by encoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
f72a775d03
cudaipcsink: Disable stream ordered allocation
...
Legacy CUDA IPC does not support default CUDA memory pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
b266aa5e65
cuda: Add support for stream ordered allocation
...
Default CUDA memory allocation will cause implicit global
synchronization. This stream ordered allocation can avoid it
since memory allocation and free operations are asynchronous
and executed in the associated cuda stream context
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
174c9bfaa5
cuda: Load stream ordered allocation related symbols
...
Required to support async memory allocation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Nicolas Dufresne
9f5fd625a1
wayland: Set a debug category for the shm allocator
...
None was set, which meant the debug was associated with default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482 >
2024-09-10 21:35:18 +00:00
Nicolas Dufresne
a3bd3d676d
wayland: Fix ABI break in WL context type name
...
While transforming the internals of waylandsink into a library, the
context type name was accidentally changed, causing an ABI break. Change
it back to its original (as used by the libgstgl), and add support for
the misnamed version as a backward compatibility measure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7482 >
2024-09-10 21:35:18 +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
Michael Tretter
76d753f1c5
uvcsink: set cur_caps to upstream selected caps
...
If the UVC gadget announces multiple formats in the descriptors the uvcsink
doesn't select the actual format but let's the UVC hosts select the format.
If the GStreamer pipeline is started before a UVC host selected the format,
upstream decides on a format until the UVC host has decided. In this case, the
current format needs to be set based on the caps from the caps event to be able
to detect if the format selection by the UVC host requires a format change on
the GStreamer pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473 >
2024-09-09 18:57:35 +00:00
Michael Tretter
f82a716009
uvcsink: skip comparison with prev_caps if they are not set
...
The uvcsink may be put into the READY state to start listening for UVC requests.
Therefore, the UVC host may set a streaming format before the GStreamer pipeline
is started and the uvcsink received a caps event. In this case, prev_caps will
be NULL.
If the EVENT_CAPS has not been received, skip the check if the format needs to
be changed, since the sink will be started with the format selected by the UVC
host, anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7473 >
2024-09-09 18:57:35 +00:00
Edward Hervey
2024287a39
mpegtsmux: Cleanup TsMuxStream fields
...
Instead of using plenty of case-specific booleans:
* Store type as GstStreamType
* Store unique stream type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7476 >
2024-09-09 14:51:13 +00:00
Edward Hervey
2f2d1c3160
gstplay: Name the different bus
...
Makes it clearer when reading logs which one is which
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7462 >
2024-09-08 12:56:14 +00:00
Seungha Yang
63dc54906b
nvencoder: Prefer byte-stream format over packetized
...
Since old encoder implementation supported only byte-stream,
prefers byte-stream format for backward compatibility.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3787
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7457 >
2024-09-06 01:10:14 +09:00
Michael Scherle
b1cda4439b
va: restrict interpolation & scaling property to iHD driver
...
interpolation & scaling is supported for all hardware on
iHD driver. But not supported in mesa driver. see:
<https://github.com/intel/media-driver/issues/1843 >
<https://gitlab.freedesktop.org/mesa/mesa/-/issues/11803 >
improvment of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7301 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7443 >
2024-09-05 13:11:37 +00:00
He Junyan
2d10692b34
va: videoformat: Correct NV21's BPP
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
Víctor Manuel Jáquez Leal
85341d6dad
vajpegenc: set interlace-mode, colorspace and sampling in output caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
Víctor Manuel Jáquez Leal
8fd9b9b237
vasurfaceimage: log surface status string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
4550671b6f
va: Implement the vajpegenc plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
f7e434028d
va: baseenc: Check the bitrate property before get its value
...
Not all the encoders have the bitrate property, such as the jpeg enc.
We need to check that property before getting its value, or the glib
will print warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
9327458cfb
tests: Add the jpeg bit code writer test case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
He Junyan
281679a54a
codecparsers: Implement the jpeg bit code writer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6022 >
2024-09-05 09:56:02 +00:00
Edward Hervey
81e7bde67c
check: Disable failing test
...
Test hasn't been properly fixed for several years with modern libsoup, and it
only for the legacy adaptive demuxer.
Fixes #3783
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7454 >
2024-09-05 10:09:58 +02:00
Matthew Waters
0df80a1bec
webrtcbin: enable forward-unknown-ssrc on rtpfunnel
...
See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7405
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7409 >
2024-09-04 23:15:39 +00:00
Seungha Yang
9363a0af42
dwrite: Allow unlimited number of in-flight d3d12 commands
...
... so that it can be controlled by global direct command queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7444 >
2024-09-04 12:56:43 +00:00