Mathieu Duponchelle
4b93581c15
ajasrc: always post details about detected format
...
.. instead of only when there is a mismatch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6438 >
2024-04-04 18:23:31 +00:00
Robert Mader
0a26a92b2b
jpegparse: turn some bus warnings into object ones
...
For some cameras `gst_jpeg_parse_app0()` fails on a invalid segment.
While this is likely a driver or firmware bug that should be addressed
accordingly, it's not fatal and likely does not deserve a bus message on
every frame, flooding journals.
Turn down the volume of the warnings by turning them into object
warnings. If we conclude that in some cases we'd still want bus
warnings, they can be done more fine-grained in the
`gst_jpeg_parse_appX()` functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6490 >
2024-04-04 11:35:07 +00:00
Víctor Manuel Jáquez Leal
fc0ef6ede6
vkh265dec: add missing VPS parameter
...
and fix coded size
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
a6608d72e6
vkh26xdec: implement close() vmethod
...
Since a validation layer error is signaled at EOS because it's required to wait
for the last frame to be processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
316ca23cab
vkh26xdec: remove unused variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
3dd5e0d46f
vkh265dec: fix resource info structure when layered DPB
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6400 >
2024-04-03 16:46:14 +00:00
Víctor Manuel Jáquez Leal
d18d6a70ac
examples: vaenc-dynamic: support target percentage change in QVBR
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Víctor Manuel Jáquez Leal
a9d839b8a3
examples: vaenc-dynamic: ignore bitrate change with ICQ too
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Víctor Manuel Jáquez Leal
4b5e930bc8
va: encoders: don't assert at target percentage when QVBR
...
Instead of asserting, just get the max value between the current value and 10,
which is the minimum required by QVBR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Víctor Manuel Jáquez Leal
cd14db923e
examples: vaenc-dynamic: add vp9, av1 and low power tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6465 >
2024-04-03 13:51:31 +02:00
Chris Spencer
c6a3b2ab85
vkbufferpool: correct usage flags type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6514 >
2024-04-03 09:36:44 +00:00
Víctor Manuel Jáquez Leal
3b4b979ec4
msdk: sink context reference
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
c83b69d146
gtk: sink reference of internal wayland pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
e53c3ab5db
wayland: sink reference to internal pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
c080e7041d
dash: sink references of all MDP objects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
0d48ede4a9
va: sink reference at instantiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
Víctor Manuel Jáquez Leal
b18483a563
vulkan: sink references at instantiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6398 >
2024-04-03 08:48:25 +00:00
eri
0f1a3b6847
play: Update video_snapshot
to support playbin3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6516 >
2024-04-03 07:46:23 +00:00
Seungha Yang
b9ebe979ee
qsvencoder: Handle d3d12 context
...
GstD3D12Device objetct's internal resources are singletons per adapter
already though, the object itself is not a singleton.
Due to the singleton design (unlike other APIs such as d3d11),
d3d12 device context sharing is not a strict requirement
for zero-copy, but handles context ones to make things less noisy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513 >
2024-04-03 02:05:25 +00:00
Seungha Yang
ad6670ba81
d3d12decoder: Always output sharable texture
...
Because shared heap's additional costs is not significant,
use D3D12_HEAP_FLAG_SHARED for resource can be shared over process
boundary. And enables render target for d3d11 interop in the process.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6513 >
2024-04-03 02:05:25 +00:00
Guillaume Desmottes
ed54734825
examples: set perfect-timestamp=true on opusenc
...
Fix audio streaming on Chrome, see https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1524
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6512 >
2024-04-02 22:08:31 +00:00
He Junyan
cbdc22d697
va: av1enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
db74da3f6f
va: vp9enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
Víctor Manuel Jáquez Leal
8bede7937c
va{vp9,av1}enc: reconfigure when properties change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
d179fca13f
va: h265enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
33bc8d75ad
va: h265enc: set the reconf flag when cpb_size updated
...
This feature can be changed dynamically in playing state, so we
need to set reconf flag to trigger reconfig.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
045449e190
va: h264enc: Change the set_property to make it atomic
...
The inside encoder may be set in other threads, so we should make
its accessing atomic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
He Junyan
812e7efb90
va: h264enc: set the reconf flag when cpb_size updated
...
This feature can be changed dynamically in playing state, so we
need to set reconf flag to trigger reconfig.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6471 >
2024-04-02 19:01:22 +00:00
Seungha Yang
4ede9fef07
dwrite: Fix crash on device update
...
Selected blend mode should not be cleared on device update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6508 >
2024-04-02 17:36:28 +00:00
Seungha Yang
106187cc59
nvencoder: Add support for RGB formats
...
Adding RGBA, RGBx, BGRA, BGRx, VUYA and RGB10A2_LE format support for performance.
However, these formats are not still recommended if upstream can support
native YUV formats (e.g., NV12, P010) since NVENC does not expose
conversion related optiones. Note that VUYA format is 4:4:4 YUV format
already but NVENC runtime will convert it to 4:2:0 format internally
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417 >
2024-04-02 13:07:29 +00:00
Seungha Yang
e6f496a240
cuda: Add support for VUYA format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6417 >
2024-04-02 13:07:29 +00:00
Seungha Yang
707ac69f5f
qsv: Add support for d3d12 interop in encoder
...
Since QSV API does not support D3D12, try to import d3d12 resource
into d3d11 texture. Note that resource sharing requires
D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_2 for NV12 texure sharing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6501 >
2024-04-02 11:54:39 +00:00
He Junyan
78f1299ce4
va: av1enc: Avoid reopen encoder or renegotiate
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, format, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6441 >
2024-04-02 09:06:07 +00:00
He Junyan
075937dc19
va: vp9enc: Avoid reopen encoder or renegotiate
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, format, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6441 >
2024-04-02 09:06:07 +00:00
He Junyan
40629b84ee
va: av1enc: Improve the LAST reference assignment
...
The last frame which has the smallest diff should be consider as
the first choice rather than the golden frame. Especially when only
one reference available, this way can improve the BD rate about 5
percentage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379 >
2024-04-02 03:54:52 +00:00
He Junyan
1745a82516
va: av1enc: Fix the reference number setting bug
...
The current way will let the total reference number surplus the
reference number set by the "ref-frames" property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6379 >
2024-04-02 03:54:52 +00:00
Seungha Yang
dce4067e83
meson: d3d11: Add support for MinGW DirectXMath package
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495 >
2024-04-02 05:14:53 +09:00
Seungha Yang
bb268eafa1
webview2: Add support for d3d12 interop
...
Enable shared copy to D3D12 resource
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499 >
2024-04-02 03:43:59 +09:00
Seungha Yang
d00c26cdc8
d3d12screencapturesrc: Use gst_d3d12_memory_get_d3d11_texture()
...
... and use fence to wait for GPU sync
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499 >
2024-04-02 03:43:59 +09:00
Seungha Yang
ce34e63605
d3d12memory: Add support for d3d11 texture caching
...
Would be useful for various D3D11 interop use cases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6499 >
2024-04-02 03:43:59 +09:00
He Junyan
e023546162
va: encoder: Fix the unit of bitrate in debug log message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483 >
2024-04-01 15:39:13 +00:00
He Junyan
9c3bd3950e
va: vp9enc: Adjust the coded buffer size to avoid failure
...
Some extreme case such as "videotestsrc pattern=1" can generate pure
white noise videoes, for which encoder may generate too big output
for current coded buffer size. We now consider the qindex and bitrate
to avoid that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483 >
2024-04-01 15:39:13 +00:00
He Junyan
2560f4c581
va: vp9enc: Fix the frame size not enough issue for super frame
...
The current code forgets to add the current last frame size into
the total super frame size.
Fixes : #3427
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6483 >
2024-04-01 15:39:13 +00:00
Cheah, Vincent Beng Keat
249a086612
msdk: Fix mjpeg BGRx encode
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6401 >
2024-04-01 11:23:24 +00:00
Seungha Yang
7d0e90b7bc
d3d12: Move core part to gst-libs
...
Move buffer pool, converter, and device abstraction layer to
public library
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:50 +00:00
Seungha Yang
7829315305
d3d12memory: Define new D3D12 map flags
...
Define GST_MAP_READ_D3D12 and GST_MAP_READ_D3D12 flags
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:50 +00:00
Seungha Yang
abeccdd6bc
d3d12: Make resource getter methods consistent
...
Returns COM pointer directly everywhere
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Seungha Yang
706d5402fa
d3d12: Remove device11on12 wrapping layer
...
It was added to avoid symbol conflict between DirectX-header project
and Windows SDK, but symbol conflict does not happen
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Seungha Yang
927e249557
d3d12bufferpool: Use d3dx12.h format table
...
The format table in SDK header defines all required information
already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00
Seungha Yang
0527f27204
d3d12: Add a helper method for device equality check
...
GstD3D12Device object itself is not singltons anymore but
underlying private struct is singltons.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6494 >
2024-04-01 10:37:49 +00:00