Seungha Yang
080a838fca
qsv: Fix critical warnings
...
Fixing warnings
GStreamer-CRITICAL **: 01:21:25.862: gst_value_set_int_range_step:
assertion 'start < end' failed
Although when QSV runtime reports a codec is supported, resolution query
fails sometimes, espeically VP9 encoder case on Windows.
Don't try to register an element if resolution query returned an error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7250 >
2024-07-27 19:33:52 +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
Seungha Yang
0178cc188b
qsv: Add util methods for video format mapping
...
Remove duplicated format mapping code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:38:04 +09:00
Seungha Yang
2ffc594d96
qsvenc: Simplify property update helpers
...
Takes lock outside of helper methods, and protect property getter too
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005 >
2023-02-20 21:52:43 +00:00
Seungha Yang
e48869e269
qsv: Use std::once_flag
...
GLib's once implementation will take mutex every time
in case of non-GCC build
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005 >
2023-02-20 21:52:43 +00:00
Seungha Yang
be1771126d
qsv: Check 16K resolution support
...
... and remove duplicated code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3310 >
2022-11-01 17:23:52 +00:00
Seungha Yang
dcd3f210a0
qsv: Add plugin doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738 >
2022-10-21 21:29:25 +09:00
Seungha Yang
8e665fa435
qsvencoder: Move common property to baseclass
...
adapter-luid and device-path are common for all codecs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467 >
2022-05-23 13:28:11 +00:00
Seungha Yang
6a3776c527
qsv: Add GPU description to element long-name on Windows
...
Would be useful for a multi-Intel-GPU system
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249 >
2022-04-20 18:49:18 +00:00
Seungha Yang
3c3274a8da
qsv: Move debug init into each source file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 04:15:13 +09:00
Seungha Yang
86cf307a6c
qsvencoder: Rename property name i-frames to idr-interval
...
... and clarify the meaning of the value for each h264 and h265
encoder since the usage of mfxInfoMFX::IdrInterval is different
per codec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204 >
2022-04-16 23:34:41 +09:00
Seungha Yang
f848619ff4
qsvh265enc: Write HDR10 metadata SEI
...
If device supports HDR10 metadata API, write the information
into bitstream per IDR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204 >
2022-04-16 23:34:41 +09:00
Seungha Yang
7b89cdbefe
qsvencoder: Update property names and default values
...
Stop using MSDK plugins property naming, instead use unified names
and default values to be consistent with newly written NVIDIA encoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140 >
2022-04-09 14:00:35 +00:00
Seungha Yang
b5ed0eb4b0
qsvencoder: Add support for VA memory
...
Use VA allocator and buffer pool implementation for zero-copy
encoding with upstream VA elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030 >
2022-03-31 20:48:24 +00:00
Seungha Yang
886cfecd36
qsvencoder: Add support for dynamic bitrate update
...
... and add more encoding options.
QSV API supports dynamic bitrate change without IDR insertion.
That's more efficient way of runtime encoding option update
than starting from new sequence with IDR per bitrate option change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039 >
2022-03-29 15:52:58 +00:00
Seungha Yang
a8d7b10cc4
qsvh265enc: Add missing gop-size property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039 >
2022-03-29 15:52:58 +00:00
Seungha Yang
769800ad5f
qsvencoder: Clear caps after debug print
...
Otherwise debug function will print (null) for alread cleared pointer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2012 >
2022-03-24 02:55:49 +09:00
Seungha Yang
00f773bd10
qsv: Remove strcpy for DRM device path
...
Simplify code. It's just one-time allocation, so don't need to worry
about leaking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1835 >
2022-03-03 11:29:33 +00:00
Seungha Yang
278908ce96
qsv: Add support for HEVC encoding
...
main and main-10 profiles are supported for now
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1408 >
2022-02-08 10:05:35 +00:00