FFmpeg
|
#include <atomic>
#include <vector>
#include "libavformat/internal.h"
#include <DeckLinkAPI.h>
#include "config.h"
#include "libavcodec/packet_internal.h"
#include "libavformat/avformat.h"
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/common.h"
#include "libavutil/internal.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/time.h"
#include "libavutil/timecode.h"
#include "libavutil/mathematics.h"
#include "libavutil/reverse.h"
#include "avdevice.h"
#include "decklink_common.h"
#include "decklink_dec.h"
Go to the source code of this file.
Data Structures | |
struct | VANCLineNumber |
class | decklink_allocator |
class | decklink_input_callback |
Macros | |
#define | MAX_WIDTH_VANC 1920 |
Functions | |
static void | decklink_object_free (void *opaque, uint8_t *data) |
static int | get_vanc_line_idx (BMDDisplayMode mode) |
static void | clear_parity_bits (uint16_t *buf, int len) |
static int | check_vanc_parity_checksum (uint16_t *buf, int len, uint16_t checksum) |
static void | extract_luma_from_v210 (uint16_t *dst, const uint8_t *src, int width) |
static void | unpack_v210 (uint16_t *dst, const uint8_t *src, int width) |
static uint8_t | calc_parity_and_line_offset (int line) |
static void | fill_data_unit_head (int line, uint8_t *tgt) |
static uint8_t * | teletext_data_unit_from_op47_vbi_packet (int line, uint16_t *py, uint8_t *tgt) |
static int | linemask_matches (int line, int64_t mask) |
static uint8_t * | teletext_data_unit_from_op47_data (uint16_t *py, uint16_t *pend, uint8_t *tgt, int64_t wanted_lines) |
static uint8_t * | teletext_data_unit_from_ancillary_packet (uint16_t *py, uint16_t *pend, uint8_t *tgt, int64_t wanted_lines, int allow_multipacket) |
static uint8_t * | vanc_to_cc (AVFormatContext *avctx, uint16_t *buf, size_t words, unsigned &cc_count) |
static uint8_t * | get_metadata (AVFormatContext *avctx, uint16_t *buf, size_t width, uint8_t *tgt, size_t tgt_size, AVPacket *pkt) |
static void | avpacket_queue_init (AVFormatContext *avctx, AVPacketQueue *q) |
static void | avpacket_queue_flush (AVPacketQueue *q) |
static void | avpacket_queue_end (AVPacketQueue *q) |
static unsigned long long | avpacket_queue_size (AVPacketQueue *q) |
static int | avpacket_queue_put (AVPacketQueue *q, AVPacket *pkt) |
static int | avpacket_queue_get (AVPacketQueue *q, AVPacket *pkt, int block) |
static void | handle_klv (AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame *videoFrame, int64_t pts) |
static int64_t | get_pkt_pts (IDeckLinkVideoInputFrame *videoFrame, IDeckLinkAudioInputPacket *audioFrame, int64_t wallclock, int64_t abs_wallclock, DecklinkPtsSource pts_src, AVRational time_base, int64_t *initial_pts, int copyts) |
static int | get_bmd_timecode (AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame *videoFrame) |
static int | get_frame_timecode (AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame *videoFrame) |
static int | decklink_autodetect (struct decklink_cctx *cctx) |
av_cold int | ff_decklink_read_close (AVFormatContext *avctx) |
av_cold int | ff_decklink_read_header (AVFormatContext *avctx) |
int | ff_decklink_read_packet (AVFormatContext *avctx, AVPacket *pkt) |
int | ff_decklink_list_input_devices (AVFormatContext *avctx, struct AVDeviceInfoList *device_list) |
Variables | |
const BMDDisplayMode | AUTODETECT_DEFAULT_MODE = bmdModeNTSC |
static VANCLineNumber | vanc_line_numbers [] |
#define MAX_WIDTH_VANC 1920 |
Definition at line 59 of file decklink_dec.cpp.
|
static |
Definition at line 147 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 154 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
inlinestatic |
Definition at line 165 of file decklink_dec.cpp.
Referenced by get_metadata().
Definition at line 171 of file decklink_dec.cpp.
Referenced by get_metadata().
|
static |
Definition at line 194 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 205 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 216 of file decklink_dec.cpp.
Referenced by fill_data_unit_head().
|
static |
Definition at line 226 of file decklink_dec.cpp.
Referenced by teletext_data_unit_from_op47_vbi_packet().
|
static |
Definition at line 267 of file decklink_dec.cpp.
Referenced by teletext_data_unit_from_op47_data().
Definition at line 285 of file decklink_dec.cpp.
Referenced by teletext_data_unit_from_op47_data().
|
static |
Definition at line 295 of file decklink_dec.cpp.
Referenced by teletext_data_unit_from_ancillary_packet().
|
static |
Definition at line 312 of file decklink_dec.cpp.
Referenced by get_metadata().
|
static |
Definition at line 331 of file decklink_dec.cpp.
Referenced by get_metadata().
|
static |
Definition at line 421 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 474 of file decklink_dec.cpp.
Referenced by ff_decklink_read_header().
|
static |
Definition at line 484 of file decklink_dec.cpp.
Referenced by avpacket_queue_end().
|
static |
Definition at line 501 of file decklink_dec.cpp.
Referenced by ff_decklink_read_close().
|
static |
Definition at line 508 of file decklink_dec.cpp.
Referenced by avpacket_queue_put(), and decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 517 of file decklink_dec.cpp.
Referenced by handle_klv(), and decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 559 of file decklink_dec.cpp.
Referenced by ff_decklink_read_packet().
|
static |
Definition at line 589 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 738 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 792 of file decklink_dec.cpp.
Referenced by get_frame_timecode().
|
static |
Definition at line 814 of file decklink_dec.cpp.
Referenced by decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 1094 of file decklink_dec.cpp.
Referenced by ff_decklink_read_header().
av_cold int ff_decklink_read_close | ( | AVFormatContext * | avctx | ) |
Definition at line 1144 of file decklink_dec.cpp.
av_cold int ff_decklink_read_header | ( | AVFormatContext * | avctx | ) |
Definition at line 1163 of file decklink_dec.cpp.
int ff_decklink_read_packet | ( | AVFormatContext * | avctx, |
AVPacket * | pkt | ||
) |
Definition at line 1429 of file decklink_dec.cpp.
int ff_decklink_list_input_devices | ( | AVFormatContext * | avctx, |
struct AVDeviceInfoList * | device_list | ||
) |
Definition at line 1448 of file decklink_dec.cpp.
const BMDDisplayMode AUTODETECT_DEFAULT_MODE = bmdModeNTSC |
Definition at line 60 of file decklink_dec.cpp.
Referenced by decklink_autodetect(), and decklink_input_callback::VideoInputFrameArrived().
|
static |
Definition at line 75 of file decklink_dec.cpp.
Referenced by get_vanc_line_idx(), and decklink_input_callback::VideoInputFrameArrived().