Seungha Yang
efe35a3f6c
h264parse, h265parse: Fix potential integer overflow
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2961
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5295 >
2023-09-08 12:45:12 +00:00
Seungha Yang
f9169c5431
nvdecoder: Move common logic to decoder helper object
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
6cf6c73712
d3d11decoder: Move common logic to decoder helper object
...
We can remove duplicated code by using the GstCodecPicture struct
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
97fc02cfe3
av1decoder: Port to GstCodecPicture struct
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
a73c6d7fb6
vp9decoder: Port to GstCodecPicture struct
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
4571fac946
vp8decoder: Port to GstCodecPicture struct
...
... and remove unused "pts" variable from GstVp8Picture struct
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
a5ddf7af3b
mpeg2decoder: Port to GstCodecPicture struct
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
6e7cab43be
h265decoder: Port to GstCodecPicture struct
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
ea3dfadbed
h264decoder: Port to GstCodecPicture struct
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Seungha Yang
d69bacb954
codecs: Define common codec picture struct
...
Adding parent class of codec picture struct
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5285 >
2023-09-08 11:51:23 +00:00
Robert Mader
649eeeaa27
wlvideoformat: Add P010
...
It is similar to NV12 but has 10bits per channel instead of 8.
As it is supported by many modern GPUs, VA-API and an increasing
number of Wayland compositors, let's support it as well.
Also bump the required libdrm version accordingly and add a temporary
define for the WL_SHM format.
Tested with Weston, Mutter and Sway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5275 >
2023-09-07 13:50:48 +00:00
Robert Mader
fd82342bbd
waylandsink: Move format caps list to shared library
...
So it can be shared and more easily updated. While on it, order the
formats according to the documentation for GstVideo.VIDEO_FORMATS_ALL.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5275 >
2023-09-07 13:50:48 +00:00
Akihiro Sagawa
3c7ba382db
codecparsers: Fix MPEG-1 aspect ratio table
...
The values defined in ISO/IEC 11172-2 are different from those used so far.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5272 >
2023-09-06 12:24:37 +00:00
He Junyan
6b23f2c4be
va: baseenc: use in_info rather than input_state->info
...
The in_info is correct video info which already considers the
DMA kind caps case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5289 >
2023-09-06 15:40:03 +08:00
He Junyan
732a32a243
va: Add modifier paramters check for va_create_surfaces()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5267 >
2023-09-01 17:26:51 +08:00
Seungha Yang
2c4cb82afc
h264parse, h265parse: Fix timecode parsing
...
The scaling factor for nFrame part should be "(1 + nuit_field_based_flag) / 2"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5254 >
2023-09-01 06:44:52 +00:00
Víctor Manuel Jáquez Leal
22c8d1890e
va: retry if surface creation fails
...
Old versions of mesa doesn't support VASurfaceAttribDRMFormatModifiers. To
solve it, by just ignoring the modifiers assuming that linear is accepted and
produced, the creation of frames will be tried again without that attribute.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5256 >
2023-08-31 20:18:26 +00:00
Víctor Manuel Jáquez Leal
52971faf14
va: refactor caps convertion to va caps
...
To avoid code duplication in code related with buffer importation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5257 >
2023-08-31 12:41:48 +00:00
Víctor Manuel Jáquez Leal
89b0a6fa23
va: refactor buffer import
...
This patch removes the code duplication of input buffer importation, in all the
va elements that import video frames. It defines a synthetic object whose
members are required to create a new input buffer and do the importation of the
upstream buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5257 >
2023-08-31 12:41:48 +00:00
Nicolas Dufresne
0b648f9a2d
waylandsink: Crop surfaces to their display width height
...
Setting the surface source rectangle has been omitted so far. As a side effect
surface created with padded width/height are being scaled down. Fix this using
the viewporter source rectangle configuration. This can later be enhanced
to support crop meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5259 >
2023-08-30 18:58:45 +00:00
Seungha Yang
ce922a413c
qt6d3d11: Add plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258 >
2023-08-30 15:45:12 +00:00
Seungha Yang
51218c3c9c
bad: Update Windows plugin docs
...
Updating wasapi, wasapi2, mediafoundation, and winks plugin docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258 >
2023-08-30 15:45:12 +00:00
Seungha Yang
cc713f9075
qsv: Update plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258 >
2023-08-30 15:45:12 +00:00
Seungha Yang
9a5f5304f8
dwrite: Add plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258 >
2023-08-30 15:45:12 +00:00
Seungha Yang
560faa38c5
d3d11: Update plugin docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5258 >
2023-08-30 15:45:12 +00:00
He Junyan
e81a40cb72
va: baseenc: Add the DMA buffer input support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5189 >
2023-08-29 15:31:09 +00:00
He Junyan
5e6c91579f
va: encoder: Add in_info field to base encoder
...
When we consider the DMA kind caps as input, the input_state->info
only contains the video format of GST_VIDEO_FORMAT_DMA_DRM, which
is not enough for va plugins. The new info in base encoder contains
the correct video info after the DMA caps parsing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5189 >
2023-08-29 15:31:09 +00:00
Seungha Yang
1e381dc1cc
d3d11convert: Passthrough allocation query on same caps
...
Since d3d11convert and its variant elements does not enable basetransform's
passthrough, passthrough allocation query needs to be handled
manually in order to respect downstream element's min/max buffer
requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5255 >
2023-08-29 19:46:00 +09:00
Seungha Yang
ff435c80a2
d3d11videosink: Use premultiplied-alpha swapchain
...
Don't ignore alpha component if it's present
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5242 >
2023-08-25 16:54:29 +00:00
Seungha Yang
de07c44183
codec2json: Fix plugin loading on Windows
...
* Library versioning should not be used for plugins since it will add
-{version}.dll suffix (and versioned libraries on Linux with symlink).
Then the library file name and plugin init function name mismatch
will result in blacklisted plugin.
* Don't define BUILDING_GST_CODECS, makes no sense
* Don't define G_LOG_DOMAIN, which should be used only for libraries,
not plugins
* Depends on gstcodecparsers libary, not gstcodecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5249 >
2023-08-25 16:08:39 +00:00
Sebastian Dröge
d50c842d87
video: Fix ordering of video formats in GST_VIDEO_FORMATS_ALL_STR
...
This now follows the algorithm again that is described in the
documentation and implemented in gstreamer-rs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5243 >
2023-08-25 15:27:02 +00:00
Seungha Yang
6fa405c1e2
cudaipcclient: Protect IPC handle import/close with global lock
...
Protect import/close with signle lock to avoid importing a IPC handle
while it's being closed by another cudaipcsrc from other thread.
Also fixing cuda context leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5230 >
2023-08-25 10:06:58 +00:00
Jan Alexander Steffens (heftig)
14c097e87d
rtmp2: Allow NULL flash version, omitting the field
...
rtmpsink omits it by default. Allow us to do the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5241 >
2023-08-25 09:50:39 +02:00
Víctor Manuel Jáquez Leal
c1f99f4005
va: Fix in error logs functions mismatches
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5236 >
2023-08-24 17:54:32 +00:00
Víctor Manuel Jáquez Leal
bcee96020f
vabasedec: Remove assertion for resolution change in input state
...
This is reported from https://bugs.webkit.org/show_bug.cgi?id=259032
Though I couldn't reproduce the issue, it looks to me unneeded to assert for
resolution changes in old frames, since renegotiation is carried out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5237 >
2023-08-24 16:21:14 +00:00
Seungha Yang
315cfaf2d8
nvencoder: Fix negotiation error when interlace-mode is unspecified
...
Use GST_PAD_SET_ACCEPT_INTERSECT() to accept caps without interlace-mode
field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5229 >
2023-08-24 14:58:25 +00:00
He Junyan
c927159f21
va: compositor: Use va_get_surface_usage_hint() to get the usage hint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210 >
2023-08-24 11:03:59 +00:00
He Junyan
1b43baf3c8
va: baseenc: Use va_get_surface_usage_hint() to get the usage hint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210 >
2023-08-24 11:03:59 +00:00
He Junyan
696d81f6f8
va: Use va_get_surface_usage_hint() to detect the modifiers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210 >
2023-08-24 11:03:59 +00:00
He Junyan
8399bc2521
va: basedec: Use va_get_surface_usage_hint() to get the usage hint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210 >
2023-08-24 11:03:59 +00:00
He Junyan
bb350138af
va: basetransform: Use va_get_surface_usage_hint() to get the usage hint
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210 >
2023-08-24 11:03:59 +00:00
He Junyan
0e500ee084
va: Add helper function va_get_surface_usage_hint()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5210 >
2023-08-24 11:03:59 +00:00
Matthew Waters
faf404a938
video: add support for A420/A422/A444 16-bit formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5233 >
2023-08-24 12:03:39 +10:00
Matthew Waters
202309fa2c
video: add support for 12-bit A420/A422/A444
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5226 >
2023-08-24 00:56:43 +00:00
Nicolas Dufresne
a795c9bc6a
waylandsink: Restore support for render-rectangle
...
Fixes #2519
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5221 >
2023-08-23 19:24:47 +00:00
Seungha Yang
d84c13ab0d
h265parser: Allow partially broken hvcC data
...
Ignores parsing error on the last nalu of the array if the nalu type
is not VPS/SPS/PPS
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2905
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5188 >
2023-08-23 10:43:18 +00:00
Seungha Yang
f058eda798
win32ipc: Fix pipe handle leak
...
Named pipe handle must be closed if it's no longer needed
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2923
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5228 >
2023-08-23 18:33:04 +09:00
Matthew Waters
9a56945173
video: add support for 8-bit A422/A444
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5213 >
2023-08-23 01:00:24 +00:00
Rabindra Harlalka
f2087cd663
aesenc: Fix IV length addition to output buffer length
...
Add length of IV to output buffer length only for the first buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5093 >
2023-08-21 18:10:12 +00:00
Jan Schmidt
1b0b1fc0fd
mdns: Fix a crash on context error
...
Make sure not to free the microdns provider context until the
device provider asks it to stop. Fixes a crash if there is
an error (such as MDNS port being busy) that makes the
mdns listener exit early.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5198 >
2023-08-18 10:40:50 +00:00