Víctor Manuel Jáquez Leal
1cc0a7d2bb
vkencoder-private: keep only one DPB view for layered DPB
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Víctor Manuel Jáquez Leal
133011c9ba
vkencoder-private: increase reference slots array
...
H264 has the maximum number of refs (36) of any supported codec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Víctor Manuel Jáquez Leal
479defdcf9
vkencoder_private: move view creation to picture init
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Víctor Manuel Jáquez Leal
15a3ebf01e
vkencoder-private: shuffle up operation and query creation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Víctor Manuel Jáquez Leal
83cd24a30d
vkencoder-private: shuffle up get format to bail out better
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Víctor Manuel Jáquez Leal
98d30cc30a
vkencoder-private: define encoded feedback flags by removing override bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Víctor Manuel Jáquez Leal
984956a6fe
vkencoder-private: fix parameters overrides
...
First remove validations since they will fail if there isn't a write operation.
It's valid to pass data without write operations.
Finally, it should check for hasOverride in feedback info. Nonetheless, there's
a NVIDIA bug returning always FALSE for hasOverride, that's why we currently
force it to TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7993 >
2024-11-29 06:36:52 +00:00
Nirbheek Chauhan
75848859f1
kms: Bump libdrm requirement to 2.4.108
...
DRM modifier support requires drmModeFormatModifierBlobIterNext()
which was added in 2.4.108. See:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174#note_2673883
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7991 >
2024-11-28 15:43:42 +00:00
Jan Alexander Steffens (heftig)
4586260191
cccombiner: Improve get_next_time to avoid spinning
...
Avoid aggregate getting called in a loop when timed out but we're not in
a state where we can produce a buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746 >
2024-11-28 14:37:07 +00:00
Jan Alexander Steffens (heftig)
0f2583d286
cccombiner: Add caption_pad field to avoid get_static_pad
...
Save a reference to the caption pad as well. This will make the
`get_next_time` implementation cheaper.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746 >
2024-11-28 14:37:07 +00:00
Jan Alexander Steffens (heftig)
49ecde573c
cccombiner: Pass caption_pad to schedule_caption
...
Avoid having to find this pad again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746 >
2024-11-28 14:37:07 +00:00
Jan Alexander Steffens (heftig)
9ef06d77a7
cccombiner: Add video_pad field to avoid pad get/ref/unref
...
Saving a reference to this always-present pad simplifies the code and
avoids a lot of pad list scans and refcounting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1746 >
2024-11-28 14:37:07 +00:00
Víctor Manuel Jáquez Leal
603e7c3e5f
vulkan: add gst_vulkan_video_image_create_view()
...
This function is moved from gstvkdecoder-private so it could be used by
gstvkencoder-private too, removing there what it should be duplicated code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7984 >
2024-11-28 07:05:40 +01:00
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
Xi Ruoyao
ee3802cf71
x265: Allow building with x265-4.1
...
In x265-4.1 masteringDisplayColorVolume is changed from a pointer to a
character array embedded in struct x265_param.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7968 >
2024-11-27 13:04:57 +00:00
Nirbheek Chauhan
23a006c64f
meson: Don't unconditionally invoke the libsoup subproject
...
fallback: kwarg will invoke the specified subproject even if required:
false, which is not what we want here.
Reported at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4045#note_2674340
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7965 >
2024-11-27 12:12:36 +00:00
Mathieu Duponchelle
b433d72a4d
cccombiner: expose input-meta-processing property
...
It can be used to discard closed captions from the input pad if the
matching video buffer already held closed captions.
It is useful in a scenario where captions are generated for an AV
stream, but the incoming stream already has embedded captions for
some intervals, and those original captions should be preferred.
It can also be used to make sure input CC meta is always dropped,
the default behavior remains to append aggregated CC to whatever
CC meta was already present on the input video buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6072 >
2024-11-27 10:02:22 +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
Jan Alexander Steffens (heftig)
59d98aa4ac
ccutils: Rename wrote_first to write_field1
...
This better describes what we're doing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967 >
2024-11-26 14:02:24 +00:00
Jan Alexander Steffens (heftig)
9a3b4dff24
ccutils: Fix a typo in cc_buffer_take_cea608_field2
...
There are no users of cc_buffer_take_cea608_field2, so this never was a
problem.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967 >
2024-11-26 14:02:24 +00:00
Jan Alexander Steffens (heftig)
a6a5401891
ccutils: Fix a typo in max_buffer_time handling
...
All users set max_buffer_time to GST_CLOCK_TIME_NONE, effectively
infinite, so this never was a problem.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967 >
2024-11-26 14:02:24 +00:00
Jan Alexander Steffens (heftig)
3a119b20b3
ccutils: Remove broken branch
...
This branch was added in dd00dab5e9
but is
never actually taken, as it requires `cc_data` to be null but
`cc_data_len` to be non-null. It would then dereference the null
`cc_data`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7967 >
2024-11-26 14:02:24 +00:00
Albert Sjolund
c31cbda5de
webrtc: don't crash on invalid bundle id
...
If the bundle id forwarded to connect_rtpfunnel is not valid,
the assertion fails and crashes the program. This is now instead
an error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7963 >
2024-11-26 09:27:20 +01:00
Sebastien Cote
5b5c4147d3
vtenc: add support for the HLG color transfer
...
Fixes #4047
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7947 >
2024-11-25 16:45:20 +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
Zhong Hongcheng
821754e2d5
tests: Add the VVC(H266) parser test cases
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003 >
2024-11-24 16:49:25 +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
Sebastian Dröge
8a88cd541d
aja: Fix infinite loop in device provider
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7928 >
2024-11-20 08:48:31 +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
Nicolas Dufresne
e9b2e98ef7
v4l2codecs: Use new helpers for DRM handling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Nicolas Dufresne
bd40057130
v4l2codecs: Fix caps string leak in v4l2codecs
...
Unlike gst_video_format_to_string(), gst_video_dma_drm_fourcc_to_string()
return a freshly allocated string which needs to be free.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Nicolas Dufresne
61d2231c58
v4l2codecs: decoder: Fixed unset dimension in caps
...
When the driver does not implement ENUM_FRMESIZE for some specific
formats, the caps limiting the sizes may endup empty, which results in
assuming the driver can scale to any sizes.
Ensure that the original size is in the caps to prevent this assumption.
This happens with Hantro drive, since it only reply to that call if the
format is postprocessed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Benjamin Gaignard
1a9841582d
v4l2codecs: Use drm modifier to build caps
...
Do not only use drm fourcc to build drm-format but also
include the format modifier.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Nicolas Dufresne
0e2efb2de4
waylandsink: Properly handle unrecoverable errors
...
Allocation failures cannot be recovered and should lead to an error
being posted on the bus. Otherwise the pipeline will just stall.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903 >
2024-11-18 16:02:13 -05:00
Nicolas Dufresne
f9c01f6479
waylandsink: Do not offer SHM pool when DMABuf is negotiated
...
Pools are expected to produce DMABuf when the caps are negotiated with
the associated caps feature. For that reason, avoid sharing the SHM pool
in this case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903 >
2024-11-18 16:02:12 -05:00