AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
ntv2autocirculate.cpp File Reference

Implements the CNTV2Card AutoCirculate API functions. More...

#include "ntv2card.h"
#include "ntv2utils.h"
#include "ntv2rp188.h"
#include "ntv2endian.h"
#include "ajabase/system/lock.h"
#include "ajabase/system/debug.h"
#include "ajaanc/includes/ancillarylist.h"
#include "ajaanc/includes/ancillarydata_timecode_atc.h"
#include "ajabase/common/timecode.h"
#include "ajabase/common/common.h"
#include <iomanip>
#include <assert.h>
#include <algorithm>
Include dependency graph for ntv2autocirculate.cpp:

Go to the source code of this file.

Macros

#define ACINSTP(_p_)   " " << HEX0N(uint64_t(_p_),8)
 
#define ACTHIS   ACINSTP(this)
 
#define ACFAIL(__x__)   AJA_sERROR (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define ACWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define ACNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define ACINFO(__x__)   AJA_sINFO (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define ACDBG(__x__)   AJA_sDEBUG (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define RCVFAIL(__x__)   AJA_sERROR (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define RCVWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define RCVNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define RCVINFO(__x__)   AJA_sINFO (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define RCVDBG(__x__)   AJA_sDEBUG (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define XMTFAIL(__x__)   AJA_sERROR (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define XMTWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define XMTNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define XMTINFO(__x__)   AJA_sINFO (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 
#define XMTDBG(__x__)   AJA_sDEBUG (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)
 

Functions

static bool GetCurrentACChannelCrosspoint (CNTV2Card &inDevice, const NTV2Channel inChannel, NTV2Crosspoint &outCrosspoint)
 
static uint32_t EndianSwap32NtoH (const uint32_t inValue)
 

Variables

static const char gFBAllocLockName [] = "com.aja.ntv2.mutex.FBAlloc"
 
static AJALock gFBAllocLock (gFBAllocLockName)
 
static const AJA_FrameRate sNTV2Rate2AJARate []
 
static const TimecodeFormat sNTV2Rate2TCFormat []
 
static const uint16_t sVPIDLineNumsF1 [] = { 10, 10, 13, 9, 10, 10, 10, 10, 10, 10, 10, 10 }
 
static const uint16_t sVPIDLineNumsF2 [] = { 572, 0, 276, 322, 0, 0, 0, 572, 0, 0, 0, 0 }
 
static const uint32_t gSDIInRxStatusRegs [] = {kRegRXSDI1Status, kRegRXSDI2Status, kRegRXSDI3Status, kRegRXSDI4Status, kRegRXSDI5Status, kRegRXSDI6Status, kRegRXSDI7Status, kRegRXSDI8Status, 0}
 

Detailed Description

Implements the CNTV2Card AutoCirculate API functions.

Definition in file ntv2autocirculate.cpp.

Macro Definition Documentation

◆ ACDBG

#define ACDBG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 43 of file ntv2autocirculate.cpp.

◆ ACFAIL

#define ACFAIL (   __x__)    AJA_sERROR (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 39 of file ntv2autocirculate.cpp.

◆ ACINFO

#define ACINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 42 of file ntv2autocirculate.cpp.

◆ ACINSTP

#define ACINSTP (   _p_)    " " << HEX0N(uint64_t(_p_),8)

Definition at line 36 of file ntv2autocirculate.cpp.

◆ ACNOTE

#define ACNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 41 of file ntv2autocirculate.cpp.

◆ ACTHIS

#define ACTHIS   ACINSTP(this)

Definition at line 37 of file ntv2autocirculate.cpp.

◆ ACWARN

#define ACWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_AutoCirculate, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 40 of file ntv2autocirculate.cpp.

◆ RCVDBG

#define RCVDBG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 49 of file ntv2autocirculate.cpp.

◆ RCVFAIL

#define RCVFAIL (   __x__)    AJA_sERROR (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 45 of file ntv2autocirculate.cpp.

◆ RCVINFO

#define RCVINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 48 of file ntv2autocirculate.cpp.

◆ RCVNOTE

#define RCVNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 47 of file ntv2autocirculate.cpp.

◆ RCVWARN

#define RCVWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_Anc2110Rcv, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 46 of file ntv2autocirculate.cpp.

◆ XMTDBG

#define XMTDBG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 55 of file ntv2autocirculate.cpp.

◆ XMTFAIL

#define XMTFAIL (   __x__)    AJA_sERROR (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 51 of file ntv2autocirculate.cpp.

◆ XMTINFO

#define XMTINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 54 of file ntv2autocirculate.cpp.

◆ XMTNOTE

#define XMTNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 53 of file ntv2autocirculate.cpp.

◆ XMTWARN

#define XMTWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_Anc2110Xmit, ACTHIS << "::" << AJAFUNC << ": " << __x__)

Definition at line 52 of file ntv2autocirculate.cpp.

Function Documentation

◆ EndianSwap32NtoH()

static uint32_t EndianSwap32NtoH ( const uint32_t  inValue)
inlinestatic

Definition at line 1141 of file ntv2autocirculate.cpp.

◆ GetCurrentACChannelCrosspoint()

static bool GetCurrentACChannelCrosspoint ( CNTV2Card inDevice,
const NTV2Channel  inChannel,
NTV2Crosspoint outCrosspoint 
)
static

Definition at line 205 of file ntv2autocirculate.cpp.

Variable Documentation

◆ gFBAllocLock

AJALock gFBAllocLock(gFBAllocLockName)
static

◆ gFBAllocLockName

const char gFBAllocLockName[] = "com.aja.ntv2.mutex.FBAlloc"
static

Definition at line 58 of file ntv2autocirculate.cpp.

◆ gSDIInRxStatusRegs

◆ sNTV2Rate2AJARate

◆ sNTV2Rate2TCFormat

◆ sVPIDLineNumsF1

const uint16_t sVPIDLineNumsF1[] = { 10, 10, 13, 9, 10, 10, 10, 10, 10, 10, 10, 10 }
static

Definition at line 980 of file ntv2autocirculate.cpp.

◆ sVPIDLineNumsF2

const uint16_t sVPIDLineNumsF2[] = { 572, 0, 276, 322, 0, 0, 0, 572, 0, 0, 0, 0 }
static

Definition at line 981 of file ntv2autocirculate.cpp.

AJA_FrameRate_1900
@ AJA_FrameRate_1900
Definition: videotypes.h:218
AJA_FrameRate_3000
@ AJA_FrameRate_3000
Definition: videotypes.h:223
kTCFormat24fps
@ kTCFormat24fps
Definition: ntv2rp188.h:30
AJA_FrameRate_11988
@ AJA_FrameRate_11988
Definition: videotypes.h:230
AJA_FrameRate_1498
@ AJA_FrameRate_1498
Definition: videotypes.h:213
AJA_FrameRate_Unknown
@ AJA_FrameRate_Unknown
Definition: videotypes.h:212
AJA_FrameRate_2997
@ AJA_FrameRate_2997
Definition: videotypes.h:222
kTCFormat30fps
@ kTCFormat30fps
Definition: ntv2rp188.h:32
AJA_FrameRate_2400
@ AJA_FrameRate_2400
Definition: videotypes.h:220
kTCFormat48fps
@ kTCFormat48fps
Definition: ntv2rp188.h:34
kTCFormat60fps
@ kTCFormat60fps
Definition: ntv2rp188.h:36
AJA_FrameRate_1898
@ AJA_FrameRate_1898
Definition: videotypes.h:217
AJA_FrameRate_1500
@ AJA_FrameRate_1500
Definition: videotypes.h:214
AJA_FrameRate_4795
@ AJA_FrameRate_4795
Definition: videotypes.h:224
kTCFormat50fps
@ kTCFormat50fps
Definition: ntv2rp188.h:35
AJA_FrameRate_2500
@ AJA_FrameRate_2500
Definition: videotypes.h:221
kTCFormat25fps
@ kTCFormat25fps
Definition: ntv2rp188.h:31
AJA_FrameRate_2398
@ AJA_FrameRate_2398
Definition: videotypes.h:219
AJA_FrameRate_5000
@ AJA_FrameRate_5000
Definition: videotypes.h:226
AJA_FrameRate_5994
@ AJA_FrameRate_5994
Definition: videotypes.h:227
AJA_FrameRate_1800
@ AJA_FrameRate_1800
Definition: videotypes.h:216
AJA_FrameRate_4800
@ AJA_FrameRate_4800
Definition: videotypes.h:225
AJA_FrameRate_12000
@ AJA_FrameRate_12000
Definition: videotypes.h:231
AJA_FrameRate_1798
@ AJA_FrameRate_1798
Definition: videotypes.h:215
AJA_FrameRate_6000
@ AJA_FrameRate_6000
Definition: videotypes.h:228
kTCFormatUnknown
@ kTCFormatUnknown
Definition: ntv2rp188.h:29