Seungha Yang
26dd6c5c26
d3d11videosink: Fix rendering on external handle
...
Partial revert of the commit 068a5c1053
.
That introduced size mismatch between internal and external HWND
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4006 >
2023-02-20 22:35:27 +00: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
77b3e461db
qsvh264enc: Add more encoding options
...
Adding trellis quantization, frame size, slice size and number of
slices related encoding options
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
5eb4253547
qsvh264enc: Optimization for byte-stream to packetized format conversion
...
Allocate single memory instead of per NAL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4005 >
2023-02-20 21:52:43 +00:00
Seungha Yang
b1c14b0357
nvencoder: Fix b-frame encoding on Linux
...
On Windows, Win32 event handle is used to wait for encoded output,
but it's not available on Linux. We should delay bitstream locking
if encoder returns "need-more-input"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4004 >
2023-02-20 20:49:01 +00:00
Colin Kinloch
0b52663815
fpsdisplaysink: Skip reporting on frame counter reset
...
When the QoS stats are reset (e.g. changing the source) the counters for
dropped + rendered frames are reset to zero which result in negative values
for their difference. This results in max-fps getting pegged at an extremely
high value.
```
fpsdisplaysink.c:373:display_current_fps:<fpsdisplaysink0> Updated max-fps to 36840705952231460864.000000
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3989 >
2023-02-20 19:47:56 +00:00
Colin Kinloch
56cc2132da
fpsdisplaysink: Log final statistics on stop
...
Add a final message to the debug log that lists the min, max and average framerates when state of fpsdisplaysink transisions to NULL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3988 >
2023-02-20 19:04:42 +00:00
Víctor Manuel Jáquez Leal
573eecac30
vah265enc: Use helper to update properties.
...
This is a continuation of the original patch by
Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3996 >
2023-02-20 18:18:27 +00:00
Nicolas Dufresne
9aa41aa35e
h264bitwriter: Remove second_chroma_qp_index_offset cast
...
That API pps->second_chroma_qp_index_offset has been fixed to reflect
the sign of field in the spec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3966 >
2023-02-20 16:40:02 +00:00
Mengkejiergeli Ba
b5b86a0c98
nvh264dec: Remove type casting
...
Have fixed type of second_chroma_qp_index_offset as gint8, so remove the type
casting here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3966 >
2023-02-20 16:40:01 +00:00
Mengkejiergeli Ba
bca3a3c923
h264parser: Fix the type of a parameter
...
From spec, the value of second_chroma_qp_index_offset is in the range of
-12 to +12 inclusive. Fix its type from guint8 to gint8.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3966 >
2023-02-20 16:40:01 +00:00
Mengkejiergeli Ba
7278c31ea8
vaallocator: Check return value from va_sync_surface
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3919 >
2023-02-20 16:02:38 +00:00
Mengkejiergeli Ba
735b6af5b9
va: Fix some code defects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3919 >
2023-02-20 16:02:38 +00:00
Mengkejiergeli Ba
4e60e91a05
msdkdec: Fix some lock issue
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3947 >
2023-02-20 09:38:09 +08:00
Seungha Yang
b88b323e04
nvencoder: Optimization for byte-stream to packetized format conversion
...
Allocate single memory instead of per NAL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992 >
2023-02-20 02:15:24 +09:00
Seungha Yang
070a80943d
nvencoder: Add support for caption insert
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1406
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992 >
2023-02-20 02:15:24 +09:00
Seungha Yang
b6d371295a
nvencoder: Add support for HDR10 static metadata
...
Insert HDR10 SEIs per IDR
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992 >
2023-02-20 02:15:24 +09:00
Seungha Yang
84ec16c67a
nvencoder: Add support for GL memory
...
preparation to deprecate old NVENC elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992 >
2023-02-20 02:15:19 +09:00
Seungha Yang
58373e38f4
nvencoder: Fix critical warning in autogpu mode
...
If upstream memory is not CUDA, CUDA context will be null.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992 >
2023-02-20 01:49:31 +09:00
Seungha Yang
59f359eb99
cuda: Rename macro HAVE_NVCODEC_GST_GL -> HAVE_CUDA_GST_GL
...
... and always use #ifdef instead of #if
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3992 >
2023-02-20 01:49:31 +09:00
Mengkejiergeli Ba
b2fcc177f5
av1parser, h265parser: Fix some code defects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3953 >
2023-02-19 11:23:00 +00:00
Zhao, Gang
84212b3c34
README: Add note about updating subprojects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3993 >
2023-02-19 15:39:57 +08:00
Rafał Dzięgiel
2d79f7d392
dashdemux2: mpdclient: Debug all restrictions when selecting rep
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3894 >
2023-02-18 22:47:18 +01:00
Rafał Dzięgiel
d86b2d4efa
dashdemux2: Add start-bitrate property
...
Similarly to hlsdemux2 that has this property, also add it to dashdemux2
so users can use it to choose first alternate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3894 >
2023-02-18 22:47:07 +01:00
Rafał Dzięgiel
9d720554a0
dashdemux2: Improve initial representation selection
...
Do not always start with lowest quality possible. Use properties set
by user to select best allowed initial representation at startup too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3894 >
2023-02-18 21:05:25 +00:00
Rafał Dzięgiel
38028c9873
hlsdemux2: Make start-bitrate property work without connection-speed
...
Makes "start-bitrate" work without setting "connection-speed" property. Having
another property set as a requirement for this one to work is unexpected.
This commit allows to request some initial bitrate for first segment, then
go into adaptive streaming for the rest of media playback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3895 >
2023-02-17 17:48:40 +01:00
Yinhang Liu
b5357cbcbc
msdkav1enc: fix the category for msdkav1enc debug
...
The msdkav1enc debug initialized with gst_msdkav1dec_debug,
fix this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3985 >
2023-02-17 16:02:58 +08:00
Seungha Yang
d8e4b44041
gitignore: Ignore editor specific config files
...
Ignore VSCode specific config files. Probably
people might want to add more other editor/IDE
specific files to gitignore as of this commit though,
we can prune it based on agreement later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1276 >
2023-02-16 21:05:40 +00:00
Thibault Saunier
90d3106192
meson: Cleanup and avoid installing python bindings if python is not found
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3929 >
2023-02-16 19:43:12 +00:00
Thibault Saunier
da11e6610e
meson: Use python module to install override files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3929 >
2023-02-16 19:43:11 +00:00
Mathieu Duponchelle
47c183cdfd
ges-launcher: slight clean up of _set_rendering_details
...
Single exit point, ges_printerr, never g_error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3977 >
2023-02-16 18:48:23 +00:00
Mathieu Duponchelle
4c2bd05fdd
ges-launcher: allow overriding container profile
...
When constructing an output profile using --profile-from, it is useful
to be able to override the top level container profile.
Expose a --container-profile option that applies as an override after
other methods for constructing an output profile have run. If no other
method was used, this will result in an empty top level container.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3977 >
2023-02-16 18:48:23 +00:00
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
9147dc3d37
vaapidec: Fix uninitialized vars
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3918 >
2023-02-16 03:47:12 +00:00
Thibault Saunier
2837f14b6b
tests: Move srtp test known issue def to the 'check' testuite
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3979 >
2023-02-16 02:39:05 +00:00
Thibault Saunier
1146548c3d
validate:launcher: try to bne more explicit about where to add known failure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3979 >
2023-02-16 02:39:04 +00:00
Thibault Saunier
c637d90be9
validate:launcher: Handle known return code issue in none validate based tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3979 >
2023-02-16 02:39:04 +00:00