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
Seungha Yang
98345a141a
d3d11converter: Don't use FIXME_OBJECT for non-GstObject
...
... and print ERROR messages for unexpected input/output formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1724 >
2022-02-16 02:27:53 +09:00
He Junyan
24c3e0fcfa
va: Delete the display lock/unlock when we call VA-API.
...
According to the VA-API's description, they are MT-safe, we do not
need to care about that in our middleware layer. The lock/unlock
operations have overhead and make the performance lower.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1333 >
2022-02-15 10:02:08 +00:00
Jan Alexander Steffens (heftig)
acd0300485
openaptx: Support libfreeaptx
...
[libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
[1]: https://github.com/iamthehorker/libfreeaptx
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1642
Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1667 >
2022-02-15 08:18:44 +00:00
Seungha Yang
e3e23a2c84
d3d11converter: Fix RGB to GRAY conversion
...
Fix typo in shader code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1697 >
2022-02-14 17:49:54 +00:00
Stéphane Cerveau
a4b83810fe
tsdemux: unlock mutex on -1 start_offfset
...
Closing #1013
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1694 >
2022-02-14 12:58:33 +00:00
Seungha Yang
27246ebeb0
d3d11download: Fix decide_allocation
...
Caps should be parsed in any cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1691 >
2022-02-14 10:48:31 +00:00
He Junyan
fa4dc3470f
meson: va: Add va option check into plugin's build.
...
Because the liblibgstva is built unconditionally, we now move the
va option check into va plugin's build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685 >
2022-02-14 06:30:56 +00:00
He Junyan
58d594df44
meson: va: Remove va option check from gst-libs
...
Building libgstva-1.0 unconditionally for the va implementation can be
used by non-va plugins such as MSDK even when va plugin is disabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1685 >
2022-02-14 06:30:56 +00:00
Philippe Normand
5a2e1ecb4d
dtlstransport: Notify ICE transport property changes
...
The application might track the underlying ICE transport, so not notifying
changes might lead to use-after-free issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1688 >
2022-02-14 03:24:26 +00:00
He Junyan
1eed9de0bb
vavpp: Fix the caps leak in the transform_caps() function.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1689 >
2022-02-12 20:11:46 +08:00
Seungha Yang
644e18d029
meson: d3d11: Remove d3d11 option check from gst-libs
...
Build gstd3d11-1.0 unconditionally for d3d11 implementation can be used
by non-d3d11 plugins even when d3d11 plugin is disabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684 >
2022-02-11 20:01:52 +00:00
Seungha Yang
e96687d88d
d3d11: Update build-time dependency
...
Remove all the d3d11 and dxgi header version dependent ifdef
and bump the minimum requirement to d3d11_4.h and dxgi1_6.h.
We are already failing support old Visual Studio (Windows SDK actually)
such as Visual Studio 2015. Note that our MinGW toolchain satisfies
the requirement.
From runtime point of view, this change should be fine since
we are checking OS version with IUnknown::QueryInterface()
everywhere in order to check API availability
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1684 >
2022-02-11 20:01:52 +00:00
He Junyan
248baef400
MSDK: Import VA surface as encoder's input.
...
We make all MSDK encoders declare "memory:VAMemory" feature. Then
the pipeline such as:
gst-launch-1.0 -vf filesrc location=xxx.h264 ! h264parse ! \
vah264dec ! msdkh265enc ! fakesink
will choose VA memory caps between the VA decoder and MSDK encoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
ef5f6ab5d9
MSDK: Add helper function to peek VA surface of VA kind gstbuffer.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
26172123e5
MSDK: Handle context query into the encoder's query function.
...
The MSDK encoder's query function is not set and it just forwards
all query to its base class. We now need to answer the context
query correctly. Other VA plugins need to query the VA display.
By the way, the current query of "gst.msdk.Context" is also missing.
The other MSDK elements must depend on the bin's context message(
sent in context_propagate()) to set their MsdkContext correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
2928b14b69
MSDK: Handle context query into the VPP's query function.
...
The MSDK VPP's query function is not set and it just forwards
all query to its base class. We now need to answer the context
query correctly. Other VA plugins need to query the VA display.
By the way, the current query of "gst.msdk.Context" is also missing.
The other MSDK elements must depend on the bin's context message(
sent in context_propagate()) to set their MsdkContext correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
db5be289c7
MSDK: Handle context query into the decoder's query function.
...
The MSDK decoder's query function is not set and it just forwards
all query to its base class. We now need to answer the context
query correctly. Other VA plugins need to query the VA display.
By the way, the current query of "gst.msdk.Context" is also missing.
The other MSDK elements must depend on the bin's context message(
sent in context_propagate()) to set their MsdkContext correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
6635852c40
MSDK: Add a handle_context_query() helper function.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
85664b5af6
MSDK: Improve the GstContext setting logic.
...
We now can use the gst va lib's display to create our MSDK context,
and use its helper functions to simplify our code. The improved logic
is like this:
1. Every MSDK element should use gst_msdk_context_find() to find a MSDK
context from neighbour. If valid, reuse it.
2. Use gst_msdk_ensure_new_context(). It will first query neighbours
about the GstVaDisplay, if found(e.g. some VA element is connected),
use gst_msdk_context_from_external_display() to create a MSDK context.
3. Then, creating the MSDK context from scratch. It creates both the
display and MSDK context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
a905e7474b
MSDK: Add new_with_va_display() helper function to create context.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
a9aa522e26
MSDK: Use the VA display object to replace the raw display handle.
...
The VA display object from VA lib is a common defined object. which
contain the whole display things. It is easier to use, and more important,
we can share it with the other VA plugins and keep all the VA related
plugins working on the same GPU device.
We also delete the useless gst_msdk_context_get_fd() API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
c7e3c8e9f6
MSDK: Add the gst va lib into MSDK's dependency.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1087 >
2022-02-11 07:13:45 +00:00
He Junyan
90cea4fadf
av1parse: Add temporal unit check when TD is absent.
...
The current manner for deciding the new temporal unit is based on
temporal delimiter(TD) OBU. We only start a new temporal unit when
the TD comes.
But some streams do not have TD at all, which makes the output "TU"
alignment fail to work. We now add check based on the relationship
between the different layers and it can successfully judge the TU edge.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634 >
2022-02-11 14:34:04 +08:00
He Junyan
a7ca0b2079
av1parse: let the parse continue when MISSING_OBU_REFERENCE error.
...
Some streams may have verbose OBUs before a valid sequence header. We
should let the parse continue rather than return a error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634 >
2022-02-11 14:21:34 +08:00
He Junyan
348658dd0a
av1parse: Continue when we fail to detect the alignment.
...
Some streams may have problematic OBUs at the beginning, which causes
the parse fail to detect the alignment and return error. For example,
there may be verbose OBUs before a valid sequence, which should be
discarded until we meet a valid sequence. We should let the parse
continue when we meet such cases, rather than just return error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1634 >
2022-02-11 14:20:13 +08:00
Seungha Yang
66b176322c
ivfparse: Don't set zero resolution on caps
...
It could be zero if the information is not available at ivfparse
side, or not implemented. In that case, simply don't set
width/height on caps, otherwise downstream would be confused
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1649 >
2022-02-10 20:30:40 +00:00
Seungha Yang
2c93afd8bb
mediafoundation: Add support for MP3 decoding
...
See also
https://docs.microsoft.com/en-us/windows/win32/medfound/windows-media-mp3-decoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596 >
2022-02-11 04:16:23 +09:00
Seungha Yang
be957f6c61
mediafoundation: Add support for AAC decoding
...
See also
https://docs.microsoft.com/en-us/windows/win32/medfound/aac-decoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596 >
2022-02-11 04:16:22 +09:00
Seungha Yang
0b26254a6a
mediafoundation: Cosmetic changes
...
Rename baseclass to be consistent with other Windows plugins
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596 >
2022-02-11 04:16:22 +09:00
Seungha Yang
ce4875ccde
mediafoundation: Use & operator instead of GetAddressOf()
...
Use shorter expression
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596 >
2022-02-11 04:16:22 +09:00
Seungha Yang
36020c7549
mediafoundation: Port to C++
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1596 >
2022-02-11 04:16:15 +09:00