Edward Hervey
3d62f5b57b
dfbvideosink: Rework escape handling
...
Detected by a fallthrough.
* Just use if/else for clarity
* Remove 2002 fart joke
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
45df33196f
mxfdemux: Fix segments iteration
...
`i >= 0` is always true since it's an unsigned integer ...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
37a8d49eaa
siren: Cast shift mask to unsigned value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
9b5ea24e2b
h265parser: Fix unsigned value reading
...
Unsigned values are always above 0, use MAX variant for reading
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
7f697a7065
examples/ipcpipeline: Fix ESC handler
...
Same as for gst-play
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
55319cbf32
tests/play: Fix debug statement
...
The interval is in milliseconds, convert to nanoseconds for debugging statement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
fc5b616fca
tests/webrtcbin: Remove useless checks with unsigned values
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
1221a09a5d
closedcaption: Use proper type for storing result
...
drop_ccp_from_cc_data() will return a negative value if there was an
error. Storing that in an unsigned value will cause the checks for errors to
never happen.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
524bea241d
cea708decoder: Remove useless checks
...
No need to check for the type limits
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
3e83d7d0bc
isacdec: Remove impossible check
...
WebRtcIsac_DecodePlc() never returns a negative value (confirmed by
documentation and current/historical code)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
d6eebeafbf
sctpdec: Remove useless check
...
A uint16 will always be below ... the maximum value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
8d0cd490f0
mpeg2decoder: Remove useless check
...
The enum is unsigned
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
9b8ecba9a1
vkinstance: Remove useless check
...
priv->requested_api_major is unsigned
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
7a2aef9fa2
basetsmux: Add explicit macro for GstClockTimeDiff handling
...
The checks in the other macro were useless for unsigned values
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
67c4c35fb7
mxfdemux: Remove useless check
...
values will always be positive
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
5bc4ebfe61
speed: Refactor event handler
...
To avoid fallthrough issues which were tricky to fix
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
21d81d25ec
bad: Clearly specify fallthrough in switch/case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Carlos Bentzen
b83b73841d
webrtc: fix duplicate payload types with RTX and multiple video codecs
...
Before this patch, there could be duplicate payload types in offers that
have, within a media section, multiple codecs and RTX enabled:
```
m=video 9 UDP/TLS/RTP/SAVPF 96 97 97 <-- HAS DUPLICATES
a=sendrecv
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 transport-cc
a=rtpmap:97 H264/90000
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-fb:97 transport-cc
a=rtpmap:97 rtx/90000 <--------- PT IS DUPLICATE
a=fmtp:97 apt=96
```
Fix this by populating the media_mapping array with all media formats
rather than only the first one. The added test case reproduces the issue,
which fails without this patch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8259 >
2025-01-13 10:11:59 +00:00
Edward Hervey
0891a0e5eb
wasapi: Use signed value for can_frames
...
The can retrieval function can return negative values (which will be properly handled)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
aedb587616
amfcodec: Add missing break statement
...
Setting frame-sad would also set ltr
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
8b62792e5c
d3d12: Add missing breaks to switch/case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
916774b4f0
h265bitwriter: Don't use type too small
...
The computed `coef_val` could exceed the maximum range of a gint8. Use a bigger
one, the checks after will ensure it's properly cropped/padded
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
5bb22c24dc
mpegts: Add missing break
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
b78c119a42
msemediabuffer: Fix ASCII character detection
...
Use glib function. The previous check was checking whether a signed int was
lower than its limit (which ... is always TRUE).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
efbe1e96ca
msesourcebuffer: Fix unsigned value handling
...
Use the explicit valid clocktime handler instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Edward Hervey
2f1f44cdc7
ristsink: Add missing break
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Ruben Gonzalez
da5a4f7820
videoparsers: Fix indentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281 >
2025-01-12 22:51:44 +00:00
Sebastian Dröge
10f870ac5c
decklinkaudiosink: Don't crash if started without corresponding video sink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8253 >
2025-01-12 18:48:36 +00:00
Colin Kinloch
4a56c82f0c
wayland: Print table split when DMABuf format changes
...
The `zwp_linux_dmabuf_v1` doesn't specify an order for modifier events
to be sent.
In my case the linear format was sent last resulting in the first item
in each row being the previous format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8272 >
2025-01-09 18:34:51 +00:00
Philippe Normand
14f6d9a53f
wpevideosrc: Clear cached SHM buffers after caps re-negotiation
...
Otherwise buffers not corresponding to the negotiated caps might be pushed
downstream.
Fixes #4094
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8212 >
2025-01-09 10:37:49 +00:00
Philippe Normand
0f667d140d
wpevideosrc: Post progress messages on the bus
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
Philippe Normand
e908d22c44
wpevideosrc: Handle latency queries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8217 >
2025-01-09 07:49:51 +00:00
Seungha Yang
f7e70e5261
d3d12mipmapping: Add mip-levels property
...
Generating full levels would result in waste of GPU resource
depending on rendering usecase. Adding a property to make it
controllable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255 >
2025-01-08 22:46:14 +00:00
Seungha Yang
ca82e717c6
d3d12mipmapping: Add YUV and 64bits output formats
...
Add support for YUV and 64bits output formats to avoid
colorspace conversion and bitdepth loss
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8255 >
2025-01-08 22:46:13 +00:00
Olivier Crête
33259e7ea4
analytics: Tensor dimensions are always row-major or col-major
...
Simplify by removing the extra fields, as this is what all
frameworks give us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250 >
2025-01-08 21:47:52 +00:00
Tim-Philipp Müller
0cb829c589
svtjpegxsenc: add support for interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
661c31f0bf
svtjpegxsenc: factor out encoding of codestream into separate function
...
Prepare for interlacing support where an interlaced image
is coded as two codestreams each representing a field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
ef57213426
mpegtsmux: add support for interlaced JPEG XS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
306200e10e
svtjpegxsdec: add support for interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00
Tim-Philipp Müller
71aacec532
svtjpegxsdec: drop frames that had decoding errors
...
Follow-up to !8163
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Tim-Philipp Müller
a589575bd8
svtjpegxsdec: factor out decoding of codestream into separate function
...
Prepare for interlacing support where an interlaced image
is coded as two codestreams each representing a field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Tim-Philipp Müller
23ffffe57b
tsdemux: handle interlaced JPEG XS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:30 +00:00
Stéphane Cerveau
570c086254
vkh265dec: update only vps/sps on demand and pass pps always
...
As PPS can change over the stream, the pps should be always
updated to avoid missing picture parameters sets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124 >
2025-01-08 18:50:33 +00:00
Stéphane Cerveau
73c4eb3001
vkh264dec: update only sps on demand and pass pps always
...
As PPS can change over the stream, the pps should be always
updated to avoid missing picture parameters sets.
See CABA3_TOSHIBA_E.264 in fluster resources.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8124 >
2025-01-08 18:50:33 +00:00
Samuel Thibault
727424452a
meson: Fix build with gtk3 but not wayland
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8222 >
2025-01-08 07:53:36 +00:00
Sam James
775a2bd26f
codec2json: move option to right section
...
It has an external dependency (json-glib) so should be under
that heading.
Fixes: fd588a50e4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238 >
2025-01-04 20:30:07 +00:00
Sam James
fd54c57260
analyticsoverlay: move option to right section
...
It has an external dependency (pango/cairo) so should be under
that heading. Also, fix an inconsistency with the ':' style.
Fixes: 95464c8977
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8238 >
2025-01-04 19:53:00 +00:00
Daniel Morin
0a343fa738
analytics: remove batch-size
...
- Batch-size will be the outer-most dimension. Presence of batch dimension can
be identified using `dims` and `id`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191 >
2025-01-03 23:14:39 +00:00
Seungha Yang
126d6f0815
d3d12screencapturesrc: Add support for HDR capture in DDA mode
...
Use IDXGIOutput5::DuplicateOutput1() if HDR is enabled.
Note that scRGB color space is not defined in GStreamer,
this element will output SDR tonemapped frame
with linear or reinhard filtering.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3834
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227 >
2025-01-02 06:55:33 +09:00
Seungha Yang
2ff7b5a5ab
d3dshader: Add sampling pixel shader for scRGB SRV
...
Shaders required for HDR capturing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8227 >
2025-01-02 05:57:38 +09:00
Albert Sjolund
97a3bba629
webrtc: add new post-rtp-aux-sender signal
...
Adds a new signal to webrtcbin, to allow for placement
of an object after rtp, before sendbin. This is usable for
objects such as congestion control elements, that don't want
to be burdened by the synchronization requirements of rtpsession.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7940 >
2025-01-01 19:34:55 +00:00
Tim-Philipp Müller
9aab2ddd13
tsdemux: fix JPEG XS framerate handling for 29.97fps
...
.. and other framerate values with a 1.001 denominator.
The coded framerate denominator value is a code that maps to
either 1 (for 1) or 1.001 (for 2) not a direct value.
Before, 29.97fps would be announced as 15fps because it
would calculate 30/2 instead of 30/1.001.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8226 >
2024-12-31 16:19:16 +00:00
Samuel Thibault
faa4d572c4
meson: Also disable drm on GNU/Hurd
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8223 >
2024-12-30 22:53:02 +01:00
Seungha Yang
f1f5d6002e
docs: Update qsv plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Seungha Yang
21606dac35
docs: Update d3d11 plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Seungha Yang
9444a90bc9
docs: Update d3d12 plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Seungha Yang
ca56fd285a
d3d12: Add "Since" markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Seungha Yang
6f5d58da11
docs: Add asio plugin docs
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3745
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Seungha Yang
256005be13
asio: Add "Since" markers and fix typos in property description
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Seungha Yang
9ed220bafb
docs: Add webview2 plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8220 >
2024-12-29 14:24:55 +00:00
Sebastian Dröge
9909654a9a
play: Fix stream id leaks on initial stream selection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650 >
2024-12-28 13:51:50 +02:00
Sebastian Dröge
13ed55f0ee
play: Actually check for valgrind for the tests
...
Other tests in gst-plugins-bad also assumed it to be checked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650 >
2024-12-28 13:51:50 +02:00
Sebastian Dröge
0464076b26
play: Fix tests after the switch to playbin3
...
And also fix various memory leaks and other issues that always existed
in the tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650 >
2024-12-28 13:51:50 +02:00
Sebastian Dröge
1414b754c9
play: Port tests to libsoup 3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7650 >
2024-12-28 11:49:42 +02:00
Sebastian Dröge
0b00cb04b3
play: Add stream-id based selection of streams to match better playbin3's API
...
As part of this
- Add accessors for the stream ID and selection API based on the
stream ID
- Deprecate the old index-based APIs
- Remove playbin support
- Implement the track enable API based on stream selection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7648 >
2024-12-27 19:00:18 +00:00
Tim-Philipp Müller
a3cdfc06b5
srtpdec: fix build when libsrtp1 is being used
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8204 >
2024-12-23 21:38:35 +00:00
Philippe Normand
d4bfbdcfb4
wpe: Fix build for version 2.44
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8203 >
2024-12-23 18:54:28 +01:00
Philippe Normand
7152d5c07a
srtpdec: Fix a use-after-free buffer issue
...
The gst_srtp_dec_decode_buffer() function modifies the input buffer after making
it writable, so the pointer might change as well, depending on the refcount of
the buffer.
This issue was detected using a netsim element upstream of the decoder in a
WebRTC pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8198 >
2024-12-22 15:00:07 +01:00
Hosang Lee
228dd25a0a
mssdemux: Use gsturi structure to form fragment urls
...
We can use gst_uri_from_string_with_base () to join base url
and the fragment url path.
The previous method of forming base url in update_base_url(),
by looking for the string 'manifest' or 'Manifest' is insufficient.
A query may include these string in their paths and thus an invalid
base url string will be kept.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8193 >
2024-12-21 10:29:48 +00:00
Thibault Saunier
8be9074b0f
doc: Handle gst_dep.get_variable('libexecdir') failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178 >
2024-12-20 20:19:28 +00:00
Thibault Saunier
caa223baf4
doc: Allow updating the plugins cache for all modules even if hotdoc is not present
...
This was possible for some modules but not all, for no good reason.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178 >
2024-12-20 20:19:28 +00:00
Robert Mader
6c29395ea4
v4l2codecs: decoder: Fix drm format query
...
A late change that slipped through as it mainly affects NC12
at the moment.
Fixes: 4b07d54931
("v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8188 >
2024-12-20 17:13:23 +00:00
Edward Hervey
19cea52dbd
mpegts: Add provisional AV1 mapping
...
The main difference with the WIP av1-in-mpegts mapping is that the payload data
is not startcode-escaped. Most of the rest is sensible usage of it:
* Custom AV1G (AV1 Gstreamer) registration descriptor instead of AV01
* AV1CodecConfigurationRecord is stored in the same 0x80 custom descriptor and
conforms fully to the isobmff spec (i.e. does not the HDR fields from the
provisional mpegts specification which conflict with that one).
* Data is stored as OBU
* Access Unit is the frame level (same as provisional mpegts mapping)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4442 >
2024-12-20 14:19:00 +00:00
Stéphane Cerveau
2a19805f7d
dash: handle 0 duration in gst_xml_helper_set_prop_duration
...
Add dash_mpdparser_check_mpd_client_set_period_to_0
unit test to demonstrate it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8114 >
2024-12-20 12:55:51 +00:00
Nicolas Dufresne
988f806e7a
av1parse: Fix some debug trace and comment typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026 >
2024-12-20 01:26:12 +00:00
Nicolas Dufresne
98d40251d8
av1parse: Don't immediatly reset timestamp in presence of TD
...
When a TD is being processed, it is not always pushed immediatly. Resetting
the time information lead to lost of timestamp in TU to Frame conversion. The
TU would be formed by buffer of [TD][Frame], and the timestamp taken from
the TU buffer was lost then the TD was handled.
The handling of TS should be entirely done by the 3 functions:
- gst_av1_parse_handle_obu_to_obu() (direct input to output)
- gst_av1_parse_handle_to_big_align() Reset DTS on detected TU or TD
- gst_av1_parse_handle_to_small_and_equal_align() PTS on show frame, flat DTS
Fixes: 79312357a6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8026 >
2024-12-20 01:26:12 +00:00
He Junyan
c79f83f4ec
av1parse: Fix a typo in the comments about its usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710 >
2024-12-20 08:22:31 +08:00
He Junyan
d63a9340b0
Doc: Update the plugin document for h266parse
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710 >
2024-12-20 08:22:31 +08:00
He Junyan
b8a806d8a9
test: Add the h266parse element test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710 >
2024-12-20 08:22:31 +08:00
He Junyan
b5e4c8b774
h266parse: Add the new h266parse element
...
TODO: Need to refer to the new ISO/IEC 14496-15 for vvc1 and vvi1's
codec data
Co-authored-by: Zhong Hongcheng <spartazhc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710 >
2024-12-20 08:22:31 +08:00
He Junyan
51618400ec
libs: codecparsers: Add the missing ilrp_idx field in H266's ref list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710 >
2024-12-20 08:22:31 +08:00
He Junyan
5b768ce0cc
libs: codecparsers: H266 GstH266RefPicListStruct's abs_delta_poc_st should be 16 bits
...
Its value range is 0~(2^15 − 1) according to the spec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710 >
2024-12-20 08:22:31 +08:00
Sebastian Dröge
9f79d39b1b
vp9parse: Add video codec tag to the tag list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156 >
2024-12-19 23:30:31 +00:00
Sebastian Dröge
f590e815fe
av1parse: Add video codec tag to the tag list
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8156 >
2024-12-19 23:30:31 +00:00
Robert Mader
b275f63b13
v4l2codecs: format: Add V4L2_PIX_FMT_NC12
...
Which is used by the Raspberry Pi 4 and 5 for 8-bit HEVC. Adding it
here in order to show-case how the V4L2<->DRM translation is
supposed to work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355 >
2024-12-19 20:55:59 +00:00
Robert Mader
4b07d54931
v4l2codecs: decoder: Translate V4L2 formats into DRM fourcc/mod pairs
...
V4L2 and DRM choose different, incompatible ways to represent
tiled/compressed etc. formats. While the later uses combinations of
format fourccs and opaque, vendor/hardware specific modifiers, for the
later every such combination is a distinct new format.
Traditionally Gst implemented each of the V4L2 formats if needed.
Given the large number of tiling and compression modes, this is
quite work intensive - and often actually not needed.
In many situations Gst just needs to pass buffers from V4L2 to DRM in
the form of EGL, VK, Wayland or KMS.
Thus implement a direct translation for some V4L2 formats to DRM ones,
limited to the DMA_DRM API, allowing much quicker enablement of formats
while requiring peers to use external implementations (usually Mesa or
KMS) for tiling etc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7355 >
2024-12-19 20:55:59 +00:00
Stéphane Cerveau
97d62d2291
vkencoder: init debug category earlier
...
The encoder has not been created if the codec is not supported by
the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
category.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138 >
2024-12-19 19:49:06 +00:00
Stéphane Cerveau
f618270c59
vkdecoder: init debug category earlier
...
The decoder has not been created if the codec is not supported by
the hardware, so the GST_WARNING_OBJECT will fail to find a suitable
category.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8138 >
2024-12-19 19:49:06 +00:00
Tim-Philipp Müller
f4733d0af7
svtjpegxsdec: handle decode errors more gracefully
...
Use GST_VIDEO_DECODER_ERROR instead of just erroring out
unconditionally, so that the error handling behaviour is
determined by the "max-errors" property and we'll just
continue after decoding errors now instead of erroring out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8163 >
2024-12-19 15:47:13 +00:00
Matthew Waters
dbf4915abd
cuda/context: add gpu stack size property
...
Allows reducing the initial stack size of GPU threads. Cuda should
automatically increase this value if a kernel requires a larger stack.
Can save roughly 40MB of GPU memory for a single nvh264enc instance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158 >
2024-12-19 00:33:03 +00:00
Matthew Waters
d6563016ca
cuda: add CuGet/SetCtxLimit()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158 >
2024-12-19 00:33:03 +00:00
Nicolas Dufresne
a6be74786e
va: display: Optimize out some property indirection
...
Because it was visible during some profiling, I thought it cost nothing
to optimize out the uneeded property get roundtrip.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8179 >
2024-12-18 13:38:42 -05:00
Guillaume Desmottes
219bf89159
wpe: enable console message with WPE2
...
Looks like the WebKitConsoleMessage API is now available in WPE2 as well:
https://webkitgtk.org/reference/webkitgtk-web-process-extension/stable/signal.WebPage.console-message-sent.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8169 >
2024-12-18 09:13:22 +00:00
Nicolas Dufresne
bebfbb6f69
va: h264dec: Allow "extended" profile decoding
...
Extended is identical to main but allows for FMO/ASO features to be
used, and prevent using CABAC. Using similar logic to "baseline",
assume that if we support main, we can also do extended.
This fixes the following fluster vectors, which otherwise would fail
when trying to link the parsebin pad.
- BA3_SVA_C
- MR6_BT_B
- MR7_BT_B
- MR8_BT_B
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8164 >
2024-12-17 21:51:10 +00:00
Emil Ljungdahl
f28a7b6ef3
webrtcbin: Tear down src and sink bins before removing them from webrtc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900 >
2024-12-17 09:48:46 +00:00
Emil Ljungdahl
df8b8f9692
webrtcbin: Fix potential deadlock on bin elements cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7900 >
2024-12-17 09:48:46 +00:00
Nirbheek Chauhan
d09605a3ff
vtenc: Fix authors of encoder features
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120 >
2024-12-16 18:52:22 +00:00
Nirbheek Chauhan
07e538c043
vtenc: Fix class hierarchy in an attempt to fix property docs
...
Also fix some convention-nits in the process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120 >
2024-12-16 18:52:21 +00:00
Nirbheek Chauhan
e881817567
vtenc, osxaudio: Fix missing since markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120 >
2024-12-16 18:52:21 +00:00
Nirbheek Chauhan
0c93eaec4f
vtenc: Mark rate-control enum as plugin API, and update cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120 >
2024-12-16 18:52:21 +00:00
Nirbheek Chauhan
21f221dad1
avfvideosrc: Add missing since markers for screen-crop properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120 >
2024-12-16 18:52:20 +00:00
Nirbheek Chauhan
88cb48108a
docs: Update macOS plugin docs again
...
Contains the following updates:
* New properties on avfvideosrc: screen-crop-*
* H265 and H265 Alpha support in vtdec and vtenc (VideoToolbox)
* ProRes support in vtenc
* New properties on vtenc elements: rate-control, data-rate-limits,
max-frame-delay
* New plugin atenc (AudioToolbox) with support for encoding AAC
* Plugin move: atdec moved from -bad to -good
* New property on osxaudio elements: unique-id
* OS X -> macOS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8120 >
2024-12-16 18:52:20 +00:00
Mathieu Duponchelle
7be4d09f14
cccombiner: expose new input-meta-processing type, force
...
In force mode, generated captions are discarded even if input video
buffers do not hold CC meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8091 >
2024-12-16 15:43:20 +00:00
Nirbheek Chauhan
0c17efafa3
meson: Improve NVMM CUDA detection
...
1. Add some comments explaining what headers and libs are expected on
what systems
2. Only look in default incdirs if no incdir is specified
3. Require libnvbufsurface.so on Jetson when cuda-nvmm=enabled
4. Require libatomic on Jetson when cuda-nvmm=enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8021 >
2024-12-16 14:47:23 +00:00
Seungha Yang
9962c57b5b
d3d12: Suppress misleading leak report
...
Set may-be-leaked flag to child objects if needed,
since the parent object holding refcount of the child
will be leaked intentionally
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8152 >
2024-12-16 09:47:21 +00:00
Seungha Yang
eac069b46d
d3d12: Add d3d12deinterlace element
...
Adding D3D12 compute shader based deinterlace element
with YADIF filtering
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140 >
2024-12-14 12:09:23 +00:00
Seungha Yang
e3348ea402
d3dshader: Add YADIF deinterlacing compute shader code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8140 >
2024-12-14 12:09:23 +00:00
Oskar Fiedot
a3a7acdd0a
analytics: add rotation to object detection mtd
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7938 >
2024-12-11 11:54:15 +01:00
Philippe Normand
ed28bde0a6
webrtc: Simplify fmtp handling in codec stats
...
Parsing the whole caps as SDP media only to retrieve the fmtp field afterwards
seems a bit superfluous. By looking up the a-fmtp attribute directly the number
of allocations in this function gets down a bit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8125 >
2024-12-11 09:23:41 +00:00
Tim-Philipp Müller
7d793d8836
meson: unset GST_TRACERS for g-ir-scanner to avoid warnings
...
People might have GST_TRACERS=leaks set in their environment
by default, which will now trigger criticals during the build
when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH
so that the scanner doesn't load any plugins.
Fixes #4093
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8121 >
2024-12-10 23:07:06 +00:00
Víctor Manuel Jáquez Leal
060563c357
vkoperation: enable inline query only if it's a video operation
...
This commit enables the usage of inline queries, if and only if, the
provided
pNext structure, in gst_vulkan_opeation_enable_query(), chains a
VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR typed structure.
Also it guards "gstvkvideo-private.h" include
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112 >
2024-12-10 15:52:21 +00:00
Stéphane Cerveau
fd1946c26b
vkvideo: add video_maintenance1 check
...
Add gst_vulkan_video_maintenance1_supported
to check if the video session needs
VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8112 >
2024-12-10 15:52:21 +00:00
Armin Begovic
3fc5ee6298
decklink: Add missing video modes to gst_decklink_mode_get_type()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110 >
2024-12-10 10:26:01 +00:00
Armin Begovic
0703206749
decklink: Fix copy-paste errors regarding 8K modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8110 >
2024-12-10 10:26:01 +00:00
Thibault Saunier
b6d0c57087
docs: Do not try to generate cuda documentation when gir is not generated
...
On macos it is not
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:36 +00:00
Daniel Morin
a1e623d200
analytics: add _N_TO_N relation type
...
This relation type define relations between each components of two groups.
First component of first group relate to first component of second group,
Second component of second group relate to second component of second group,
and so on. It's a denser way to express relations in this context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087 >
2024-12-09 18:18:30 +00:00
Peter Stensson
4d2e27dcf3
curlhttpsink: Set auth any for http_proxy and https_proxy
...
There was different behaviour if the proxy was configured through
properties or environment. For properties libcurl would be configured
with any auth, but for environment libcurl would default to using basic.
Now any auth is set for both configuration methods.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935 >
2024-12-09 08:40:19 +00:00
Peter Stensson
e9d32abf98
curlhttpsink: Don't set Content-Length to 0 for proxy
...
The Content-Length header would unconditionally be included when the
proxy property was set. This would result in requests with both
Content-Length and Transfer-Encoding header. Now we rely on the
use-content-length property in the proxy case aswell. This also makes
sure that Content-Type is set correctly, since before that would be
skipped if proxy was used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7935 >
2024-12-09 08:40:19 +00:00
Daniel Morin
89c23137d3
onnx: disable onnxruntime telemetry
...
Disable the telemetry feautre on onnxruntime.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8092 >
2024-12-07 00:23:33 -05:00
Francisco Javier Velázquez-García
55dc51004c
zxing: Update decode hints usage for compatibility with ZXing >= 2.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7879 >
2024-12-05 15:12:00 +00:00
Aaron Boxer
ea1b043047
h265parse: reset nalparser to NULL after it is freed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074 >
2024-12-05 13:19:48 +00:00
sachin gadag
3f6020ddb5
h264parse: set nalparser to NULL after it is freed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8074 >
2024-12-05 13:19:48 +00:00
Aaron Boxer
c03fb74469
h265parse: remove useless NULL setting in gst_h265_parser_free
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082 >
2024-12-05 06:41:35 -05:00
Aaron Boxer
95151af803
h264parse: remove useless NULL setting in gst_h264_nal_parser_free
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8082 >
2024-12-05 06:39:06 -05:00
Aniket Hande
37087f129f
tsparse: Extract and fill m2ts header for each packet
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7625 >
2024-12-05 01:20:19 +00:00
Stéphane Cerveau
6790093fe6
vkoperation: use inline query with video maintenance1
...
When video_maintenance1 is supported,
gst_vulkan_operation_begin_query will now use
the inline query mechanism instead of vkCmdBeginQuery
API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995 >
2024-12-04 22:01:02 +00:00
Stéphane Cerveau
59cb6e6869
vkdevice: enable VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995 >
2024-12-04 22:01:02 +00:00
Víctor Manuel Jáquez Leal
a26b348351
vkphysicaldevice: dump if video maintenance1 is supported
...
Dump if VK_KHR_video_maintenance1 features is supported by the driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7995 >
2024-12-04 22:01:02 +00:00
Robert Mader
f7da069496
v4l2codecs: Use GstVideoInfoDmaDrm more consistently
...
This avoids some duplications and makes the DRM info available in
more places, which will help with future changes.
Also fix some error messages while on it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8028 >
2024-12-04 19:26:40 +00:00
Sebastian Dröge
19e3617dc0
h264parse: Free SEI if parsing succeeds but alignment afterwards fails
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056 >
2024-12-04 16:05:44 +00:00
Sebastian Dröge
8830c65b8f
h265parse: Free SEI if parsing succeeds but alignment afterwards fails
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4076
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8056 >
2024-12-04 16:05:44 +00:00
Jan Alexander Steffens (heftig)
6b0efe5453
meson: Drop max version bound from neon
...
Neon 0.34.0 broke the build again, but the API+ABI has been stable since
0.27 and the library is so-versioned.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8008 >
2024-12-04 15:04:14 +00:00
Guillaume Desmottes
bfda0f4858
h265parse: parse unregistered SEI without user data
...
Same change as in h264parse.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931 >
2024-12-04 13:56:13 +00:00
Guillaume Desmottes
082a8fcd5e
h264parse: parse unregistered SEI without user data
...
We get loads of warnings when parsing videos from users:
gsth264parser.c:1115:gst_h264_parser_parse_user_data_unregistered: No more remaining payload data to store
gsth264parse.c:646:gst_h264_parse_process_sei:<h264parse0> failed to parse one or more SEI message
Those are raised because of unregistered SEI without user data.
The spec does not explicitly state that unregistered SEI needs to have
data and I suppose the UUID by itself can carry valuable information.
FFmpeg also parses and exposes such SEI so there is no reason for us no
too as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7931 >
2024-12-04 13:56:13 +00:00
Sebastian Dröge
2d9cd86587
tsdemux: Lower a GST_FIXME to a GST_DEBUG
...
This is not really a refcounting issue and can happen if a new program is in the
process of being activated that contains streams with the same PIDs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7898 >
2024-12-04 08:03:41 +00:00
Víctor Manuel Jáquez Leal
44b8a50879
vkencoder-private: add gst_vulkan_encoder_is_started()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
549404ccaa
vkencoder-private: add again GST_TYPE_VULKAN_ENCODER_RATE_CONTROL_MODE
...
It was already part of the old rate control mechanism but it had wrong the
namespace.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
e03b124c10
vkencoder-private: implement callback to chain control rate structures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
b99276a7f9
vkencoder-private: implement callback to chain codec specific structures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
ab6aafb076
vkencoder-private: handle quality level
...
It creates a new structure for passing the codec quality structure at _start(),
where it will be filled. The quality level can be set or changed according
encoder limits.
Later the quality level will be set at _update_session_parameters() and at each
frame encoding. That's why it has to be set at _start().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
d63ec09b5e
vkencoder-private: rename first_encode_cmd to session_reset
...
Since it reflect better when it's needed to be used: to reset the current
session.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
200484a84b
vkencoder-private: shuffle down VkVideoBeginCodingInfoKHR initialization
...
to make it more cohesive
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:45 +00:00
Víctor Manuel Jáquez Leal
fbeb012617
vkencoder-private: remove rate control handling
...
It will be reintroduced later with different approach.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
8fc2af44c8
vkencoder-private: enhance algorithm to get the slot index
...
The algorithm for generating the current slot index is a simple round robin,
nonetheless it's not assured that the next slot index it's not still used by a
still living encode picture.
This new way holds an array with the still living encode pictures and the next
slot index looks for a released index in the array.
Its downside is deallocating a picture need to be removed from the array, so the
helper has to be passed to the uninit() function
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
d4de932664
vkencoder-private: add VkVideoReferenceSlotInfoKHR in GstVulkanEncoderPicture
...
And remove slotIndex since it's part of VkVideoReferenceSlotInfoKHR, simplifying
the reference slots array creation, and changing the tests accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
75a6ddf2be
vkencoder-private: check for codec buffer
...
gst_vulkan_video_codec_buffer_new() can return NULL, so it's required to check
the returned value and bail out if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
d9e9d2ff72
vkencoder-private: avoid GstVulkanEncoderPicture allocation
...
By using it as apart of the encoder picture structure that has to initialized
and uninitalized.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
c1e364ecdc
vkencoder-private: remove width, height and fps from GstVulkanEncoderPicture
...
In GStreamer that buffer information is decoupled, holding other structures to
describe the stream: GstCaps. So, to keep the GStreamer design this patch
removes these information from GstVulkanEncoderPicture and pass to
gst_vulkan_encoder_encode() a pointer to GstVideoInfo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
eef9717478
vkencoder-private: replace packed headers with offset handling
...
Instead of holding all headers in an external array and add them into the
bitstream buffer before the encoding operation, adding extra memory and extra
copy operations, the encoder picture should specify the offset where the Vulkan
will start to add the bitstream slices/frame, because the element has written
already the headers until that offset.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
48b2c3cf74
vkencoder-private: remove nb_refs from GstVulkanEncoderPicture
...
That's the number of references that gst_vulkan_encoder_encode() receives to
process, so it has to go as a parameter, because it's part of the reference
list, not of the picture.
This commit also modified unit tests accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
87db136cc7
vkencoder-private: remove pic_num and pic_order_cnt from GstVulkanEncoderPicture
...
Since they aren't semantically part of the codec-independent encoding operation.
And modify unit tests accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
a8e676a0da
vkencoder-private: remove is_ref member from GstVulkanEncoderPicture
...
It's not used. Modified the unit test accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
4a221aad8a
vkencoder-private: don't store output data size
...
There's no need to store in encoder helper the output data size, that's
responsibility of the caller when an output buffer is allocated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
091fe0c1e7
vkencoder-private: enhance capabilities logging
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
1df99ec0d4
vulkan: store in GstVulkanVideoCapabilities encoder and decoder caps
...
The structure already stored the generic video capabilities and the specific
codec capabilities both for encoding an decoding. The generic decoder
capabilities weren't stored because it was only used internally in the decoder
helper object. Nonetheless, for the encoder, the elements will need the generic
encoder capabilities to configure the encoding. That's why it's required to
expose it as part of GstVulkanVideoCapabilities. And the generic decoder is
included for the sake of symmetry.
While updating the API vkvideoencodeh265 test got some code-style fixes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Víctor Manuel Jáquez Leal
cf9cc5ec1b
vkencoder-private: rename GstVulkanEncoderPicture
...
GstVulkanEncodePicture breaks the namespace. This commit fixes it by renaming it
to GstVulkanEncoderPicture, also new() and free() signature functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8007 >
2024-12-04 02:17:44 +00:00
Seungha Yang
a830c58139
nvdswrapper: Add NVIDIA DeepStream wrapper plugin
...
Adding a NVIDIA DeepStream SDK based plugin with a dewarp element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7357 >
2024-12-04 01:19:19 +00:00
Pablo Sun
4507f92b0d
kmssink: Add mediatek auto-detection
...
Add MediaTek display controller into list of
auto-detected modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8023 >
2024-12-02 16:43:45 +00:00
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