Seungha Yang
8ec4452d67
h264decoder: Fix for unhandled low-delay decoding case
...
Baseclass calls get_preferred_output_delay() in a chain of
sequence header parsing and then new_sequence() is called
with required DPB size (includes render-delay) information.
Thus latency query should happen before the sequence header
parsing for subclass to report required render-delay accordingly
via get_preferred_output_delay() method.
(e.g., zero delay in case of live pipeline)
This commit is to fix wrong liveness signalling in case of
upstream packetized format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2363 >
2022-05-05 14:54:54 +00:00
Seungha Yang
ad136cb2c5
h265decoder: Fix for unhandled low-delay decoding case
...
Baseclass calls get_preferred_output_delay() in a chain of
sequence header parsing and then new_sequence() is called
with required DPB size (includes render-delay) information.
Thus latency query should happen before the sequence header
parsing for subclass to report required render-delay accordingly
via get_preferred_output_delay() method.
(e.g., zero delay in case of live pipeline)
This commit is to fix wrong liveness signalling in case of
upstream packetized format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2364 >
2022-05-05 14:10:39 +00:00
Seungha Yang
58c94eed84
nvh264dec,nvh265dec: Don't realloc bitstream buffer per slice
...
Allocated memory size has not been updated which results in
realloc per slice. Fixing it and also release bitstream buffer
on ::close(), not finalize.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2361 >
2022-05-05 12:15:27 +00:00
Jakub Adam
03b6dab006
d3d11screencapture: Set viewport when drawing mouse cursor
...
If there weren't any moved/dirty regions in the captured frame, the
viewport of the ID3D11DeviceContext would be left at whatever previous
value it had, which could lead to the cursor being drawn in a wrong
position and/or in an incorrect size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2362 >
2022-05-04 17:18:32 +02:00
Seungha Yang
33e77782c6
nvcodec: Add AV1 decoder
...
Adding GstCodecs based AV1 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:25 +09:00
Seungha Yang
07cd1dcc6b
av1decoder: Add support for render delay
...
Sync up with other decoder baseclass implementations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:25 +09:00
Seungha Yang
1b4121fded
av1decoder: Hold OBU temporal and spatial id in picture struct
...
NVDEC API requires the information
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:23:11 +09:00
Seungha Yang
1444dd91c5
meson: nvcodec: Remove unnecessary override option and fix build with non-MSVC
...
cpp_std=c++11 was hack for macOS build but we don't build this plugin
for Apple device anymore. And add "-Wno-deprecated-declarations"
compile option for gcc/clang
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-04 01:10:07 +09:00
Seungha Yang
fe4d6bb469
nvcodec: Bump SDK header version to 11.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1453 >
2022-05-03 23:56:34 +09:00
Seungha Yang
29aab904a8
nvdecoder: Handle DPB size margin in a single place
...
... instead of each subclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Seungha Yang
a8b2fbf77f
d3d11decoder: Handle DPB size margin in a single place
...
... instead of each subclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Seungha Yang
6a4c42c03f
codecs: Signal required DPB size for AV1,MPEG2,VP8, and VP9 via new_sequence()
...
Make all codecs consistent so that subclass can know additional DPB
size requirement depending on render-delay configuration regardless
of codec. Note that render-delay feature is not implemented for AV1
yet but it's planned.
Also, consider new_sequence() is mandatory requirement, not optional
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2343 >
2022-05-03 14:17:49 +00:00
Nicolas Dufresne
ab839f3642
v4l2codecs: Port to the new tile size helper
...
This will complete the scaling of width/height shift scaling
as only a partial implementation was made.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2190 >
2022-05-02 19:10:43 +00:00
Thibault Saunier
dd585ecfcc
cuda: Fix introspection warnings
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1183
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2344 >
2022-05-02 18:30:22 +00:00
Seungha Yang
1fb3804408
Revert "cuda: Fix GstCudaContext refcount bug"
...
This reverts commit df7ee0e215
.
We should not unref it since gst_message_new_have_context()
takes ownership of the GstContext.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2342 >
2022-05-02 17:19:13 +00:00
Edward Hervey
89780341e8
tsdemux: Demote warning to simple debug
...
That issue is actually handled, so don't pollute the logs with such warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2340 >
2022-05-02 09:15:57 +02:00
Sebastian Dröge
bf89c80d74
interlace: Also handle a missing "interlace-mode" field as progressive
...
Otherwise caps negotiation will fail in situations that are supposed
to work, like:
"video/x-raw,framerate=(fraction)60/1" ! interlace field-pattern=0 ! "video/x-raw,framerate=(fraction)30/1"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335 >
2022-04-29 23:08:50 +00:00
Sebastian Dröge
c7db9ce70b
interlace: Add some more debug output to the getcaps function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2335 >
2022-04-29 23:08:50 +00:00
Myles Inglis
df7ee0e215
cuda: Fix GstCudaContext refcount bug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2334 >
2022-04-29 22:22:25 +00:00
Ludvig Rappe
26263c194e
webrtc: Fix memory leak in icestream
...
Since both g_value_set_object() and g_weak_ref_get() takes a reference
there will be two new references to the GstWebRTCICE object when there
should be only one. g_value_take_object() has the same functionality as
g_value_set_object() but does not take a reference.
Without this change, the GstWebRTCICE object will be leaked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2333 >
2022-04-29 21:52:43 +00:00
Seungha Yang
9cd6f9d51e
cuda: Correct CUDA device id field in GstContext structure
...
device id is unsigned int, not signed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2311 >
2022-04-29 21:21:04 +00:00
Víctor Manuel Jáquez Leal
245e5e3dfd
codecs: h265decoder: Fix documentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2328 >
2022-04-28 11:58:20 +00:00
Edward Hervey
10f72da504
mpegts: Handle "empty" PMT gracefully
...
Some streams have 2 PMT sections in a single TS packet. The first one is "valid"
but doesn't contain/define any streams. That causes an unrecoverable issue when
we try to activate the 2nd (valid) PMT.
Instead of doing that, pre-emptively refuse to process PMT without any streams
present within. We still do post that section on the bus to inform applications.
Fixes #1181
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2310 >
2022-04-28 09:36:54 +00:00
Stéphane Cerveau
fcc6fa21e9
srtp: fix flaky unit test
...
Use different port for each test to avoid other UDP
packet to be received.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2294 >
2022-04-28 07:53:19 +00:00
Seungha Yang
4047653275
d3d11h265dec: Assign PRIMARY + 1 rank
...
Promote d3d11h265dec to be default one if available
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2314 >
2022-04-27 20:06:53 +00:00
Seungha Yang
dce45586e8
nvvp9sldec: Increase DPB size to cover render delay
...
This should've included in the previous MR
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/987
already, but missed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2313 >
2022-04-27 18:35:07 +00:00
Thibault Saunier
4fd3886f5d
qroverlay: Reset data_changed after we use the info
...
It was never reset so it was always TRUE once the data was changed!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299 >
2022-04-27 15:09:47 +00:00
Thibault Saunier
1b31a2af45
qroverlay: Add a GstQROverlay meta
...
See documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2299 >
2022-04-27 15:09:47 +00:00
Mathieu Duponchelle
efc29565d6
rtponviftimestamp: add extension data to all packets ..
...
regardless of whether they are input as individual buffers or
buffer lists.
The ONVIF specification requires all packets to hold the extension,
it makes no sense to behave differently when handling buffer lists.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2303 >
2022-04-27 06:39:24 +00:00
Thibault Saunier
3c959ff53e
cudaconvert: Enhance debugging when setting video info fails
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2300 >
2022-04-26 19:04:06 +00:00
He Junyan
9ec4041a51
codecparsers: bitwriter: Calculate PicSizeInCtbsY when writing slice header.
...
The slice->pps->PicWidthInCtbsY/PicHeightInCtbsY values are calculated when
we parse the slice header. But they are not calculated in bitwriter and so
may not have valid value when writing slice header.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287 >
2022-04-26 16:04:15 +00:00
He Junyan
abf19020a4
codecparsers: bitwriter: Fix some coverity issues of H265 bitwriter.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2287 >
2022-04-26 16:04:15 +00:00
He Junyan
264e577e7e
va: dec: Use gst_buffer_pool_config_set_va_alignment() to set alignment.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282 >
2022-04-26 20:26:09 +08:00
He Junyan
163cbd5892
va: pool: Replace all tabs with spaces in header file.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282 >
2022-04-26 20:26:06 +08:00
He Junyan
fac57fcb8d
va: pool: Delete the GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.
...
The va pool is used for GPU side surface/image, its alignment should
not be changed arbitrarily by others. So we decide not to expose the
GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT flag anymore.
Instead, user can call gst_buffer_pool_config_set_va_alignment() to
set its surface/image alignment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282 >
2022-04-26 20:26:02 +08:00
He Junyan
fd81cb2ad4
va: pool: Add set_va_alignment() API.
...
We want to use gst_buffer_pool_config_set_va_alignment() to replace
gst_buffer_pool_config_get_video_alignment(). The later one is specific
for GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT option.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2282 >
2022-04-26 20:25:57 +08:00
He Junyan
b2aaf0f2e5
av1parse: Fix a latent memory leak in colorimetry setting.
...
Also delete the useless "have_cinfo" judgement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288 >
2022-04-26 02:14:15 +00:00
He Junyan
164e01b14e
av1parse: Correct the meaning of color_range flag.
...
According to spec:
color range equal to 0 shall be referred to as the studio swing
representation and color range equal to 1 shall be referred to as
the full swing representation.
The current status is just the opposite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2288 >
2022-04-26 02:14:15 +00:00
Seungha Yang
81ee2a9f2a
qsvencoder: Workaround for invalid DTS with VP9
...
SDK runtime seems to report zero DTS for all frames in case of VP9 but
we don't need to use DTS for the codec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2291 >
2022-04-26 04:51:54 +09:00
Seungha Yang
205a23f456
nvcodec: Stop building for non-{Windows,Linux} target
...
The other platforms, specifically macOS have not been supported already
because this plugin loads so or dll. Moreover, NVIDIA dropped
support for macOS as of CUDA 11.0. See also
https://developer.nvidia.com/nvidia-cuda-toolkit-11_0_0-developer-tools-mac-hosts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2283 >
2022-04-25 15:50:52 +00:00
Stéphane Cerveau
12776ba0fd
srtp: add unit tests
...
Enable unit tests in meson.build
Add test_play_key_error to check the stats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027 >
2022-04-25 13:57:42 +00:00
Stéphane Cerveau
c77d07752a
srtpdec: add counts in stats
...
In order to count the buffers which have been received and dropped for
decryption reason, add a stats to track it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2027 >
2022-04-25 13:57:42 +00:00
Seungha Yang
9f19ca68b3
d3d11videosink: Fix for unhandled mouse double click events
...
Only window created with CS_DBLCLKS style can receive those mouse
double click events, so we need to use the style for internal/external
windows can get double click events.
Also, passthrough mouse events to parent window in the same message pumping
threads instead of manually forwarding each mouse event.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1172
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2277 >
2022-04-23 13:20:54 +00:00
Xavier Claessens
1a0eea3299
Meson: Fix deprecation warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1876 >
2022-04-23 00:33:00 +00:00
Stéphane Cerveau
9d6a7dbdf3
rvsg: fix cairo include
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2276 >
2022-04-23 00:00:23 +00:00
Corentin Damman
df64280874
cuda-converter: fix nvrtc compilation on non-English locale systems
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2268 >
2022-04-22 18:57:22 +00:00
Sangchul Lee
c5b1eecb69
webrtcbin: Avoid access of freed memory
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2256 >
2022-04-22 14:45:05 +00:00
He Junyan
277aa12b86
va: h264enc: Do not let L0 number surplus the HW limitation.
...
The algorithm to calculate the L0/L1 number may let the L0 number
surplus the HW limitation. We should ensure that limitation after
that calculation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2202 >
2022-04-22 13:32:21 +00:00
He Junyan
d824698561
test: Add test cases for the H265 bitwriter.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831 >
2022-04-22 07:35:17 +00:00
He Junyan
d9d03e1dba
codecparsers: bitwriter: Add the common bit writer functions for H265.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1831 >
2022-04-22 07:35:17 +00:00