summaryrefslogtreecommitdiff
path: root/libavdevice/decklink_common.cpp
Commit message (Collapse)AuthorAge
* avdevice/decklink: support for more duplex mode for Decklink 8K ProLimin Wang2021-08-16
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink: add level_a configuration optionLimin Wang2021-08-16
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink: add sqd configuration optionLimin Wang2021-08-16
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink: add link configuration optionLimin Wang2021-08-16
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink: warn about too old decklink API versionMarton Balint2020-12-03
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: use decklink_ctx->raw_format as bmdPixelFormatMarton Balint2020-09-13
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: add support for SDK version 11.5Marton Balint2020-02-26
| | | | | | Fixes ticket #8534. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: remove the @mode syntaxMarton Balint2020-01-03
| | | | | | Deprecated since March 28, 2017. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: fix checking video mode in SDK version 11Marton Balint2019-05-05
| | | | | | | | | Apparently in the new SDK one cannot query if VANC output is supported, so we will fall back to non-VANC output if enabling the video output with VANC fails. Fixes ticket #7867. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_common: add support for DeckLink SDK 11Marton Balint2019-04-15
| | | | | | Fixes ticket #7789. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_common: properly check DoesSupportVideoMode result when ↵Marton Balint2019-04-15
| | | | | | trying VANC flag Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: add support for setting genlock timing offsetMarton Balint2018-12-02
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: Fix compile breakage on OSXDevin Heitmueller2018-10-20
| | | | | | | | | Make the function static, or else Clang complains with: error: no previous prototype for function 'decklink_get_attr_string' [-Werror,-Wmissing-prototypes] Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: add support for selecting devices based on their unique IDMarton Balint2018-09-23
| | | | | | | | Also bump the API version requirement to 10.9.5, because on olders versions there were some reports of crashes using the undocumented, yet available BMDDeckLinkDeviceHandle. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: Add support for EIA-708 output over SDIDevin Heitmueller2018-09-09
| | | | | | | | | | | | | | | | Hook in libklvanc and use it for output of EIA-708 captions over SDI. The bulk of this patch is just general support for ancillary data for the Decklink SDI module - the real work for construction of the EIA-708 CDP and VANC line construction is done by libklvanc. Libklvanc can be found at: https://github.com/stoth68000/libklvanc Updated to reflect feedback from Marton Balint <cus@passwd.hu>, Carl Eugen Hoyos <ceffmpeg@gmail.com>, Aaron Levinson <alevinsn_dev@levland.net>, and Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_common: Move DECKLINK_* string functions into headerJon Morley2018-06-13
| | | | | | | This allows other decklink source access to these cross-platform convenience functions. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_commmon: enhance error messages when iterator creation failsMarton Balint2018-04-18
| | | | | | | Show a more useful error message which specifies the required driver version for the build, and use the correct context in the error message for WIN32. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: fix leak when listing devices and there is no memoryMarton Balint2018-03-24
| | | | | | Fixes Coverity CID 1419523. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: Fix compilation of module on OSXDevin Heitmueller2018-01-20
| | | | | | | | | | | | | Clang applies the missing-prototypes warning on C++ files, whereas gcc only applies it to C. As a result, the decklink_common.cpp file fails to build because of missing prototypes in DecklinkDispatch.cpp (which is #included by decklink_common.cpp). We don't want to change the actual Blackmagic SDK sources, so suppress the warning just for that one #include. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: autodetect the video input formatKarthick J2017-11-22
| | | | | | When -format_code is not specified autodetection will happen. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: refactor ff_decklink_set_format functionKarthick J2017-11-21
| | | | | | This is done to enable input format autodetection in decklink_dec. Signed-off-by: Marton Balint <cus@passwd.hu>
* libavdevice/decklink: add support for -sources and -sinks argumentsDevin Heitmueller2017-10-10
| | | | | | | | | | | | | | | Add support for enumerating the sources/sinks via the ffmpeg command line options, as opposed to having to create a real pipeline and use the "-list_devices" option which does exit() after dumping out the options. Note that this patch preserves the existing "-list_devices" option, but now shares common code for the actual enumeration. Updated to reflect feedback from Marton Balint <cus@passwd.hu>. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: Fix segfault when running -list_devices on OSXDevin Heitmueller2017-10-04
| | | | | | | | | | The string is allocated with CFStringGetCString but was being deallocated with free(), which would intermittently result in a segmentation fault. Use the correct function for freeing the allocated CFString. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: add support for more pixel formatsGildas Fargeas2017-09-28
| | | | | | | The decklink input pixel format can now be specified with the 'raw_format' option. The -bm_v210 option is now deprecated. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: fix MSVC build issuesAaron Levinson2017-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Made minor changes to get the decklink avdevice code to build using Visual C++. Notes: Made changes to configure per Hendrik Leppkes's review of first and second versions of patch. Also made slight alterations per Marton Balint's reviews. Comments: -- configure: Added if enabled decklink section and setting decklink_indev_extralibs and decklink_outdev_extralibs here for both mingw and Windows. Also eliminated the setting of these variables in the mingw section earlier in the file. -- libavdevice/decklink_common.cpp: Switched the order of the include of libavformat/internal.h to workaround build issues with Visual C++. See comment in file for more details. -- libavdevice/decklink_dec.cpp: a) Rearranged the include of libavformat/internal.h (for reasons as described above). b) Made slight alteration to an argument for call to av_rescale_q() to workaround a compiler error with Visual C++. This appears to only be an issue when building C++ files with Visual C++. See comment in code for more details. -- libavdevice/decklink_enc.cpp: Rearranged the include of libavformat/internal.h (for reasons as described above). Signed-off-by: Aaron Levinson <alevinsn@aracnet.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: remove pthread dependencyAaron Levinson2017-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: avdevice/decklink: Removed pthread dependency by replacing semaphore used in code appropriately. Doing so makes it easier to build ffmpeg using Visual C++ on Windows. This is a contination of Kyle Schwarz's "avdevice/decklink: Remove pthread dependency" patch that is available at https://patchwork.ffmpeg.org/patch/2654/ . This patch wasn't accepted, and as far as I can tell, there was no follow-up after it was rejected. Notes: Used Visual Studio 2015 (with update 3) for this. Comments: -- configure: Eliminated pthreads dependency for decklink_indev_deps and decklink_outdev_deps and replaced with threads dependency -- libavdevice/decklink_common.cpp / .h: a) Eliminated semaphore and replaced with a combination of a mutex, condition variable, and a counter (frames_buffer_available_spots). b) Removed include of pthread.h and semaphore.h and now using libavutil/thread.h instead. -- libavdevice/decklink_dec.cpp: Eliminated include of pthread.h and semaphore.h. -- libavdevice/decklink_enc.cpp: a) Eliminated include of pthread.h and semaphore.h. b) Replaced use of semaphore with the equivalent using a combination of a mutex, condition variable, and a counter (frames_buffer_available_spots). In theory, libavutil/thread.h and the associated code could have been modified instead to add cross-platform implementations of the sem_ functions, but an inspection of the ffmpeg source base indicates that there are only two cases in which semaphores are used (including this one that was replaced), so it was deemed to not be worth the effort. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: deprecate @mode syntax in device name to specify modeMarton Balint2017-03-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: new option 'format_code' to set video format by fourCCMatthias Hunstock2017-03-22
| | | | | Signed-off-by: Matthias Hunstock <atze@fem.tu-ilmenau.de> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: add format_code of display mode to list_format outputMatthias Hunstock2017-03-22
| | | | | Signed-off-by: Matthias Hunstock <atze@fem.tu-ilmenau.de> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: add support to specify field orderMarton Balint2017-02-26
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* decklink: enhancement: format selection with AVRational v2Matthias Hunstock2016-08-05
| | | | | | | | When finding a video mode based on frame size and frame rate, use AVRational methods instead of simple comparison. Add debug information. Signed-off-by: Matthias Hunstock <atze@fem.tu-ilmenau.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* decklink: Remove unneeded spaces in initializersPatrick Felt2016-08-02
|
* avdevice/decklink_common: Replace rare spelling of Succesfully by 500 times ↵Michael Niedermayer2016-06-28
| | | | | | more common one Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avdevice/decklink: fix mingw portabilityMarton Balint2016-06-27
| | | | | | Fixes ticket #5669. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: add support for audio and video input selectionMarton Balint2016-06-26
| | | | | Reviewed-by: Deti Fliegl <deti@fliegl.de> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: add support for setting duplex modeMarton Balint2016-06-26
| | | | | | | This patch also makes BlackMagic drivers v10.6.1 a hard requirement. Reviewed-by: Deti Fliegl <deti@fliegl.de> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: factorize device finder functionMarton Balint2016-06-26
| | | | | Reviewed-by: Deti Fliegl <deti@fliegl.de> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: factorize cleanup function to common codeMarton Balint2016-06-26
| | | | | Reviewed-by: Deti Fliegl <deti@fliegl.de> Signed-off-by: Marton Balint <cus@passwd.hu>
* Revert "decklink: Header cleanup"Timothy Gu2016-01-24
| | | | | | This reverts commit 61fb70c3866b19dccf473ad4e5ede79d117e8e1c. Reported in #5183 to break the build. Further investigation needed.
* decklink: Header cleanupTimothy Gu2016-01-24
| | | | | This commit cleans up the decklink files' header usage so that they pass checkheaders.
* avdevice/decklink_common: Use defined(__APPLE__) instead of __APPLE__Michael Niedermayer2015-02-08
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avdevice/decklink_common: Fix Decklink for MacGeorg Lippitsch2015-02-08
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avdevice/decklink_common: fix COM initialization failure checkJonathan Baecker2014-12-03
| | | | | | Signed-off-by: Jonathan Baecker <jonbae77@gmail.com> Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avdevice/decklink_common: fix heap corruption run time errorJonathan Baecker2014-12-03
| | | | | | Signed-off-by: Jonathan Baecker <jonbae77@gmail.com> Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avdevice/decklink: move general code of decklink encoder to common fileDeti Fliegl2014-09-22
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>