summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.19.2HEAD1.19.2masterdiscontinued-for-monorepoTim-Philipp Müller2021-09-235-13/+3789
|
* audiobuffersplit: Remove unneeded buffer_clip wrapperNicolas Dufresne2021-09-221-10/+1
| | | | | | This is just a small cleanup noticed while reading. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2544>
* opencv: cvtracker: add draw propertyVivek R2021-09-222-0/+16
| | | | | | This property controls the drawing of rectangle around the tracked object. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
* opencv: add cvtracker pluginVivek R2021-09-229-2/+797
| | | | | | | This adds an object tracker plugin. Tracker implementations from https://docs.opencv.org/3.4/d0/d0a/classcv_1_1Tracker.html Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
* opencv: patch to ensure headers are detectedVivek R2021-09-221-1/+3
| | | | | | This patch is used to ensure opencv headers are detected. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
* mpegtsmux, mpegpsmux: remove GPL from choice of licenses and add SPDX ↵Tim-Philipp Müller2021-09-2224-361/+67
| | | | | | | | | | | | | license identifiers Some people need to avoid inclusion of GPL code for their use cases and thus get easily spooked by GPL license headers. This code is actually licensed under different licenses, only one of which is GPL, and it's already possible to just upgrade from LGPL to GPL anyway so having the GPL listed explicitly as one of the choices doesn't really add anything. So remove GPL from the list and also add SPDX license identifiers while we're at it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2539>
* wasapideviceprovider: Add support for dynamic device add/removeSeungha Yang2021-09-2112-75/+967
| | | | | | | | | | | | | | | | | Adding IMMDeviceEnumerator::RegisterEndpointNotificationCallback in order to support device monitoring. On OnDeviceAdded(), OnDeviceRemoved(), and OnDefaultDeviceChanged() callback, wasapi device provider implementation will enumerate devices again and will notify newly added and removed device via GstDeviceProvider API. As a bonus point, this IMMDeviceEnumerator abstraction object will spawn a dedicated internal COM thread, so various COM thread related issues of WASAPI plugin can be resolved by this commit. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1649 Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1110 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2484>
* openjpeg: add unit testStéphane Cerveau2021-09-202-0/+273
| | | | | | Test various format supported with subframes. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* jpeg2000parse + openjpeg: Switch striped mode to its own capsStéphane Cerveau2021-09-204-118/+131
| | | | | | | | | | It's not compatible with any other element that use the non-striped mode. In addition, in this mode, we require that every frame have the same number of stripes or that the MARKER bit be present, which is different from the other formats too. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* openjpegdec: Fix crash with AYUV64 in subframe modeStéphane Cerveau2021-09-201-80/+2
| | | | | | | | | | | | Remove useless generic fill_frame methods to use the packed one for AYUV and AYUV64. Fix gst-launch-1.0 -v videotestsrc ! video/x-raw,width=640,height=480,format=AYUV64 ! openjpegenc num-stripes=8 ! openjpegdec max-threads=8 ! videoconvert ! autovideosink sync=false Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* openjpegdec: support for a multithreaded decoding.Stéphane Cerveau2021-09-203-135/+617
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* openjpegdec: enable sub frame modeAaron Boxer2021-09-202-153/+224
| | | | | | | | | Rebuild output frame from multiple stripes input. Keep the first frame and fill it with the following stripes to finish a complete frame only once. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* mpegtsmux: Require frame alignment for JPEG 2000Olivier Crête2021-09-202-3/+3
| | | | | | We have yet to implement stripe alignment with the required descriptor. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* openjpegdec: Reject stripes for nowOlivier Crête2021-09-202-5/+6
| | | | | | They're not implemented. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* openjpegenc: Only allow stripe with image/x-jpc formatOlivier Crête2021-09-201-1/+2
| | | | | | | It's the only format that our MPEG-TS muxer allows and the carriage of JPEG 2000 stripes is only defined for MPEG-TS as far as I know. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* openjpegenc: support for a multithreaded encoding.Stéphane Cerveau2021-09-204-147/+477
| | | | | | | | | This commit introduces a multithreaded encoder allowing to encode mulitple stripes or subframes in separated threads. This feature aims to enhance the overall latency of a codec pipeline. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
* wpe: context thread dispatch fixesPhilippe Normand2021-09-201-17/+36
| | | | | | | | | Use dedicated mutex/cond/flag for jobs being dispatched in the context thread. The previous code was signalling the thread startup condition, which is wrong. When WPEContextThread::dispatch() is invoked it means the thread has already correctly been started up. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2533>
* wpe: Properly wait on context thread startup conditionPhilippe Normand2021-09-202-1/+5
| | | | | | Fixes #1661 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2533>
* doc: Update kmssink caps cacheNicolas Dufresne2021-09-201-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
* kmssink: Add RGB16/BGR16 supportNicolas Dufresne2021-09-201-0/+6
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
* kmssink: Sort format according to GST_VIDEO_FORMATS_ALLNicolas Dufresne2021-09-201-11/+27
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
* kmssink: Remove big endian format inversionNicolas Dufresne2021-09-201-11/+0
| | | | | | | | | | This has been a bad interpretation of the DRM docuemntation. The formats are fixed regardless the CPU, but for some formats, they expressed in the opposite order as GStreamer. Same change was done in waylandsink 2 years ago. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/b393b650ab9bfb9654fc116163ab331907216d74 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
* kmssink: Add NV61 supportNicolas Dufresne2021-09-201-0/+3
| | | | | | This identically handled to NV16, so no reason not to inclue it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
* kmssink: Add NV24 supportNicolas Dufresne2021-09-201-0/+5
| | | | | | This was tested on RK3566 platform, using vendor DRM driver. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
* codecs: av1decoder: Use GstFlowReturn everywhereSeungha Yang2021-09-204-102/+134
| | | | | | The same modification as that of VP8 decoder Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
* codecs: vp9decoder: Use GstFlowReturn everywhereSeungha Yang2021-09-205-77/+107
| | | | | | The same modification as that of VP8 decoder Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
* codecs: vp8decoder: Use GstFlowReturn everywhereSeungha Yang2021-09-206-97/+154
| | | | | | | | | | boolean return value is not sufficient for representing the reason of error in most cases. For instance, any errors around new_sequence() would mean negotiation error, not just *ERROR*. And some subclasses will allocate buffer/memory/surface on new_picture() but it could be failed because of expected error, likely flushing Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
* mpegtspacketizer: memcmp potentially seen_before dataVivia Nikolaidou2021-09-201-3/+14
| | | | | | | | | | | | | Theoretically the version number is incremented every time there's a new section, but in a world of streaming we can't easily make that assumption. An example of a broken use case is when we're cat-ing two mpeg-ts files together, which is equivalent of capturing a DVB stream while switching channels. A set-top box would know that we switched the channels and reset the demuxer, but in practice this might not happen. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2468>
* player: Fix/add various annotationsSebastian Dröge2021-09-204-70/+83
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2538>
* meson: va: Make AV1 support always optionalSeungha Yang2021-09-191-1/+2
| | | | | | | Otherwise meson configure with -Dva=enabled will be failed when installed libva version is < 1.8 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2532>
* va: caps: Don't use image formats for decoded frames.Víctor Manuel Jáquez Leal2021-09-191-54/+2
| | | | | | | | | | | | | | | | | Initially we tried to use the internal color conversion used in i965 and Gallium drivers when decoding. But this approach has showed limitations and problems. This patch removes completely the possible color conversion at decoding, since it show problems with deinterlacing, for example: gst-launch-1.0 filesrc location=interlaced.mpg2 ! parsebin ! vampeg2dec ! vadeinterlace ! xvimagesink Allowing only the surface formats when decoding is more stable. For color conversion is better to do it explicitly with vapostproc. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2531>
* player: Add missing nullable annotationsMarijn Suijten2021-09-192-11/+12
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2197>
* play: Add missing nullable annotationsMarijn Suijten2021-09-192-7/+8
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2197>
* sys: shm: Define shm_enable and shm_deps before escape meson subdirFabian Orccon2021-09-181-1/+2
| | | | | | | | Fixes meson configure in tests if the shm plugin is disabled Fixes #1664 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2534>
* d3d11videosink: Display title of content if possibleSeungha Yang2021-09-184-0/+94
| | | | | | | Update title text of window (currently it's always "Direct3D11 renderer") when we are rendering on internal HWND, not external HWND. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2529>
* d3d11videosink: Remove unused enum valueSeungha Yang2021-09-181-1/+0
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2529>
* msdkenc: Pass color properties to MediaSDK for encodingMengkejiergeli Ba2021-09-181-0/+21
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2523>
* msdkh265enc: Add profile main10 still picture for hevcMengkejiergeli Ba2021-09-182-2/+11
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2524>
* waylandsink: Fix double render checkNicolas Dufresne2021-09-172-5/+14
| | | | | | | | | | | Our code does not support rendering twice the same wl_buffer in a row, so it tries to skip that case, but for this it relied on the GstBuffer pointer, while the cache actually works at the GstMemory level now. To avoid this compare the GstWlBuffer instead. This fixes crash when use in zero-copy with videorate element. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2526>
* codecs: mpeg2decoder: Use tsg framerate for latency.Víctor Manuel Jáquez Leal2021-09-171-10/+16
| | | | | | | | | | Latency setting relies on src pad caps, but they aren't set when the function is called, and latency is never updated. In order to fix it, this patch uses TSG framerate first, and if it's not set yet, sinkpad caps are used to get the framerate. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2514>
* d3d11decoder: Refactor for more unified decoding flowSeungha Yang2021-09-1715-2698/+1801
| | | | | | | | | | | | | | | | | | | | | | | | | | ... and various code cleanup. * Move spreaded decoding API calls into one method Previously, decoding flow of most codecs are - Call DecoderBeginFrame() on start_picture() - Call {Get,Release}DecoderBuffer() on decode_slice() - Call SubmitDecoderBuffers() and DecoderEndFrame() on end_picture() Such spreaded API calls make it hard to keep track of status of decoding. Now it will be done at once in a new method. * Drop a code for non-zero wBadSliceChopping When bitstream buffer provided by driver is not sufficient to write compressed bitstream data, host decoder needs to make use of wBadSliceChopping so that driver can understand there are multiple bitstream buffer. But it's a bit unrealistic and not tested. Since FFMpeg's DXVA implemetaion doesn't support it, we might be able to ignore the case for now. * Make code more portable Consider common logic of GstCodecs -> DXVA translation for all D3D APIs (i,e., D3D9, D3D11, and D3D12). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
* d3d11decoder: Remove duplicated class_init and property related codeSeungha Yang2021-09-178-387/+190
| | | | | | Move them into the decoder helper code to remove duplication Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
* d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERNSeungha Yang2021-09-1723-133/+31
| | | | | | Instead, change the file defining debug category to cpp Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
* tests: skip cc tests if plugin is disabledU. Artie Eoff2021-09-152-7/+7
| | | | | | | | | | | | Skip the closedcaption element tests if the closedcaption option is disabled at compile time (i.e. -Dclosedcaption=disabled). v2: rename pangocairo_dep to avoid conflict with later definition in ext/ttml/meson.build as suggested by @tpm. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1388>
* codecs: h264dec: Check bumping again after inserting current picture.He Junyan2021-09-151-27/+28
| | | | | | | | | | In order to get the lowest latency, we can add another bumping check after inserting the current picture into the DPB immediately. That can avoid waiting for another decoding circle of the next frame and so the latency is lower. Fix: #1628 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
* codecs: h264: Add protection to to_insert picture in bump check.He Junyan2021-09-151-5/+6
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
* codecs: h264dec: Improve the policy to infer max_num_reorder_frames.He Junyan2021-09-151-3/+13
| | | | | | | | | | | | | | The max_num_reorder_frames number can change the way we bumping the pictures in the DPB. The smaller it is, the lower latency we will get. So it is important for live mode streams, but it is not given in VUI parameters sometimes. We now improve the policy to infer it: 1. Never guess it in the "strict" compliance. 2. For baseline and constrained baseline profiles, which do not have B frames, set it to 0. 3. For -intra only profiles, set it to 0. 4. Otherwise, not guess it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
* tests: skip aes test if elements not builtU. Artie Eoff2021-09-142-8/+2
| | | | | | | | | | | | | | | In ext/aes/meson.build, the aes_dep will return not-found if -Daes=disabled, regardless of whether openssl is found or not. Thus, we don't need a separate check for the option. This will also ensure that aes_dep is always defined and we can use it in the tests/check/meson.build unit. Fixes #1660 v2: handle -Daes=disabled, too. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2522>
* wpe: Add support for web:// URIsPhilippe Normand2021-09-131-11/+13
| | | | | | The CEF source already supports this. No good reason for wpesrc not too ;) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2503>
* va: h264dec: Try to use ConstrainedBaseline or Main to decode BaseLine.He Junyan2021-09-131-2/+10
| | | | | | | | | | In the h264, the Baseline profile is widely misused. A lot of streams declare that they are the Baseline, but in fact they just conform to ConstrainedBaseline. The features such as FMO and ASO are not used at all. If the decoder does not strictly conforms to the SPEC, we can just use Baseline or Main profile to decode it to avoid lots of streams failure. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2428>