Daniel Morin
81051c16b6
onnx: replace video-region-of-interest with analytics-meta
...
- Use analytics-meta/OD to transport object detection results
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5767 >
2023-12-06 18:25:16 +00:00
Daniel Morin
4425562661
analytics: fix analytics-meta re-use
...
- Fix alignment error when source and destination analytics-meta have the same
relation order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5767 >
2023-12-06 18:25:16 +00:00
Seungha Yang
012222bcb3
cudaipcsink: Fix deadlock on stop
...
Manually close connection if client does not hold any shared memory
on stop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5747 >
2023-12-06 16:09:27 +00:00
Seungha Yang
ed5987efd4
d3d11ipcsink: Fix deadlock on stop
...
Manually close connection if client does not hold any shared memory
on stop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5747 >
2023-12-06 16:09:27 +00:00
Seungha Yang
b168647073
nvdec: Fix division by zero when calculating buffer duration
...
Don't try to calculate buffer duration from variable framerate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5764 >
2023-12-06 13:38:09 +00:00
renjun wang
4ff2f07e51
v4l2codecs: av1: Fix typo in debug log message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5722 >
2023-12-06 10:25:24 +00:00
Daniel Morin
d3ebaa316d
onnx: avoid leak on failure and cleanup
...
- Unmap buffer on Ort exception
- Avoid retrieving unused videometa
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761 >
2023-12-05 16:54:45 +00:00
Daniel Morin
15e5866e51
onnx: add offset and scale properties
...
- Offset each datapoint by the value set on offset property.
- Scale each datapoint by the value set on scale property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761 >
2023-12-05 16:54:45 +00:00
Daniel Morin
3793619a02
onnx: fix tensor id loading
...
- Fix quark genaration. String loaded from the model/file are not static.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761 >
2023-12-05 16:54:45 +00:00
Daniel Morin
48e3836482
onnx: Add support for float datatype
...
This is a bit of a hack solution has I think the correct solution is to
expose model caps on sinkpad (eventually sinkpads). Till then I think
this is reasonable.
- Add a property to onnxinference to set datatype.
- Fix internal buffer allocation size based on datatype.
- Extract method to remove alphe channel and convert to planar image
when requested. Also template the method to support writing to buffers
of different datatype.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5761 >
2023-12-05 16:54:45 +00:00
Thibault Saunier
f59219228f
videorate: Add a property to force dropping out of segment buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5725 >
2023-12-05 14:04:05 +00:00
Thibault Saunier
6dc86b1f91
basesrc: Expose automatic-eos as a property
...
It is useful for appsrc for example and no good reason to not expose it as a property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5725 >
2023-12-05 14:04:05 +00:00
Jan Schmidt
3304eae3e8
audio: Extra documentation for gst_audio_ring_buffer_set_timestamp()
...
Clarify the documentation that gst_audio_ring_buffer_set_timestamp()
expects timestamps sampled directly from the pipeline clock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5657 >
2023-12-05 12:42:17 +00:00
Guillaume Desmottes
56e72889c1
meson: update PACKAGE_BUGREPORT
...
Some were still using pre-monorepo links.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762 >
2023-12-05 11:47:51 +01:00
Guillaume Desmottes
a56923d5e6
qtdemux: fix bug report URL
...
Using PACKAGE_BUGREPORT as in other modules.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762 >
2023-12-05 09:25:22 +01:00
Philippe Normand
0b5e2ee80a
validate: Fix memory leak in gst_validate_abort()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5757 >
2023-12-04 20:04:05 +00:00
Ruben Gonzalez
97817ef44c
gstgaussblur: delete unused code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5737 >
2023-12-04 18:54:31 +00:00
Daniel Morin
7e3f947ea1
analytics: update girs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5758 >
2023-12-04 10:14:59 -05:00
Daniel Morin
aaee569087
analytics: replace id type from gint to guint
...
- Replace all id type from gint to guint
- Fix annotation for GstAnalyticsODMtdData
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5758 >
2023-12-04 10:14:59 -05:00
Jordan Yelloz
4ec5de8784
gstcontext: Added gst_clear_context()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Jordan Yelloz
ac6952e936
gstpromise: Added gst_clear_promise()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Thibault Saunier
14c7d3f4e9
qtdemux: Do not update demux->offset
when droping data on EOS
...
The offset is updated right after and we were breaking it by updating it
twice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724 >
2023-12-02 08:08:26 +00:00
Thibault Saunier
b1b29de0fb
qtdemux: Do not mark stream as EOS only if all streams are EOS
...
The `GstFlowCombiner` is responsible for tracking the flow of each
stream and handle the overal flow return value. Without that, we
can end up with the following scenario:
- Audio+video stream
- Only the video stream is linked downstream
- The audio stream goes EOS, video doesn't yet
-> We update the Flow in the combiner with OK as all streams are not EOS
- Video goes EOS because downstream returned EOS
-> `qtdemux` returns `FLOW_OK` forever because the unlinked audio pad
has `last_flowret==FLOW_OK`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724 >
2023-12-02 08:08:26 +00:00
Thibault Saunier
8295b2ae5c
qtdemux: Determine EOS based on the stream segment
...
Depending on the stream segment might vary (because of edts for example)
leading to EOS being sent at the wrong time (too early for example).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5724 >
2023-12-02 08:08:26 +00:00
Seungha Yang
36529475ae
tests: appsrc: Fix test on Windows
...
Windows does not support fork() so all tests will run in a single
process, and global variables will be reused across multiple tests.
Thus, each test should reset global variables.
Also, setup pad chain/event functions before playing state
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5752 >
2023-12-02 01:57:48 +00:00
Thibault Saunier
96cf1f8c8e
ges: asset: Avoid trying to load twice the same asset
...
When requesting an asset from different threads we had no
guarantee that during the time we lookup an asset (which didn't exist)
and the time we create the asset with the same type/ID another thread
could not end up doing the same thing. In turns we could end up with
2 different threads loading the exact same asset and the cache
basically forgetting about one of the entries meaning that the user
would never get notified about one of those being ready to be used.
There was also the case when requesting "sync" where the user was
requesting an asset while another thread is creating it so it was
still in "ASSET_INITIALIZING" state, meaning that the returned asset
would be NULL which would be considered as an error in apps.
Since the cache lock is recursive we can just take it during the whole
ges_asset_request_async call and have other method still hold it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5732 >
2023-12-01 21:51:57 +00:00
Aaron Boxer
b405ff34d3
mpegtsmux: allow attaching PCR to non-PES streams
...
There is an existing PMT mapping between PCR_%s and an mpegtsmux sink
pad name, where %s equals the program number that the PCR corresponds
to. We re-purpose this functionality to also support a mapping between
PCR_%s and an arbitrary PID. If this mapping is set, then the header PCR
PID is set to this value, and PCR is attached to the stream with this
PID.
Note: the current implementation also attaches PCR to the video stream,
so this may be inefficient.
Co-authored-by: Jordan Yelloz <jordan.yelloz@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5726 >
2023-12-01 18:01:34 +00:00
Seungha Yang
75d1b3f92f
appsrc: Fix flow return when buffer is dropped
...
Flow EOS on buffer drop (upstream leaky mode) was not
intended behavior. Appsrc should return OK instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5753 >
2023-12-02 01:09:59 +09:00
Hosang Lee
7bf646e5ba
qtdemux: Don't overflow sample index
...
Don't reduce sample index if it is already at 0.
Assigning -1 to a guint32 variable causes unexpected behavior.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5743 >
2023-12-01 13:34:12 +00:00
Seungha Yang
269df73f92
gl: Add RBGA format support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5738 >
2023-12-01 12:19:12 +00:00
Seungha Yang
9b41666cfd
video: Fix RBGA format poffset
...
The offset array should be [0, 2, 1, 3]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5738 >
2023-12-01 12:19:12 +00:00
Jimmy Ohn
9c6b0f4615
decodebin2: Properly free when shutting down in gst_decode_bin_expose
...
missing_plugin_details causes memory leakages when shutting down.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5744 >
2023-12-01 19:10:54 +09:00
Jimmy Ohn
2c19c92041
encoding-target: Properly free when missing type field in parse_encoding_profile
...
pname and description in parse_encoding_profile function causes
memory leakages when missing the 'type' field for streamprofile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5744 >
2023-12-01 09:39:47 +00:00
Hosang Lee
041e0c6cab
qtdemux: Fix reverse playback for pcm audio stream
...
Some raw lpcm or adpcm may have larger sample sizes than the max
buffer size value set.
Trimming the buffer causes bogus size error on reverse playback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5742 >
2023-12-01 15:11:04 +09:00
Seungha Yang
adfa4d459e
qsv: Update plugin doc cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:55:24 +09:00
Seungha Yang
865d7a1351
qsvh265dec: Add support for GBR decoding
...
Use GBR equivalent output formats if RGB colorspace is detected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:50:26 +09:00
Seungha Yang
e4729e5784
qsvh265dec: Add support for HEVC RExt profiles
...
Adding 4:2:0 high bitdepth and 4:2:2/4:4:4 decoding support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:38:04 +09:00
Seungha Yang
0178cc188b
qsv: Add util methods for video format mapping
...
Remove duplicated format mapping code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5706 >
2023-11-30 21:38:04 +09:00
Seungha Yang
801492b334
d3d11: Add RBGA format support
...
Allocates DXGI_FORMAT_AYUV texture for RBGA so that it can be used
by video decoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703 >
2023-11-29 16:54:16 +00:00
Seungha Yang
5cbd062856
video: Add RBGA format
...
This new format is intended to be used by hardware decoders
where VUYA is only supported 4:4:4 decoding surface but
stream is encoded with GBR color space, HEVC and VP9 GBR streams
for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5703 >
2023-11-29 16:54:16 +00:00
Benjamin Gaignard
cd14b0892e
codecparsers: av1: Clip max tile rows and cols values
...
Clip tile rows and cols to 64 as describe in AV1 specification
to avoid writing outside array range but preserve sb_cols
and sb_rows value which are used to futher computation.
Fixes ZDI-CAN-22226 / CVE-2023-44429
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5702 >
2023-11-29 15:48:50 +00:00
Benjamin Gaignard
f525de6d00
Revert "codecparsers: av1: Clip max tile rows and cols values"
...
This reverts commit b76a801f57
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5702 >
2023-11-29 15:48:50 +00:00
ekwang.lee
7bfb9ea3eb
docs: Add documentation for GST_VALIDATE_LAUNCHER_DEBUG
...
Add documentation for the environment variable GST_VALIDATE_LAUNCHER_DEBUG
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5009 >
2023-11-29 14:05:24 +00:00
Stéphane Cerveau
44ba107715
vkupload: unref vkimagebufferpool
...
Since the vkupload pool refacto, the pool
was not properly unrefed leading to a leak.
Fix for fd5c344fb6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5729 >
2023-11-29 12:10:11 +00:00
Seungha Yang
ccf6ac2b4c
h264decoder: Fix GstVideoCodecFrame leak
...
If current buffer has no slice data, frame should be released.
Otherwise frames will stay in decoder baseclass forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5693 >
2023-11-29 10:52:58 +00:00
Jordan Yelloz
e33d5303f7
gstpromise: Added GST_IS_PROMISE() macro
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5728 >
2023-11-28 15:41:49 -07:00
Maksym Khomenko
20f48f0fd0
rtpbasepayload: add extensions property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5694 >
2023-11-28 15:05:24 +00:00
Maksym Khomenko
4eff26ee1c
rtpbasepayload: fix documentation formatting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5694 >
2023-11-28 15:05:24 +00:00
Stéphane Cerveau
7ac98ce598
vkupload: browse over the input buffer mems
...
To upload/convert the GstBuffer to vkImage, need to
browse over the input mems to fill the out gst buffer vkImage.
This patch is fixing a missing plane/mem with encoders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5651 >
2023-11-28 13:53:54 +00:00
Stéphane Cerveau
fd5c344fb6
vkupload: implement decide_allocation vmethod
...
in the case of an upstream element proposing a buffer pool,
use it to allocate the buffer image with the given parameters
set by the upstream element.
Besides the buffer pool handling is sync'd with GstBaseTransform
base class.
See the case of vulkanupload ! vulkanh264enc
Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5651 >
2023-11-28 13:53:54 +00:00