summaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* magicleap: update lumin_rt libraries names to the latest official versionAntonio Ospite2021-11-051-2/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2561>
* mfvideosrc: Fix for negative MF strideSeungha Yang2021-08-203-20/+186
| | | | | | | | | | | | Negative stride value can be used in MediaFoundation to inform whether memory layout is top-down or bottom-up manner. Note that negative stride is allowed only for RGB, system memory. See also https://docs.microsoft.com/en-us/windows/win32/medfound/image-stride Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1646 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2477>
* v4l2slh264dec: Fix slice header bit size calculationNicolas Dufresne2021-08-181-2/+2
| | | | | | | | The emulation bytes need to be removed as bytes, not bit. This fixes decoding issues with files that have emulation bytes with the Cedrus driver. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2472>
* mfvideosrc: Fix negotiation when interlace-mode is specifiedSeungha Yang2021-07-082-2/+2
| | | | | | | | Given caps does not need to be strictly subset of device caps. Allow accept it if device caps and requested caps can intersect Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1619 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2391>
* gst: don't use volatile to mean atomicMatthew Waters2021-04-1328-34/+34
| | | | | | | | | | | | volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations. https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2155>
* mfvideoenc: Don't pass 0/1 framerate to MFTSeungha Yang2021-03-251-2/+5
| | | | | | | | Some MFT implementations do not accept 0/1 framerate and it will result in encoder open failure. If framerate is unknown, we will use arbitrary 25/1 framerate value. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2109>
* nvh264sldec: Reopen decoder object if larger DPB size is requiredSeungha Yang2021-03-071-0/+24
| | | | | | | Equivalent to the d3d11h264dec fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1839 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2060>
* d3d11h264dec: Keep track of actually configured DPB sizeSeungha Yang2021-03-041-1/+6
| | | | | | | | | | | | | | | | | | | ... instead of the largest we ever seen. Note that d3d11h264dec element holds previously configured DPB size for later decoder object re-open decision. This is to fix below case: 1) Initial SPS, required DPB size is 6 - decoder object is opened with DPB size 6 - max_dpb_size is now 6 2) SPS update with resolution change, required DPB size is 1 - decoder object is re-opened with DPB size 1 - max_dpb_size should be updated to 1, but it didn't happen (BUG) 3) SPS update without resolution change, only required DPB size is updated to 6 - decoder object should be re-opened but didn't happen because we didn't update max_dpb_size at 2). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2057>
* d3d11h264dec: Reconfigure decoder object on DPB size changeSeungha Yang2021-03-041-0/+25
| | | | | | | | | Even if resolution and/or bitdepth is not updated, required DPB size can be changed per SPS update and it could be even larger than previously configured size of DPB. If so, we need to reconfigure DPB d3d11 texture pool again. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2057>
* decklinkvideosink: Use correct numerator for 29.97fpsSebastian Dröge2021-02-261-1/+1
| | | | | | It's not 0.2997fps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2043>
* decklinksrc: Use a more accurate capture timeEdward Hervey2021-02-261-0/+35
| | | | | | | | | Use the hardware reference clock time when the frame was finished being captured instead of a time much further down the road. This improves the stability/accuracy of buffer times. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2041>
* decklink: Fixed decklinkvideosink auto format detectionStaz M2021-01-301-1/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1998>
* d3d11videosink: Fix build error on UWPSeungha Yang2021-01-211-1/+1
| | | | | | gstd3d11videosink.c(662): error C2065: 'sink': undeclared identifier Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1972>
* decklinkaudiosrc: Fix duration of the first audio frame after each discontSebastian Dröge2021-01-131-0/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1891>
* msdk: needn't close mfx session when failedHaihao Xiang2020-12-301-1/+0
| | | | | | | | | Otherwise we will get double free issue because mfx session is closed in finalize. See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1867#note_739346 for the double free issue. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1927>
* msdk: check GstMsdkContext instead of mfxSession instanceHaihao Xiang2020-12-302-12/+13
| | | | | | | | | | | | | | When creating a GstMsdkContext instance, it also creates a mfxSession instance, so we may check GstMsdkContext instead of mfxSession instance to make sure MSDK is available. In addition, according to MSDK doc [1], MFXVideoCORE_SetHandle function should be executed before any actual usage of library including queries, otherwise the behavior is unexpected, so we should call MFXVideoCORE_QueryPlatform after MFXVideoCORE_SetHandle on Linux [1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#working-with-va-api-applications Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1921>
* d3d11shader: Fix ID3DBlob object leakSeungha Yang2020-12-291-0/+7
| | | | | | | | Even if HLSL compiler was able to compile our shader code, D3DCompile() might return ID3DBlob object for compile warnings and the object should be released. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1922>
* d3d11videosink: Prepare window once streaming startedSeungha Yang2020-12-231-11/+32
| | | | | | | | | ... instead of READY state. READY state is too early for setting overlay window handle especially playbin/playsink scenario since playsink will set given overlay handle on videosink once READY state change of videosink is ensured. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1905>
* Revert "v4l2codecs: decoder: Unmark previously pending request"Nicolas Dufresne2020-12-021-1/+0
| | | | | | This reverts commit a3e6d9fc24098fc27fa3fb10c4d189fa61e67500 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1848>
* nvcodec: leave g_once_init when all quarks are initializedJulian Bouzas2020-11-091-3/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1784>
* decklink: correct framerate 2KDCI 23.98Jason Pereira2020-11-051-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1774>
* decklink: Update enum value bounds check in gst_decklink_get_mode()Sebastian Dröge2020-10-301-1/+1
| | | | | | | | The widescreen modes moved after GST_DECKLINK_MODE_2160p60 and using them now would cause an assertion. This is a regression from 309f6187fef890c7ffa49305f38e89beac3b1423. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1740>
* amc: Fix crash when encoding AVCXavier Claessens2020-10-301-1/+2
| | | | | | | gstamcvideoenc.c calls gst_amc_avc_profile_to_string() with alternatives set to NULL which causes a crash. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1739>
* d3d11videoprocessor: Fix wrong input/output supportability checkSeungha Yang2020-10-291-7/+12
| | | | | | | The flag argument of ID3D11VideoProcessorEnumerator::CheckVideoProcessorFormat method is output value, not input. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1736>
* v4l2codecs: vp8: Allow baseclass from skipping framesNicolas Dufresne2020-10-161-11/+7
| | | | | | | | In preparation for !1670, this will allow the base class from skipping frames that should not be displayed. Previously it would complain about unordered decoding taking place in the driver. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
* v4l2codecs: decoder: Unmark previously pending requestNicolas Dufresne2020-10-161-0/+1
| | | | | | | | requests are executed in order, so while dequeuing sink buffers for previous request, also mark these request as no longer pending. This will allow reusing the request later. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
* v4l2codecs: decoder: Properly remove pending requestsNicolas Dufresne2020-10-161-1/+1
| | | | | | | | Pass the pointer instead of NULL in order to find and remove properly any pending request from the queue. This coding error was leading to use after free in error and early exit cases. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1701>
* mfvideosrc: Use only the first video stream per deviceSeungha Yang2020-10-111-1/+8
| | | | | | | | Non-first video stream might not be working with current implementation. It could be non-video (e.g., photo source) and then ReadSample() might be blocked forever. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1676>
* decklink: Correctly order the different dependent mode tablesSebastian Dröge2020-10-051-7/+7
| | | | | | One was forgotten in 309f6187fef890c7ffa49305f38e89beac3b1423. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1652>
* wasapisrc: Make sure that wasapisrc produces data in loopback modeSeungha Yang2020-10-052-0/+189
| | | | | | | | | | | | | | | | | | | | | | | An oddness of wasapi loopback feature is that capture client will not produce any data if there's no outputting sound to corresponding render client. In other words, if there's no sound to render, capture task will stall. As an option to solve such issue, we can add timeout to wake up from capture thread if there's no incoming data within given time interval. But it seems to be glitch prone. Another approach is that we can keep pushing silence data into render client so that capture client can keep capturing data (even if it's just silence). This patch will choose the latter one because it's more straightforward way and it's likely produce glitchless sound than former approach. A bonus point of this approach is that loopback capture on Windows7/8 will work with this patch. Note that there's an OS bug prior to Windows10 when loopback capture client is running with event-driven mode. To work around the bug, event signalling should be handled manually for read thread to wake up. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1651>
* vtdec/vulkan: use Shared storage mode for IOSurface texturesMatthew Waters2020-10-041-1/+1
| | | | | | | | Fixes a debug assertion with i(Pad)OS 14: 'IOSurface textures must use MTLStorageModeShared' Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1648>
* kmssink: Do not source using padded width/heightNicolas Dufresne2020-10-041-6/+7
| | | | | | | | | | | | | The width/height from the video meta can be padded width, height. But when sourcing from padded buffer, we only want to use the valid pixels. This rectangle is from the crop meta, orther it is deduces from the caps. The width and height from the caps is save in the parent class, use these instead of the GstVideoInfo when settting the src rectangle. This fixes an issue with 1080p video displaying repeated or green at the padded bottom 8 lines (seen with v4l2codecs). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1642>
* gst: Update for gst_video_transfer_function_*() function renamingSebastian Dröge2020-09-073-3/+3
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1557>
* msdkvp9dec: change the include header orderHaihao Xiang2020-09-011-2/+2
| | | | | | | | | | This fixes the compiler error when MFX_VERSION_USE_LATEST is defined in the SDK. /usr/include/mfx/mfxvp9.h:48:5: error: unknown type name ‘mfxExtBuffer’ mfxExtBuffer Header; Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1549>
* dshowsrcwrapper: Update build instructions. Add _builddir to include search ↵Jérôme Laheurte2020-08-282-0/+6
| | | | | | path. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1537>
* dshowsrcwrapper: fix typo in variable nameJérôme Laheurte2020-08-251-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1538>
* d3d11videosink: Fix crash caused by missing null terminationSeungha Yang2020-08-241-1/+1
| | | | | | gst_caps_features_new() must be null terminated. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1524>
* va: allocator: remove parameter from _create_buffer_surface()Víctor Manuel Jáquez Leal2020-08-241-3/+3
| | | | | | Don't the allocator to _create_buffer_surface() since it's not used. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516>
* va: utils: free allocated stringVíctor Manuel Jáquez Leal2020-08-241-1/+4
| | | | | | and fix a memleak Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516>
* va: utils: fix log category initializationVíctor Manuel Jáquez Leal2020-08-241-0/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516>
* va: h264dec: check va allocator at decide allocationVíctor Manuel Jáquez Leal2020-08-242-7/+7
| | | | | | And some code cleanups Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516>
* va: decoder: improve locks for member variable accessVíctor Manuel Jáquez Leal2020-08-241-5/+11
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1516>
* mediafoundation: Correct wrong raw video format mappingSeungha Yang2020-08-171-2/+2
| | | | | | Was a shameful mistake Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1517>
* va: h264dec: set latencyVíctor Manuel Jáquez Leal2020-08-171-0/+35
| | | | | | | | | | The min latency is calculated with the maximum number of frames that precede any frame, if available, and it is lower than the maximum number of frames in DBP. The max latency is calculated with the maxium size of frames in DBP. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1500>
* mediafoundation: Call MFShutdown when destroying pluginSeungha Yang2020-08-131-0/+17
| | | | | | | | MFStartup and MFShutdown should be paired as documented in https://docs.microsoft.com/en-us/windows/win32/api/mfapi/nf-mfapi-mfstartup#remarks Otherwise valgrind-like tools would report false positive memory leak. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1512>
* msdkvpp: do not hold too many input buffers in locked listXu Guangxin2020-08-131-3/+12
| | | | | | | If the surface is locked before vpp, upstream takes the reference. We do not need to take a reference for msdk in vpp. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1490>
* msdkvpp: refact, put input and output surface in diffrent listXu Guangxin2020-08-132-12/+32
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1490>
* d3d11: Handle newly added GST_VIDEO_TRANSFER_BT601Seungha Yang2020-08-121-0/+2
| | | | | | Use the value for mapping between DXGI_COLOR_SPACE_TYPE and GstVideoColorimetry. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1410>
* d3d11: Store more device information in context structureSeungha Yang2020-08-121-4/+15
| | | | | | It would be more informative for debugging Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1507>
* d3d11: Selected adapter index should be unsigned integerSeungha Yang2020-08-121-5/+5
| | | | | | | If d3d11device was created successfully, the index of adapter must not be negative value Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1507>