Víctor Manuel Jáquez Leal
3389347467
vkencoder-private: fix documentation
...
The function doesn't take the reference from caller, it keeps it's own
reference, so transfer is none.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
b88f15406f
vkencoder-private: fix code style and use gpointer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
20a0a46676
vkencoder-private: fix and complete public functions prechecks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
e9ef5e0c36
vkencoder-private: check for layered buffer when new picture
...
And balance `if` curly brackets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
066144f78c
vkencoder-private: early return if dpb pool or dpb buffer already exist
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
52bd1931b8
vkencoder-private: usage structure is provided by caller
...
As all the profile structure, it's not intended to be filled in
gst_vulkan_encoder_start() function, but by the caller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
a12daaca28
vkencoder-private: fix how to get bitstream buffer size
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
7a9bd2c9d4
vkencoder-private: doc: fix function name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
e79ff5a4f1
vkencoder-private: use gst_clear_object()
...
Instead of g_clear_object() for sake of coherence.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
5e78ffe87a
vkencoder-private: fix return value to gst_vulkan_encoder_encode()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
751d628160
vkencoder-private: doc: remove (in) annotation
...
because it's the default one
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Víctor Manuel Jáquez Leal
af0e15e9be
vkencoder-private: move out indent macros
...
Outside of the structures whenever is possible, given indent limitations. In this way
the code has a better readability.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7974 >
2024-11-27 20:13:12 +00:00
Seungha Yang
6bcedb0d8b
d3d12converter: Gamma LUT related enhancements
...
* Build gamma LUT using shader, instead of CPU side math then uploading
* Make gamma LUT sharable across multiple converters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951 >
2024-11-26 16:06:08 +00:00
Seungha Yang
f3191aca58
d3dshader: Add shader for building gamma LUT
...
Newly added shader will be used by converter to construct
gamma encode/decode LUT texture
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7951 >
2024-11-26 16:06:08 +00: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
24944fd153
libs: codecparsers: Implement the VVC(H266) parser part II
...
Implement the picture header, slice header and SEI parsing functions.
Co-authored-by: spartazhc <spartazhc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003 >
2024-11-24 16:49:25 +00:00
He Junyan
5005d555a1
libs: codecparsers: Implement the VVC(H266) parser part I
...
Implement all the VPS, SPS and APS parsing functions.
Co-authored-by: spartazhc <spartazhc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003 >
2024-11-24 16:49:25 +00:00
He Junyan
1ec9f829d1
libs: codecparsers: Add the VVC(H266) parser header file
...
Co-authored-by: spartazhc <spartazhc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003 >
2024-11-24 16:49:25 +00:00
Seungha Yang
44cb3025ff
d3d12: Add gst_d3d12_flush_all_devices() method
...
... and removing implicit flushing behavior on GstD3D12Device::finalize
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7929 >
2024-11-20 15:44:58 +00:00
Nicolas Dufresne
a966f03cd7
wayland: dmabuf: Translate tiled strides
...
GStreamer uses a different representation of tiled strides that needs
to be translated before being sent to wayland.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Matthew Waters
605cff0642
vulkan/videoutils: silence some maybe-unitialized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11: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
Víctor Manuel Jáquez Leal
46f4dbe57b
codecparser: remove unused headers
...
Mainly <string.h> but also <stdlib.h> in jpegparse
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869 >
2024-11-15 19:33:10 +00:00
Víctor Manuel Jáquez Leal
e60efa4b9a
codecparsers: avoid libc math library
...
Instead of the libc ceil() and pow() machinery for double types, since the
library uses it for unsigned integers use a simple math function for for ceil
division and bit left shift for integer power of two.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869 >
2024-11-15 19:33:10 +00:00
Stéphane Cerveau
ff9100eb4d
h265parser/bitwriter: add some comments for ceil_log2 use
...
Validate that the length of field must be calculate with
ceil_logs2 and not bit storage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429 >
2024-11-15 16:52:29 +00:00
Stéphane Cerveau
8f9ed667cd
h264parse: use of ceil_log2 instead of bit_storage
...
According to the specification:
The length of the slice_group_id[ i ] syntax element is Ceil( Log2(
num_slice_groups_minus1 + 1 ) ) bits
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429 >
2024-11-15 16:52:29 +00:00
Víctor Manuel Jáquez Leal
986b91fbe9
h26Xbitwriter: use quote form directive for internal header
...
Since nalutils.h is not installed it should be included for the local path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7868 >
2024-11-12 06:29:22 +00:00
Víctor Manuel Jáquez Leal
d9aa8a78ea
h264bitwriter: implement gst_h264_bit_writer_filler()
...
This is required for vulkan encoder since it can only write slides after aligned
offsets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7785 >
2024-11-11 16:05:38 +00:00
Olivier Crête
d934ea3f7a
tensormeta: Add APIs to create and access GstTensorMeta contents
...
Also document those APIs better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
5e73e8e1b3
tensor: Add APIs to create and access GstTensor contents
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
4295386804
tensors: Use full GstTensorDataType type name in type members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
e01a3b1d79
analytics: Add APIs to add or get a GstTensorMeta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
6a5a63f051
analytics: Adding abstraction on tensor dims
...
Tensor can be row or col major, but it's also possible that the order by we need
to read the tensor with more than two dimension need to be described. The
reserved field in GstTensorDim is there for this purpose. If we need this we
can add GST_TENSOR_DIM_ORDER_INDEXED, and follow an index defining order for
each dimension.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
8169863f01
analytics: Make GstTensor more suitable for inline allocation
...
GstTensor contained two fields (data, dims) that were dynamicallay allocated. For
data it's for a GstBuffer and we have pool for efficient memory management. For
dims it's a small array to store the dimension of the tensor. The dims field
can be allocated inplace by moving it at the end of the structure. This will
allow a better memory management when GstTensor is stored in an analytics meta
which will take advantage of the _clear interface for re-use.
- New api to allocate and free GstTensor
To continue to support use-cases where GstTensor is not stored in an
analytics-meta we provide gst_tensor_alloc, gst_tensor_alloc_n and
gst_tensor_free that will facilitate memory management.
- Make GstTensor a boxed type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
7c925eae61
analytics: Move batch to GstTensor
...
- batch_size is required to interpret the tensor depending on the tensor format
the batch are not necessarily memory plane therefore it's preferable to keep it
inside GstTensor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
43c7e524ce
analytics: Decouple GstTensor from GstTensorMeta
...
- To support transporting tensor as GstMeta, Analytics-Meta and Media we need to
decouple GstTensor from GstTensorMeta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
03fd6fadbc
analytics: Move tensor meta to the analytics library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Seungha Yang
f94c84c828
d3d12converter: Add support for colorbalance
...
Adding support for hue, saturation, brightness, and contrast adjustment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817 >
2024-11-03 21:33:37 +00:00
Seungha Yang
0c6e7e7f1a
d3d11converter: Fix constant buffer update
...
Fixing regression of
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7814 >
2024-11-02 16:36:27 +00:00
Edward Hervey
fb16abcd73
mpegts: Fix JPEG-XS Extension Descriptor handling
...
The initial specification for the descriptor (from H.222.0 06/21) was wrong and
introduced duplicate descriptor_tag/descriptor_length field.
This was later corrected in H.222.0 (2021) Amendment 1 (12/22)
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775 >
2024-10-31 10:02:01 +00:00
Nicolas Dufresne
30c6f2c163
wayland: Add NV15 support
...
This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
video decoders when decoding 4:2:0 10 bit content.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7569 >
2024-10-30 02:27:12 +00:00
Seungha Yang
7f9be72e72
vp8decoder: Fix resolution change handling
...
Do not store resolution in set_format() so that resolution change
can be detected on keyframe as intended.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7710 >
2024-10-29 20:19:15 +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
8bc8aedc62
codecparsers: Fix gtk-doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:20 +00:00
Edward Hervey
908fc15411
docs: Fix av1parser symbols
...
Don't use un-named structures
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
Seungha Yang
8c3d516a14
d3d12: Additional fixes for MinGW build
...
Various fixes for GCC build, including actual bug fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7722 >
2024-10-24 06:54:30 +09:00
Seungha Yang
703cc1783e
d3d12: Fix MinGW build with installed DirectX-Headers
...
Required for cerbero MinGW build
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7154 >
2024-10-22 21:25:11 +00:00
Jochen Henneberg
982bfe4f5d
codecparsers: vp8parser: Added frame type enums
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6959 >
2024-10-22 11:48:49 +00:00
Víctor Manuel Jáquez Leal
45b01f9456
h26xbitwriter: false have_space if aligning fails on aud
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7655 >
2024-10-19 17:28:41 +00:00
Benjamin Gaignard
0f171b2086
codecs: vp9 decoder: Drain output buffers before resolution change
...
We must drain the pending output picture so that subclass can renegotiate
the caps. Not doing so while still renegotiating would mean that the
subclass would have to do an allocation query before pushing the caps.
Pushing the caps now without this would also not work since these caps
won't match the pending buffers format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7684 >
2024-10-19 01:39:04 +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
Daniel Morin
98653aa43a
analytics: Allow specific analytics-meta (Mtd) to handle their clear
...
- Add mtd_meta_clear to allow specific analytics-meta to handle their clear
operation specific to their type.
- Clear mtd's attached when analytic-meta is freed. When the buffer where
analytics-meta is attached is not from a buffer pool
gst_analytics_relation_meta_clear will not be called unless we explicitly call
it in _free. This important otherwise _mtd_clear are not called and lead to
leak if embedded mtd's allocated memory
- Un-ref in transform if it's a copy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6026 >
2024-10-17 18:13:03 +00:00
Víctor Manuel Jáquez Leal
0e9634e17c
codecparsers: add debug categories to bitwriters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7653 >
2024-10-14 22:05:04 +00:00
Nirbheek Chauhan
303dd73779
meson: Explicitly use cpp_std=c++11 for dxva
...
dxva is built unconditionally on all platforms where introspection is
enabled, so let's fix the build on macOS so that introspection can be
enabled there: https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/65009118
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7659 >
2024-10-13 19:31:27 +00:00
L. E. Segovia
4dcc4b6235
meson: Undefine any WINVER and _WIN32_WINNT entries before redefining them
...
Fixes Cerbero build with MinGW GCC 14, where specifying -DWINVER=0x0601 -DWINVER=0x0A00 is a hard -Werror.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658 >
2024-10-12 19:10:46 -03:00
L. E. Segovia
4af2121189
meson: d3d12: fix build with MinGW GCC 14
...
Also apply the d3d11 fix since both use the same header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658 >
2024-10-12 19:01:46 -03:00
L. E. Segovia
f8d6b3d568
meson: d3d11: fix build with MinGW GCC 14
...
In my tests with the new GCC 14 compiler for Cerbero, I got the
following error:
> In file included from include/directxmath/DirectXMath.h:2275,
> from ../gst-libs/gst/d3d11/gstd3d11converter.cpp:46:
> include/directxmath/DirectXMathMatrix.inl: In function 'bool
> DirectX::XMMatrixDecompose(XMVECTOR*, XMVECTOR*, XMVECTOR*, FXMMATRIX)':
> include/directxmath/DirectXMathMatrix.inl:1161:16:
> error: variable 'aa' set but not used [-Werror=unused-but-set-variable]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7658 >
2024-10-12 19:01:13 -03: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Hou Qi
c3f86005de
gstplay: check whether stream is seekable before seeking when state change
...
If state is changing from playing to paused, and rate is reset to 1
which causes seek position is valid, current code will do seek for
streams that are not seekable. So need to check whether stream is
seekable before seeking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7441 >
2024-09-03 15:42:03 +00:00
Tim-Philipp Müller
59d56bcb3f
gst-plugins-bad: use g_sort_array() instead of deprecated g_qsort_with_data()
...
Fixes compiler warnings with the latest GLib versions.
See https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4127
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7384 >
2024-09-02 22:31:34 +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
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
Jan Schmidt
6cf3d32886
gstplayer: Check GstPlayerSignalDispatcher type
...
Before trying to retrieve a GMainContext from a provided
GstPlayerSignalDispatcher, check that it is actually
GstPlayerGMainContextSignalDispatcher. If not, use the
default GMainContext for dispatching signals via the adapter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7392 >
2024-08-21 20:25:59 +10:00
Víctor Manuel Jáquez Leal
2b52b07a2f
vkencoder-private: remove duplicated structure definition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354 >
2024-08-15 10:32:26 +00:00
Víctor Manuel Jáquez Leal
591eb2b527
vkencoder-private: don't override error on get_format() call
...
If gst_vulkan_video_encoder_get_format() fails it fills the error structure, so
it shouldn't be filled again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354 >
2024-08-15 10:32:26 +00:00
Víctor Manuel Jáquez Leal
57eb2c700b
vkencoder-private: There's no need to store the aligned offset of 0
...
Since it's 0 too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354 >
2024-08-15 10:32:26 +00:00
Víctor Manuel Jáquez Leal
bc3317414b
vkencoder-private: use g_clear_pointer to unref packed headers
...
And use g_ptr_arra_unref() Instead of using the unrecommended g_ptr_array_free().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354 >
2024-08-15 10:32:26 +00:00
Víctor Manuel Jáquez Leal
e5f40b65f2
vkencoder-private: don't check twice for encoder parameter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354 >
2024-08-15 10:32:26 +00:00
Víctor Manuel Jáquez Leal
d81186cbfc
vkencoder-private: fix code style
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7354 >
2024-08-15 10:32:26 +00:00
Qian Hu (胡骞)
104dcc90f1
h26xparse: bypass check for length_size_minus_one
...
fix playback fail, when some file with length_size_minus_one == 2
According to the spec 2 cannot be a valid value, so that stream has a
bad config record. but breaking the decoding because of that, perhaps is too much.
and ffmpeg seem not check this
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7213 >
2024-08-14 08:31:15 +00:00
Marijn Suijten
006ac293bc
vulkan: Replace open-coded precondition checks with g_return_val_if_fail
...
While analyzing gst_vulkan_get_or_create_image_view_with_info() it
seems obvious that this function returns NULL, and that this should be
covered in the return annotations. However, closer inspection indicates
that this is only a precondition check when the incoming arguments are
incompatible with each other, and should not be considered as a function
that optionally returns a pointer.
Signify this by using precondition checks instead of an opencoded
if-return-NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736 >
2024-08-12 19:23:08 +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
Marijn Suijten
848256a7f5
vulkan: Mark some pointers to Vulkan info structures as const
...
These pointers are only used as read-only arguments, and should not be
treated as mutable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736 >
2024-08-12 19:23:08 +00:00
Marijn Suijten
adf031a222
vulkan: Add missing out
annotation to decoder_out_format()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736 >
2024-08-12 19:23:08 +00:00
Marijn Suijten
e5b627857a
vulkan: Fix context get/set annotations
...
Most notably the out annotations for gst_context_get_* were missing,
causing us to generate the wrong bindings for Rust.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5736 >
2024-08-12 19:23:08 +00:00
Tim-Philipp Müller
94ba97ab80
mpegts: fix stray gtk-doc chunk
...
Trips up g-ir-scanner it seems:
gstmpegtsdescriptor.h:614: Error: GstMpegts: Skipping invalid GTK-Doc comment block
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6793#note_2517855
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7324 >
2024-08-08 18:09:02 +00:00
Jan Schmidt
4b775228bf
webrtcbin: Make basic rollbacks work
...
Fixes for basic rollback (from have-local-offer or have-remote-offer to
stable). Allow having no SDP attached to the webrtc session description
in that case, and avoid all the transceiver and ICE update logic
normally applied when entering the stable signalling state
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7304 >
2024-08-07 21:10:43 +10:00
Jan Schmidt
c0c0615964
webrtc: Add missing G_BEGIN/END_DECLS in header
...
Fix using webrtc.h from C++ by adding the GLib begin/end
decls markers around the header contents in webrtc_fwd.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7312 >
2024-08-06 12:54:45 +00:00
Jan Schmidt
cafb999fb0
webrtc: Fix transceiver current-direction
property
...
Fix a typo registering the `current-direction` property
that made it just be a proxy for `direction` instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7237 >
2024-08-05 13:15:39 +00:00
Matthew Waters
8dac91537d
cuda/nvcodec: Add support for importing and producing embedded NVMM memory
...
As produced on the Nvidia Jetson series of devices.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7274 >
2024-08-02 01:59:07 +00:00
Víctor Manuel Jáquez Leal
28e16f897e
vkimagebufferpool: fix documentation grammar
...
Original-patch-by: Matthew Waters <matthew@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7288 >
2024-08-01 10:09:34 +00:00
Víctor Manuel Jáquez Leal
baac191d13
vkimagebufferpool: expose config_get_allocation_params()
...
Also enhanced the documentation and added a config parameter check for
gst_vulkan_image_buffer_pool_config_set_allocation_params()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7219 >
2024-07-31 12:15:43 +00:00
Edward Hervey
a38e244794
vulkan: Add missing since markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277 >
2024-07-30 13:46:42 +00:00
Víctor Manuel Jáquez Leal
fad06c9b6f
vkimagebufferpool: refactor how image usage is set
...
Now that driver version is expected to be equal or superior to 1.3.275 the bug
in NVIDIA and RADV regarding usage is solved, we can revert commit b7ded81f7b
.
Also this patch sets the internal usage variable after all the validation are
run, thus the state don't keep an invalid usage.
Finally, the now unused supported_usage variable is dropped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:15 +02:00
Víctor Manuel Jáquez Leal
bb9eb6f477
vkimagebufferpool: add encoding usage as video usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:15 +02:00
Víctor Manuel Jáquez Leal
541e2e93ca
vkimagebufferpool: reset the number of profiles at set_config()
...
Virtual method set_config() can be called several times, and if the number of
profiles counter isn't reset the pool will reach an error state.
The purpose of number of profiles is to check the number of valid vulkan video
profiles (two in the case of transcoding use-case, for example) so it's local to
set_config() virtual method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:14 +02:00
Víctor Manuel Jáquez Leal
d8e384085a
vulkan: encoder and decoder runtime check for driver version 1.3.275
...
Which is the one checked in meson. See commit 21ee264d65
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:14 +02:00
Víctor Manuel Jáquez Leal
8faefccfd5
va: refactor dmabuf handle close
...
Moved the close loop into a function guarded for non-win32 platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7254 >
2024-07-29 10:34:56 +02:00
Seungha Yang
f04f6f43c3
d3d12frame: Fix frame copy method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 04:18:47 +09:00
Seungha Yang
28a7adf4dd
d3d12memory: Check heap flag before trying to create NT handle
...
CreateSharedHandle() will fail eventually if the resource was created
with non-shared heap. Instead of trying to create handle blindly,
validate resource first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 04:17:03 +09:00
Seungha Yang
4a6daad517
d3d12: Suppress fence data object leak report
...
We don't release GstD3D12Device intentionally, thus
a GstD3D12FenceDataPool owned by a device will not be released
but that's expected leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 03:23:22 +09:00
Seungha Yang
9a8d7db5de
d3d12: Fix debug category name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 03:23:22 +09:00
Jan Schmidt
1ebbcc31ef
va: Fix dmabuf handle leaks
...
Close dmabuf handles manually when they're not going to
be passed into GStreamer FD memory, to avoid fd handle
leaks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7240 >
2024-07-26 10:32:48 +00:00
Seungha Yang
0b285fc1a1
cuda: Fix runtime compiler loading with old CUDA tookit
...
Fallback to PTX if CUBIN symbol is unavailable
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3685
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7220 >
2024-07-23 19:53:09 +00:00
Víctor Manuel Jáquez Leal
2387c3c4aa
vkimagebufferpool: no aliased images for video decoding
...
This fix regression in validation layer introduced by commit 3a2e8d2d19
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211 >
2024-07-22 16:46:53 +00:00
Víctor Manuel Jáquez Leal
423f0d5384
vkdecoder: handle barrier internally for coincide references
...
This is to avoid a regression in validation layer (introduced by commit
916c4e70cd) when using vulkandownload
VUID-VkImageMemoryBarrier2-srcAccessMask-03914 .. vkCmdPipelineBarrier2():
pDependencyInfo->pImageMemoryBarriers[1].srcAccessMask (VK_ACCESS_TRANSFER_READ_BIT)
is not supported by stage mask (VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR)
since vulkandownload set DPB memories' access mask to
VK_ACCESS_TRANSFER_READ_BIT, while they are retain by the DPB queue, so when
they are used as DPB after been shown, this validation error is raised.
Must of the barrier values are set ignoring the previous state of the vulkan
images.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7211 >
2024-07-22 16:46:53 +00:00
Víctor Manuel Jáquez Leal
035e0698cf
vkoperation: fix documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7203 >
2024-07-22 10:49:33 +02:00
Víctor Manuel Jáquez Leal
e91ffae1f0
vkimagebufferpool: reset buffer's access flags
...
The access flags are kept around the operations, but when the buffer is
released, the access flag should be reset to its original value, since queue
transfers can be done along the pipeline and, when reusing the buffer, the new
queue might not support the latest access flag.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165 >
2024-07-19 14:45:39 +02:00
Víctor Manuel Jáquez Leal
2990cc5f71
vulkan: add source pipeline stage to _operation_add_frame_barrier()
...
Instead of dragging the last destination pipeline stage as current barrier
source pipeline stage (which isn't a valid semantic) this patch adds a parameter
to gst_vulkan_operation_add_frame_barrier() to set the source pipeline stage to
define the barrier.
The previous logic brought problems particularly with queue transfers, when the
new queue doesn't support the stage set during a previous operation in a
different queue.
Now the operation API is closer to Vulkan semantics.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7165 >
2024-07-19 14:45:39 +02:00
Seungha Yang
9a06330d09
d3d12converter: Update internal method names
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7193 >
2024-07-18 14:17:43 +00:00
Seungha Yang
b37bfc02f5
d3d12: Remove unnecessary event handles
...
null event NT handle to ID3D12Fence::SetEventOnCompletion()
will block the calling CPU thread already, thus it has no point that
creating an event NT handle in order to immediate wait for fence at CPU-side.
Note that passing a valid event NT handle to the fence API might be useful
when we need to wait for the fence value later (or timeout is required),
or want to wait for multiple fences at once via WaitForMultipleObjects().
But it's not a considered use case for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7176 >
2024-07-16 19:17:15 +00:00
Víctor Manuel Jáquez Leal
c7259f3a5b
vulkan: remove beta extensions guard for encode operations
...
This is not needed anymore since encoder operations are not beta anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7179 >
2024-07-16 15:08:39 +00:00
Seungha Yang
89096dde38
h264decoder: Update output frame duration when second field frame is discarded
...
In case of an interlaced stream, if each field picture belongs to
different GstVideoCodecFrame, updates output frame's duration
based on discarded second field picture's timestamp information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7132 >
2024-07-15 16:36:50 +00:00
Víctor Manuel Jáquez Leal
058ae85b22
vadisplay: fix minor version check
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7164 >
2024-07-12 14:34:31 +00:00
Víctor Manuel Jáquez Leal
3a2e8d2d19
vkimagebufferpool: set image creation flags in needed
...
set ALIAS bit if the usage is for both sampled and storage.
set MUTABLE_FORMAT and EXTENDED_USAGE bits if the image is a multiplane YUV and
uses multiple memories.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798 >
2024-07-11 20:28:04 +02:00
Víctor Manuel Jáquez Leal
0f8f2d0057
vkformat: add gst_vulkan_format_get_map function
...
This will be used later to compare the format selected by
gst_vulkan_format_from_video_info_2(), to verify if it's multiple memory buffer
or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798 >
2024-07-11 20:28:04 +02:00
Víctor Manuel Jáquez Leal
2d17bba6f1
vkimagebufferpool: define a default usage
...
Define a default usage and use it instead of repeating the same bitwise
addition.
Therefore, when usage is defined as zero, the usage is defined with the
format's supported usage and the default usage, now without the storage
bit, but with color and input attachment bits.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798 >
2024-07-11 10:52:19 +02:00
Víctor Manuel Jáquez Leal
b1eebec485
vkformat: unward G8_B8R8_2PLANE_420_UNORM
...
Since it exists since VK_VERSION_1_1. It should be ignored by usage flags or the
no_multiplane parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6798 >
2024-07-11 10:52:19 +02:00
Robert Mader
abf3361de3
waylandsink: Fix surface cropping for rotated streams
...
The wp_viewport source rectangle is applied in surface-local coordinates
after buffer_transform and buffer_scale. Therefore we need to swap width
and height for 90/270 deg. rotations.
This fixes playback of rotated videos such as portrait videos from
mobile devices.
See also: https://wayland.app/protocols/viewporter#wp_viewport
Fixes: 0b648f9a2d
("waylandsink: Crop surfaces to their display width height")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7136 >
2024-07-10 17:13:54 +00:00
Nirbheek Chauhan
8619e163bf
vk-video: Fix uint64_t string format errors
...
With clang on macOS:
```
error: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long')
...
error: format specifies type 'unsigned long' but the argument has type 'VkImageView' (aka 'unsigned long long')
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091 >
2024-07-07 13:20:12 +00:00
Nirbheek Chauhan
156a016313
meson: Find MoltenVK with the objc++ compiler everywhere
...
When building for iOS in Cerbero, as of MoltenVK SDK 1.3.283, we have
to statically link to libMoltenVK since it no longer ships a dylib.
This requires linking to libc++, so we find the dep with the objc++
compiler to ensure that meson uses the right linker.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091 >
2024-07-07 13:20:12 +00:00
Nirbheek Chauhan
5ed3e045d8
meson: Fix vulkan library build on iOS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091 >
2024-07-07 13:20:12 +00:00
Nirbheek Chauhan
5c41d387e3
meson: Use / instead of join_paths for vulkan
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091 >
2024-07-07 13:20:12 +00:00
Nirbheek Chauhan
54a6643986
meson: Fix automagic dependency checks in gstvulkan
...
Windowing, in particular, was getting silently disabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7091 >
2024-07-07 13:20:12 +00:00