Thibault Saunier
b14207cc9e
nle: Use a message based mechanism to detect parent nleobject duration
...
Recursing up is pretty ugly and will fail when we start using ancillary
pipelines for sources in nle, using a message/event based mechanism is
a common pattern that is much cleaner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Sebastian Dröge
b730e7a1b2
rtpvp8pay: Use GstBitReader instead of dboolhuff implementation from libvpx
...
All compressed frame header values that are read as part of the
payloader are encoded as bits with 50:50 probability, and as such are
just the plain bits as they are.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5810 >
2024-01-31 16:52:28 +00:00
Daniel Morin
95464c8977
analyticsoverlay: add object-detection overlay
...
- Overlay analytics-meta-od attached to video buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5768 >
2024-01-31 16:15:06 +00:00
Daniel Morin
8122f623f6
analytics: Change indexes type from i32 -> gsize
...
- gst_analytics_cls_mtd_get_length() return a gsize, this type dicated index
type for gst_analytics_cls_mtd_get_quark() and
gst_analytics_cls_mtd_get_level().
- Minor cleanup/improvement on index validation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6018 >
2024-01-31 15:22:43 +00:00
Daniel Morin
f1d2147ba8
analytics: add test for OD confidence level retrieval
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017 >
2024-01-31 14:40:56 +00:00
Daniel Morin
42227d7de3
analytics: add api on OD to retrieve bbox confidence
...
- Add a specific api to retrieve bbox confidence level without having to
retrieve it's location.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6017 >
2024-01-31 14:40:56 +00:00
Seungha Yang
6dc902a962
nvcodec: Add JPEG encoder
...
Adding nvJPEG library based JPEG encoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021 >
2024-01-31 12:51:28 +00:00
Seungha Yang
fc4b136ac8
nvcodec: Move runtime compiler check to plugin init function
...
Required information for other elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6021 >
2024-01-31 12:51:28 +00:00
Daniel Morin
0a55c86e6a
rtspsrc: update rtsp url on redirect
...
- If a redirect took place on a GET when rtsp is tunneled we update the
rtsp url too.
- log source and final destination on redirect
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5222 >
2024-01-31 11:43:45 +00:00
Daniel Morin
13c5406747
rtspconnection: support redirect when using tunnel
...
- Support HTTP redirect codes (301,302,307,308) on response to GET.
"Location" field is extracted and used for following GET and POST.
- Notify caller a redirect took place using return value
- log source and destination url on redirect
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5222 >
2024-01-31 11:43:45 +00:00
Thibault Saunier
f1ad885c9b
valgrind: Ignore some leaks in the X server that have been fixed already
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:25 +00:00
Thibault Saunier
1891fff7a9
validate: flow: Plug leak about ignored fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
5d4bf4c6a5
bad: Update plugins cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
4dcea207d9
auto: Reuse subbins instead of recreating them over and over
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
79612de803
autoconvert: Force raw memory when using videoconvertscale
...
videoconvertscale advertises `ANY` feature, but it supports it only
in passthrough. Our goal with autoconvert is to ensure that conversion
is possible with the elements that are being plugged so we avoid
plugging `videoconvertscale` if the memory type is not system memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
9821c0ae96
autovideoconvert: Use cudaconvert for formats not allowed by glcolorconverts
...
There are some pixel formats supported by `cudaconvert` but not `glcolorconvert`
so prefer using `cudaconvert` for those cases rather than using
`videoconvertscale` and system memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
9908d11dab
auto: Add an 'autovideoflip' element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
aa7c49ded8
autoconvert: Accept new caps when they are exactly equal to previous ones
...
That basically was overlooked as the code was clearly intending to do that
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
e41e31f2ae
auto: Add a gstautodeinterlace element
...
Which can do colorspace conversion if necessary.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
b0fdbcec64
autovideoconvert: Handle passing bin description instead of factories
...
This way we can build our own well know bins for conversion keeping the
code simple.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:24 +00:00
Thibault Saunier
292d8453d3
autoconvert: Factor out a new GstBaseAutoConvert class
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
f817afb865
auto: Expose colorspace and scaler elements for well know elements
...
And require Scaler in the class of elements to be plugged by
autovideoconvert
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
e153c558c7
autoconvert: Handle reconfiguring on the srcpad
...
Only upstream renegotiation was properly handled, we needed to answer
that when downstream forces a renegotiation we take into account the
new downstream restrictions.
And add tests for it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
69db5b77d1
autoconvert: Remove unused elements from the bin
...
Instead of letting all the elements that were added into the bin,
add them only when strictly needed and removed them when we stop using
them.
With previous refactoring we are keeping them in our own hashmap in
amy case so we can keep reusing the same elements as before.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
8266f534a7
autovideoconvert: Ignore elements with rank == NONE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
a0a9e9e3cf
autoconvert: Fix the way we compare element types
...
We used to conside elements that were subclassses of another
element type as being the same (for example with videoconvertscale,
bother videoconvert and videoscale are subclasses of videoconvertscale
and that code was lost)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
17029974e0
autoconvert: Stop using qdata and unsafe weak refs
...
We are still using internal pads that are not added to the bin
but we now have a subclass and avoid qdata and weak refs as
they are not MT safe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
4cfe898f9b
autovideoconvert: Make it a subclass of GstAutoConvert
...
Instead of a wrapper, making it much simpler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
8be2ae303a
autoconvert: Add a 'factory-names' property
...
Making the element more gst-launch friendly.
This also stop trying to handle usage of ->factories atomic and instead
use the object lock to handle them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:23 +00:00
Thibault Saunier
1409826232
autoconvert: Remove not thread safe use of ->current_subelement
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:22 +00:00
Thibault Saunier
7fae06604e
autoconvert: Stop using generic element name
...
It makes it harder to debug for no real benefice in the case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/899 >
2024-01-31 11:00:21 +00:00
Alexander Slobodeniuk
2d7d9f35f5
videoaggregator: fix bufferpool leak
...
that happens if it fails to activate the pool
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6025 >
2024-01-31 09:49:48 +00:00
Mengkejiergeli Ba
bf7f4eef20
msdk: Use gst_video_info_dma_drm_to_video_info to extract video info
...
Note that we need mappings for all drm_fourcc, otherwise we will get
GST_VIDEO_FORMAT_UNKNOWN for some formats...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5991 >
2024-01-31 06:24:13 +00:00
Piotr Brzeziński
ffdec6bc2b
macos: Fix gst_macos_main() terminating whole process before returning a value
...
Removes the usage of [NSApp terminate] to avoid killing the process and thus never actually returning a value.
The new way is just to use [NSApp stop] and send an event, since stop only happens after an event is processed.
Unlike terminate, stop will only halt the event loop, not the whole process.
This uses an NSApplicationDelegate to listen for NSApp finishing the launch process, and then signals the 'main' thread
to proceed. That makes sure to never call [NSApp stop] before NSApp is actually running, which could happen if the
provided 'main' function finished quickly enough.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6005 >
2024-01-30 19:37:23 +00:00
He Junyan
637d253e9f
va: baseenc: Fix the wrong parameter order to call va_map_buffer()
...
The current gst_va_base_enc_copy_output_data() uses wrong parameter
order to call va_map_buffer().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6020 >
2024-01-30 15:50:23 +00:00
Seungha Yang
51162acc31
cuda: Report device open error
...
Call gst_cuda_result() with CUDA_ERROR_NO_DEVICE error code if
we could not open device, so that application can catch the error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Seungha Yang
cd6d62ddf0
cuda: Use cuStreamDestroy_v2 API
...
Sync up with CUDA 11.x/12.0 header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Seungha Yang
07ba225183
cudaipc: Add support for custom meta forwarding
...
Forward custom meta to peer ipcsrc elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6006 >
2024-01-30 14:30:41 +00:00
Víctor Manuel Jáquez Leal
c760c72f7a
vkformat: fetch correctly feature flags2
...
Feature flags2 are fetch through VkFormatProperties3KHR and needs more guards
checking.
Moved out all the feature flags fetching to another function for clarity.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6014 >
2024-01-30 12:57:41 +00:00
Víctor Manuel Jáquez Leal
c24b47ecee
vkformat: use VK_KHR_get_physical_device_properties2 to guard
...
and VK_KHR_format_feature_flags2 rather than a meaningless version handling.
Also the patch brings back the usage of features2 for video extensions, use KHR
version to support the guarded symbols.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6014 >
2024-01-30 12:57:41 +00:00
Víctor Manuel Jáquez Leal
394aaa6a59
vulkan: early return if gst_buffer_pool_set_config() fails
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6013 >
2024-01-30 11:58:04 +00:00
Thibault Saunier
e7803d1582
ges: clip: doc: Add a reference for more information about effect index
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6009 >
2024-01-30 11:09:00 +00:00
Thibault Saunier
726dd5f09f
basesrc: Lower verbosity of often happening warning
...
decodebin(3) runs a scheduling query before pads are activated which
ultimately triggers basesrc->start which will automatically call
`gst_base_src_start_complete` for any source that is not marked as
'async'. This calls will harmlessly bail out in `not_activated_yet`
so we should not warn in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011 >
2024-01-30 09:09:22 +00:00
Thibault Saunier
e1a8ce16b4
matroskademux: Lower verbosity of some often happenning warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011 >
2024-01-30 09:09:22 +00:00
Thibault Saunier
77e7efe407
qtdemux: Lower verbosity of some often happenning warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6011 >
2024-01-30 09:09:22 +00:00
He Junyan
b4eb97101f
va: Implement the vaav1enc plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015 >
2024-01-30 08:24:26 +00:00
He Junyan
f4779f1fab
va: baseenc: Extend the create_output_buffer() to accept prefix data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015 >
2024-01-30 08:24:25 +00:00
He Junyan
726cc895d8
va: encoder: Add copy_output_data() helper function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015 >
2024-01-30 08:24:25 +00:00
He Junyan
39144f612e
va: encoder: extend prepare_output() virtual function
...
The output of VP9 and AV1 encoder is a little different from the H264
and H265 encoder, it may contain repeat frames and so the output frame
number may be more than the input. We need to call finish_subframe()
when some frame will be repeated later. So we need to extend the
current prepare_output() virtual function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015 >
2024-01-30 08:24:25 +00:00
He Junyan
a278137f7e
tests: Add the av1 bit code writer test case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3015 >
2024-01-30 08:24:25 +00:00