summaryrefslogtreecommitdiff
path: root/libavdevice/decklink_enc.cpp
Commit message (Collapse)AuthorAge
* avdevice/decklink: deprecate the -list_devices optionMarton Balint2020-01-03
| | | | | | The user should use ffmpeg -sources decklink or ffmpeg -sinks decklink instead. 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: 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_enc: add support for setting duplex modeMarton Balint2018-09-09
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: print preroll and buffer sizeGyan Doshi2018-08-24
| | | | Helpful in diagnosing latency issues.
* avdevice: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: Suppress warning about misuse of struct instead of classDevin Heitmueller2018-01-20
| | | | | | | | | | | | | When building with Clang, the following warning is shown: warning: struct 'IDeckLinkVideoFrame' was previously declared as a class [-Wmismatched-tags] The function incorrectly casts IDeckLinkVideoFrame as a struct instead of a class pointer. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> 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 10-bit output for Decklink SDIDevin Heitmueller2017-10-10
| | | | | | | | | | | | | | | | Can be tested via the following command: ./ffmpeg -i foo.ts -f decklink -vcodec v210 'DeckLink Duo (1)' Note that the 8-bit support works as it did before, and setting the pix_fmt isn't required for 10-bit mode. The code defaults to operating in 8-bit mode when no vcodec is specified, for backward compatibility. 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>
* 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_enc: enable 16 output channelpkviet2017-08-27
| | | | | | | | Decklink devices can output 2, 8 or 16 audio channels along video. The code was limited to 2 or 8 channels. The commit enables 16 audio channels (relevant for SDI outputs). 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_enc: convert to std::atomicMarton Balint2017-03-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: convert AVFMT_RAWPICTURE to AV_CODEC_ID_WRAPPED_AVFRAMEMarton Balint2017-02-26
| | | | 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>
* avdevice/decklink_enc: convert to codecparMarton Balint2017-02-26
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_enc: do not reference this after freeing itMarton Balint2016-12-27
| | | | | | Fixes Coverity CID 1396863. Signed-off-by: Marton Balint <cus@passwd.hu>
* decklink: Remove unneeded spaces in initializersPatrick Felt2016-08-02
|
* avdevice/decklink: always free decklink resources on errorMarton Balint2016-06-26
| | | | | 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: remove unused itermode iteratorsMarton 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: move general code of decklink encoder to common fileDeti Fliegl2014-09-22
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavd: add decklink output deviceRamiro Polla2014-02-09
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>