Seungha Yang
f831b92540
nvdecoder: Add support for reconfiguration
...
Instead of creating new decoder instance per new sequence,
re-use configured decoder instance via cuvidReconfigureDecoder()
API. It will make output surface reusable without re-allocation.
Also, in order for application to be able to reserve higher resolution
output surface, "init-max-width" and "init-max-height" properties are
added to each decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
eb0fca4180
nvencoder: Reuse input resource
...
Call input resource map functions (i.e., nvEncRegisterResource,
nvEncUnregisterResource, nvEncMapInputResource, and
nvEncUnmapInputResource) only once and reuse the mapped resources,
instead of per input frame map/unmap
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
ff3120a38c
cudamemory, d3d11memory: Add memory_{get,set}_token_data() methods
...
Similar to GstMiniObject qdata but new methods will use int64
token value and per object lock, instead of GQuark with global
mutex in qdata
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
03425bc702
nvdecoder: Add support for CUDA zero-copy in stateless decoder
...
Wrap mapped decoder output surface using GstCudaMemory and
output without any copy operation. Also, for application to be able to
control the number of zero-copyable output surfaces,
"num-output-surfaces" property is added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
a94af552f5
nvdecoder: Port to C++
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
6ddd1713f1
nvdecoder: Reduce render delay to 2 frames
...
4 frames delay seems to be too high
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
f6defc0c5b
cudamemory: Add gst_cuda_allocator_alloc_wrapped() method
...
... so that application can pass already allocated CUDA memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
e77e6fd4a7
cudamemory: Skip sync if no I/O operation happend on free()
...
Synchronization for unused memory is not required
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
fa2bb42fda
cudaconverter: Use cached texture
...
... instead of per conversion texture alloc/free
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
f44cac1c9f
cudamemory: Make CUtexObject object reusable
...
Create and hold CUtexObject objects in GstCudaMemory so that it can
be reusable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
992406cf4f
cuda, nvcodec: Make GstD3D11 dependency mandatory
...
GstD3D11 build-time dependencies should be always available on Windows already
and runtime dependencies as well, since required external
(non-GStreamer) depends are all system DLLs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:54 +00:00
Seungha Yang
f212bd901b
cuda: Port to C++
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3884 >
2023-02-16 17:49:53 +00:00
Seungha Yang
a37b3ec710
codectimestamper: Fix timestamping on sequence update
...
... and enhance debug logging.
Keep internal timestamp offsets on drain, no reason to reset them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3973 >
2023-02-16 10:51:51 +00:00
Mengkejiergeli Ba
585d2d93f6
codecparsers: {h264,h265}bitwriter: Remove redundant condition checks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3967 >
2023-02-15 16:00:04 +08:00
Evgeny Pavlov
351b72a59a
amfcodec: Initial support of Smart Access Video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3904 >
2023-02-14 19:04:30 +00:00
Evgeny Pavlov
38c3de565b
amfcodec: Update AMF headers to version 1.4.29
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3904 >
2023-02-14 19:04:30 +00:00
Sebastian Dröge
cfb14c4b5d
svtav1enc: Drain and completely reallocate the encoder instance on caps changes
...
The encoder does not support reconfiguration, and only deinitializing it
and then initializing it again causes deadlocks.
Also only reconfigure and drain the encoder if the video info has
actually changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3957 >
2023-02-14 11:59:48 +00:00
Piotr Brzeziński
04615ca55a
vtenc/vtdec: Fix typo in RGBA64_LE availability define
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3912 >
2023-02-13 17:48:37 +00:00
Piotr Brzeziński
8d81c4827c
vtenc: Disable ARGB/RGBA64 caps on M1 Pro/Max with macOS <13
...
Fixes #1358 .
Passing ARGB64/RGBA64 to vtenc caused the encoding to fail
when running on M1 Pro/Max variants with macOS 12.x, so let's
remove these formats from caps when such scenario is detected.
This issue appears to have been fixed OS-side in macOS 13.0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3912 >
2023-02-13 17:48:37 +00:00
Evgeny Pavlov
cf9a82cf84
amfcodec: Add 10-bit & HDR support in AMF AV1 encoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3641 >
2023-02-13 15:38:07 +00:00
Evgeny Pavlov
ec7eb75312
amfcodec: Add 10-bit & HDR support in h265 encoder
...
This commit adds 10 bit source file encoding and HDR metadata support in AMF HEVC encoding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3641 >
2023-02-13 15:38:07 +00:00
Seungha Yang
b3acafc2b0
amfav1enc: Set stream-format on caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3946 >
2023-02-12 23:18:25 +09:00
Seungha Yang
13ae9d2067
qsvav1enc: Set stream-format on caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3946 >
2023-02-12 23:18:04 +09:00
Piotr Brzeziński
e2deebb103
vtdec: Fix not waiting for async frames when flushing
...
This was causing incorrect output when seeking, especially
when used with a multithreaded source like `videotestsrc n-threads=2`.
It should now correctly wait for frames still being processed by VT
while vtdec is flushing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3922 >
2023-02-10 18:35:40 +00:00
Alessandro Bono
fcd983440e
win32ipcutils: Add missing include
...
We are using std::isspace() with one parameter. That function is defined
in the cctype header.
```
win32ipcutils.cpp(34): error C2672: 'std::isspace': no matching overloaded function found
win32ipcutils.cpp(34): error C2780: 'bool std::isspace(_Elem,const std::locale &)': expects 2 arguments - 1 provided
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3933 >
2023-02-10 14:35:20 +00:00
Edward Hervey
edc66ce003
mxfdemux: Add support for FFV1 demuxing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899 >
2023-02-10 10:02:25 +01:00
Edward Hervey
3768ef89b9
mxf: simplify essence track matching
...
By directly providing a valid descriptor to match against
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899 >
2023-02-10 10:02:25 +01:00
Edward Hervey
2d5b71d6e3
mxfdemux: Handle empty tracks
...
This can happen when tracks aren't fully/properly detected due to new descriptors
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899 >
2023-02-10 10:02:25 +01:00
Edward Hervey
206ed12368
mxfdemux: Handle sub-descriptor in generic descriptors
...
Specificied in S377-1 (2019) B.2 Generic Descriptor
This is one of the ways to store more "sub descriptors" for a single track
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899 >
2023-02-10 10:02:25 +01:00
Edward Hervey
56a50c3008
mxf: Add convenience function for looking up primer tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3899 >
2023-02-10 06:25:29 +01:00
Sebastian Dröge
5119ca25e4
av1parser: Don't consider unknown metadata OBUs a bitstream error
...
Just don't parse them.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1774
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3898 >
2023-02-09 14:52:58 +00:00
Edward Hervey
d10f9a00e2
closedcaption: Don't leak caps event
...
All events that we handle should be unreffed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3902 >
2023-02-07 08:51:18 +01:00
Jan Schmidt
621604aa3e
webrtc: Calculate the jitter for remote-inbound-rtp stats
...
Populate the clock-rate in the internal stats structure, so
it can be used by the _get_stats_from_remote_rtp_source_stats()
method to calculate remote receivers' jitter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900 >
2023-02-07 04:58:04 +11:00
Jan Schmidt
615a019457
webrtcbin: Report full codec-stats for source pads
...
Use the current caps for webrtcbin srcpads, as received_caps
are only stored for sink pads based on incoming caps events.
Makes it so that webrtcbin stats reports contain fuller
codec information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3900 >
2023-02-07 04:49:34 +11:00
Adrian Fiergolski
06b778e0a1
avtp: specify the required version of libavtp
...
Support of RVF requires libavtp in version 0.2.0 at least.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3897 >
2023-02-06 13:31:51 +00:00
Ma, Mingyang
99cdc3a965
msdkenc: Let runtime decide parameters
...
Some parameters can be determined by runtime instead of default values. So unset the default and let runtime choose the best parameters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3660 >
2023-02-06 02:24:54 +00:00
Sebastian Dröge
a0ccb6b558
svtav1enc: Use G_DECLARE_FINAL_TYPE and GST_ELEMENT_REGISTER_DEFINE
2023-02-03 22:14:18 +02:00
Sebastian Dröge
aca2bad25c
svtav1enc: Fix compilation with SVT-AV1 1.1 and drop GStreamer 1.16 compatibility
2023-02-03 22:14:18 +02:00
Sebastian Dröge
5bc92375c9
svtav1enc: Fix indentation
2023-02-03 22:14:18 +02:00
Sebastian Dröge
7890a1f8c7
svtav1: Integrate into the build system properly
2023-02-03 22:14:18 +02:00
Sebastian Dröge
b15efacf84
svtav1: Merge SVT-AV1 encoder into gst-plugins-bad
...
This is based on d5e1e2a586020854733f6b0806064d0c900c88d2 from
https://gitlab.com/AOMediaCodec/SVT-AV1 .
2023-02-03 22:13:30 +02:00
Tim-Philipp Müller
85476eab08
kms: drop use of GSlice allocator and remove unnecessary check
...
g_new0() will never return NULL but just abort if it can't
allocate memory (same for g_slice_new).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:10 +00:00
Tim-Philipp Müller
35405de344
shm: drop use of GSlice allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:10 +00:00
Tim-Philipp Müller
3f94d7ec37
midiparse: drop use of GSlice allocator
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:10 +00:00
Tim-Philipp Müller
d95d3e39af
cc708overlay: bump pango requirement and drop no longer required locking
...
Gets rid of GSlice allocation that's never freed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3784 >
2023-02-03 17:48:10 +00:00
Seungha Yang
e1a22402d3
tools: Make sure UTF-8 encoded command line arguments on Windows
...
On Windows, arguments passed in main() are system codepage
encoded and might not be valid UTF-8 string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3828 >
2023-02-03 16:05:19 +00:00
Seungha Yang
090d50e1a0
tests: Add CUDA memory allocator test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629 >
2023-02-03 15:27:43 +00:00
Seungha Yang
10ade466ef
nvenc: Use CUDA stream of memory if exists
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629 >
2023-02-03 15:27:43 +00:00
Seungha Yang
7a8bb85523
cudaupload, cudadownload: Update for shared CUDA stream
...
Use CUDA stream of memory if exists
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629 >
2023-02-03 15:27:43 +00:00
Seungha Yang
aabcba16db
nvdecoder: Skip synchronization if downstream buffer holds CUDA stream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3629 >
2023-02-03 15:27:42 +00:00