He Junyan
56269d127f
codecs: h264: Change the low_latency to an enum for dpb_needs_bump().
...
The bool parameter of low_latency is not enough. We have multi policies for
low latency bumping, from the safest to something radical. So we need an enum
to represent the proper latency requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432 >
2021-09-13 06:37:28 +00:00
He Junyan
3c975ed918
codecs: h264dec: Add a compliance property to control behavior.
...
Some features such as the low-latency DPB bumping and mapping the
baseline profile as the constrained-baseline profile do not conform
to the H264 offical spec. But in practice, they are very useful and
are widely needed. We add this compliance property to control the
behavior of the decoder, make it fit more requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432 >
2021-09-13 06:37:28 +00:00
Philippe Normand
a61d038cb6
docs: Update cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2521 >
2021-09-12 12:23:36 +01:00
Philippe Normand
732b352df6
docs: Update cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1081 >
2021-09-12 12:18:32 +01:00
Philippe Normand
a55dafe341
discoverer: Prevent stream tags from leaking in global tags
...
The PrivateStream should keep track of stream tags only. Likewise, the
GstDiscovererInfo should keep track of global tags only.
This patch fixes the issue where the discoverer would report duplicated tag
titles, especially for Matroska media files. The Matroska demuxer emits
correctly-scoped tags, but downstream was making no distinction of them.
Fixes #598 , #836 , https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/827
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1275 >
2021-09-12 10:20:05 +01:00
Thibault Saunier
e3636642b7
validate: Fix double freeing of GstStructure
...
gst_validate_get_config is transfer-container only
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/255 >
2021-09-10 20:12:28 +00:00
Jordan Petridis
d68d52e137
citemplate: only build rust docker images in gst-ci repos
...
They are only used by the gst-rs repos which aren't using
this template anyway, so we don't need to have the jobs for the
rest of the pipelines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/418 >
2021-09-10 16:31:00 +00:00
Jordan Petridis
2a93d4f347
citemplate: Bump tag of latest rustc version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/418 >
2021-09-10 16:31:00 +00:00
Víctor Manuel Jáquez Leal
4f0b619023
va: Update vapostproc documentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 17:48:23 +02:00
Víctor Manuel Jáquez Leal
d4d483856f
va: Update todo lists, removing deinterlacing.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 17:48:23 +02:00
Víctor Manuel Jáquez Leal
4a39bf6680
Add vadeinterlace element.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 17:48:23 +02:00
Víctor Manuel Jáquez Leal
b13fd4f15b
va: filter: Add past and future frames in GstVaSample.
...
And add them in the pipeline structure if they are provided.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 17:48:23 +02:00
Víctor Manuel Jáquez Leal
419ef31d1e
va: filter: Add gst_va_filter_add_deinterlace_buffer()
...
This function decorates gst_va_filter_add_filter_buffer() to get the
number of past and future frames to hold, given the method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 17:48:22 +02:00
Víctor Manuel Jáquez Leal
101dcb55d9
va: filter: Add deinterlacing method parameter.
...
For exposing that gobject parameter a new helper function is added:
gst_va_filter_install_deinterlace_properties()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 17:48:22 +02:00
Jordan Petridis
ab610be59d
citemplate: post-merge use upstream urls for fetching scripts
...
since gstreamer/gst-ci!414 landed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/416 >
2021-09-10 18:25:08 +03:00
Víctor Manuel Jáquez Leal
51dcba7b1e
va: filter: Protect filters array of overwrite.
...
It's possible to modify the filters array from another GStremer
thread, and the post-processing operation is not atomic, so the filter
array is reffed while the VA pipeline is processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 14:45:00 +02:00
Víctor Manuel Jáquez Leal
cc91fd0956
va: filter: Add helper function to query pipeline caps.
...
This function is going to be shared for future deinterlace filter
processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 14:45:00 +02:00
Víctor Manuel Jáquez Leal
7f2e1e2eb3
va: filter: Shuffle _destroy_filters_unlocked().
...
In order to put it near to its caller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 14:45:00 +02:00
Víctor Manuel Jáquez Leal
0a7828e9ba
vapostproc: Move up color balance detection to plugin.
...
In order to install the color balance interface, a GstVaFilter is
instantiated and queried to know if it supports color balance
filter. It was done just after the GObject was registered. Now, it's
done before.
The reason of this change is that deinterlace element has to be
registered only if deinterlace filter is available, using only one
instantiate of GstVaFilter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 14:45:00 +02:00
Víctor Manuel Jáquez Leal
ece5feeb8d
va: basetransform: Update documentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 14:41:27 +02:00
Víctor Manuel Jáquez Leal
1b30920464
va: basetransform: Add autoptr clean up function.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 14:34:32 +02:00
Víctor Manuel Jáquez Leal
ef3f53428d
va: basetransform: Use copy_metadata() at buffer import.
...
Instead of using only gst_buffer_copy_into() use copy_metadata()
vmethod to copy what's needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 10:52:13 +02:00
Víctor Manuel Jáquez Leal
51e446345f
vapostproc: don't chain up transform_meta()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495 >
2021-09-10 10:52:13 +02:00
Daniel Almeida
b8c826afe3
codecs: gstvp9statefulparser: feature_data should be 0 if feature_enable is 0
...
The spec says in 6.2.11 that feature_data[i][j] should be zero if
feature_enabled[i][j] is zero. Instead we retained the old value in the parser.
Fix it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2449 >
2021-09-09 18:32:42 +00:00
Marek Vasut
8239ff343f
gsth264parser: Fix handling of NALs with emulation byte set
...
In case a set of NALs with emulation_prevention_three_byte is decoded using
hardware decoder like Hantro G1, wrong struct v4l2_ctrl_h264_decode_params
.dec_ref_pic_marking_bit_size is passed into the kernel, which results in
decoding artifacts. Subtract the number of emulation three bytes from the
.dec_ref_pic_m->bit_size to get the correct bit size and avoid having these
artifacts. Apply the exact same fix to slice->pic_order_cnt_bit_size as well.
The following NALs (7, 8, 6, 5) decode with artifacts,
.dec_ref_pic_marking_bit_size is set to 10 without this patch.
00000000 00 00 00 01 27 4d 00 20 89 8b 60 3c 04 bf 2e 02 |....'M. ..`<....|
00000010 d4 18 04 18 c0 c0 01 77 00 00 5d c1 7b df 05 00 |.......w..].{...|
00000020 00 00 01 28 ee 1f 20 00 00 01 06 05 10 b9 ed b9 |...(.. .........|
00000030 30 5d 21 4b 71 83 71 2c 10 a3 14 bb 29 80 00 00 |0]!Kq.q,....)...|
00000040 01 25 b8 00 05 00 00 03 03 7f fa 78 1e e7 fd fe |.%.........x....|
^^^^^^^^^^^^--- emulation 3 byte
00000050 b4 62 7a 31 ff 7d 81 fd 26 d8 62 b6 d6 25 46 ae |.bz1.}..&.b..%F.|
The following NALs (7, 8, 6, 5) decode fine,
.dec_ref_pic_marking_bit_size is set to 2 without this patch.
00000000 00 00 00 01 27 4d 00 20 89 8b 60 3c 04 bf 2e 02 |....'M. ..`<....|
00000010 d4 18 04 18 c0 c0 01 77 00 00 5d c1 7b df 05 00 |.......w..].{...|
00000020 00 00 01 28 ee 1f 20 00 00 01 06 05 10 b9 ed b9 |...(.. .........|
00000030 30 5d 21 4b 71 83 71 2c 10 a3 14 bb 29 80 00 00 |0]!Kq.q,....)...|
00000040 01 25 b8 00 04 c0 00 03 7f fa 78 1e e7 fd fe b4 |.%........x.....|
00000050 62 7a 31 ff 7d 81 fd 26 d8 62 b6 d6 25 46 ae ce |bz1.}..&.b..%F..|
Fixes: d0d65fa875
("codecparsers: h264: record dec_ref_pic_marking() size")
Fixes: 0cc7d6f093
("codecparsers: h264: record pic_order_cnt elements size")
Signed-off-by: Marek Vasut <marex@denx.de>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2517 >
2021-09-09 16:49:41 +00:00
Aaron Boxer
15d724e671
gsth264parser: reject memory management control op greater than 6
...
This prevents assertion from being thrown in
gst_h264_dpb_perform_memory_management_control_operation
if corrupt NAL has a control op greater than 6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2508 >
2021-09-09 15:32:14 +00:00
Matthew Waters
f6aea043f9
gl/buffer_storage: re-enable GL_ARB_buffer_storage
...
The extension version doesn't have the ARB suffix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1273 >
2021-09-09 07:29:37 +00:00
Tobias Ronge
3ec9795a28
rtspconnection: Only reset timeout when socket is unused
...
After sending or retrieving data, gstrtspconnection resets the socket's
timeout to 0 (infinite). This could cause problems if sending and
receiving at the same time. For example, if RTCP data is sent from the
streaming thread while gstrtspsrc is already retrieving data.
With this patch, timeout is only reset to 0 if there is no other
thread using the socket.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1260 >
2021-09-09 06:45:04 +00:00
Ung, Teng En
580ac55194
msdk: Adjust the plugin and factories description based on MFX_VERSION.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2485 >
2021-09-09 13:06:06 +08:00
Andika Triwidada
b6147e6037
add missing space
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/884 >
2021-09-09 04:08:22 +00:00
Jordan Petridis
d94c24b390
docker/windows: remove workaround to fetch github's cert
...
looks like it might not be needed anymore
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414 >
2021-09-09 04:31:07 +03:00
Mathieu Duponchelle
846cf3b20c
vulkan: don't link to XOpenDisplay in documentation
...
hotdoc doesn't know about that symbol
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2518 >
2021-09-08 15:34:09 +00:00
Jordan Petridis
0d193db618
windows: use a single stage for building image
...
With gitlab 14.2 now a job can depend on another from the same
stage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414 >
2021-09-08 15:27:38 +03:00
Jordan Petridis
72dcd55325
docker/windows: update the subprojects cache
...
Avoid conflicting with gst-build subprojects when copying over
from the cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414 >
2021-09-08 15:21:51 +03:00
Jordan Petridis
29596184be
Revert "Revert "docker/windows: build two version of the rust image""
...
This reverts commit 3cfedc8a9a
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414 >
2021-09-08 15:14:58 +03:00
Jordan Petridis
83e9552bf0
Revert "Revert "docker/windows: build rust image in the ci""
...
This reverts commit 3f17e16c72
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414 >
2021-09-08 15:14:57 +03:00
Jordan Petridis
6da650c12f
Revert "Revert "docker/windows: create a rust image for gst-rs""
...
This reverts commit b81620c3a7
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/414 >
2021-09-08 15:14:54 +03:00
Jordan Petridіs
b81620c3a7
Revert "docker/windows: create a rust image for gst-rs"
...
This reverts commit 9c21b05d1b
2021-09-08 07:36:47 +00:00
Jordan Petridіs
3f17e16c72
Revert "docker/windows: build rust image in the ci"
...
This reverts commit 5c536f2601
2021-09-08 06:54:15 +00:00
Jordan Petridіs
3cfedc8a9a
Revert "docker/windows: build two version of the rust image"
...
This reverts commit 3d9ddab209
2021-09-08 06:52:29 +00:00
Jordan Petridis
3d9ddab209
docker/windows: build two version of the rust image
...
Build 2 images with different rust toolchains so we can test
both the latest release, as well as the minimum supported
compiler version and catch regressions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405 >
2021-09-08 04:47:36 +00:00
Jordan Petridis
5c536f2601
docker/windows: build rust image in the ci
...
This makes it a bit harder to build an image locally with the script,
as now the rust image requires to pass it the base image tag as a
--build-arg. This way though we don't need to duplicate and keep
the string of the image in sync.
Another thing is that now the docker windows image build is properly
passing/replacing build args and we can build non-master versions
of the image too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405 >
2021-09-08 04:47:36 +00:00
Jordan Petridis
9c21b05d1b
docker/windows: create a rust image for gst-rs
...
Based on the build image for the existing windows jobs,
add an image with rust toolchain and a (stable) gstreamer
install for the bindings to build against.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/701
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405 >
2021-09-08 04:47:36 +00:00
Jordan Petridis
37c0ee7280
docker/windows: install vcredist140 explicitly
...
We depend on it for GStreamer builds and it was gettings pulled
transiently by python3 install.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/405 >
2021-09-08 04:47:36 +00:00
Ludvig Rappe
92338e3d80
pbutils: Add mjpg to MIME codecs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1270 >
2021-09-07 14:49:52 +00:00
Matthew Waters
abe89db32d
cerbero: fix cross-macos universal building all of cerbero
...
When building outside of cerbero, we only want to build the gst modules
as necessary.
Regression introduced by 03c5f1db29d751f8ccbe6062d8046c307c92a60d
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/413 >
2021-09-07 22:50:54 +10:00
Seungha Yang
2c69544d0c
jpegdec: Fix crash when interlaced field height is not DCT block size aligned
...
In case of interlaced JPEG file, we are doubling stride.
The scratch scan line should take account of it as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1042 >
2021-09-07 12:15:34 +00:00
Jan Schmidt
640aad2b46
mpeg2enc: Only allow 1 pending frame for encoding
...
Having an unlimited input queue is very bad if the
encoder can't run at real-time. Eventually it will
consume all RAM. I don't really see any reason to
have more than 1 outstanding encoded frame, so
remove the queue and limit things to 1 pending frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2499 >
2021-09-06 14:14:50 +00:00
Jan Schmidt
5eba408071
multiqueue: Use running time of gap events for wakeups.
...
Use gap events to update the next_time of a queue the same
as buffers or segment events. Fixes problems where a group
consisting only of sparse streams primarily driven by
gap events would stall with a full multiqueue because
unlinked streams in the group were not being woken to
push data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/879 >
2021-09-06 01:43:57 +10:00
Thibault Saunier
cd3aa029d6
wpe: Fix race condition on teardown
...
There was a race when going to PAUSED while pushing a buffer to the
pipeline process (where we weren't even cancelling anything).
This rework base all the cancellation around the GCancellable
"cancelled" signal trying to ensure that the streaming thread will not
block once a cancel operation happens.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504 >
2021-09-03 15:56:31 +00:00