Brad Hards
804a6054bb
h264parse: add unit test for Precision Time Stamp in SEI messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Andoni Morales Alastruey
ca2eb9f65f
h264parse: add support Precision Time Stamp in SEI messages
...
Expose User Data Unregistered as a new Meta and add
API to parse Precision Time Stamp (ST 0604).
Fixes #927
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1458 >
2022-06-03 08:29:05 +00:00
Seungha Yang
9d0f792b66
meson: cuda: Add missing override_dependency()
...
Required for GstCuda library to be consumed via "gstreamer-cuda-1.0"
dependency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2539 >
2022-06-02 19:14:12 +00:00
Seungha Yang
dc1d5f798f
cuda: Fix uninitialized debug category
...
Make sure debug category init
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2542 >
2022-06-02 18:33:30 +00:00
Mengkejiergeli Ba
7696ca83b2
msdkav1enc: Reorder pts
...
This is a workaround for pts because oneVPL cannot handle the pts
correctly when there is b-frames. We first cache the input frame pts in
a queue then retrive the smallest one for the output encoded frame as
we always output the coded frame when this frame is displayable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Mengkejiergeli Ba
ae7dfb9680
msdkav1enc: Add b-pyramid and p-pyramid
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Mengkejiergeli Ba
8ea23fd0da
msdkav1enc: Add tile for encoding
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Mengkejiergeli Ba
610b7ee66a
msdk: Add msdkav1enc element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2089 >
2022-06-02 13:39:11 +00:00
Jakub Adam
9fd396834a
amfencoder: always empty the queue when pushing output samples
...
gst_amf_encoder_try_output() pushes at most one output buffer downstream
although more may be ready. As a consequence, output samples will keep
queueing up in AMFComponent whenever QueryOutput() returns AMF_REPEAT
(and do_wait is FALSE). This has negative impact on latency when the
video being encoded is a live stream.
In order to avoid it, always retrieve and push all samples available in
AMFComponent's output queue at once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2536 >
2022-06-01 18:19:09 +02:00
Seungha Yang
7acfd0cdd1
directshow: Fix for uninitialized debug category warning
...
A method in the code is used in another place (device provider)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2519 >
2022-05-30 12:00:43 +00:00
Víctor Manuel Jáquez Leal
be948816d3
va: Register base classes as abstract.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521 >
2022-05-29 16:03:46 +00:00
Víctor Manuel Jáquez Leal
ae9fe4a851
va: encoder: Use entrypoint type.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2521 >
2022-05-29 16:03:46 +00:00
Víctor Manuel Jáquez Leal
4474056f6f
va264enc: Fix typo.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508 >
2022-05-29 11:56:39 +00:00
Víctor Manuel Jáquez Leal
e83983d7ca
va: encoder: Fix regression since commit 2042c2d4f0
.
...
There's no need to compare with the open entrypoint to query the
encoder. This commit removes the checks to the configured entrypoint
with the parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2508 >
2022-05-29 11:56:39 +00:00
Seungha Yang
5762dfb15d
mfvideoencoder: Handle dynamic property update
...
Re-init MFT on property update to apply new encoding options
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
2db6e0ac3c
mediafoundation: Run indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
9fbf4f9c10
mfvideoenc: Remove redundant bitwise or operation
...
MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY (0xc0) covers
MFT_ENUM_FLAG_SORTANDFILTER (0x40)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
442d21ab2a
mfvideoencoder: Early terminate d3d11 interop
...
Shared texture will work only for the same GPU
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
39dd92fa5e
mfvideoencoder: Check HRESULT code as well for GPU sync
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Seungha Yang
00ae87cbb5
mfvideoencoder: Don't specify keyed mutex misc flag
...
Current implemetation copies textures using non-keyed mutex way.
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX is pointless
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2037 >
2022-05-28 23:12:53 +09:00
Víctor Manuel Jáquez Leal
24527856cb
vacompositor: Pass video info pointer than copying it.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496 >
2022-05-28 00:00:39 +00:00
Víctor Manuel Jáquez Leal
f9b631e0ea
vacompositor: Remove useless consts.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2496 >
2022-05-28 00:00:39 +00:00
Seungha Yang
fe64295841
d3d11decoder: Work around Intel DXVA driver crash
...
Intel DXVA driver crashes sometimes (from GPU thread) if
ID3D11VideoDecoder is released while there are outstanding view objects.
To make sure the object life cycle, holds an ID3D11VideoDecoder refcount
in GstD3D11Memory object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2504 >
2022-05-27 15:13:15 +00:00
Seungha Yang
7c8902c983
qsvencoder: Bind internal texture to render target
...
... so that memory allocator can initialize texture with black color
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502 >
2022-05-27 14:03:49 +00:00
Seungha Yang
0deb73d9ba
d3d11memory: Clear YUV texture with black color
...
We prefer black color as an initial texture color and
Direct3D11 runtime will initialize texture with zeros (except for alpha)
which is fine for RGB formats. But UV components of YUV texture
requires manual clear for black color.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2502 >
2022-05-27 14:03:49 +00:00
U. Artie Eoff
becabd36da
tests: va: add simple vacompositor test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2481 >
2022-05-27 09:42:36 +00:00
Mengkejiergeli Ba
81d2982476
msdkh265enc: Add intra refresh parameters
...
Note that for msdkh265enc, intra refresh parameters are only supported
under low-power mode. If these parameters are set without enabling lowpower,
they will be simply ignored.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308 >
2022-05-27 02:15:42 +00:00
Mengkejiergeli Ba
9c8cb97db9
msdkh264enc: Add intra refresh parameters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2308 >
2022-05-27 02:15:42 +00:00
Seungha Yang
aa835f5e64
tests: examples: Stop duplicating keyboard interaction handler code
...
Extract the code from QSV and use it for D3D11 and NVCODEC examples
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2468 >
2022-05-26 18:52:35 +00:00
Tim-Philipp Müller
962dc37d4f
webrtc: fix build with older libnice versions
...
1) check for right macro name when checking for NICE_VERSION_CHECK
2) if libnice version is 0.1.18.1 this should not satisfy
a NICE_VERSION_CHECK(0,1,19).
Fixes build with libnice 0.1.18.1 subproject checkout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2499 >
2022-05-26 18:17:49 +00:00
Jan Schmidt
6c0423b861
amc: Don't map input buffer with write mode
...
When copying data out of a GStreamer buffer, we don't
need to map it writable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2492 >
2022-05-26 12:44:03 +00:00
Philippe Normand
eefd793011
webrtc: Use new libnice API to get the candidate relay address
...
Corresponding libnice API added in:
https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/229 (0.1.19)
https://gitlab.freedesktop.org/libnice/libnice/-/merge_requests/232 (0.1.20)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Philippe Normand
08021caa73
webrtc: Ensure the NICE_CHECK_VERSION macro is available
...
This macro was introduced in libnice 0.1.19.1, so until we bump our libnice
dependency to 0.1.20 we have to vendor the macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Philippe Normand
c19319c777
webrtc: Refactor ICECandidateStats freeing logic to a dedicated function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Philippe Normand
dce8a7750d
webrtcbin: Document IceCandidateStats and RTCIceCandidatePairStats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Sherrill Lin
f335b40ae8
webrtcstats: Update unit test for outbound rtp stats
...
"remote-id" is not guaranteed to present after commit 1deb034e3d
.
Thus, we should not fail the test if "remote-id" is not found.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
Sherrill Lin
3e7fb83393
webrtcstats: Improve selected candidate pair stats by adding ICE candidate info
...
The implementation follows w3.org specs:
* https://www.w3.org/TR/webrtc-stats/#icecandidate-dict *
* https://www.w3.org/TR/webrtc-stats/#candidatepair-dict *
Corresponding unit tests are also added.
Rebased and updated from
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1462
Fixes #1207
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1998 >
2022-05-26 10:54:59 +00:00
He Junyan
2042c2d4f0
va: H264enc: Add encoder for VAEntrypointEncSliceLP.
...
We name vah264lpenc to support H264's VAEntrypointEncSliceLP encoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2472 >
2022-05-25 20:40:48 +00:00
He Junyan
d47416d3a2
va: encoder: Do not reset the frame count when reconfig().
...
We should not reset the input/output_frame_count when some configure
changes. For example, the if resolution changes, the current way just
resets the frame count and make the PTS of the output buffer restart
from the original PTS of the first frame. That causes a lot of QOS
event and drop all the new frames.
We should only reset them when encoder start().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489 >
2022-05-25 18:56:34 +00:00
He Junyan
994f2c56e2
va: encoder: change reset_state() to a virtual function of base class.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2489 >
2022-05-25 18:56:34 +00:00
U. Artie Eoff
8a161880fc
vacompositor: check caps and info return values
...
Check return values for get caps and video info from caps.
This was flagged by static analysis.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2480 >
2022-05-25 10:16:00 +00:00
Seungha Yang
9b128f1841
d3d11decoder: Don't print error log on negotiation failure
...
It may not be a critical error and even expected when shutting down
pipeline or flushing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2483 >
2022-05-25 05:46:40 +09:00
Erwann Gouesbet
09a45c37ca
d3d11screencapture: Fix missing/outdated cursor shape
...
d3d11screencapture can miss a cursor shape to draw or draw an outdated cursor shape.
- AcquireNextFrame only provides cursor shape when there is one update
- current d3d11screencapture skips cursor shape when mouse is not drawn
So, if a gstreamer application uses d3d11screencapture with cursor initially not drawn
"show-cursor"=false and then switches this property to true, the cursor will not be
actually drawn until AcquireNextFrame provides a new cursor shape.
This commit makes d3d11screencapture always update the cursor shape information, even
if the mouse is not drawn. d3d11screencapture will always have the latest cursor shape
when requested to draw it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2485 >
2022-05-24 20:10:00 +00:00
Víctor Manuel Jáquez Leal
8433bab0b5
va: Avoid unused variable if logging is disabled.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2478 >
2022-05-24 19:07:47 +00:00
Víctor Manuel Jáquez Leal
84c0d02755
va: Keep include's code style
...
Headers are in alphabetical order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2465 >
2022-05-24 13:41:50 +00:00
Víctor Manuel Jáquez Leal
46e536898f
vafilter: Fix logging of unsupported alpha blending.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2477 >
2022-05-24 12:30:49 +00:00
Matthew Waters
be2dfd0c36
webrtcbin: reuese the same fec/rtx/red payload types for the same media payload
...
WHen bundling, if multiple medias are used with the same media payload, then
each of the fec/rtx/red additions would add a distinct payload. This could
very easily overflow the available payload space.
Instead, track the relationship between the media payload value and
the relevant fec/rtx/red payload values and reuse them whenever
necessary, even when bundling.
e.g.
...
a=group:BUNDLE video0 video1
m=video 9 UDP/SAVPF 96 97
a=mid:video0
a=rtpmap:96 VP8/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
...
m=video 9 UDP/SAVPF 96 97
a=mid:video1
a=rtpmap:96 VP8/90000
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2474 >
2022-05-24 10:21:11 +00:00
Seungha Yang
e22314a6bd
tests: examples: Fix typo in QSV encoder example
...
Fixing width adjustment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467 >
2022-05-23 13:28:11 +00:00
Seungha Yang
4c384f8356
qsv: Add AV1 encoder element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467 >
2022-05-23 13:28:11 +00:00
Seungha Yang
8e665fa435
qsvencoder: Move common property to baseclass
...
adapter-luid and device-path are common for all codecs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2467 >
2022-05-23 13:28:11 +00:00