Benjamin Gaignard
7fb19b37d8
v4l2codecs: av1: Allow inter-frames resolution change
...
When the stream resolution change it is needed to negotiate
a new pools and to update the caps.
Resolution change could occurs on a new sequence or a new
picture so move resolution change detection code in a common
function.
Only call streamoff if the resolution occur while decoding a key frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8064 >
2025-02-10 13:36:57 +00:00
Benjamin Gaignard
88e0b6ba2d
codecs: av1 decoder: Drain output buffers 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/8064 >
2025-02-10 13:36:57 +00:00
Glyn Davies
f32402e9b4
h264parse: Force full timestamp on all timecode updates. Was invalid between midnight and 1am
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8401 >
2025-02-10 11:50:23 +00:00
Tim-Philipp Müller
bf5f642841
Back to development after 1.25.50
2025-02-09 17:47:32 +00:00
Tim-Philipp Müller
3e8f88d756
Release 1.25.50
2025-02-09 17:35:17 +00:00
Nirbheek Chauhan
50680fe32f
opencv: Fix pkgconfig dependency name and gstopencv_dep
...
Broke in bbdf8f5996
Also print the prefix inside which we try to detect opencv's data dir.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403 >
2025-02-09 14:25:32 +00:00
Nirbheek Chauhan
73da2edbba
opencv: Fix hand detect profile paths
...
This is the same mechanism used by facedetect
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8403 >
2025-02-09 14:25:32 +00:00
Cheung Yik Pang
5e086ea3f5
va: Add VP8 alpha decode bin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180 >
2025-02-08 22:43:00 +00:00
Cheung Yik Pang
59104fb3a3
va: Add VP9 alpha decode bin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180 >
2025-02-08 22:43:00 +00:00
Cheung Yik Pang
fd22a9c090
va: Add codec alpha decode bin base class
...
A VA-API decoder bin base class for codecs with alpha channel support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8180 >
2025-02-08 22:43:00 +00:00
wbartel
8135a6689b
webrtc: fix pkg-config missing sdp dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8433 >
2025-02-08 02:48:28 +00:00
Guillaume Desmottes
b5fdb5aec5
codecs: include gsth266decoder.h when building gir
...
Will hopefully fix cerbero ci job.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8430 >
2025-02-07 23:04:16 +00:00
Nicolas Dufresne
8d1060f205
v4l2codecs: Add NV12_10LE40 / NV15 support
...
NV15 is common format on RK platform and is that only uncompressed 10bit
format the display controller on RK3588 supports.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8426 >
2025-02-07 22:17:17 +00:00
Kévin Commaille
9aeaea29f5
zbar: allow to get symbol as bytes
...
It would be possible to get some binary symbols with a string, but if
they contain NUL bytes, the string will be cut off. To fix this,
provide the decoded symbol as a GBytes too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688 >
2025-02-07 20:53:50 +00:00
Kévin Commaille
fcd2e61330
zbar: allow to enable binary mode
...
Added in zbar 0.23.1, it is a mode that prevents zbar from trying to
convert the binary data of QR codes to text by guessing the encoding.
Add a property that changes the configuration of the zbar image scanner
accordingly.
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4688 >
2025-02-07 20:53:50 +00:00
He Junyan
f63a70966e
av1parse: Handle the padding OBU correctly
...
The current av1parse can not find the edge of frame correctly if there
is padding OBUs inside the stream. We now use a flag seen_non_padding to
check whether we see some valid data after a data push. Then the padding
OBUs will be the part of the new frame.
We also refine the code logic to make the code more readable.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4044
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8269 >
2025-02-07 16:56:53 +00:00
Carlos Bentzen
bb74aceb5d
h266parse: clean up unused APS fields
...
Since APS is always carried in-band, we don't need to keep the APS
NALs around in the parser anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
be98ba00d7
h266parser: do not fail when extension flags are set
...
For VPS, PPS, APS, OPI and DCI, the extension flags are the last syntax
in the structures, and according to the spec, should be ignored if set to 1.
Therefore, we can just ignore them rather than failing.
This fixes a few failures in fluster, like in the PSEXT_A_Nokia_2 stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
3a12b0beaa
h266parse: add tests for vvc1 and vvi1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
5fad23d26b
h266parse: enable vvc1 and vvi1 stream formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
05d4a2022e
h266parse: handle packetized frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
551782b32b
h266parse: don't prepend APS NALs on IDR frames
...
Instead, APS NALs can just be pushed an in-band NALs like PH and SEI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
c7e9aba025
h266parse: negotiate before handling codec_data NALs
...
If we find VPS/SPS/PPS in codec_data and call gst_h266_parse_process_nal
with them, we need to have negotiated before in order to correctly
process them with flags like h266parse->transform set or not depending
on the negotiation. This is important because in certain vvc1/vvi1 streams we
may have correct codec_data but faulty parameter sets in the stream and
we would want to push the parameter sets from codec_data first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
f4f7e99e05
h266parse: parse codec_data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
8607ccdf2c
h266parse: update IDR position in more cases
...
The IDR position should be updated if we're processing an
IDR frame or pushing codec NALs. Not only when picture_header_in_slice_header_flag
is set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
7c29249ca5
h266parse: fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
fe61b43814
h266parse: implement make_codec_data
...
implement serialization of codec_data containing VvcDecoderConfigurationRecord
as defined in ISO/IEC 14996-15.
The VPS/SPS/PPS NALs are added to the codec_data. APS NALs could be
optionally included as well but will be pushed in-band instead, because:
1. Logic is easier that way. We'd have to filter out for PREFIX_APS only
(SUFFIX_APS aren't allowed in codec_data).
2. APS NALs can also be sent for every non-keyframe slice, and often are, so just pushing
them in-band makes more sense to have less to keep track and avoid possible
duplicates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
4545d199c3
h266parser: add API to parse VVCDecoderConfigurationRecord
...
VVCDecoderConfigurationRecord is present in ISOBMFF files carrying
VVC/H.266 streams via the vvcC box, as defined in ISO/IEC 14496-15.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:16 +00:00
Nirbheek Chauhan
0aacc1a6a9
opencv: imgcodecs.hpp is also needed to build the plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418 >
2025-02-07 02:32:03 +00:00
Nirbheek Chauhan
bbdf8f5996
meson: Modernize opencv build definitions
...
Use the fs module instead of using `run_command('test')`, simplify
some indentation, fix dependency management
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8418 >
2025-02-07 02:32:03 +00:00
Sebastian Dröge
7346764b8e
play: Distinguish missing plugin errors and include more details in error/warning messages
...
Include the URI (and if possible) stream-id in the messages. These are provided
by uridecodebin3 / decodebin3 in most cases but there is fallback code to guess
them otherwise.
For missing plugin errors also the installer details are included.
The URI is included in all message types.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3547
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8236 >
2025-02-07 01:02:01 +00:00
Seungha Yang
5dd695f81f
docs: Add nvdswrapper docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8425 >
2025-02-06 17:48:47 +00:00
Philippe Normand
1baa10ed07
wpe: Reduce gpointer usage in ThreadedView
...
Those gpointers were introduced when we had to support some old WPE API, no need
for them anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8413 >
2025-02-06 17:00:39 +00:00
Nicolas Dufresne
6fe6811eb7
docs: v4l2codecs: Add plugin index documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
ec8e2d6a31
doc: Push v4l2codecs documentation cache
...
These are normally autogenerated for the platform GStreamer runs on,
though it is convenient to have everything listed in the doc. This
was created with the new GST_V4L2_CODEC_GEN_DOC=1 environment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
bb37ea168d
doc: v4l2codecs: Document all decoders
...
Add the documentation blob and since marker for all decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
3645f050af
v4l2codecs: Remove uneeded per-codec abstract class
...
That subclass was not needed and was causing issues wit doc generation.
The only down side of removing it is that the decoder cast macro is no
longer type safe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
2197627336
v4l2codecs: Add Hardware class to alpha decoders
...
This was accidently omitted, this is needed wen filterting hardware
codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
3b9fc2a29e
v4l2codecs: Cleanup alpha decodebin class header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
d13a414ddc
v4l2codecs: Don't needlessly expose decoder types
...
We have explicit register functions and have no use for these types in
other components.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
76b36f1493
v4l2codecs: Use pragma once
...
This is a nice cleanup and removes comment referring to D3D notably.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
5e6411e2f6
v4l2codecs: Enable AV1 kernel version check
...
The uAPI finally got merged into 6.5.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
18f3ea41c0
v4l2codecs: Add a doc generation mode
...
This is enabled through an env, it allow exposing all elements without
the needed driver supports. This is useful to fill the documentation cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555 >
2025-02-06 00:58:01 +00:00
Nicolas Dufresne
7edb6a5634
waylandsink: Prefer DMABuf over system memory
...
Swap the template and caps query around to that the sink can describe a
preference for DMAbuf over system memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8404 >
2025-02-05 18:57:29 -05:00
Stéphane Cerveau
a960985d18
vkvideoencodeh265: fix PicOrderCntVal usage
...
remove `pic_order_cnt` member variable of GstVulkanH265EncodeFrame and
use always `pic_num` instead.
Intialize first `pic_num` value in test_encoder_h265_i_p.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8408 >
2025-02-05 18:33:36 +00:00
Stéphane Cerveau
bd62300d22
vkvideoencodeh26x: tests: set constant qp
...
Set constant qp to 26 in between 0 and 51, the qp range
for h264 and h265.
minQp in case of ANV is 10 for h265
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8407 >
2025-02-05 16:48:56 +00:00
Seungha Yang
fbf698cc0b
mediafoundation: Enable MinGW build
...
Update MinGW toolchain in cerbero can support MediaFoundation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406 >
2025-02-05 16:03:10 +00:00
Seungha Yang
7108147d78
mediafoundation: Use DEFINE_GUID instead of DECLSPEC_UUID
...
MinGW will not define IID for custom COM object
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406 >
2025-02-05 16:03:10 +00:00
Seungha Yang
f57162deeb
mediafoundation: Fix GUID_NULL related MinGW build error
...
Include cguid.h for GUID_NULL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406 >
2025-02-05 16:03:10 +00:00
Seungha Yang
66b92465cd
mediafoundation: Fix various GCC warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8406 >
2025-02-05 16:03:10 +00:00