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
Matthew Waters
0b92e04142
cudacompositor: pass correct variable to debug log functions
...
Fixes spew of:
gst_debug_log_full_valist: assertion 'id != NULL ||
object == NULL || G_IS_OBJECT (object)' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8345 >
2025-01-23 17:18:46 +00:00
Seungha Yang
dc81abe9ee
cudacompositor: Fix memory leak
...
gst_cuda_compositor_upload_frame() returns buffers with increased
refcount already
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8335 >
2025-01-22 11:42:00 +00:00
Seungha Yang
d9510be7b1
docs: Update nvcodec plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325 >
2025-01-20 19:31:36 +00:00
Seungha Yang
c01ef564d9
cudaipc: Use empty string for address property docs
...
Since Windows and Linux have different default values,
use empty string when generating plugin docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325 >
2025-01-20 19:31:36 +00:00
Seungha Yang
1f481fe1d5
nvcodec: Specify documentation caps
...
... since produced caps will be different depending on OS and GPU model.
Also adding Y444_16LE format to decoder's GL template caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325 >
2025-01-20 19:31:36 +00:00
Seungha Yang
289f63b6e7
nvcodec: Add cudacompositor element
...
Adding CUDA based compositor element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170 >
2025-01-20 01:12:21 +09:00
Seungha Yang
875e137f4f
cudaconverter: Add support for alpha blending
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170 >
2025-01-20 01:12:21 +09:00
Seungha Yang
d761196bb7
cudaconverter: Add support for configuration update
...
Allow updating various configuration values via property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170 >
2025-01-20 01:12:21 +09:00
Seungha Yang
1fa51046d1
cudaconverter: Pass constant values as kernel argument
...
Make conversion kernel more flexible and reusable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8170 >
2025-01-20 01:12:20 +09:00
Mathieu Duponchelle
3de86b2b97
docs: port plugins to explicit sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273 >
2025-01-13 19:17:13 +01:00
Thibault Saunier
650ff6c5d0
nvcodec: gl now supports Y444_16LE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858 >
2024-11-12 11:31:37 -03:00
Seungha Yang
8c3d516a14
d3d12: Additional fixes for MinGW build
...
Various fixes for GCC build, including actual bug fixes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7722 >
2024-10-24 06:54:30 +09:00
Seungha Yang
d9114db5d0
nvdecoder: Add support for D3D12 output
...
Enable D3D12 output if device can support D3D12 interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529 >
2024-10-02 02:02:08 +09:00
Seungha Yang
16e94b7fc3
nvcodec: Add support CUDA to D3D12 memory copy
...
Adding CUDA -> D3D12 memory copy method to GstCudaD3D12Interop
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7529 >
2024-10-02 02:02:08 +09:00
Sebastian Dröge
b7b24573ce
common: Use more efficient versions of GstCapsFeatures API where possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:26:18 +03:00
Sebastian Dröge
6233eb0ff3
common: Stop using GQuark-based GstStructure field name API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:21:29 +03:00
Seungha Yang
f5ce4d10b1
nvencoder: Add support for d3d12 memory
...
Use d3d12 -> cuda memory copy helper object in cuda mode encoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
6d28f3b2c6
nvcodec: Add a helper object for d3d12 interop
...
Adding new helper object for d3d12 -> cuda memory copy
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7480 >
2024-09-14 15:33:44 +00:00
Seungha Yang
d5d17d804e
nvencoder: Disable stream ordered allocation
...
Stream ordered allocation is not supported by encoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
f72a775d03
cudaipcsink: Disable stream ordered allocation
...
Legacy CUDA IPC does not support default CUDA memory pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7427 >
2024-09-11 17:15:14 +00:00
Seungha Yang
63dc54906b
nvencoder: Prefer byte-stream format over packetized
...
Since old encoder implementation supported only byte-stream,
prefers byte-stream format for backward compatibility.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3787
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7457 >
2024-09-06 01:10:14 +09:00
Matthew Waters
8dac91537d
cuda/nvcodec: Add support for importing and producing embedded NVMM memory
...
As produced on the Nvidia Jetson series of devices.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7274 >
2024-08-02 01:59:07 +00:00
Seungha Yang
afb62e98c7
cuda: Enable x86 NVMM support again
...
It was broken since memory copy helper function was moved to gst-libs.
Also, adding "cuda-nvmm" and "cuda-nvmm-include-path" build options
to en/disable NVMM support in gstcuda library
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6978 >
2024-06-06 12:16:50 +00:00
Brad Reitmeyer
a564440020
nvcodec: Accept progressive-high profiles for h264
...
Videos using progressive-high used to work on 1.16 before the parser added progressive-high. It looks like partial
support was added to nvcodec in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1634
but accidentally ommited gstnvh264dec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6862 >
2024-05-16 16:05:52 -05:00
Seungha Yang
15c24abf5d
nvcodec: Add AV1 encoder
...
Adding CUDA mode "nvav1enc", D3D11 mode "nvd3d11av1enc" and auto GPU
mode "nvautogpuav1enc" elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:52 +00:00
Seungha Yang
da019bf137
nvcodec: Rename nvcuda{h264,h265}enc to nv{h264,h265}enc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:52 +00:00
Seungha Yang
b74422dcbc
nvcodec: Remove old nvenc implementation
...
Stop shipping deprecated implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:52 +00:00
Seungha Yang
0ffbe20d31
nvcodec: Bump minimum supported SDK version to 10.0
...
New preset (i.e., P1 ~ P7) requires SDK 10.0 or newer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:52 +00:00
Seungha Yang
60637b96c8
nvcodec: Update SDK header to 12.0.16
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:52 +00:00
Seungha Yang
ff6d6e1b3c
nvencoder: Enhance lagacy encoding profile mapping
...
Updated based on the NVENC Preset Migration Guide
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:52 +00:00
Seungha Yang
cfd92819d9
nvencoder: Update property names and default value
...
... to be the same as old NVENC elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6754 >
2024-05-15 14:35:51 +00:00
Seungha Yang
99b1f5ddd2
nvencoder: Fix maximum QP value setting
...
Fixing typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6827 >
2024-05-12 09:38:29 +00:00
Seungha Yang
84f4068036
nvh265encoder: Fix crash with RGBx and BGRx
...
Both formats need to be handled in switch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6752 >
2024-04-28 23:34:37 +09: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
Michiel Westerbeek
a4aa9e197e
gstcudaconvertscale, gstvavpp, videoconvertscale: downgrade 'Can't keep DAR' to debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5730 >
2024-03-13 16:06:56 +00:00
Seungha Yang
5d62f408f2
nvcodec: Add plugin status message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6167 >
2024-02-22 23:30:29 +00:00
Seungha Yang
cfa8386dd0
nvdecoder: Enable zero-copy only if explicitly enabled
...
Keep pre-1.24 behavior unless user specifies the number of
output surface size. We are calculating output surface size
conservatively, and it can result in over allocation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102 >
2024-02-13 12:37:07 +00:00
Seungha Yang
59358e439d
nvh265dec: Don't convert unknown video format to string
...
gst_video_format_to_string() method does not allow unknown format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6102 >
2024-02-13 12:37:06 +00:00
Seungha Yang
d444fe3fdc
nvcodec: Update plugin cache
...
Updating plugin cache for IPC elements, JPEG encoder, and newly added
properties. Also removing Gst*SLDec which does not exist anymore
but renamed to Gst*Dec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6070 >
2024-02-07 22:06:39 +00:00
Seungha Yang
6dc902a962
nvcodec: Add JPEG encoder
...
Adding nvJPEG library based JPEG encoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021 >
2024-01-31 12:51:28 +00:00
Seungha Yang
fc4b136ac8
nvcodec: Move runtime compiler check to plugin init function
...
Required information for other elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021 >
2024-01-31 12:51:28 +00:00
Seungha Yang
51162acc31
cuda: Report device open error
...
Call gst_cuda_result() with CUDA_ERROR_NO_DEVICE error code if
we could not open device, so that application can catch the error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Seungha Yang
07ba225183
cudaipc: Add support for custom meta forwarding
...
Forward custom meta to peer ipcsrc elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Seungha Yang
abe1f5044d
cuda: Prefer CUBIN over PTX
...
System installed NVRTC library might be newer version than
driver, then generate PTX can be incompatible with the driver.
Instead of the intermediate code PTX, use actual assembly code
directly.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3108
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5639 >
2024-01-02 10:10:09 +00:00
Seungha Yang
012222bcb3
cudaipcsink: Fix deadlock on stop
...
Manually close connection if client does not hold any shared memory
on stop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5747 >
2023-12-06 16:09:27 +00:00
Seungha Yang
b168647073
nvdec: Fix division by zero when calculating buffer duration
...
Don't try to calculate buffer duration from variable framerate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5764 >
2023-12-06 13:38:09 +00:00
Seungha Yang
0a05ba3f62
nvencoder: Add support for new preset/tune/multi-pass options
...
Adding new P1 ~ P7 presets and deprecate old preset values.
Also adding tune and multi-pass properties.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5428 >
2023-10-14 11:03:40 +00:00
James Oliver
aeef97d81b
nvh265encoder: fix bounds for auto-select GPU enumeration
...
Fixes the bounds-check for encoder auto-select GPU enumeration to be
between 0-7 instead of 0-6. This should allow 8-GPU machines to work
with nvautogpuh265enc for the last enumerated GPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5438 >
2023-10-05 13:37:36 +08:00