FFmpeg
Loading...
Searching...
No Matches
decklink_common.cpp File Reference
#include "libavformat/internal.h"
#include <DeckLinkAPIVersion.h>
#include <DeckLinkAPI.h>
#include <DeckLinkAPIDispatch.cpp>
#include "libavformat/avformat.h"
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/bswap.h"
#include "avdevice.h"
#include "decklink_common.h"

Go to the source code of this file.

Functions

static IDeckLinkIterator * decklink_create_iterator (AVFormatContext *avctx)
 
static int decklink_get_attr_string (IDeckLink *dl, BMDDeckLinkAttributeID cfg_id, const char **s)
 
static int decklink_select_input (AVFormatContext *avctx, BMDDeckLinkConfigurationID cfg_id)
 
static DECKLINK_BOOL field_order_eq (enum AVFieldOrder field_order, BMDFieldDominance bmd_field_order)
 
int ff_decklink_set_configs (AVFormatContext *avctx, decklink_direction_t direction)
 
int ff_decklink_set_format (AVFormatContext *avctx, int width, int height, int tb_num, int tb_den, enum AVFieldOrder field_order, decklink_direction_t direction)
 
int ff_decklink_set_format (AVFormatContext *avctx, decklink_direction_t direction)
 
void ff_decklink_packet_queue_init (AVFormatContext *avctx, DecklinkPacketQueue *q, int64_t queue_size)
 
void ff_decklink_packet_queue_flush (DecklinkPacketQueue *q)
 
void ff_decklink_packet_queue_end (DecklinkPacketQueue *q)
 
unsigned long long ff_decklink_packet_queue_size (DecklinkPacketQueue *q)
 
int ff_decklink_packet_queue_put (DecklinkPacketQueue *q, AVPacket *pkt)
 
int ff_decklink_packet_queue_get (DecklinkPacketQueue *q, AVPacket *pkt, int block)
 
int64_t ff_decklink_packet_queue_peekpts (DecklinkPacketQueue *q)
 
int ff_decklink_list_devices (AVFormatContext *avctx, struct AVDeviceInfoList *device_list, int show_inputs, int show_outputs)
 
void ff_decklink_list_devices_legacy (AVFormatContext *avctx, int show_inputs, int show_outputs)
 
int ff_decklink_list_formats (AVFormatContext *avctx, decklink_direction_t direction)
 
void ff_decklink_cleanup (AVFormatContext *avctx)
 
int ff_decklink_init_device (AVFormatContext *avctx, const char *name)
 

Function Documentation

◆ decklink_create_iterator()

static IDeckLinkIterator * decklink_create_iterator ( AVFormatContext * avctx)
static

Definition at line 61 of file decklink_common.cpp.

Referenced by ff_decklink_init_device(), and ff_decklink_list_devices().

◆ decklink_get_attr_string()

static int decklink_get_attr_string ( IDeckLink * dl,
BMDDeckLinkAttributeID cfg_id,
const char ** s )
static

Definition at line 106 of file decklink_common.cpp.

Referenced by ff_decklink_init_device(), and ff_decklink_list_devices().

◆ decklink_select_input()

static int decklink_select_input ( AVFormatContext * avctx,
BMDDeckLinkConfigurationID cfg_id )
static

Definition at line 127 of file decklink_common.cpp.

Referenced by ff_decklink_list_formats(), and ff_decklink_set_configs().

◆ field_order_eq()

static DECKLINK_BOOL field_order_eq ( enum AVFieldOrder field_order,
BMDFieldDominance bmd_field_order )
static

Definition at line 156 of file decklink_common.cpp.

Referenced by ff_decklink_set_format().

◆ ff_decklink_set_configs()

int ff_decklink_set_configs ( AVFormatContext * avctx,
decklink_direction_t direction )

Definition at line 169 of file decklink_common.cpp.

Referenced by decklink_setup_video(), and ff_decklink_read_header().

◆ ff_decklink_set_format() [1/2]

int ff_decklink_set_format ( AVFormatContext * avctx,
int width,
int height,
int tb_num,
int tb_den,
enum AVFieldOrder field_order,
decklink_direction_t direction )

◆ ff_decklink_set_format() [2/2]

int ff_decklink_set_format ( AVFormatContext * avctx,
decklink_direction_t direction )

Definition at line 394 of file decklink_common.cpp.

◆ ff_decklink_packet_queue_init()

void ff_decklink_packet_queue_init ( AVFormatContext * avctx,
DecklinkPacketQueue * q,
int64_t queue_size )

Definition at line 398 of file decklink_common.cpp.

Referenced by ff_decklink_read_header(), and ff_decklink_write_header().

◆ ff_decklink_packet_queue_flush()

void ff_decklink_packet_queue_flush ( DecklinkPacketQueue * q)

Definition at line 407 of file decklink_common.cpp.

Referenced by ff_decklink_packet_queue_end().

◆ ff_decklink_packet_queue_end()

void ff_decklink_packet_queue_end ( DecklinkPacketQueue * q)

Definition at line 420 of file decklink_common.cpp.

Referenced by ff_decklink_read_close(), and ff_decklink_write_trailer().

◆ ff_decklink_packet_queue_size()

unsigned long long ff_decklink_packet_queue_size ( DecklinkPacketQueue * q)

◆ ff_decklink_packet_queue_put()

int ff_decklink_packet_queue_put ( DecklinkPacketQueue * q,
AVPacket * pkt )

◆ ff_decklink_packet_queue_get()

int ff_decklink_packet_queue_get ( DecklinkPacketQueue * q,
AVPacket * pkt,
int block )

Definition at line 468 of file decklink_common.cpp.

Referenced by ff_decklink_read_packet().

◆ ff_decklink_packet_queue_peekpts()

int64_t ff_decklink_packet_queue_peekpts ( DecklinkPacketQueue * q)

Definition at line 492 of file decklink_common.cpp.

◆ ff_decklink_list_devices()

int ff_decklink_list_devices ( AVFormatContext * avctx,
struct AVDeviceInfoList * device_list,
int show_inputs,
int show_outputs )

◆ ff_decklink_list_devices_legacy()

void ff_decklink_list_devices_legacy ( AVFormatContext * avctx,
int show_inputs,
int show_outputs )

Definition at line 581 of file decklink_common.cpp.

Referenced by ff_decklink_read_header(), and ff_decklink_write_header().

◆ ff_decklink_list_formats()

int ff_decklink_list_formats ( AVFormatContext * avctx,
decklink_direction_t direction )

Definition at line 602 of file decklink_common.cpp.

Referenced by ff_decklink_read_header(), and ff_decklink_write_header().

◆ ff_decklink_cleanup()

◆ ff_decklink_init_device()

int ff_decklink_init_device ( AVFormatContext * avctx,
const char * name )

Definition at line 670 of file decklink_common.cpp.

Referenced by ff_decklink_read_header(), and ff_decklink_write_header().