summaryrefslogtreecommitdiff
path: root/libavdevice/decklink_common.cpp
Commit message (Collapse)AuthorAge
* 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>