Víctor Manuel Jáquez Leal
0c7fe80387
va: encoder: Don't preallocate reconstruct buffers.
...
It's not required by VA to register the reconstruct buffers at context
creation, just as in decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1857 >
2022-03-07 16:31:41 +00:00
Philippe Normand
21f7889187
gstplay: tests: Keep track of errors/warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869 >
2022-03-07 11:03:41 +00:00
Philippe Normand
84717c6d2a
gstplay: Do not error out on message parsing failures
...
Specially when parsing errors and warnings, the details field can be NULL and
the gst_structure_get() call would return FALSE in such cases, triggering false
positive errors.
Follow-up for #1063
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869 >
2022-03-07 11:03:41 +00:00
Philippe Normand
027f4a56c0
gstplay: Fix warning parsing API
...
The GError is an out parameter, so should be a ** parameter, like the details
parameter.
See also #1063
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1869 >
2022-03-07 11:03:41 +00:00
Seungha Yang
a63d1cf4c4
cudamemorycopy: Fix build when gl is disabled
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1707
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1868 >
2022-03-07 10:22:21 +00:00
Mengkejiergeli Ba
c9aa529484
msdkdec: Fix to not trigger SFC scaling when vpp at downstream
...
When there is vpp scaling downstream, we need to make sure SFC is not
triggered because vpp may fall into passthrough mode which causes
the decoder negotiation to create src caps with vpp scaled width/height.
This patch includes bitstream's original size in first query with
downstream in gst_msdkdec_src_caps, which is the same for what we do for
color format in this query. This is to ensure SFC scaling starts to
work only when downstream directly asks for a different size instead of
through vpp.
Note that here SFC scaling follows the same behavior as msdkvpp:
if user only changes width or height, e.g. dec ! video/x-raw,width=xx !,
the height will be modified to the value which fits the original DAR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1838 >
2022-03-07 07:26:40 +00:00
Seungha Yang
30ddb0cd97
nvcodec: Add missing null check in context sharing code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
c31bf2db4d
nvcodec: Refactor cudaupload/download and add support for GL memory
...
* Implement new baseclass GstCudaMemoryCopy to remove duplicated
cudaupload/download code
* Add support for CUDA <-> GL memory conversion via cudaupload/download
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
111b2c3f53
nvcodec: Refactor GstCudaMemory abstraction
...
* Hide GstCudaMemory member variables
* Make GstCudaAllocator object GstCudaContext independent
* Set offset/stride of memory correctly via video meta
* Drop GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT support.
This implementation actually does not support custom alignment
because we allocate device memory via cuMemAllocPitch
of which alignment is almost uncontrollable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
ad0e7fca14
nvcodec: Refactor basetransform subclasses
...
* cudaupload/download
- Specify only formats actually we can deal with
nvcodec elements, not all video formats
- Supports CUDA output for download and input for upload in order
to make passthrough possible, like other upload/download elements.
* cudabasetransform
- Reset conversion element if upstream CUDA memory
holds different CUDA context and the element can accept it.
This is the same behavior as corresponding d3d11 filter elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
89bbcf0061
cudabufferpool: Move GstCudaContext object to public member
...
... so that plugins can understand assosicated cuda context with the
pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
c8a1c953d8
cudacontext: Require explicit gpu id instead of auto (-1)
...
Sync up with GstD3D11Device implementation. The auto stuff should
be handled in context sharing step, not device creation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
1b9274307a
nvcodec: Indent update
...
... to prevent gnu indent version dependent diffs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
Seungha Yang
cec7ac2a1b
cudacontext: Remove unnecessary cuInit() call
...
It's already called at plugin init time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834 >
2022-03-06 15:39:04 +00:00
He Junyan
2d624a1d6b
av1parse: Add a comment when the detection of TU fails.
...
Also update the print message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1863 >
2022-03-05 11:45:15 +08:00
Nicolas Dufresne
576b074dde
camerabin: Remove drain query
...
This was to support very old V4L2 kernel. As we moved to DMABuf and can now
detach buffers on renegotiation, the buffer it tries to fix no longer exist.
The risk to blocking indefinitly the application does still exist though.
Fixes #1070
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1861 >
2022-03-04 22:45:58 +00:00
He Junyan
9c4adf5a64
av1parse: check the error return when parse_alignment_from_caps()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837 >
2022-03-04 21:58:15 +00:00
He Junyan
81bae87079
av1parse: Use the intersected caps to decide the alignment.
...
When we negotiate with downstream, We should use the intersected
caps of input and output to decide the alignment and stream format.
The current code just uses the input caps which may lack the stream
format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837 >
2022-03-04 21:58:15 +00:00
He Junyan
ccd1ed9cbc
ivfparse: Set the alignment to tu for AV1 stream.
...
Just do the same as other demux.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837 >
2022-03-04 21:58:15 +00:00
He Junyan
4c8777667a
av1parse: Only detect the stream format when input alignment is tu.
...
The demux now outputs the AV1 stream in "tu" alignment, so we do not need
to detect the input alignment. But the annex b stream format is not recognized
by the demux, we still need to detect that stream format for the first input.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837 >
2022-03-04 21:58:15 +00:00
Nicolas Dufresne
29826aa80e
av1parse: Save the default alignment
...
Otherwise the transformation is not applied and decoders may not
get the appropriate format despite the caps being negotiated
correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837 >
2022-03-04 21:58:15 +00:00
Nicolas Dufresne
f627d6aafc
av1parse: Remove duplicated check
...
The case of both strings being empty is already checked in the
helper function. No functional changes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1837 >
2022-03-04 21:58:15 +00:00
Nicolas Dufresne
57c2adeeb2
vp9parse: Fix auto-plugging of HW frame decoder
...
Decoders that required frame aligmment and didn't have an associated
alpha decoder were skipped. This is because the parser was constructing
caps based on the software alpha decoder, which specify super-frame
alignment.
Iterate over the caps to filter the one that have a matching codec-alpha, with
the semantic the no codec-alpha field means codec-alpha=false. Then if
everything was removed, callback to the original, so that the first non-alpha
decoder will be picked.
Fixes #820
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1855 >
2022-03-04 21:24:17 +00:00
Edward Hervey
03b1790e0d
tsdemux: Handle PES headers bigger than a mpeg-ts packet
...
While the actual PES header parser could notify us that it needed more data, we
would never actually act on it.
This commit will accumulate incoming packets in such situation and re-attempt
the header parsing.
Fixes #1027
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1852 >
2022-03-04 15:14:31 +00:00
Víctor Manuel Jáquez Leal
e42d10431d
va: basetransform: Add device-path read-only property.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844 >
2022-03-04 14:34:32 +00:00
Víctor Manuel Jáquez Leal
47a95dfd65
va: basedec: Add device-path read-only property.
...
And elements will notify the used device-path if display is DRM.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1844 >
2022-03-04 14:34:32 +00:00
Víctor Manuel Jáquez Leal
72c6a3b95a
vah264enc: Remove GST_PARAM_CONDITIONALLY_AVAILABLE.
...
Since it's used only when the property is conditionally installed, and
these parameters are always installed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
He Junyan
be24cdb150
va: encoder: Clean dead code.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
Víctor Manuel Jáquez Leal
7aa597d6df
va: encoder: Fix error code path when open.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
Víctor Manuel Jáquez Leal
81c00664a2
vah264enc: Remove preferred_output_delay.
...
In the current state of the encoder it's just dead code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
Víctor Manuel Jáquez Leal
1a19a835a9
vah264enc: Avoid mapping coded buffer twice.
...
Currently for copying the coded buffer onto a GStreamer buffer, the
coded buffer is mapped two times: one for getting the size, and later
for do the actual copy. We can avoid this by doing directly in the
element rather than in the general encoder object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
Víctor Manuel Jáquez Leal
81b99c37d8
vah264enc: Single parameter array per picture.
...
There's no need, at least in H.264, to hold a global parameter array,
since there's no need to submit SPS, trellis, hdr or quality in every
buffer, but only on IDR ones.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
Víctor Manuel Jáquez Leal
72b0f8ab17
va: Fix log message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1845 >
2022-03-04 12:41:37 +00:00
Philippe Normand
7a7daf0f37
play: Fix error parsing API
...
The GError is an out parameter, so should be a ** parameter, like the details
parameter.
Fixes #1063
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1849 >
2022-03-04 10:00:30 +00:00
Matthew Waters
b7d0ddd1a4
webrtc: support renegotiating adding/removing RTX
...
We need to always add the RTX/RED/ULPFEC elements as rtpbin will only
call us once to request aux/fec senders/receivers.
We also need to regenerate the media section of the SDP instead of
blindly copying from the previous offer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1762 >
2022-03-04 19:21:59 +11:00
Mengkejiergeli Ba
8a598deef2
msdkenc: Change default ref frames number as 0
...
When user does not set ref-frames in pipeline, we should let MediaSDK
decide the reference frame number via setting default value as 0 at
gstreamer side.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1839 >
2022-03-04 01:05:30 +00:00
Seungha Yang
8e0ce6b125
meson: wic: Fix typo
...
Should check WIC build option, not MediaFoundation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1847 >
2022-03-04 04:18:06 +09:00
Seungha Yang
00f773bd10
qsv: Remove strcpy for DRM device path
...
Simplify code. It's just one-time allocation, so don't need to worry
about leaking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1835 >
2022-03-03 11:29:33 +00:00
Seungha Yang
799616aea9
msdk: Don't print error log for missing DRM device path
...
It's expected in case that such DRM device is unavailable for some reasons,
specifically non-Intel platform or so
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1836 >
2022-03-03 06:29:11 +00:00
Seungha Yang
f8016687a4
wic: Add support for JPEG and PNG decoding
...
Adding Windows Imaging Component (WIC) plugin with JPEG/PNG decoding
support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1605 >
2022-03-03 00:00:54 +00:00
Seungha Yang
df6624bf1c
directshow: Fix for division by zero
...
The AvgTimePerFrame value may be unknown. Use arbitrary
value (30 fps) instead of crashing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828 >
2022-03-02 19:35:49 +00:00
Seungha Yang
c4ac657364
qsv: Add H.264 decoder
...
Initial decoder implementation with baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1786 >
2022-03-01 21:24:07 +00:00
Sebastian Fricke
0b6bbce012
Remove the uninstalled term
...
Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
The `uninstalled` is the old name and the project should stick to a
single name for the procedure.
Remove the term from all the files, exceptions are variables from
dependencies like `uninstalled_variables` from pkgconfig and
`meson-uninstalled`.
Adjust mentions of the script in the documentation and README.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743 >
2022-03-01 11:33:10 +00:00
Sebastian Fricke
c999d2c3a9
Maintain build instructions at a single location
...
Do not maintain similar build instructions within each gst-plugins-*
subproject and the subproject/gstreamer subproject. Use the build
instructions from the mono-repository and link to them via hyperlink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743 >
2022-03-01 11:33:10 +00:00
Víctor Manuel Jáquez Leal
c769a089ea
docs: Add vah264enc metadata.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
1f2f135cdb
va: enable the H264 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
f17357f759
va: Add H264 encoder.
...
This a new VA-API implementation of a H264 encoder.
It can control the GOP and parameter settings, while the MV searching,
VCL and the rate control algorithm are implemented by VA drivers and HW.
It supports most of the common usage options in H264, but still lacks
of look ahead, field, B frame weighted prediction, etc.
Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
736a0ac9b0
va: Add a common encoder object.
...
As the counterpart of the va decoder, this class handles all the
common logic for the encoding routine and miscellaneous queries about
encoding.
Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
fb644e84fa
va: Add vacompat.h to wrap glib functions.
...
The g_queue_clear_full() and g_array_copy() functions in the glib
may not be available for the current glib version check, so we add
helper functions to wrap it.
This should be deleted after the glib version bumps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
57d50a941f
va: Add the profile string name into the profile_map.
...
We also add a helper function of gst_va_profile_from_name to get
the VA profile value by its profile string name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
e0b6c6678b
va: Change the H264 profile string order in the profile_map.
...
The first one should be the one that matches the VA profile's name
most precisely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
83408cfdc8
va: caps: Expose gst_va_create_coded_caps as helper function.
...
And allow free indentation for array declaration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:50 +01:00
He Junyan
1defc9ce6b
test: Add test cases for the H264 bitwriter.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:49 +01:00
He Junyan
d68d3b9a0d
codecparsers: bitwriter: Add the common bit writer functions for H264.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:49 +01:00
He Junyan
ca914f4ac2
codecparsers: nalutils: Add nal_writer_reset_and_get_data help function.
...
We not only want to create a NAL gstmemory, but also need to create and
get the raw data of a NAL writer for the later usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1051 >
2022-03-01 10:53:49 +01:00
Guillaume Desmottes
1f02f24828
gs: look for google_cloud_cpp_storage.pc
...
storage_client.pc was legacy and has been removed:
df6fa3611c (diff-bc35ad7c2fe631fd5578a06092412dba81c7ddd27bb25df7e17bb13771799afcL743)
No need to keep looking for storage_client.pc as a fallback as 1.25.0,
our minimum version, already ships google_cloud_cpp_storage.pc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1815 >
2022-03-01 08:10:39 +00:00
jinsl00000
ef4cc9e637
ipcpipeline: fix crash and error on windows with SOCKET or _pipe()
...
The fd was in different meanings on windows:
POSIX read and write use the fd as a file descriptor.
The gst_poll use the fd as a WSASocket.
This patch use WSASocket as default on windows. This is a temporary measure, because IPC has many different implement. There may be a better way in the future.
See #1044
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1791 >
2022-03-01 06:31:51 +00:00
Wu Tong
c60ac7a04b
MSDK: Add _context_query() and avoid compile error on Windows
...
To avoid compile error on Windows, macro definitions are added to suppress va
variables. In the meantime, add function _context_query() to query
context on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1693 >
2022-02-28 12:54:23 +00:00
Sanchayan Maity
7c9a315578
ldac: Set eqmid in caps
...
We set the eqmid in caps to be usable downstream by rtpldacpay for
knowing the frame count.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797 >
2022-02-26 17:05:22 +05:30
Vivia Nikolaidou
7cebd5b359
tsmux: Skip empty buffers
...
They can be created e.g. by aggregator when there is a gap. Such buffers
should not be muxed at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611 >
2022-02-25 21:29:43 +00:00
Xavier Claessens
3d8372cc50
devenv: Add some missing GStreamer specific env variables
...
This should make "meson devenv" closer to what "gst-env.py" sets.
- GST_VALIDATE_SCENARIOS_PATH
- GST_VALIDATE_APPS_DIR
- GST_OMX_CONFIG_DIR
- GST_ENCODING_TARGET_PATH
- GST_PRESET_PATH
- GST_PLUGIN_SCANNER
- GST_PTP_HELPER
- _GI_OVERRIDES_PATH
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768 >
2022-02-25 20:35:26 +00:00
Jan Alexander Steffens (heftig)
e10bd02e1d
fdkaacdec: Support arbitrary channel configs
...
Try to match the config to GStreamer positions. If something doesn't
fit, fall back to a set of unpositioned channels.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561 >
2022-02-25 18:20:52 +00:00
Jan Alexander Steffens (heftig)
d4b4ffc944
fdkaacdec: Use predefined channel layouts
...
This limits the decoder to the layouts predefined for the encoder
(including the MPEG standard layouts) but greatly simplifies the
implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561 >
2022-02-25 18:20:52 +00:00
Vivia Nikolaidou
e0d5e022a1
tsmux: Lock mux->tsmux, the programs hash table, and pad streams
...
They contain implementations that are not thread-safe (e.g. GList, GHashTable).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616 >
2022-02-25 17:42:52 +00:00
Mengkejiergeli Ba
b41c70aed5
msdkdec: Fix uninitialized variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1731 >
2022-02-25 03:11:29 +00:00
Mengkejiergeli Ba
e1090c152c
msdk: Fix unchecked return values
...
There are several calls of gst_video_info_from_caps and gst_video_frame_copy
without checks for the returned values. This patch adds all necessary
function return checks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1738 >
2022-02-25 02:04:20 +00:00
Seungha Yang
ad73f73356
qsvencoder: Fix caps leak in Linux build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769 >
2022-02-22 12:55:26 +00:00
Seungha Yang
20328914dc
qsv: Fix debug category name of qsvallocator
...
Remove gst prefix to make $env:GST_DEBUG="qsv*:6" work for qsvallocator
as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769 >
2022-02-22 12:55:26 +00:00
Mengkejiergeli Ba
108846ed97
bad:docs: Add vaav1dec in documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1773 >
2022-02-22 11:03:28 +00:00
Sebastian Dröge
8ab1c5791b
d3d11: Remove non-existing gst_d3d11_memory_get_type() API from header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Dmitry Osipenko
248f143fa3
v4l2codecs: Support YUV420M format
...
YUV420M format of V4L essentially is I420 with separate memory planes.
It's used by NVIDIA Tegra V4L decoder. Support this format by v4l2codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1727 >
2022-02-21 21:58:19 +03:00
Seungha Yang
8ff5f10a40
d3d11screencapturesrc: Use staging buffer pool for performance
...
By using staging pool/buffer, we can avoid per frame
staging texture -> system memory copy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1756 >
2022-02-20 23:43:18 +00:00
Nicolas Dufresne
3d2eb5a04c
doc: Add NV12_16L32S into the cache
...
Autogenerated by CI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567 >
2022-02-20 22:32:56 +00:00
Nicolas Dufresne
8883809ef9
v4l2codecs: Enable MediaTek MM21 (NV12_16L32S)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567 >
2022-02-20 22:32:55 +00:00
Nicolas Dufresne
3005dbc55a
v4l2codecs: Add support for multi planar buffers
...
V4L2 have some pixel formats that produces 2 dmabuf, this add
support for these format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567 >
2022-02-20 22:32:55 +00:00
Nicolas Dufresne
bab9041c4b
Port plugins to gst_video_format_info_extrapolate_stride()
...
This reduces code duplication and simplify addition of new
pixel formats into related plugins.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1567 >
2022-02-20 22:32:55 +00:00
Seungha Yang
d49454123e
winscreencap: Remove dxgiscreencapsrc element
...
We have the d3d11screencapturesrc element in d3d11 plugin
which is obviously better than this element in terms of performance
and design, so we don't need to make people be confused by two separate elements.
Let's pick the better implementation and remove unnecessary one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1750 >
2022-02-20 20:04:05 +00:00
Jan Alexander Steffens (heftig)
10904e5580
wpe: Clean up build script
...
Use feature.require to check for gstgl and exit early if 'wpe' is
disabled (don't even check for wpe-webkit-1.1).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1668 >
2022-02-20 14:34:12 +00:00
Seungha Yang
c19d0db454
directshow: Fix build warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744 >
2022-02-19 19:54:52 +00:00
Seungha Yang
7eedd52510
directshow: Merge plugins into single directshow plugin
...
... and lower rank of dshowvideosink and dshowdeviceprovider
to GST_RANK_MARGINAL since we don't prefer this plugin
by default
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744 >
2022-02-19 19:54:52 +00:00
Seungha Yang
d94d338bd5
directshow: Remove white spaces
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1744 >
2022-02-19 19:54:52 +00:00
Martin Reboredo
717009f8f5
vulkanshaderspv: SPIRV based filter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1197 >
2022-02-19 13:55:32 -03:00
Nicolas Dufresne
cf3d64129b
v4l2codecs: vp9: Fix reset_frame_context parameter
...
It was assumed that the kernel parameters would match with the bitstream value
but instead the author when with another set of value. Surprisingly, this
makes no difference with the resulting fluster score.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748 >
2022-02-18 23:55:59 +00:00
Nicolas Dufresne
5a9df9e850
v4l2codecs: vp9: Only fill compressed headers if needed
...
Fixes: 13944cf3ee
("v4l2codecs: vp9: Make compressed hdr control optional")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1748 >
2022-02-18 23:55:59 +00:00
Tim Mooney
54a1f60077
v4l2: include <sys/ioccom.h> on Illumos
...
Needed for _IOR/_IORW
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1524 >
2022-02-18 21:34:49 +00:00
Loic Le Page
e1c0628bb9
Add build files and fix build for gst-plugins-bad dshowsinkwrapper plugin
...
dshowsinkwrapper plugin is the old dshowvideosink plugin that has been
renamed to be compliant with the actuel plugin name in the source code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577 >
2022-02-18 14:59:25 +01:00
Loic Le Page
b355345ef5
Add build files and fix build for gst-plugins-bad dshowsrcwrapper plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577 >
2022-02-18 14:59:25 +01:00
Loic Le Page
587b2e6bcb
Add build files and fix build for gst-plugins-bad dshowdecwrapper plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577 >
2022-02-18 14:59:25 +01:00
Loic Le Page
42bdeaf52c
Add directshow strmbase library source code from Microsoft repo
...
Original repo is here:
https://github.com/microsoft/Windows-classic-samples
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577 >
2022-02-18 14:59:25 +01:00
Loïc Le Page
42c6a26aea
Move all directshow plugins to the same sub-folder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1577 >
2022-02-18 14:59:24 +01:00
Tim Mooney
97720dabe0
meson: check for libsocket and libnsl
...
If present, add '-lsocket' and '-lnsl' to network_deps.
ext/curl/meson.build: add network_deps to dependencies
gst/festival/meson.build: same
sys/shm/meson.build: same
Fixes linking issues on Illumos distros.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1525 >
2022-02-17 18:44:49 +00:00
Seungha Yang
04b8dfa391
d3d11: Add support for AYUV, AYUV64, and RGBA64_LE formats
...
Note that AYUV and AYUV64 formats will be used to expand format
support, especially some packed YUV formats (e.g., Y410, YUY2)
are common DXGI formats used for hardware decoder/encoder on Windows
but those formats cannot be used as a render target. We need to handle
them differently without pixel shader help, using compute shader
for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699 >
2022-02-16 18:41:05 +00:00
Seungha Yang
cb7e454b53
d3d11: Reorganize format mapping table
...
... and handle GST <-> D3D11 format mapping in a single place to
make adding format easier
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699 >
2022-02-16 18:41:05 +00:00
Seungha Yang
dd906f9610
d3d11: Store device format in struct
...
Holding pointer to struct was unsafe approach because
the pointer to d3d11 format will be invalidated once d3d11 device
object is released
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1699 >
2022-02-16 18:41:05 +00:00
Seungha Yang
e1f0687b09
meson: Do hard build error for some MSVC warnings
...
Handle various MSVC warnings as errors for development version.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1006 >
2022-02-16 17:03:29 +00:00
Dmitry Osipenko
b757d12cff
v4l2codecs: h264: Correct scaling matrix ABI check
...
Scaling matrix V4L UAPI control not presents on NVIDIA Tegra, the default
matrix should be used in this case. Mark scaling matrix presence optional.
Fixes: 47bfa71530
("v4l2codecs: h264: Improve ABI check ")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1726 >
2022-02-16 13:16:17 +00:00
Mengkejiergeli Ba
586dfab9bd
msdkdec: Enable SFC scaling for AVC and HEVC
...
Decoder SFC only supports down-scaling at most to 1/8.
For example, given a 4K bistream, SFC can scale it to 1080p via:
"msdkh265dec ! video/x-raw,width=1920,height=1080 ! glimagesink"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444 >
2022-02-16 08:26:46 +00:00
Mengkejiergeli Ba
c5f0e075e2
msdkdec: Enable SFC csc for AVC and HEVC
...
Decoder SFC will be triggered when default output format is not accept at
downstream. One use case below can work without using msdkvpp:
"! msdkh265dec ! "video/x-raw,format=BGRA" ! glimagesink",
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444 >
2022-02-16 08:26:46 +00:00
Mengkejiergeli Ba
eb742c8ed0
msdkdec: Add SFC codes
...
SFC refers to Scaler Format Converter, more details here:
https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol15-sfc.pdf
By attaching mfxExtDecVideoProcessing buffer to mfxVideoParam, decoder
can do SFC for csc and scaling.
MSDK will check if surface bitdepth equals to input when no SFC is
triggered, which means in the case of SFC, there is no need to update
surface bitdepth via gst_msdk_update_mfx_frame_info_from_mfx_video_param.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1444 >
2022-02-16 08:26:46 +00:00
Seungha Yang
dbda4cf409
d3d11converter: Fix for missing GRAY conversion
...
Add missing Y410 -> GRAY and GRAY -> semi-planar conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724 >
2022-02-16 02:30:01 +09:00