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
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
Seungha Yang
9b5fe81d01
nvencoder: Fix operator overloading
...
GUID equality check was inverted
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2107 >
2022-04-03 22:09:19 +09:00
Seungha Yang
0011feb0d6
vah264enc: Disable derived image support
...
Behavior of derived image seems to be platform dependent and
it's buggy in some cases.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1110
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2086 >
2022-04-02 07:04:03 +00:00
He Junyan
976356e159
va: h264enc: Do not use USAGE_HINT_ENCODER for input pool.
...
It seems that the VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER is used only
for the recon surfaces, if we set this flags for input raw surfaces,
the alignment is wrong and we get broken result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2100 >
2022-04-02 06:23:03 +00:00
Xavier Claessens
b004464ac6
Remove glib and gobject dependencies everywhere
...
They are part of gst_dep already and we have to make sure to always have
gst_dep. The order in dependencies matters, because it is also the order
in which Meson will set -I args. We want gstreamer's config.h to take
precedence over glib's private config.h when it's a subproject.
While at it, remove useless fallback args for gmodule/gio dependencies,
only gstreamer core needs it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Seungha Yang
b5ed0eb4b0
qsvencoder: Add support for VA memory
...
Use VA allocator and buffer pool implementation for zero-copy
encoding with upstream VA elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030 >
2022-03-31 20:48:24 +00:00
Seungha Yang
9c44b32c21
qsv: Use pipeline's VA context
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2030 >
2022-03-31 20:48:24 +00:00
Víctor Manuel Jáquez Leal
6d2f57b6c7
libs: va: add VA allocator parameter for derived images usage.
...
Added GstVaFeature enum type, and new parameter for VA allocator's
set_format() and get_format(). Also added a new parameter in VA pool
gst_va_pool_new_with_config() and
gst_buffer_pool_config_set_va_allocation_params().
This new parameter will define if derived images will by used for
buffer mapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2057 >
2022-03-31 14:14:45 +00:00
Víctor Manuel Jáquez Leal
8759014f4c
va: encoder: Remove unused allocation config.
...
Since it's also done inside of gst_va_pool_new_with_config().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2072 >
2022-03-30 22:18:06 +00:00
Víctor Manuel Jáquez Leal
599257bf10
vapostproc: Build classification dynamically.
...
By default, the classification is
"Converter/Filter/Colorspace/Scaler/Video/Hardware", but if VA
post-processor driver supports either color balance, skin tone
enhancement, sharpening or noise reduction, "Effect" is added.
Thus, if vapostproc ranking is raised, it can be chosen by
autovideosink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2066 >
2022-03-30 04:24:35 +00:00
Víctor Manuel Jáquez Leal
400faf7361
va: Set <gst/va/gstva.h> as library single point entry header.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048 >
2022-03-29 19:48:30 +00:00
He Junyan
990fbb3b52
va: Move allocators and pool objects into gstva library.
...
In order to other plugins use gstva objects, such as allocators and buffer
pools, this merge request move them from the va plugin to the gstva library.
This objects are not exposed in <gst/va/gstva.h> since they are not expected
to be used by users, only by plugin implementators.
Because of the surface copy design, which is used to implement allocator's
mem_copy() virtual function, depends on the vafilter, which is kept inside
the plugin, memory copy through VAPosproc is disabled and removed temporarly.
Also added some missing parameter validation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048 >
2022-03-29 19:48:30 +00:00
He Junyan
53783eab6c
va: Move the video format functions into gstlibva.
...
Untabifying header file.
The logging category was moved from the plugin generic category to
the display category. It can argue that video formats hacks are
display dependant.
Added validations for input parameters.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048 >
2022-03-29 19:48:30 +00:00
Seungha Yang
886cfecd36
qsvencoder: Add support for dynamic bitrate update
...
... and add more encoding options.
QSV API supports dynamic bitrate change without IDR insertion.
That's more efficient way of runtime encoding option update
than starting from new sequence with IDR per bitrate option change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039 >
2022-03-29 15:52:58 +00:00
Seungha Yang
a8d7b10cc4
qsvh265enc: Add missing gop-size property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039 >
2022-03-29 15:52:58 +00:00
Seungha Yang
1a7b23dc02
qsv: Fix mfxFrameAllocator::Lock for encoder
...
Only read map is possible for encoder input system memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2039 >
2022-03-29 15:52:58 +00:00
Matthew Waters
b8a5e7a4e4
applemeida/texturecache: remove unused variable
...
Fixes:
../sys/applemedia/videotexturecache.m:71:20: error: variable 'features' set but not used [-Werror,-Wunused-but-set-variable]
GstCapsFeatures *features;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Matthew Waters
3ffbb66593
applemedia/corevideobuffer: remove unused variable
...
Fixes:
../sys/applemedia/corevideobuffer.c:209:19: error: variable 'video_meta' set but not used [-Werror,-Wunused-but-set-variable]
GstVideoMeta *video_meta;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Matthew Waters
b8f83c9d14
applemedia/iosgl: remove unused variable
...
Fixes:
../sys/applemedia/iosurfaceglmemory.c:219:41: error: variable 'texfmt' set but not used [-Werror,-Wunused-but-set-variable]
GLuint tex_id, tex_target, texifmt, texfmt;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Matthew Waters
49e452525d
vtdec: remove unused variable
...
Fixes:
../sys/applemedia/vtdec.c:611:35: error: variable 'output_flags' set but not used [-Werror,-Wunused-but-set-variable]
VTDecodeFrameFlags input_flags, output_flags;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Matthew Waters
edd9ec0456
avsamplevideosink: remove unused variable
...
Fixes
../sys/applemedia/avsamplevideosink.m:80:20: error: variable 'gstelement_class' set but not used [-Werror,-Wunused-but-set-variable]
GstElementClass *gstelement_class;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00
Matthew Waters
651cd8e0bb
avfassetsrc: fix unused-but-set warning
...
../sys/applemedia/avfassetsrc.m:1014:12: error: variable 'caps' set but not used [-Werror,-Wunused-but-set-variable]
GstCaps *caps;
^
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2046 >
2022-03-28 10:30:23 +00:00