Matthew Waters
9046e60aa7
decklink: reinstate some hardcoded colorimetry handling
...
Needed when we don't yet have an open device and are doing negotiation.
colorimetry=bt601 is only actually supported by decklink for PAL and NTSC
formats. All other formats use bt709 or above.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:14 +00:00
Matthew Waters
2832aab78a
decklink: only expose HDR colorimetry if 2020 colorspace is supported
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Matthew Waters
19a60f341c
decklinkvideosrc: ignore HDR metadata consisting of all zeros
...
In some cases decklinkvideosink may produce such stream when the
information is unknown.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Matthew Waters
06c344d43a
decklinkvideosink: provide default values when HDR metadata is not available
...
Some file format standards don't require mastering-display-info
and content-light-level values to be provided.
Decklink however requires the static HDR metdata for the PQ transfer
function which we may not have.
CTA-861-G mentions that in this case, 0 may provided as an 'unknown'
value which is what we use here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Matthew Waters
a509a1fd40
decklinkvideosink: fix incorrect EOTF value
...
Checking for mastering-display-info twice is incorrect. One of the
checks should be for the content-light-level.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Benjamin Gräf
2638d8135d
decklink: Add support for all modes of Quad HDMI recorder
...
By extending the GstDecklinkModeEnum with the additional modes supported by the Quad HDMI recorder,
we avoid using mode = 0 in case any of these resolutions is returned by the card.
Fixes#3713
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7302 >
2024-08-09 11:29:59 +00:00
Matthew Waters
c541cbef92
decklink: fix win32 build error
...
This was not caught by the CI in the MR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7307 >
2024-08-06 10:04:40 +10:00
Matthew Waters
0699dd510d
decklink: add support for HDR output and input
...
Supports PQ and HLG static metadata.
Support for HDR is queried from the device and selectively enabled when
supported.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7214 >
2024-08-05 16:38:22 +00:00
Matthew Waters
58db0e6ed8
decklinkvideosink: schedule frames before they need to be displayed
...
This removes most occurances of 'late' frame notifications produced by
decklink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7107 >
2024-07-19 01:28:16 +00:00
Sebastian Dröge
0ef396359c
gst: Move GstQueueArray as GstVecDeque to core
...
And change lengths and indices from guint to gsize for a more correct type.
Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779 >
2024-05-06 18:25:42 +00:00
Tobias Rapp
cd98d12f2e
decklink: Fix typo in element documentation
...
DechLink -> DeckLink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5625 >
2023-11-09 07:53:12 +00:00
Tobias Rapp
7ec3a97a70
decklink: Increase section level of video sink/source element documentation
...
Should fix auto-generated follow-up sections like "Hierarchy" or
"Factory details" to be listed under the element name in the
table-of-contents of the document, instead of a stand-alone
"Duplex-Mode" section.
Also cleanup some spurious colon suffix after section names.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5625 >
2023-11-09 07:53:12 +00:00
Seungha Yang
3536b7f3a6
decklink: Fix broken COM string conversion
...
WideCharToMultiByte return is the string length without null terminate
character if passed "cchWideChar" does not include the null terminate
character size. Instead of passing the exact string length, pass -1 so that
the API can understand the input string is null terminated already and
returned value from the API includes the character.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3023
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5444 >
2023-10-09 20:10:25 +09:00
Sebastian Dröge
f1e7ac13cd
decklink: Implement Windows string conversion with common API between MinGW and MSVC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
ab582a3b7d
decklink: Add some newlines in long defines
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Maksym Khomenko
72e7ae724f
decklink: Calculate string size before malloc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
ab946cd41e
decklink: Use the macOS version of the SDK on macOS and not the Linux one
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
a2850bcb88
decklink: Free SDK strings after usage on Linux
...
While they're const char* they still need to be freed like on Windows
and macOS and would be leaked otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Sebastian Dröge
59ca9ef342
decklink: Correctly handle SDK strings on macOS
...
They're CFStringRef* and not plain NUL-terminated char* C strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738 >
2023-06-06 06:21:46 +00:00
Seungha Yang
7117cba831
decklinkaudiosink: Fix playback when video caps is configured before audio
...
Scheduled playback starts on videosink's state change or on caps
but it's possible that audiosink is configure without caps yet.
Try start scheduled playback on audiosink's caps event as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4364 >
2023-04-07 18:59:17 +00:00
Wojciech Kapsa
8d4916df84
decklink: fix 10 bit RGB (r210) format auto detection
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2391
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4332 >
2023-04-04 20:37:09 +03:00
Wojciech Kapsa
b618ff3369
decklink: reset calculation of gst_decklink_video_src_update_time_mapping on no_signal. When the HDMI cable was disconnected for a long time, the calculation took too much time. SDI cable works fine.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3132 >
2022-10-10 08:13:30 +00:00
Wojciech Kapsa
505f48f237
decklink: Add new persistent-id property and sort devices by persistent ID
...
The order of the devices iterator from the SDK is undefined and can
randomly change.
Keep the device-number property for backwards compatibility and
simplicity but prefer the persistent-id property and also use it for the
device provider implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3078 >
2022-10-06 15:50:11 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Eric Knapp
45408db258
decklink: Validate video input format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892 >
2022-08-17 13:29:55 -04:00
Eric Knapp
0c42c4801c
decklink: Auto-detect 10-bit YUV
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2892 >
2022-08-17 13:29:55 -04:00
Sebastian Dröge
2aae64edb9
decklinkvideosink: Pass video frames directly to the Decklink SDK without copying
...
If the video frame is stored in PBO memory then we need to copy anyway as
it might be stored in CPU-accessible GPU memory that can't be accessed
from the Decklink driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2674 >
2022-07-01 08:46:48 +00:00
Sebastian Dröge
87230db55c
decklinkvideosink: Fix selection of > PAL widescreen modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2601 >
2022-06-15 13:23:51 +00:00
Sebastian Dröge
92a4088621
decklink: Add support for 4K DCI, 8K/UHD2 and 8K DCI modes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2570 >
2022-06-10 05:31:35 +00:00
Eric Knapp
1818374de2
decklinkvideosink: Add 3G-SDI Level A output support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2544 >
2022-06-07 10:07:42 +03:00
Seungha Yang
34c6063769
decklink: Update SDK version to 12.2.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1883 >
2022-03-08 10:16:29 +00:00
Thibault Saunier
019971a3c7
Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir
2021-09-24 16:14:36 -03:00