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
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
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
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
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
He Junyan
fc75e38496
va: baseenc: No need to check the frame pointer in handle_frame().
...
No need to check the NULL pointer of "frame" in error handling, it
is assured non-NULL by base class and we already use it everywhere
in this function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2471 >
2022-05-23 15:03:03 +08:00
He Junyan
de5952bc83
va: baseenc: include the "vacompat.h" for old version glib.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2463 >
2022-05-22 15:03:54 +08:00
U. Artie Eoff
d2651a1e0b
va: vpp: enable compositor
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332 >
2022-05-21 21:18:15 +02:00
U. Artie Eoff
afe8723196
va: vpp: add compositor
...
New implementation of a VA-API compositor with blend feature.
Various chunks of code was taken from vavpp.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2332 >
2022-05-21 21:18:15 +02:00
He Junyan
a2920411d3
va: Apply the va base encoder to the vah264enc.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330 >
2022-05-20 22:58:58 +02:00
He Junyan
21a9ba7e7e
va: Add the GstVaBaseEnc common object for all va encoders.
...
Just like the GstVaBaseDec and GstVaBaseTransform, this base encoder
will handle all common logic for all va encoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2330 >
2022-05-20 22:58:58 +02:00
Seungha Yang
909154a989
qsv: Disable non-MSVC build on Windows
...
... and remove pointless UWP consideration that will never work.
Cross-compiled binary has an issue which causes deadlock.
Although cerbero will not build this plugin for non-MSVC build,
people can still build this plugin and may complain its brokenness.
See also
https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/854
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2431 >
2022-05-17 03:32:10 +09:00
Diogo Goncalves
acfc9ae216
avfvideosrc: fix wrong framerate selected for caps
...
This fix solves an issue where a format that doesn't support the
requested framerate would be selected. It ensures that we use the first
format and framerate pair that supports the requested caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2331 >
2022-05-13 19:38:45 +00:00
Seungha Yang
858520932c
d3d11decoder: Add hardcoded minimum resolution values to caps for NVIDIA
...
NVIDIA GPUs have undocumented limitation regarding minimum resolution
and it can be queried via a NVDEC API. However, since we don't want to
bring CUDA/NVDEC API into D3D11, use hardcoded values for now
until we find a nice way for capability check.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2406 >
2022-05-12 18:20:26 +00:00
Víctor Manuel Jáquez Leal
4c97ffeafb
va: basedec: Always select first available format.
...
If the stream chroma doesn't match with any video format in the source
caps template (generated from va config surface formats) instead of
return unknown, return the first available format in the template,
assuming that the driver would be capable to do color conversions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2404 >
2022-05-11 15:03:54 +02:00
Víctor Manuel Jáquez Leal
c47255d148
va: basedec: Select format from template or negotiated caps.
...
Instead of using a hard-coded list of preferred formats according the
chroma type, now if now caps are pre-negotiated, from template caps
will choose the first format with the same chroma type. If
pre-negotiated, then it will choose the first format, with same chroma
type, from the first caps structure.
Also all the decoders will check if GST_VIDEO_FORMAT_UNKNOWN is
returned, failing the negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2351 >
2022-05-09 08:50:58 +00:00
Dmitry Osipenko
fd694d840a
v4l2codecs: h264: Set frame type flags
...
V4L spec now requires decode_params flags to be set in accordance to the
frame's type. In particular this is required by H.264 decoder of NVIDIA
Tegra SoC to operate properly. Set the flags based on type of parsed
slices.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1757 >
2022-05-06 13:35:59 +00:00
Seungha Yang
e0a9a73adf
d3d11screencapturesrc: Fix crash when d3d11 device is different from owned one
...
GstD3D11ScreenCapture object is pipeline-independent global object
and the object can be shared by multiple src elements,
in order to overcome a limitation of DXGI Desktop Duplication API.
Note that the API allows only single capture session in a process for
a monitor.
Therefore GstD3D11ScreenCapture object must be able to handle a case
where a src element holds different GstD3D11Device object. Which can
happen when GstD3D11Device context is not shared by pipelines.
What's changed:
* Allocates capture texture with D3D11_RESOURCE_MISC_SHARED for the
texture to be able to copied into other device's texture
* Holds additional shader objects per src element and use it when drawing
mouse
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1197
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2366 >
2022-05-05 18:18:57 +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
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
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
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
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
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