Haihao Xiang
6117a2c6bc
msdkvp9dec: add support for VP9 444
...
The output formats are VUYA for 8bit 444 and Y410 for 10bit 444.
2019-06-29 18:10:23 +02:00
Haihao Xiang
b483f3499a
msdkh265dec: add support for main-444-10/main-444-10-intra profile
...
The output format is Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
9da737d6aa
msdk: return a right pointer for Y410 when mapping a frame
2019-06-29 17:33:57 +02:00
Haihao Xiang
ba24af0490
msdk: set right BitDepth and Shift for Y410 mfx frame
...
BitDepth is 10 and Shitf must be set to 0 when creating Y410 mfx
frame in MSDK
2019-06-29 17:33:57 +02:00
Haihao Xiang
84a46f04a7
msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y410 frame
2019-06-29 17:33:57 +02:00
Haihao Xiang
bc3a43bdb4
msdk: map MFX_FOURCC_Y410 to VA_FOURCC_Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
365f6cf0c8
msdk: map GST_VIDEO_FORMAT_Y410 to VA_FOURCC_Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
9b43a5621f
msdk: map GST_VIDEO_FORMAT_Y410 to MFX_FOURCC_Y410
2019-06-29 17:33:57 +02:00
Haihao Xiang
49ae5c2de4
msdkh265dec: add support for main-444 profile
...
The output format is VUYA
2019-06-29 17:33:57 +02:00
Haihao Xiang
1ee2adc580
msdkh265dec: add support for main-422-10/main-422-10-intra 10bit
...
The ouput format is Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
a3f8faa682
msdk: set right BitDepth and Shift for Y210 mfx frame
...
BitDepth is 10 and Shitf must be set to 1 when creating Y210 mfx
frame in MSDK
2019-06-29 14:15:32 +00:00
Haihao Xiang
32fce730ed
msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y210 frame
2019-06-29 14:15:32 +00:00
Haihao Xiang
c763a6f157
msdk: map MFX_FOURCC_Y210 to VA_FOURCC_Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
47bb53a80a
msdk: map GST_VIDEO_FORMAT_Y210 to VA_FOURCC_Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
24da8ec47b
msdk: map GST_VIDEO_FORMAT_Y210 to MFX_FOURCC_Y210
2019-06-29 14:15:32 +00:00
Haihao Xiang
56d6df08f9
msdkh265dec: add support for main-422-10/main-422-10-intra 8bit
...
The output format is YUY2
2019-06-29 14:15:32 +00:00
Jan Schmidt
60c095900f
uvch264: Fix autotools build.
...
Add gstuvch264deviceprovider.c to the Makefile.am missed
in MR 387
2019-06-28 15:46:22 +10:00
Seungha Yang
a93bf98245
meson: bluez: Early terminate configure on Windows
...
This plugin is for linux bluetooth stack. So the early termination can save
configure time on Windows (i.e., we can avoid glib subproject fallback)
2019-06-25 12:45:56 +00:00
Sebastian Dröge
907dc6df68
decklink: Correctly ensure >=16 byte alignment for the buffers we allocate
...
We'll ensure at least 64 byte alignment for AVX2 but 16 byte alignment
is what is required by the decklink SDK.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/986
2019-06-24 05:17:46 +00:00
Sebastian Dröge
5e4d10e296
decklinkvideosrc: Notify about signal loss even when dropping no-signal frames
...
Otherwise the application has no way of knowing that signal loss
happened other than noticing a gap between actual frames.
2019-06-20 10:11:08 +03:00
Matthew Waters
38c3d4ca7b
applemedia: add the '-fobjc-arc' for darwin/ios
...
We use ARC so we need to signal that to the compiler.
2019-06-17 15:02:15 +10:00
Thibault Saunier
ee108d0ed2
uvch264: Implement device provider
2019-06-16 02:30:53 +00:00
Thibault Saunier
2d3de7afa4
uvch264: Factor out checking if v4l2device is uvc compatible
2019-06-16 02:30:53 +00:00
Arun Raghavan
428b8f3457
avdtpsrc: Honour initial transport volume setting before connection
...
We make the binding go from the avdtpsrc to the transport, so that any
initial setting before a connection made is used.
2019-06-12 10:18:27 +02:00
Thibault Saunier
c13b53d221
uvch264src: Make sure we set our segment
...
We were not setting self->segment and we are using it
when notifying downstream that we handled a REQUEST_KEY_UNIT
event, leading to all sort of criticals.
2019-06-11 12:14:15 -04:00
Tim-Philipp Müller
4ff14c0e74
Remove VDPAU plugin
...
It's been replaced by NVENC/NVDEC and even NVIDIA doesn't
support VDPAU any longer and hasn't for quite some time.
The plugin has been unmaintained and unsupported for a very
long time, and given the track record over the last 10 years
it seems highly unlikely anyone is going to make it work well,
not to mention adding plumbing for proper zero-copy or
gst-gl integration.
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/828
2019-06-06 18:45:09 +01:00
Haihao Xiang
1ec231b85d
msdk: return a right pointer for VUYA format
...
The first channel in memory is V for VUYA format, note
GST_VIDEO_FORMAT_VUYA is mapped to MFX_FOURCC_AYUV in this plugin
2019-05-31 14:51:35 +08:00
Tim-Philipp Müller
7853700b50
meson: add more plugins to plugins list
...
Makes sure their path gets added to the uninstalled environment
and makes sure they get included in the docs.
2019-05-30 20:41:57 +02:00
Mathieu Duponchelle
da6afdec9c
doc: remove xml from comments
2019-05-29 22:58:08 +02:00
Nicolas Dufresne
112baf404e
kmssink: Fixup all errno tracing
...
All DRM ioctl uses errno to report the error and simply returns -1
when some error occured. This patch fixes all usage of the return
value instead of errno to trace the error type and moves to g_strerror
instead of string.h strerror in order to be consistent with the rest
of GStreamer.
2019-05-26 12:17:29 +02:00
Seungha Yang
7d0646d7fe
meson: Add nvenc and nvdec to plugin list when available
2019-05-18 02:47:37 +00:00
Haihao Xiang
9f588a97dc
msdk: fix the typo for gst_msdkvp9dec_debug
2019-05-16 12:18:30 +08:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04:00
Thibault Saunier
7fe3f36ac8
Minor documentation fixes
2019-05-13 11:36:27 -04:00
Seungha Yang
a512f5b6cd
nvenc: Respect display aspect ratio and set to encoding parameter
...
It should be written in VUI parameter for proper rendering
2019-05-09 15:42:19 +09:00
Seungha Yang
9d6e2e364c
meson: Allow CUDA_PATH fallback on linux
...
That's what we've supported via autotools build
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/966
2019-05-08 19:42:42 +09:00
Seungha Yang
cae6b7112d
nvh264enc: Fix broken Y444 format encoding with system memory Y444 support
...
separateColourPlaneFlag is mapped to separate_colour_plane_flag which
means Y, U and V planes are separately processed as monochrome sampled pictures.
So encoder shouldn't set that flag for normal 4:4:4 encoding.
Also for 4:4:4 encoding, NV_ENC_H264_PROFILE_HIGH_444_GUID profile must be
explicitly set.
2019-05-06 17:30:32 +09:00
Sebastian Dröge
6354769d89
decklink: Add support for parsing/outputting AFD/Bar
2019-05-03 21:20:49 +00:00
Sebastian Dröge
ba21c2106b
decklink: Allow VANC to be used for all modes
2019-05-03 21:20:49 +00:00
Sebastian Dröge
88f9724114
decklink: Add support for widescreen NTSC/PAL
...
Same as non-widescreen but with a different pixel-aspect-ratio.
2019-05-03 21:20:49 +00:00
Roman Shpuntov
1465a7ecdd
androidmedia: added path /system/vendor/etc to dependency
2019-05-03 19:10:22 +07:00
Niels De Graef
11a2df46b3
nvenc/nvdec: Add NVIDIA SDK headers to noinst_HEADERS
...
The tarballs that were being spun for 1.16 don't contain these headers
due to this small oversight, so let's add them.
2019-05-02 22:31:00 +00:00
Marcos Kintschner
dd7839ca43
Fixed segtotal value being always 2 due to an unused variable
...
The 'MAX' expression used to set segtotal always returned 2 because the unused and unitialized variable buffer_frame_count was always 0
2019-04-30 21:25:12 -03:00
Haihao Xiang
5b369e6e97
msdk: fix the build error with libva 2.4.0
...
This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/949
2019-04-17 13:10:10 +08:00
Peter Seiderer
670481bdeb
msdkdec: fix error handling in case of unsupported hardware
...
Check the return value of gst_msdk_context_ensure_context and
abort in case of failure.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945
2019-04-10 15:54:31 +00:00
Peter Seiderer
e766aaf2b1
msdkenc: fix error handling in case of unsupported hardware
...
Check the return value of gst_msdk_context_ensure_context and
abort in case of failure.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/945
2019-04-10 15:54:31 +00:00
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
Haihao Xiang
56cada6902
msdkvpp: allow UYVY in the src pad
...
This make the pipeline below works:
gst-launch-1.0 videotestsrc num-buffers=1 ! msdkvpp ! \
video/x-raw,format=UYVY ! filesink location=a.yuv
Once https://github.com/intel/media-driver/pull/526 in the media-driver
is merged, the pipeline below also works:
gst-launch-1.0 videotestsrc num-buffers=1 ! msdkvpp ! \
video/x-raw\(memory:DMABuf\),format=UYVY ! filesink location=a.yuv
2019-02-19 11:04:47 +00:00
Haihao Xiang
ac9423facb
msdk: map GST_VIDEO_FORMAT_UYVY to VA_FOURCC_UYVY
2019-02-19 11:04:47 +00:00
Haihao Xiang
ea6789fec8
msdkvpp: allow BGRx in DMABuf mode in the src pad
...
Tested with the pipeline below:
gst-launch-1.0 videotestsrc ! msdkvpp ! \
video/x-raw\(memory:DMABuf\),format=BGRx ! glimagesink
2019-02-19 11:04:47 +00:00
Bastien Nocera
2d5ed45913
vcdsrc: Remove unusable VCD source
...
The VCD source was ported in 2014 (commit 89eb1e9
), but the necessary
"cdxaparse" plugin, which is used to "Parse a .dat file (VCD) into
raw mpeg1" was never ported.
This means that the probable main user for the feature, totem, hasn't
actually been able to play back VCDs, since 2012, when it switched to
using GStreamer 1.0.
Note that even if cdxaparse was finally ported, a lot of work would
still be necessary before it is considered usable. Notably, it is
missing disc image support [1] and some VCDs just cannot be opened for
reading [2].
[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/898
[2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/899
2019-02-18 15:39:43 +01:00