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
He Junyan
e25ca874e1
va: Implement the VA h266 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865 >
2025-02-05 18:57:06 +08:00
He Junyan
0ce5fe3cc9
codecs: Add the H266/VVC decoder base class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865 >
2025-02-05 18:57:06 +08:00
Seungha Yang
bf98e200b2
mfdevice: Unregister device notification callback on stop
...
... as intended
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405 >
2025-02-03 22:34:27 +00:00
Seungha Yang
972da9cab9
mfvideoenc: Fix profile string check
...
profile_str is not std::string. Use strcmp instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405 >
2025-02-03 22:34:27 +00:00
Seungha Yang
73f8de3305
mfdevice: Fix memory leak
...
Release resources on dispose() as intended
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8405 >
2025-02-03 22:34:27 +00:00
Seungha Yang
91def8d4ad
meson: Check d3d12video header for MinGW build
...
Old MinGW toolchain does not ship the header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8400 >
2025-02-03 21:24:47 +00:00
Sebastian Dröge
a1c123d342
cc708overlay: Deprecate element in favour of cea708overlay
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3459
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8397 >
2025-02-03 09:51:53 +00:00
Seungha Yang
353d963c77
d3d12mipgen: Respect requested mip levels
...
Don't waste GPU power by generating more levels than requested
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394 >
2025-02-02 21:01:42 +09:00
Seungha Yang
1dc09d67fe
d3d12mipgen: Serialize root signature only once
...
... and reuse serialized blob
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8394 >
2025-02-02 20:51:43 +09:00
Ruben Gonzalez
df7a8c8c40
meson: use nls option to ENABLE_NLS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7017 >
2025-02-01 12:27:01 +00:00
Tim-Philipp Müller
eaec7d9acb
bad: tools: update gst-{app,element,project}-maker for new gst-indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:43 -03:00
Tim-Philipp Müller
bc83c07727
scripts: update update-orc-dist-files.py scripts for new gst-indent
...
And fix python indentation with autopep8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5192 >
2025-01-31 19:14:43 -03:00
Seungha Yang
cc6941ed9a
d3d12converter: Fix SRV descriptor heap size
...
Converter was allocating smaller size of descriptor heap
than required size when auto-mipgen is enabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8391 >
2025-01-31 13:16:50 +00:00
Seungha Yang
a91275a71e
examples: Add h264parser example
...
An example to show how to detect frame type using h264parser
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8338 >
2025-01-31 10:53:19 +00:00
Sebastian Dröge
83e95af6e3
mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
...
Out parameters are (transfer full) by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380 >
2025-01-30 01:06:55 +00:00
Colin Kinloch
e0e7a11089
wayland: De-dupe filling caps format fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8268 >
2025-01-29 21:04:16 +00:00