Peter Seiderer
9b19968a66
msdk: fix error handling in case of unsupported hardware
...
Fix double gst_object_unref for GstMsdkContext.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945
2019-04-10 15:54:31 +00:00
Haihao Xiang
e81a22d741
msdkvpp: add BGR10A2_LE format in the src pad
...
example pipeline:
gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10LE ! msdkvpp ! \
video/x-raw,format=BGR10A2_LE ! fakesink
2019-04-09 14:26:02 +00:00
Haihao Xiang
21f07e95f5
msdk: set some parameters in mfxFrameData for a MFX_FOURCC_A2RGB10 frame
2019-04-09 14:26:02 +00:00
Haihao Xiang
c40ecbe7f5
msdk: map MFX_FOURCC_A2RGB10 to VA_FOURCC_A2R10G10B10
2019-04-09 14:26:02 +00:00
Haihao Xiang
95fdc2e984
msdk: map GST_VIDEO_FORMAT_BGR10A2_LE to VA_FOURCC_A2R10G10B10
2019-04-09 14:26:02 +00:00
Haihao Xiang
53fd4a1564
msdk: map GST_VIDEO_FORMAT_BGR10A2_LE to MFX_FOURCC_A2RGB10
2019-04-09 14:26:02 +00:00
Peter Körner
58b5d5e10d
decklinkvideosrc: add missing break in set_property-code
2019-04-09 12:19:58 +02:00
Shi Yan
f769758e9a
Increase nvenc's encoding height to 4096
...
According to https://developer.nvidia.com/nvidia-video-codec-sdk
the minimum resolution nvenc supports should be 4096x4096
2019-04-04 20:19:42 +00:00
Haihao Xiang
8e4d7c3642
msdkdec: add postinit_decoder
...
The workaround for https://github.com/Intel-Media-SDK/MediaSDK/issues/1139
is required for vp8 only, so move this workaround to the corresponding
postinit_decoder function
The pipeline below works with this change
gst-launch-1.0 filesrc location=SA10104.vc1 ! \
'video/x-wmv,profile=(string)advanced',width=720,height=480,framerate=14/1 ! \
msdkvc1dec ! fakesink
2019-03-29 13:32:06 +08:00
Haihao Xiang
01051e7dfd
msdkdec: don't set unknown picture struct to progressive for vc1
...
MFXVideoDECODE_DecodeHeader only parses the sequence layer for VC1, so
the structure is unknown for a stream with interlace flag set in the
sequence layer. If forcing the struct to progressive in this plugin,
MediaSDK will fail to decode such streams.
2019-03-29 13:13:07 +08:00
Haihao Xiang
5b0247db33
msdkvc1dec: add the preinit_decoder function
2019-03-29 12:57:51 +08:00
Seungha Yang
aaee282051
nvenc: Don't leak CUDA device memory
...
Allocated device memory should be freed with cuMemFree
2019-03-26 11:54:16 +00:00
Seungha Yang
d0f2f262aa
nvenc: Ensure unmap resources before finalizing them
...
Mapped resource via NvEncMapInputResource() will result to unregister fail.
It can happen when paused to ready state change without EOS event.
2019-03-26 11:54:16 +00:00
Seungha Yang
60983fcea9
nvenc: Don't release stream lock on GstVideoEncoder::stop()
...
baseclass didn't take the stream lock during stop. It's valid only for
GstVideoEncoder::finish()
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
2019-03-25 22:26:35 +09:00
Haihao Xiang
ac1408874b
msdkvpp: add VUYA format in the src and sink pads
2019-03-25 09:50:33 +00:00
Haihao Xiang
8389e88840
msdk: return the right pointer for GST_VIDEO_FORMAT_VUYA frame
...
The first component for GST_VIDEO_FORMAT_VUYA in memory is V.
2019-03-25 09:50:33 +00:00
Haihao Xiang
24d12a4abf
msdk: set some parameters in mfxFrameData for a MFX_FOURCC_AYUV frame
2019-03-25 09:50:33 +00:00
Haihao Xiang
5a5d707cdd
msdk: map MFX_FOURCC_AYUV to VA_FOURCC_AYUV
2019-03-25 09:50:33 +00:00
Haihao Xiang
cd8696d2b2
msdk: map GST_VIDEO_FORMAT_VUYA to VA_FOURCC_AYUV
2019-03-25 09:50:33 +00:00
Haihao Xiang
f7863cc741
msdk: map GST_VIDEO_FORMAT_VUYA to MFX_FOURCC_AYUV
2019-03-25 09:50:33 +00:00
Haihao Xiang
28a1b0c418
msdkdec: avoid infinite loop
...
It is possible MFXVideoDECODE_DecodeFrameAsync returns MFX_ERR_INCOMPATIBLE_VIDEO_PARAM
and this error can't be recovered by retrying MFXVideoDECODE_DecodeFrameAsync
in some cases, so we need to limit the number of retries to avoid infinite loop.
This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/909
2019-03-25 09:10:38 +00:00
Haihao Xiang
2e3022c553
msdk: relicense the plugin to LGPL
...
Some files licensed under LGPL were included, so relicense the plugin
from BSD to LPGL. In addition, this patch removes the README per the
discussion in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/853
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/853
2019-03-17 18:15:46 +00:00
Nirbheek Chauhan
48d897f65f
nvenc: Fix build when cuda is found but nvenc is disabled
...
tests\check\meson.build:21:5: ERROR: Unknown variable "use_nvenc_gl".
Also do the same change in nvdec, just to be defensive about future
issues.
2019-03-11 14:45:14 +05:30
Seungha Yang
01a402e4ec
nvenc: More clean up on stop for encoder to be reusable
...
Encoder will not configure internal pool again if input_state exist
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
2019-03-10 13:58:42 +09:00
Seungha Yang
74848770a5
nvenc: Ensure drain all frames on finish
...
To drain all queued encoding items, encoder should gracefully
wait the encoding thread without stealing queued items.
Otherwise, some input frames can be dropped.
2019-03-10 13:58:42 +09:00
Yeongjin Jeong
8e860fffd9
nvenc: Fix GValue leaks
...
GValue should be freed with g_value_unset()
2019-03-09 15:17:30 +00:00
Seungha Yang
ebe01995ff
nvdec/nvenc: Add CUDA Toolkit 10.1 support
...
Update to support the latest CUDA Toolkit version 10.1
2019-03-07 21:27:44 +09:00
Peter Körner
18d3d31dc8
decklink: document duplex and keyer behaviour
2019-03-04 09:34:44 +00:00
Peter Körner
58dadd1ad0
decklink: implement duplex-mode property
2019-03-04 09:34:44 +00:00
Nirbheek Chauhan
8b738932e0
build: Don't forget to dist applemedia/avfdeviceprovider.h
...
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/908
2019-03-01 16:20:05 +00:00
Seungha Yang
1d17e3891d
mskd: Don't use MFX_FOURCC_RGB565 if it's undefined
...
../subprojects/gst-plugins-bad/sys/msdk/msdk.c(61): error C2065: 'MFX_FOURCC_RGB565'
The minimum required version for the format seems to MFX_VERSION >= 1028
2019-03-01 07:03:01 +00:00
Haihao Xiang
4b8e3b215a
msdkdec: fix for small resolution
2019-02-28 11:51:06 +00:00
Haihao Xiang
18d410b81a
msdkdec: fix for resolution change
...
Returning MFX_ERR_INCOMPATIBLE_VIDEO_PARAM from
MFXVideoDECODE_DecodeFrameAsync means the allocated mfx surface is not
suitable for the current frame, we need a new mfx surface and try
MFXVideoDECODE_DecodeFrameAsync again.
2019-02-28 11:08:24 +00:00
Haihao Xiang
a751b33072
msdkdec: force the alignment of width/height to 16 for vp8/vp9
...
MSDK library requires 16 alignment for vp8/vp9, otherwise a pipeline
for vp8/vp9 decoding might fail.
example pipeline:
gst-launch-1.0 filesrc location=vp8_1280x720.webm ! matroskademux ! \
msdkvp8dec ! fakesink
0:00:00.150565444 10657 0x55c8484036d0 ERROR msdkdec
gstmsdkdec.c:1056:gst_msdkdec_handle_frame:<msdkvp8dec0>
DecodeFrameAsync failed (invalid video parameters)
2019-02-27 15:56:29 +00:00
Haihao Xiang
0806f94e1c
msdkvpp: add RGB16 format in the sink pad
...
Note: MSDK doesn't support RGB16 output, hence don't add RGB16 format in
the src pad
2019-02-27 15:22:43 +00:00
Haihao Xiang
f39bcd3920
msdk: set some parameters in mfxFrameData for a RGB16 frame
2019-02-27 15:22:43 +00:00
Haihao Xiang
52b5a7e206
msdk: map MFX_FOURCC_RGB565 to VA_FOURCC_RGB565
2019-02-27 15:22:43 +00:00
Haihao Xiang
a09cff84ce
msdk: map GST_VIDEO_FORMAT_RGB16 to VA_FOURCC_RGB565
2019-02-27 15:22:43 +00:00
Haihao Xiang
197f7f569b
msdk: map GST_VIDEO_FORMAT_RGB16 to MFX_FOURCC_RGB565
2019-02-27 15:22:43 +00:00
Haihao Xiang
6287016a74
msdkdec: release the occupied surface for MFX_WRN_DEVICE_BUSY
...
When MFXVideoDECODE_DecodeFrameAsync () returns MFX_WRN_DEVICE_BUSY with
an output surface, a new input surface is required when retrying
MFXVideoDECODE_DecodeFrameAsync ().
This fixes the out-of-surface issue mentioned in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/890
2019-02-24 19:13:57 +00:00
Haihao Xiang
fffb3f628d
msdk: don't destroy an image twice
...
This gets rid of annoying message in the log, e.g. run the pipeline
below:
gst-launch-1.0 videotestsrc num-buffers=100 ! \
video/x-raw,format=NV12,width=352,height=288 ! msdkh264enc ! filesink \
location=test.h264
[LIBVA]:CRITICAL - DdiMedia_DestroyImage:4357: Invalid image
2019-02-24 17:59:43 +00:00
Haihao Xiang
348a4b570d
msdk: move the comment to the correct place
2019-02-24 17:59:43 +00:00
Tim-Philipp Müller
bdd64e1e3f
decklink: add Hardware tag to element metadata
2019-02-19 23:45:35 +00:00
Tim-Philipp Müller
d669f89665
wasapi: add Hardware tag to element metadata
2019-02-19 23:45:34 +00:00
Tim-Philipp Müller
7b00184cb9
winks: add Hardware tag to element metadata
2019-02-19 23:45:34 +00:00
Tim-Philipp Müller
c39fd4d898
androidmedia: add Hardware tag to element metadata
2019-02-19 23:45:34 +00:00
Tim-Philipp Müller
a7ff751a2a
applemedia: add Hardware tag to element metadata
2019-02-19 23:45:32 +00:00
Tim-Philipp Müller
16426b3928
msdk: add Hardware tag to element metadata
2019-02-19 23:44:42 +00:00
Tim-Philipp Müller
d5b03bfed8
nvenc, nvdec: add Hardware tag to element metadata
2019-02-19 23:44:42 +00:00
Haihao Xiang
8213d0b858
msdkvpp: allow UYVY in DMABuf mode in the sink pad
...
Tested with the pipeline below:
gst-launch-1.0 videotestsrc num-buffers=1 ! msdkvpp ! \
video/x-raw\(memory:DMABuf\),format=UYVY ! msdkvpp ! video/x-raw, \
format=YUY2 ! filesink location=a.yuv
2019-02-19 11:04:47 +00:00