summaryrefslogtreecommitdiff
path: root/libavdevice/decklink_dec.cpp
Commit message (Collapse)AuthorAge
* decklink: convert to new channel layout APIJames Almer2022-03-15
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/packet_internal: Add proper PacketList structAndreas Rheinhardt2022-01-04
| | | | | | | | | | | | | | | Up until now, we had a PacketList structure which is actually a PacketListEntry; a proper PacketList did not exist and all the related functions just passed pointers to pointers to the head and tail elements around. All these pointers were actually consecutive elements of their containing structs, i.e. the users already treated them as if they were a struct. So add a proper PacketList struct and rename the current PacketList to PacketListEntry; also make the functions use this structure instead of the pair of pointers. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt2021-04-27
| | | | | | | Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/packet: Also change av_packet_pack/unpack_dictionary to size_tAndreas Rheinhardt2021-03-19
| | | | | | | | | These are auxiliary side-data functions, so they should have been switched to size_t in d79e0fe65c51491f9bf8a470bbe36fb09f3e1280, but this has been forgotten. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avdevice/decklink_dec: stop using av_init_packet()James Almer2021-03-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/packet_internal: make avpriv_packet_list_* functions use an internal ↵James Almer2021-03-17
| | | | | | | | | struct The next pointer is kept at the end for backwards compatability until the major bump, when it should ideally be moved at the front. Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/decklink: add missing include for buffer_size_tJames Almer2021-03-11
| | | | | | | Should fix compilation broken in f7abb53cb427515faac582f114ab97cbbd590280. Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice: use the buffer_size_t typedef where requiredJames Almer2021-03-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/decklink_dec: mark get_frame_timecode and get_bmd_timecode staticChristopher Degawa2021-01-09
| | | | | | | | | | | The function is not used anywhere else and is causing mingw-w64 clang builds to fail with ffmpeg-git/libavdevice/decklink_dec.cpp:792:5: error: no previous prototype for function 'get_bmd_timecode' [-Werror,-Wmissing-prototypes] int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame *videoFrame) Signed-off-by: Christopher Degawa <ccom@randomderp.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* lavd/decklink_dec: Do not set codec_tags.Carl Eugen Hoyos2020-12-24
| | | | | | | | Only set the pix_fmt for rawvideo. Fixes ticket #9005. Reviewed-by: Marton Balint
* avdevice/decklink: remove the duplicated warning messageLimin Wang2020-12-05
| | | | | | | | | | | ./ffmpeg -list_devices true -f decklink -i dummy [Blackmagic DeckLink indev @ 0x2f96d00] The "list_devices" option is deprecated: list available devices [decklink @ 0x2f96400] The -list_devices option is deprecated and will be removed. Please use ffmpeg -sources decklink instead. -> [Blackmagic DeckLink indev @ 0x306ed00] The "list_devices" option is deprecated: use ffmpeg -sources decklink instead Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink_dec: add support for 50/60 fps timecodeMarton Balint2020-12-03
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: fix warning for unused variableLimin Wang2020-11-23
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink_dec: map the raw_format instead of hardcodeLimin Wang2020-11-21
| | | | | | | | The patch will change the numerical values for the string constants so bump micro version. Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink_dec: fix build with older SDKMarton Balint2020-09-15
| | | | | | | | | Apparently bmdFormatUnspecified needs SDK 11.0. It is just a fancy way of checking for zero, so let's do that instead. Fixes build issue since f1b908d20a8. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: add support for rgb/yuv pixel format autodetectionMarton Balint2020-09-13
| | | | 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_dec: export timecode with s12m side dataLimin Wang2020-07-15
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avdevice/decklink_dec: add support for extracting and outputing klv from vancMilos Zivkovic2020-07-03
| | | | | Signed-off-by: Milos Zivkovic <zivkovic@teralogics.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: increase autodetect timeout to 3 secMarton Balint2020-04-04
| | | | | | 1 sec might not be enough for the cards to detect the format... Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: fix stopping streams in read_closeMarton Balint2020-02-26
| | | | | | | The capture_started variable was never set, it is simpler to call the stop functions unconditionally if the interface is available. Signed-off-by: Marton Balint <cus@passwd.hu>
* 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_dec: remove -bm_v210 optionMarton Balint2020-01-03
| | | | | | Deprecated since Sep 28, 2017. 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: add option to drop frames till timecode is seenGyan Doshi2019-11-18
| | | | Option wait_for_tc only takes effect if tc_format is set
* avdevice/decklink_dec: set configs before listing formatsMarton Balint2019-04-15
| | | | | | Format list can be input and profile dependant. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: fix codec_tag of RGBA formatsBIGLER Don (Framatome)2018-11-01
| | | | | | Fixes ticket #7505. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: add option to align capture start timeKarthick Jeyapal2018-09-30
| | | | | | | | | This option is useful for maintaining input synchronization across N different hardware devices deployed for 'N-way' redundancy. The system time of different hardware devices should be synchronized with protocols such as NTP or PTP, before using this option. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: capture timecode to metadata when requestedJon Morley2018-06-13
| | | | | | | | | | If the user provides a valid timecode_format look for timecode of that format in the capture and if found store it on the video avstream's metadata. Slightly modified by Marton Balint to capture per-frame timecode as well. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: use std::atomic for decklink_input_callback refcountingMarton Balint2018-06-13
| | | | | | Also remove the callback from the context, and add proper error handling. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: use a custom memory allocatorMarton Balint2018-06-13
| | | | | | | The default memory allocator is limited in the max number of frames available, and therefore caused frame drops if the frames were not freed fast enough. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: unref packets on avpacket_queue_put errorMarton Balint2018-04-30
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: do not copy video dataMarton Balint2018-04-30
| | | | | | | Create a buffer from the data instead and use the buffer destructor to free the DeckLink frame. This avoids a memcpy of the frame data. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: use av_packet_make_refcounted to ensure packets are ↵James Almer2018-04-02
| | | | | | | | ref counted Partially reverts commit e91f0c4f8b, simplifying code. Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/decklink_dec: Fix ;;Michael Niedermayer2018-02-15
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avdevice/decklink_dec: extract NTSC VANCRay Tiley2018-02-13
| | | | | | | | | | | | | | This changes how NTSC VANC is extracted from the buffer. In NTSC the vanc data is interleaved between luma and chroma, and not just the luma as in high definition resolutions. In my testing this allows a decklink card encoding valid NTSC closed captions to pass the caption data to the x264 encoder. Updated with reviews from Devin Heitmueller and Marton Balint. Signed-off-by: Ray Tiley <raytiley@gmail.com> 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: addition of absolute wallclock option for pts sourceVishwanath Dixit2018-01-20
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: addition of copyts optionVishwanath Dixit2018-01-20
| | | | 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>
* avdevice/decklink_dec: make some function staticJames Almer2017-11-09
| | | | | Reviewed-by: Aaron Levinson <alevinsn_dev@levland.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/decklink_dec: remove extra bracketJames Almer2017-10-30
| | | | | | | | Fixes compilation broken in 2245476e5c451552f8f32a4a881f6b4968898a47 Fixes ticket #6791 Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice: remove usage of deprecated setter and getter functionsJames Almer2017-10-29
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avdevice/decklink_dec: 32 bit audio supportDave Rice2017-10-18
| | | | 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>
* lavd/decklink_dec: Do not claim to output transparency information.Carl Eugen Hoyos2017-10-08
|
* avdevice/decklink_dec: fix extracting lumaMarton Balint2017-10-06
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: fix multipacket op47 decodingMarton Balint2017-10-04
| | | | | | It was disabled by mistake. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: remove av_dup_packet() usageJames Almer2017-10-02
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Almer <jamrial@gmail.com>