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