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
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
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
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
43dfe021da
va: vpp: Update the colorimetry and HDR fields when fixup src caps.
...
When we fixup src caps, the current way of handling the HDR fields is not
correct.
1. We trim the HDR fields only when the input caps is not a subset of the
fixup src caps. But in fact, the input caps with HDR fields such as the
"mastering-display-info" can possibly be the subset of the fixup src caps,
if they have all same other fields.
2. We always copy the colorimetry from input caps to src caps if it is
absent. But when hdr-tone-mapping is enabled, the HDR->SDR conversion makes
the colorimetry change. We should use downstream's setting, or just use the
default colorimetry of SDR.
We changes to:
1. If hdr-tone-mapping is enabled, we trim all HDR fields and add a correct
colorimetry.
2. Copy colorimetry from input if it is still absent.
3. Consider the subset replacement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2244 >
2022-04-22 06:53:37 +00:00
Seungha Yang
6a3776c527
qsv: Add GPU description to element long-name on Windows
...
Would be useful for a multi-Intel-GPU system
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2249 >
2022-04-20 18:49:18 +00:00
Víctor Manuel Jáquez Leal
722a6c7708
vapostproc: Notify if hdr-tone-mapping property changes.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2247 >
2022-04-20 17:01:52 +00:00
Víctor Manuel Jáquez Leal
e207ff905b
va: Expose a couple va surface/buffer methods.
...
And use them in va plugin.
Also, set as default logging category the vadisplay one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2077 >
2022-04-20 15:15:56 +00:00
Xavier Claessens
b99ecc78ca
Replace gst-i18n-*.h with gi18n-lib.h
...
GLib guarantees libintl is always present, using proxy-libintl as
last resort. There is no need to mock gettex API any more.
This fix static build on Windows because G_INTL_STATIC_COMPILATION must
be defined before including libintl.h, and glib does it for us as part
as including glib.h.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2028 >
2022-04-19 18:01:06 +00:00
Thibault Saunier
dcd2ccad59
cuda: Fix typo in gst_cuda_buffery_copy_type_to_string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Thibault Saunier
c033f8fad2
cuda: Factor out a public GstCUDA library
...
So applications and elements implemented outside GStreamer can reuse
our infrastructure
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Thibault Saunier
3549d59725
nvenc: Give more details about errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1472 >
2022-04-19 16:39:43 +00:00
Seungha Yang
c38869212c
d3dvideosink: Remove outdated comment
...
d3dvideosink is not a primary video sink element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2223 >
2022-04-18 20:27:34 +00:00
Seungha Yang
dd32e2efbc
d3d11decoder: Do not preallocate texture using downstream d3d11 buffer pool
...
Our decoder implementation does not use downstream d3d11 pool for
decoding because of special requirement of D3D11/DXVA. So preallocation
using the downstream buffer pool will waste GPU memory in most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2211 >
2022-04-18 18:31:02 +00:00
He Junyan
4c5d34648c
va: h264enc: Fix the forgotten unlock() when getting device path property.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2215 >
2022-04-18 12:44:19 +08:00
Seungha Yang
23e280f05b
qsvdecoder: Use system memory for non-d3d11 downstream
...
QSV's memory download implementation seems to be more faster
than our implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 22:59:48 +09:00
Seungha Yang
9543998aa3
qsv: Add H.265 decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:31 +09:00
Seungha Yang
d136c98770
qsv: Include single gstva.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:31 +09:00
Seungha Yang
fba44e8a01
qsvh264dec: Don't register element if it's not supported by device
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:31 +09:00
Seungha Yang
0692a5dde9
qsvh264dec: Add support for packetized format
...
Handle avc/avc3 packetized formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 20:57:26 +09:00
Seungha Yang
3c3274a8da
qsv: Move debug init into each source file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 04:15:13 +09:00
Seungha Yang
a9a49c235d
qsvdecoder: Reset next_task_index per init_session()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2206 >
2022-04-17 04:15:13 +09:00
Seungha Yang
b5a8bef5a7
d3d11decoder: Copy HDR10 related caps field manually
...
If negotiate() is called from the set_format() chain, sinkpad may not
hold caps yet, so baseclass cannot copy it over to srcpad caps.
Copy them manually.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2203 >
2022-04-16 18:36:41 +00:00
Seungha Yang
86cf307a6c
qsvencoder: Rename property name i-frames to idr-interval
...
... and clarify the meaning of the value for each h264 and h265
encoder since the usage of mfxInfoMFX::IdrInterval is different
per codec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204 >
2022-04-16 23:34:41 +09:00
Seungha Yang
f848619ff4
qsvh265enc: Write HDR10 metadata SEI
...
If device supports HDR10 metadata API, write the information
into bitstream per IDR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2204 >
2022-04-16 23:34:41 +09:00
Víctor Manuel Jáquez Leal
a2a6ece487
vah264enc: Use GstVaFeature enum for enabling MBBRC.
...
GstVaFeature is a common enumeration for auto/disabled/enabled kind of
property setting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169 >
2022-04-16 11:11:51 +00:00
Víctor Manuel Jáquez Leal
3a7c1ddb3c
vah264enc: Move rate-control enum to encoder class helper.
...
Since it's a common enumeration used, as user setting property, for
most of codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169 >
2022-04-16 11:11:51 +00:00
Víctor Manuel Jáquez Leal
81951c59ef
vah264enc: Add device-path property.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2169 >
2022-04-16 11:11:51 +00:00
Corentin Damman
c68c40a6bc
cudautils: fix critical typo in gst_cuda_buffer_fallback_copy
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2194 >
2022-04-16 02:16:22 +00:00
He Junyan
c5546d476a
va: h264enc: Correct the hierarchical level name for pyramid-b frames.
...
The current way names the level by the number of B frames it contains, the
less it contains, the higher level it is. So the non ref B frames are in the
lowest layer and the B frames in the highest level refer to I/P frames.
But the widely used way is just the opposite, the ref B frames are in the
lower level and non ref B frames are at the highest level.
The is just a terminology change, and does not have any effect for compression
result and quality.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2149 >
2022-04-13 08:22:32 +00:00
Seungha Yang
83ba83924a
amfh265enc: Handle preset option
...
Add missing preset option handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165 >
2022-04-13 01:46:34 +09:00
Seungha Yang
097919f79b
amfencoder: Do shared resource copy only if texture belongs to other device
...
Staging texture from the same d3d11device can be copied without
shared resource handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2165 >
2022-04-13 01:42:34 +09:00
Seungha Yang
2548014dfc
win32: Enable high-resolution timer for MinGW build
...
timeapi.h is missing in our MinGW toolchain. Include mmsystem.h
header instead, which defines struct and APIs in case of our MinGW
toolchain. Note that in case of native Windows10 SDK (MSVC build),
mmsystem.h will include timeapi.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2153 >
2022-04-12 15:09:16 +00:00
Andoni Morales Alastruey
2df32360b2
amfcodec: fix setting quality presets
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2159 >
2022-04-12 12:14:04 +02:00
Seungha Yang
ad9c435647
amfcodec: Fix for MinGW build
...
timeapi.h header might not be missing depending on toolchain.
Also do hard meson error if winmm dep is not available but
amfcodec is explicitly enabled.
And fixing various GCC build warning errors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2155 >
2022-04-11 18:44:40 +00:00
Seungha Yang
ad434759a9
qsv: Add JPEG encoder
...
Note that YUY2 is not supported yet, since the format support is not
implemented now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2142 >
2022-04-10 23:38:07 +09:00
Seungha Yang
89293656e4
amfcodec: Update plugin cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2143 >
2022-04-10 03:15:02 +09:00
Seungha Yang
a0d8133d60
nvencoder: Update property names and default values
...
Update properties of newly written D3D11/CUDA mode encoders
to be consistent with Intel QSV plugin. And rename "zerolatency"
to "zero-reorder-delay" because previous "zerolatency" may
misleading
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140 >
2022-04-09 14:00:35 +00:00
Seungha Yang
7b89cdbefe
qsvencoder: Update property names and default values
...
Stop using MSDK plugins property naming, instead use unified names
and default values to be consistent with newly written NVIDIA encoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2140 >
2022-04-09 14:00:35 +00:00
Seungha Yang
f413449a28
amfcodec: Add support for h264/h265 encoding
...
New encoder implementations for AMD GPU using AMF API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109 >
2022-04-08 17:59:12 +00:00
Seungha Yang
c41a72a1ff
amfcodec: Import AMF SDK headers
...
SDK version v1.4.24 at the commit of
fbf12cd39f
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2109 >
2022-04-08 17:59:12 +00:00
Seungha Yang
6e4ffaee1e
msdk: Fix Windows build
...
Headers of gstva should not be included on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2141 >
2022-04-09 02:13:57 +09:00
Seungha Yang
2291781087
d3d11window: Use ANSI version WIN32 API explicitly
...
We were using ANSI version APIs implicitly because UNICODE is not
defined by ourselves. But potentially it can be broken if user
defines UNICODE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131 >
2022-04-08 11:51:37 +00:00
Seungha Yang
fb226f4733
d3d11: Run indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2131 >
2022-04-08 11:51:37 +00:00
Seungha Yang
26fa35dcdf
qsvencoder: Don't use USAGE_HINT_ENCODER and enable derived image support
...
Peformance issue by disabled derived image support was reported
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111 >
2022-04-04 21:18:13 +00:00
Seungha Yang
b74da32b5c
Revert "vah264enc: Disable derived image support"
...
This reverts commit 0011feb0d6
.
The commit caused performance-wise regression for some platforms
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2111 >
2022-04-04 21:18:13 +00:00
Tong Wu
4e97cc24a7
msdk: use mfxU32 instead of uint32_t
...
Msdk should use mfx variables defined in mfxdefs.h. Replace uint32_t
with mfxU32.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2091 >
2022-04-04 20:28:25 +00:00
Seungha Yang
5ed8e416fe
nvcodec: Fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107 >
2022-04-03 22:12:33 +09:00