Commit 3119a2c5 authored by Steinar H. Gunderson's avatar Steinar H. Gunderson Committed by Jean-Baptiste Kempf

Add access module for BlackMagic SDI cards ("decklink").

Adds a driver for the BlackMagic DeckLink series of SDI cards (input only).
It requires BlackMagic's proprietary (but free-to-download) SDK to compile
and run. I've only tested it on Linux -- the Windows API is very similar but
not identical, so some adjustments will probably have to happen if anybody
wants this to work on Windows. (Windows users can, AFAIK, already access the
card via DirectShow, though.) It supports multiple cards, all the various
A/V inputs and video modes including setting field dominance and multichannel
input (2, 8 or 16 channels).

All testing has been with a DeckLink HD Extreme 3, which I have very
graciously been given access to by Frikanalen.
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent d7fa382b
...@@ -17,6 +17,7 @@ Access ...@@ -17,6 +17,7 @@ Access
* Support for VDR recordings * Support for VDR recordings
* Blu-Ray integration with libbluray * Blu-Ray integration with libbluray
* HTTP Live Streaming (IETF draft) playback support * HTTP Live Streaming (IETF draft) playback support
* Blackmagic DeckLink SDI card input support (Linux only currently)
Codecs Codecs
* You can now use ffmpeg-mt in conjunction with vlc * You can now use ffmpeg-mt in conjunction with vlc
......
...@@ -2144,6 +2144,29 @@ then ...@@ -2144,6 +2144,29 @@ then
fi fi
fi fi
dnl
dnl special access module for Blackmagic SDI cards
dnl
AC_ARG_ENABLE(decklink,
[ --enable-decklink Blackmagic DeckLink SDI access module (default enabled)])
if test "${enable_decklink}" != "no"
then
AC_ARG_WITH(decklink_sdk,
[ --with-decklink-sdk=DIR Location of Blackmagic DeckLink SDI SDK],[],[])
if test "${with_decklink_sdk}" != "no" -a -n "${with_decklink_sdk}"
then
VLC_ADD_CPPFLAGS([decklink],[-I${with_decklink_sdk}/include])
fi
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_decklink}"
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS(DeckLinkAPIDispatch.cpp, [
VLC_ADD_PLUGIN([decklink])
],[AC_MSG_WARN(Blackmagic DeckLink SDI include files not found, decklink disabled)])
AC_LANG_POP(C++)
CPPFLAGS="${CPPFLAGS_save}"
fi
dnl dnl
dnl gnomeVFS access module dnl gnomeVFS access module
dnl dnl
......
...@@ -81,6 +81,7 @@ $Id$ ...@@ -81,6 +81,7 @@ $Id$
* cvdsub: CVD subtitles decoder * cvdsub: CVD subtitles decoder
* dbus: D-Bus control interface * dbus: D-Bus control interface
* dc1394: firewire input module * dc1394: firewire input module
* decklink: input module to read from a Blackmagic SDI card
* decomp: Decompression module * decomp: Decompression module
* deinterlace: naive deinterlacing filter * deinterlace: naive deinterlacing filter
* demux_cdg: Demuxer for CD-G files (Karaoke) * demux_cdg: Demuxer for CD-G files (Karaoke)
......
...@@ -52,6 +52,7 @@ SOURCES_access_avio = avio.c avio.h ...@@ -52,6 +52,7 @@ SOURCES_access_avio = avio.c avio.h
SOURCES_access_attachment = attachment.c SOURCES_access_attachment = attachment.c
SOURCES_access_vdr = vdr.c SOURCES_access_vdr = vdr.c
SOURCES_libbluray = bluray.c SOURCES_libbluray = bluray.c
SOURCES_decklink = decklink.cpp
SOURCES_access_rar = rar/rar.c rar/rar.h rar/access.c SOURCES_access_rar = rar/rar.c rar/rar.h rar/access.c
SOURCES_stream_filter_rar = rar/rar.c rar/rar.h rar/stream.c SOURCES_stream_filter_rar = rar/rar.c rar/rar.h rar/stream.c
......
This diff is collapsed.
...@@ -205,6 +205,7 @@ modules/access/bda/bdagraph.cpp ...@@ -205,6 +205,7 @@ modules/access/bda/bdagraph.cpp
modules/access/bda/bdagraph.h modules/access/bda/bdagraph.h
modules/access/cdda.c modules/access/cdda.c
modules/access/dc1394.c modules/access/dc1394.c
modules/access/decklink.cpp
modules/access/directory.c modules/access/directory.c
modules/access/dshow/common.h modules/access/dshow/common.h
modules/access/dshow/crossbar.cpp modules/access/dshow/crossbar.cpp
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment