mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
7681566f29
Otherwise MFXVideoVPP_Init will fail because it is called twice without
a close.
Example pipeline:
gst-launch-1.0 videotestsrc ! msdkvpp ! glimagesink
Sometimes glimagesink emits GST_EVENT_RECONFIGURE event which results
in that MFXVideoVPP_Init is called twice, then get the negotiation
failure below:
0:00:00.093715518 21218 0x558ef56231e0 ERROR msdkvpp
gstmsdkvpp.c:995:gst_msdkvpp_initialize:<msdkvpp0> Init failed
(undefined behavior)
WARNING: from element /GstPipeline:pipeline0/GstMsdkVPP:msdkvpp0: not
negotiated
After applying this commit, the pipeline above may run without
negotiation failure, however NV12 layout in dmabuf mode is selected in
renegotiation, the display image is corrupted due to the NV12 issue which
was mentioned in commit
|
||
---|---|---|
.. | ||
gstmsdk.c | ||
gstmsdkallocator.h | ||
gstmsdkallocator_d3d.c | ||
gstmsdkallocator_libva.c | ||
gstmsdkallocator_libva.h | ||
gstmsdkbufferpool.c | ||
gstmsdkbufferpool.h | ||
gstmsdkcontext.c | ||
gstmsdkcontext.h | ||
gstmsdkcontextutil.c | ||
gstmsdkcontextutil.h | ||
gstmsdkdec.c | ||
gstmsdkdec.h | ||
gstmsdkdecproputil.c | ||
gstmsdkdecproputil.h | ||
gstmsdkenc.c | ||
gstmsdkenc.h | ||
gstmsdkh264dec.c | ||
gstmsdkh264dec.h | ||
gstmsdkh264enc.c | ||
gstmsdkh264enc.h | ||
gstmsdkh265dec.c | ||
gstmsdkh265dec.h | ||
gstmsdkh265enc.c | ||
gstmsdkh265enc.h | ||
gstmsdkmjpegdec.c | ||
gstmsdkmjpegdec.h | ||
gstmsdkmjpegenc.c | ||
gstmsdkmjpegenc.h | ||
gstmsdkmpeg2dec.c | ||
gstmsdkmpeg2dec.h | ||
gstmsdkmpeg2enc.c | ||
gstmsdkmpeg2enc.h | ||
gstmsdksystemmemory.c | ||
gstmsdksystemmemory.h | ||
gstmsdkvc1dec.c | ||
gstmsdkvc1dec.h | ||
gstmsdkvideomemory.c | ||
gstmsdkvideomemory.h | ||
gstmsdkvp8dec.c | ||
gstmsdkvp8dec.h | ||
gstmsdkvp8enc.c | ||
gstmsdkvp8enc.h | ||
gstmsdkvp9dec.c | ||
gstmsdkvp9dec.h | ||
gstmsdkvpp.c | ||
gstmsdkvpp.h | ||
gstmsdkvpputil.c | ||
gstmsdkvpputil.h | ||
Makefile.am | ||
meson.build | ||
msdk-enums.c | ||
msdk-enums.h | ||
msdk.c | ||
msdk.h | ||
msdk_d3d.c | ||
msdk_libva.c | ||
msdk_libva.h | ||
README |
# gst-msdk gst-msdk is a plugin for [Intel Media SDK](https://software.intel.com/en-us/media-sdk), a cross-platform API for developing media applications. The plugin has multiple elements for video hardware encoding leveraging latest Intel processors through Intel Media SDK. - MPEG2 encoding (*msdkmpeg2enc*) - H.264 encoding (*msdkh264enc*) - H.265 encoding (*msdkh265enc*) - VP8 encoding (*msdkvp8enc*) It requires: - Intel Media SDK # Giving it a try Encoding a simple video test source and saving it to a file. $ gst-launch-1.0 videotestsrc ! msdkh264enc ! filesink location=test.h264 # License gst-mdk is freely available for download under the terms of the [BSD-3-Clause License](https://spdx.org/licenses/BSD-3-Clause.html).