Seungha Yang
7b6023d9cf
nvcodec: Add support for CUDA IPC
...
Adding cudaipc{src,sink} element for CUDA IPC support.
Implementation note:
* For the communication between end points, Win32 named-pipe
and unix domain socket will be used on Windows and Linux respectively.
* cudaipcsink behaves as a server, and all GPU resources will be owned by
the server process and exported for other processes, then cudaipcsrc
(client) will import each exported handle.
* User can select IPC mode via "ipc-mode" property of cudaipcsink.
There are two IPC mode, one is "legacy" which uses legacy CUDA IPC
method and the other is "mmap" which uses CUDA virtual memory API
with OS's resource handle sharing method such as DuplicateHandle()
on Windows. The "mmap" mode might be better than "legacy" in terms
of stability since it relies on OS's resource management but
it would consume more GPU memory than "legacy" mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
7b1e4d6051
cudabufferpool: Add support for virtual memory
...
Configure malloc or mmap allocator depending on config option
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
547b13c68f
cudacontext: Add memory allocation related properties
...
Adding "virtual-memory" and "os-handle" properties. New properties
will be used to query device's capability
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
2f506e8ddc
cudamemory: Add support for virtual memory in pool allocator
...
Adding new memory pool allocator for virtual memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
194fd8bb82
cudamemory: Add support for virtual memory management
...
Adding new CUDA memory allocation methods
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
a712a768a4
cuda: Load virtual memory management and IPC API symbols
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4510 >
2023-08-14 13:41:01 +00:00
Seungha Yang
d9894da59d
dwritetimeoverlay: Fix debug category name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5179 >
2023-08-14 10:24:53 +00:00
Seungha Yang
14ef86a66d
dwrite: Re-add background geometry combine
...
If glyphrun unit is changed in a single line, there could be
overlapped background area which result in drawing background
twice. Adding geometry combine so that background geometry objects
with the same color can be merged and rendered at once
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5179 >
2023-08-14 10:24:53 +00:00
Sebastian Dröge
ae28e1035e
examples: webrtc: rust: Update to gstreamer-rs 0.21
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5181 >
2023-08-14 09:06:08 +00:00
Olivier Crête
f3cd913b3c
sdpmessage: Parse zero clock-rate as default
...
It seems there is at least one broken RTSP server out there that returns a clock-rate of 0.
Let's just ignore it and use the default in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5171 >
2023-08-14 08:26:59 +00:00
Marcin Kolny
3c32ef4854
qroverlay: fix updating "data" property in qroverlay element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5175 >
2023-08-13 16:04:29 +00:00
Alicia Boya García
ba61160d6c
validate-launcher: Fix race condition on repeated tests
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2900
The `reports` list was being copied as a reference, therefore, copies of
a test ended up inadvertedly sharing the same list of reports. Reports
added by one instance of the test would be reflected in all instances.
This caused a race condition where, if a test was run on repeat with
gst-validate-launcher -f, very often wrong log file was shown to the
user. For instance, gst-validate-launcher would say "test failed, see
log for iteration7", but iteration7 would contain "TEST PASSED".
Worse, the runner would add the report to that incorrect log file,
mixing problems between different executions of the tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5177 >
2023-08-13 03:18:50 +00:00
Tim-Philipp Müller
4abe4b2d2a
meson: check gitlint version
...
We use 'regex-style-search' which requires at least 0.18.
F38 still ships with 0.15 it seems.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5049#note_2004507
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5056 >
2023-08-12 15:18:25 +00:00
Vivia Nikolaidou
3257ee4374
deinterlace: Fix vfir 16-bit orc calculations
...
memcpy works in bytes, but orc works in items, so given that the size
arguments is in bytes, we need to divide by the pixel stride.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5172 >
2023-08-11 17:47:27 +00:00
Vivia Nikolaidou
6145a5c7cb
deinterlace: Fix greedyh crash for alternate-field interlacing
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2645
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5172 >
2023-08-11 17:47:27 +00:00
Seungha Yang
9d89bad731
va: Update decoder ranks
...
Most software decoders are ranked as primary, so use primary + 1 for
all codecs except for jpeg.
But ranks should be demoted on Windows since it's still experimental
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5169 >
2023-08-11 15:42:44 +00:00
Tim-Philipp Müller
f27b21b509
ci: re-enable gst-plugins-rs in the documentation job
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5166 >
2023-08-10 13:11:48 +00:00
Seungha Yang
cf2cd20ba0
nvdecoder: Add max-display-delay property
...
The same as in old nvdec implementation so that user can control
the number of delayed output frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4841 >
2023-08-10 11:58:42 +00:00
Seungha Yang
19ee5f6dc4
nvdecoder: Reduce DPB size
...
Decoder will copy decoded picture to downstream buffer or output CUDA
memory even in case of zero-copy mode. Additional margin should be unnecessary
unless baseclass passed wrong max DPB size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4841 >
2023-08-10 11:58:42 +00:00
Nirbheek Chauhan
11f69464bd
ci: Disable arm64 job till we figure out what's wrong
...
This is probably a Visual Studio installer issue, maybe the ARM64
workload isn't getting installed anymore.
2023-08-10 14:54:15 +05:30
Nirbheek Chauhan
2af71e5c27
ci: Build a new windows image
...
The old one was fine when built in slomo's namespace, but the one
built in the gstreamer namespace is broken in a weird way:
https://gitlab.freedesktop.org/tpm/gstreamer/-/jobs/47061420
https://gitlab.freedesktop.org/tpm/gstreamer/-/jobs/47059417
Let's regen it and pray that it works this time.
2023-08-10 12:38:53 +05:30
Sebastian Dröge
63b027047d
ci: Update to cargo-c 0.9.23
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Nirbheek Chauhan
41b3443b95
wasapi: Don't redefine GUIDs when building under newer MinGW
...
Latest MSYS2 MinGW provides these now, so we don't need to define them
if they're already present in the header.
The AudioClient3 GUID requires the Windows 10 SDK, so it's only
available in the latest MinGW, and the MinGW in Cerbero is too old.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Nirbheek Chauhan
b7dcca4c98
wasapi: Remove obsolete ifdefs for older MinGW
...
We no longer ship that ancient MinGW toolchain, and it's causing build
errors with MSYS2 now:
https://gitlab.freedesktop.org/slomo/gstreamer/-/jobs/46866129
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Sebastian Dröge
4b18d240e6
ci: Update image tag versions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Sebastian Dröge
f09beed34c
ci: Update to cargo-c 0.9.22
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Sebastian Dröge
040741e42c
ci: Update to Rust 1.71.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5155 >
2023-08-09 14:47:57 +00:00
Víctor Manuel Jáquez Leal
e1765c4ce8
va/vaapi: promote va ranks and demote vaapi ones
...
VA decoders implementation has been verified from 1.18 through 1.22
development cycles and also via the Fluster test framework. Similar
to other cases, we can prefer hardware over software in most cases.
At the same time, GStreamer-VAAPI decoders are demoted to NONE to
avoid collisions. The first step to their deprecation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2312 >
2023-08-09 12:13:12 +02:00
Stéphane Cerveau
1e4cc59a3f
isomp4: update isml documentation
...
Closing #2893
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5165 >
2023-08-09 09:15:30 +00:00
Piotr Brzeziński
510e227996
vtenc: Fix cosmetic issues
...
Removes accidental GST_VIDEO_DECODER macro usage.
Also sets the initial size of the output queue to avoid having to expand when first buffers come through.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5164 >
2023-08-09 07:35:32 +00:00
Tim-Philipp Müller
1233b8a027
lc3: fix pkg-config file lookup
...
There's a mismatch between the pkg-config file ('lc3')
and the subproject/wrap which meant an installed liblc3
wasn't picked up.
Fixes #2883
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5151 >
2023-08-08 22:12:29 +00:00
L. E. Segovia
171eefa06b
subprojects: Add libvpx wrap
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5105 >
2023-08-08 18:08:24 +00:00
Nicolas Dufresne
8710911e6b
v4l2codecs: Enable Mediatek 10bit 4:2:0 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444 >
2023-08-08 16:08:16 +00:00
Nicolas Dufresne
d604b3655e
video: Add Mediatek 10bit formats
...
These 10bit formats are identical to NV12_16L32S, but 64bytes of data is being
prefixed with 16bytes data with four pixels of lower 2bits per byte. For
MT2110T, the lower two bits set so each bytes contains a column of 4 pixels,
also describe as tiled lower 2 bits. MT2110T has been chosen as a name to match
the vendor chosen name. This format is unlikely to exist for other vendors.
For MT2110R, the 2 low bits are in raster order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3444 >
2023-08-08 16:08:16 +00:00
Jan Alexander Steffens (heftig)
c9c7581c4e
srt: Set SRTO_IPV6ONLY to 0 by default
...
Since SRT 1.5.2 this option must be explicitly set to `0` or `1` before
binding to `::`, or binding will fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5157 >
2023-08-08 14:12:19 +00:00
He Junyan
a9e9001778
video DMA: Add several video formats support
...
Add Y410, Y412, Y210, Y212, BGR10A2, P010 and P012 format support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5159 >
2023-08-08 12:29:20 +00:00
Seungha Yang
5976f4b8d8
hlssink2: Always use forward slash separator
...
g_build_filename() will insert back slash on Windows, and resulting
playlist will contain media segment path with back slash if
"playlist-root" property is specified
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5158 >
2023-08-08 08:30:44 +00:00
Fabian Orccon
d07ffae343
h264parser: Write Unregistered User Data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5071 >
2023-08-08 02:47:41 +00:00
Víctor Manuel Jáquez Leal
4583d8c0e8
vajpegdec: simply fixup src caps for iHD
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
64d821af24
va: jpegdec: Do not change the DMA template src caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
72e4bcf4df
va: Delete the usage hint hack when we support DRM modifier
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
d0587cda74
va: Apply the new DMA format:modifier pair negotiation in vpp
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
5df0bfa7cb
va: Apply the new DMA format:modifier pair negotiation in decoder
...
We will consider the DMA modifier for negotiation, setting caps and
memory pool allocation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
919d398bff
va: update the gst_va_dma_drm_info_to_video_info() to use DMA_DRM format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
b1909949cb
va: Improve the template caps for DMA, use new drm-format kind caps
...
We should add the modifier information for each surface format when
we report the template caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
93d763b85c
va: Use new dma drm caps in va pool when we setup DMA pools
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
d7d25de892
va: Use GstVideoInfoDmaDrm in DMA allocator's get/set_format() API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
He Junyan
ab9d11bc17
va: Include drm fourcc header file in gstvavideoformat.h
...
And add some definition to pass the Windows compiling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4044 >
2023-08-07 22:49:26 +00:00
Jan Schmidt
461f943b52
osxaudio: Interpolate clock by counting elapsed time since render calls
...
When advancing the ringbuffer, store the processed CoreAudio sample
time, then interpolate the clock in the _get_delay() calls to smooth
the clock. CoreAudio's "latency" report is always a constant and
otherwise leads to the clock generating a latency-time staircase.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5140 >
2023-08-07 21:33:45 +00:00
Jan Schmidt
e22c7fb3e4
osxaudio: Share debug category in the internal coreaudio object
...
Make the internal coreaudio object output debug to the same
debug category by making it shared between code units.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5140 >
2023-08-07 21:33:45 +00:00