Edward Hervey
49b061241e
mxfdemux: Check validity of interleaved File Package
...
As specified by the S377 MXF core specification, if a file package has
interleaved content, then all tracks must be using the same Edit Rate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2378 >
2021-07-05 07:07:15 +00:00
Seungha Yang
65a78effdb
d3d11vp9dec: Fix for incorrect use_prev_in_find_mv_refs setting
...
Set use_prev_in_find_mv_refs depending on context. The value seems
to be used by AMD and Qualcomm (Intel and NVIDIA doesn't make difference
as per test)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2376 >
2021-07-05 15:02:53 +09:00
Haihao Xiang
04de66ee7b
gstmsdkvpp: add RGBP and BGRP in src pad
...
It requires MFX version 2.4+
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2234 >
2021-07-05 03:47:05 +00:00
Piotrek Brzeziński
3e66d05ed2
timeline: Implement snapping to markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/259 >
2021-07-04 21:08:38 +02:00
Seungha Yang
d4f8e3cf53
mediafoundation: Port to IID_PPV_ARGS
...
Make code short where possible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375 >
2021-07-04 00:38:44 +09:00
Seungha Yang
f9699b2444
mfaudioenc: Remove pointless enumerating for hardware audio encoder
...
Hardware audio encoder can exist in theory, but it's untested
and we are not sure whether it can be preferred over software
implementation which is implemented by MS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375 >
2021-07-04 00:38:33 +09:00
Seungha Yang
812b9eae1d
mediafoundation: Fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375 >
2021-07-04 00:38:00 +09:00
Seungha Yang
3f8632dc96
mediafoundation: Run gst-indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375 >
2021-07-04 00:37:57 +09:00
Seungha Yang
aa34710bb6
gl/context/wgl: Add missing NULL init
...
The value of uninitialized local variable is varying depending
on compiler and not guaranteed to be NULL initialized.
That results in pointing random address instead of expected function pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1222 >
2021-07-03 11:40:25 +00:00
Jordan Petridis
765fc5703b
harfbuzz.wrap: Use the latest tag instead of tip of git
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/237 >
2021-07-02 17:08:48 +03:00
He Junyan
b269cd5319
va: Consider the compatibility when we get_profile() for H265 decoder.
...
Adding the compatile profiles when we decide the final profile used for decoding.
The final profile candidates include:
1. The profile directly specified by SPS, which is the exact one.
2. The compatile profiles decided by the upstream element such as the h265parse.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322 >
2021-07-02 10:27:41 +00:00
He Junyan
8ba730a564
h265parse: Add special profile case for profile_idc 0.
...
This is a work-around to identify some main profile streams having
wrong profile_idc. There are some wrongly encoded main profile streams
which doesn't have any of the profile_idc values mentioned in Annex-A,
instead, general_profile_idc has been set as zero and the
general_profile_compatibility_flag[general_profile_idc] is TRUE.
Assuming them as MAIN profile for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322 >
2021-07-02 10:27:41 +00:00
He Junyan
42a861fe59
h265parse: Map -intra profiles to non-intra compatible profiles.
...
All the -intra profiles can map to non-intra profiles as compatible
profiles, except the monochrome case for main and main-10.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322 >
2021-07-02 10:27:41 +00:00
He Junyan
ac51e41928
va: vp9dec: update segmentation and store the result.
...
The segmentation is stateful, its information may depend on the previous
segmentation setting. For example, if loop_filter_delta_enabled is TRUE,
the filter_level[GST_VP9_REF_FRAME_INTRA][1] should inherit the previous
frame's value and can not be calculated by the current frame's segmentation
data only. So we need to maintain the segmentation state inside the vp9
decoder and update it when the new frame header comes.
We also fix the CLAMP issue of lvl_seg and intra_lvl because of their wrong
uint type here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369 >
2021-07-02 08:44:15 +00:00
He Junyan
17e8fea158
codecparsers: vp9statefulparser: Fix the gst_vp9_get_qindex clamp issue.
...
The alternate quantizer is a delta value and should be int type.
We mark it wrongly as uint, that will make CLAMP (data, 0, 255)
always choose 255 rather than 0 if the data < 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369 >
2021-07-02 08:44:15 +00:00
He Junyan
f38d944c0f
codecparsers: vp9parser: Use macro to define the size of filter_level in Segmentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369 >
2021-07-02 08:44:15 +00:00
He Junyan
f941673862
codecparsers: vp9parser: Delete the verbose redefine of MAX_LOOP_FILTER.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369 >
2021-07-02 08:44:15 +00:00
He Junyan
fb4aeb6636
va: allocator: dma: Fail when mapping the non-linear buffer.
...
The current way of DMA buffer mapping is simply forwarding the job
to parent's map function, which is a mmap(). That can not handle the
non-linear buffers, such as tiling, compressed, etc. The incorrect
mapping of such buffers causes broken images, which are recognized
as bugs. We should directly block this kind of mapping to avoid the
misunderstanding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2353 >
2021-07-02 08:15:49 +00:00
Jan Schmidt
d270fa498c
matroskamux: Always write a tags element into seekhead
...
If there are only stream tags, we still want to write the
tags entry into the seekhead, so that tags can be found
quickly in the player.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/905
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1020 >
2021-07-02 07:45:07 +00:00
Matthew Waters
8fd2c68968
ccconverter: fix framerate caps negotiation from non-cdp to cdp
...
We can only convert from non-cdp to cdp within the confines of valid cdp
framerates. The existing caps negotiation code was allowing any
framerate to convert to a cdp output which is incorrect and would hit an
assertion later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2372 >
2021-07-02 10:22:31 +03:00
Seungha Yang
adae01e4c3
qtmux: Don't need to update track per GstCaps if it's not changed
...
Skip GstQTMuxPad::set_caps() call for duplicated caps.
All the processing done in set_caps() method for duplicated caps
are redundant.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1019 >
2021-07-02 06:22:41 +00:00
Francisco Javier Velázquez-García
6389eef70d
videotestsrc: Add SMPTE75 RP-219 color bars conformant
...
Implement 8-bit values of SMPTE RP 2019-1:2014. The bar widths and
heights are the result of fractions as integers. The remainders of
widths are distributed in a way that they match the values in Table
C.1 (a) in the specification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063 >
2021-07-01 18:03:14 +02:00
Jan Alexander Steffens (heftig)
7ab7a8ad7c
videotestsrc: Add a start parameter to _blend_line
...
Makes it easier to paint part of a line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063 >
2021-07-01 18:03:14 +02:00
Jan Alexander Steffens (heftig)
96decaf7ef
videotestsrc: Keep tmpline unchanged in_convert_tmpline
...
This will allow us to repeatedly
call it to render subsequent lines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063 >
2021-07-01 18:03:14 +02:00
Jan Schmidt
df52bdc5d4
parse: Fix a critical when using the : operator.
...
Fix "has no handler with id" output criticals when the :
multilink operator is used. These were caused by disconnecting
a signal handler multiple times.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/846 >
2021-07-02 01:59:18 +10:00
He Junyan
5d96e9e7bd
codecs: h265decoder: Consider the conformance window changes when new_sequence().
...
The change of conformance_window_flag and crop windows size also has impact on the
output resolution and caps. So it deserves a trigger of new_sequence() to notify
the sub class to update caps and pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2312 >
2021-07-01 14:39:53 +00:00
Seungha Yang
b5b13a6f5c
h265decoder: Don't hold reference to GstVideoCodecFrame for dropped picture
...
We are dropping RASL (Random Access Skipped Leading picture) which
is associated with an IRAP (Intra Random Access Picture) that has
NoRaslOutputFlag equal to 1, since the RASL picture will not be
outputted and also it should not be used for reference picture.
So, corresponding GstVideoCodecFrame should be released immediately.
Otherwise GstVideoDecoder baseclass will hold the unused frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2330 >
2021-07-01 14:10:30 +00:00
He Junyan
677d1e0105
plugins: encode: fix a deadlock because of _drain()
...
We call gst_vaapiencode_drain() in gst_vaapiencode_change_state(),
whose context does not hold the stream lock of the encoder. The
current gst_vaapiencode_drain inside unlock/lock pair adds a extra
lock count to the stream lock of encoder and causes hang later.
We just remove the gst_vaapiencode_drain() and expand its logic
correctly according to the lock/unlock context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/433 >
2021-07-01 11:57:10 +00:00
He Junyan
d152ab1d37
libs: decoder: av1: Clean the film_grain_info field.
...
We need to clean all film_grain_info fields when the film grain
feature is not enabled. It may have random data because the picture
parameter buffer is not cleaned.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/434 >
2021-07-01 11:14:15 +00:00
Sebastian Dröge
6e2924ff9c
rtpssrcdemux: Remove pads and reset the element also in READY->NULL
...
Mostly for completeness.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1018 >
2021-07-01 13:19:53 +03:00
Sebastian Dröge
c94469339a
rtpptdemux: Remove pads also in PAUSED->READY
...
They're based on per-stream information and that should be reset
whenever going to READY state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1018 >
2021-07-01 13:19:53 +03:00
Edward Hervey
162e7bd28b
mxfvanc: Handle empty ANC essence
...
Not having any *actual* ANC is totally fine and common usage with several MXF
variants.
In order to properly advance the streams, the essence handler returns an empty
GAP buffer which gets converted to a GST_EVENT_GAP.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2345 >
2021-07-01 11:04:03 +02:00
Michael de Gans
d8a7fc0a0b
appsink: fix incorrect return nullability
...
This commit fixes the annoations for return nullability on several
GstAppSink functions. This was causing bindings to be generated
incorrectly.
Fixes #914
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1203 >
2021-06-30 18:46:37 +00:00
Tim-Philipp Müller
d6fa1847e6
ci_template: rebuild some images
...
We need a newer cache for fontconfig since it renamed master branch
to main now and the wrap file has depth=1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/407 >
2021-06-30 16:45:52 +01:00
Nicolas Dufresne
1dcdcc9b68
Fix fontconfig wrap revision
...
The project now uses main in replacement for master.
2021-06-30 10:01:04 -04:00
Seungha Yang
d9c486352c
mfvideoenc: Don't ignore previous flow return value
...
In case of ASYNC MFT (hardware encoder), we were ignoring previous
finish_frame or pad_push return value. so, error wasn't propagated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2370 >
2021-06-30 18:35:35 +09:00
Seungha Yang
ee543bdacf
d3d11compositor: Add scaling policy to support PAR-aware scaling
...
Identical to https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156
but for D3D11.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2263 >
2021-06-30 06:10:29 +00:00
youngsoo.lee
260a82e514
opencv: Fix build error on macOS
...
The build fails on macos with the following error:
/usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/core/mat.hpp:2226:15: error: no template named 'initializer_list' in namespace 'std'
Mat_(std::initializer_list<_Tp> values);
fatal error: too many errors emitted, stopping now [-ferror-limit=]
35 warnings and 20 errors generated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2368 >
2021-06-30 14:03:22 +09:00
Ezequiel Garcia
3b42c1878d
v4l2codecs: vp8: Check kernel version
...
Print a warning if the kernel version is too old.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075 >
2021-06-29 21:01:29 +00:00
Ezequiel Garcia
d036b4aad4
v4l2codecs: vp8: Update to the new uAPI
...
Starting from Linux v5.13, the V4L2 stateless VP8 uAPI
is updated and stable.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075 >
2021-06-29 21:01:29 +00:00
Seungha Yang
c8ffd39dfe
nvcodec: Enhance CUDA runtime compiler library loading on Windows
...
The name of installed CUDA runtime compiler library is formed like
nvrtc64_{major-version}{minor-version}_0.dll on Windows
(which is differnt from documented in https://docs.nvidia.com/cuda/nvrtc/index.html )
And minor version might not be exactly same as that of CUDA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2362 >
2021-06-29 17:40:37 +00:00
Seungha Yang
058f1e92b7
compositor: Add scaling policy to support PAR-aware scaling
...
Adding "sizing-policy" property for user to be able to specify
scaling policy (aspect-ratio for example).
At the moment, supported mode is only keep-aspect-ratio, but we might
be able to add more policies such as cropping, etc.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/696
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 >
2021-06-29 23:06:37 +09:00
Seungha Yang
2551b1d976
video: Deprecate gst_video_sink_center_rect()
...
... and add gst_video_center_rect() method as a replacement.
The method is useful for outside of videosink subclasses as well
but the old naming might be able to mislead people.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 >
2021-06-29 18:00:43 +09:00
Seungha Yang
44e3399bf8
d3d11: Add AV1 decoder
...
Introduce Direct3D11/DXVA AV1 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Seungha Yang
c3b26de1f2
av1decoder: Store display resolution for duplicated picture
...
Target display resolution might be required by subclass implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Seungha Yang
7a1effc499
av1decoder: Fix debug typo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Seungha Yang
6dbb9c705a
av1parser: Fix tile size calculation
...
Remaining size should exclude already read "tile size bits".
And see also "5.11.1. General tile group OBU syntax"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365 >
2021-06-29 07:12:27 +00:00
Olivier Crête
e548916d85
webrtc receivebin: Drop serialized queries before receive queue
...
If they're not dropped, they can be blocked in the queue even if it is
leaky in the case where there is a buffer being pushed downstream. Since
in webrtc, it's unlikely that there will be a special allocator to
receive RTP packets, there is almost no downside to just ignoring the
queries.
Also drop queries if they get caught in the pad probe after the queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363 >
2021-06-29 00:42:20 -04:00
Olivier Crête
543fcb93a4
webrtc receivebin: Only set queue to leaky when the pad is blocked
...
When the pad is no longer blocked, remove the leakyness to make sure
everything gets into the jitterbuffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363 >
2021-06-29 00:42:20 -04:00
Olivier Crête
a07e52528c
webrtc receivebin: Don't unblock pad until sender is unblocked
...
As ther OpenSSL session is created when the receiver goes into
playing, we have to wait for the ICE session to be connected before we
can start delivering packets to the DTLS element.
Fixes #1599
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363 >
2021-06-29 00:42:20 -04:00