AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
ntv2audio.cpp File Reference

Implementations of audio-centric CNTV2Card methods. More...

#include "ntv2card.h"
#include "ntv2devicefeatures.h"
#include "ntv2utils.h"
#include "ntv2audiodefines.h"
#include "ajabase/common/common.h"
#include "ajabase/system/debug.h"
Include dependency graph for ntv2audio.cpp:

Go to the source code of this file.

Classes

struct  PCM_CONTROL_INFO
 

Macros

#define AUDFAIL(__x__)   AJA_sERROR (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)
 
#define AUDWARN(__x__)   AJA_sWARNING(AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)
 
#define AUDNOTE(__x__)   AJA_sNOTICE (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)
 
#define AUDINFO(__x__)   AJA_sINFO (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)
 
#define AUDDBUG(__x__)   AJA_sDEBUG (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)
 

Functions

static NTV2AudioChannelPairs BitMasksToNTV2AudioChannelPairs (const ULWord inBitMask, const ULWord inExtendedBitMask)
 
static NTV2RegisterNumber GetNonPCMDetectRegisterNumber (const NTV2Channel inSDIInputChannel, const bool inIsExtended=(0))
 

Variables

static const ULWord gAudioSystemToSrcSelectRegNum []
 
static const ULWord gChannelToAudioInLastAddrRegNum []
 
static const ULWord gChannelToAudioOutLastAddrRegNum []
 
static const ULWord gAudioPlayCaptureModeMasks []
 
static const ULWord gAudioPlayCaptureModeShifts []
 
static const ULWord gAudioDelayRegisterNumbers [] = { kRegAud1Delay, kRegAud2Delay, kRegAud3Delay, kRegAud4Delay, kRegAud5Delay, kRegAud6Delay, kRegAud7Delay, kRegAud8Delay, 0}
 
static const ULWord gAudioSystemToAudioControlRegNum []
 
static const ULWord gAudioRateHighMask []
 
static const ULWord gAudioRateHighShift []
 
static const PCM_CONTROL_INFO gAudioEngineChannelPairToFieldInformation [][8]
 
static const ULWord sAudioMixerInputSelectMasks [] = {kRegMaskAudioMixerMainInputSelect, kRegMaskAudioMixerAux1x2CHInput, kRegMaskAudioMixerAux2x2CHInput, 0}
 
static const ULWord sAudioMixerInputSelectShifts [] = {kRegShiftAudioMixerMainInputSelect, kRegShiftAudioMixerAux1x2CHInput, kRegShiftAudioMixerAux2x2CHInput, 0}
 
static const ULWord sAudioMixerInputGainCh1Regs [] = {kRegAudioMixerMainGain, kRegAudioMixerAux1GainCh1, kRegAudioMixerAux2GainCh1, 0}
 
static const ULWord sAudioMixerInputGainCh2Regs [] = {kRegAudioMixerMainGain, kRegAudioMixerAux1GainCh2, kRegAudioMixerAux2GainCh2, 0}
 
static const ULWord sAudioMixerInputMuteMasks [] = {kRegMaskAudioMixerMainInputEnable, kRegMaskAudioMixerAux1InputEnable, kRegMaskAudioMixerAux2InputEnable, 0}
 
static const ULWord sAudioMixerInputMuteShifts [] = {kRegShiftAudioMixerMainInputEnable, kRegShiftAudioMixerAux1InputEnable, kRegShiftAudioMixerAux2InputEnable, 0}
 
static const ULWord sAudioDetectRegs []
 
static const unsigned sAudioDetectGroups []
 
static const unsigned gAESChannelMappingShifts [4] = {0, 4, 8, 12}
 
static const ULWord kAudCtrlRegsForSDIOutputs []
 

Detailed Description

Implementations of audio-centric CNTV2Card methods.

Definition in file ntv2audio.cpp.

Macro Definition Documentation

◆ AUDDBUG

#define AUDDBUG (   __x__)    AJA_sDEBUG (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)

Definition at line 25 of file ntv2audio.cpp.

◆ AUDFAIL

#define AUDFAIL (   __x__)    AJA_sERROR (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)

Definition at line 21 of file ntv2audio.cpp.

◆ AUDINFO

#define AUDINFO (   __x__)    AJA_sINFO (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)

Definition at line 24 of file ntv2audio.cpp.

◆ AUDNOTE

#define AUDNOTE (   __x__)    AJA_sNOTICE (AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)

Definition at line 23 of file ntv2audio.cpp.

◆ AUDWARN

#define AUDWARN (   __x__)    AJA_sWARNING(AJA_DebugUnit_AudioGeneric, " " << HEX0N(uint64_t(this),16) << "::" << AJAFUNC << ": " << __x__)

Definition at line 22 of file ntv2audio.cpp.

Function Documentation

◆ BitMasksToNTV2AudioChannelPairs()

static NTV2AudioChannelPairs BitMasksToNTV2AudioChannelPairs ( const ULWord  inBitMask,
const ULWord  inExtendedBitMask 
)
static

Definition at line 1468 of file ntv2audio.cpp.

◆ GetNonPCMDetectRegisterNumber()

static NTV2RegisterNumber GetNonPCMDetectRegisterNumber ( const NTV2Channel  inSDIInputChannel,
const bool  inIsExtended = (0) 
)
inlinestatic

Definition at line 1483 of file ntv2audio.cpp.

Variable Documentation

◆ gAESChannelMappingShifts

const unsigned gAESChannelMappingShifts[4] = {0, 4, 8, 12}
static

Definition at line 1428 of file ntv2audio.cpp.

◆ gAudioDelayRegisterNumbers

Definition at line 43 of file ntv2audio.cpp.

◆ gAudioEngineChannelPairToFieldInformation

const PCM_CONTROL_INFO gAudioEngineChannelPairToFieldInformation[][8]
static

Definition at line 61 of file ntv2audio.cpp.

◆ gAudioPlayCaptureModeMasks

◆ gAudioPlayCaptureModeShifts

◆ gAudioRateHighMask

◆ gAudioRateHighShift

◆ gAudioSystemToAudioControlRegNum

const ULWord gAudioSystemToAudioControlRegNum[]
static

◆ gAudioSystemToSrcSelectRegNum

◆ gChannelToAudioInLastAddrRegNum

◆ gChannelToAudioOutLastAddrRegNum

◆ kAudCtrlRegsForSDIOutputs

const ULWord kAudCtrlRegsForSDIOutputs[]
static

◆ sAudioDetectGroups

const unsigned sAudioDetectGroups[]
static
Initial value:
= { 0, 1, 0, 1,
0, 1, 2, 3 }

Definition at line 1331 of file ntv2audio.cpp.

◆ sAudioDetectRegs

◆ sAudioMixerInputGainCh1Regs

const ULWord sAudioMixerInputGainCh1Regs[] = {kRegAudioMixerMainGain, kRegAudioMixerAux1GainCh1, kRegAudioMixerAux2GainCh1, 0}
static

Definition at line 606 of file ntv2audio.cpp.

◆ sAudioMixerInputGainCh2Regs

const ULWord sAudioMixerInputGainCh2Regs[] = {kRegAudioMixerMainGain, kRegAudioMixerAux1GainCh2, kRegAudioMixerAux2GainCh2, 0}
static

Definition at line 607 of file ntv2audio.cpp.

◆ sAudioMixerInputMuteMasks

Definition at line 717 of file ntv2audio.cpp.

◆ sAudioMixerInputMuteShifts

Definition at line 718 of file ntv2audio.cpp.

◆ sAudioMixerInputSelectMasks

Definition at line 550 of file ntv2audio.cpp.

◆ sAudioMixerInputSelectShifts

Definition at line 551 of file ntv2audio.cpp.

kRegShiftAud4PlayCapMode
@ kRegShiftAud4PlayCapMode
Definition: ntv2publicinterface.h:2269
kRegShiftAud3RateHigh
@ kRegShiftAud3RateHigh
Definition: ntv2publicinterface.h:2305
kRegAud1OutputLastAddr
@ kRegAud1OutputLastAddr
Definition: ntv2publicinterface.h:129
kRegMaskAud6PlayCapMode
@ kRegMaskAud6PlayCapMode
Definition: ntv2publicinterface.h:1186
kRegShiftAud2PlayCapMode
@ kRegShiftAud2PlayCapMode
Definition: ntv2publicinterface.h:2267
kRegMaskAud8PlayCapMode
@ kRegMaskAud8PlayCapMode
Definition: ntv2publicinterface.h:1188
kRegShiftAud6PlayCapMode
@ kRegShiftAud6PlayCapMode
Definition: ntv2publicinterface.h:2271
kRegAud6InputLastAddr
@ kRegAud6InputLastAddr
Definition: ntv2publicinterface.h:609
kRegAud8OutputLastAddr
@ kRegAud8OutputLastAddr
Definition: ntv2publicinterface.h:618
kRegMaskAud7RateHigh
@ kRegMaskAud7RateHigh
Definition: ntv2publicinterface.h:1226
kRegAud8Control
@ kRegAud8Control
Definition: ntv2publicinterface.h:616
kRegAudDetect2
@ kRegAudDetect2
Definition: ntv2publicinterface.h:405
kRegMaskAud3RateHigh
@ kRegMaskAud3RateHigh
Definition: ntv2publicinterface.h:1222
kRegShiftAud1PlayCapMode
@ kRegShiftAud1PlayCapMode
Definition: ntv2publicinterface.h:2266
kRegMaskAud7PlayCapMode
@ kRegMaskAud7PlayCapMode
Definition: ntv2publicinterface.h:1187
kRegAud3SourceSelect
@ kRegAud3SourceSelect
Definition: ntv2publicinterface.h:403
kRegShiftAud8PlayCapMode
@ kRegShiftAud8PlayCapMode
Definition: ntv2publicinterface.h:2273
kRegAud7InputLastAddr
@ kRegAud7InputLastAddr
Definition: ntv2publicinterface.h:614
kRegShiftAud6RateHigh
@ kRegShiftAud6RateHigh
Definition: ntv2publicinterface.h:2308
kRegMaskAud2RateHigh
@ kRegMaskAud2RateHigh
Definition: ntv2publicinterface.h:1221
kRegAud7OutputLastAddr
@ kRegAud7OutputLastAddr
Definition: ntv2publicinterface.h:613
kRegAud8InputLastAddr
@ kRegAud8InputLastAddr
Definition: ntv2publicinterface.h:619
kRegShiftAud5PlayCapMode
@ kRegShiftAud5PlayCapMode
Definition: ntv2publicinterface.h:2270
kRegAud5Control
@ kRegAud5Control
Definition: ntv2publicinterface.h:601
kRegAud3InputLastAddr
@ kRegAud3InputLastAddr
Definition: ntv2publicinterface.h:407
kRegAud5InputLastAddr
@ kRegAud5InputLastAddr
Definition: ntv2publicinterface.h:604
kRegShiftAud2RateHigh
@ kRegShiftAud2RateHigh
Definition: ntv2publicinterface.h:2304
kRegAud6SourceSelect
@ kRegAud6SourceSelect
Definition: ntv2publicinterface.h:607
kRegAud4InputLastAddr
@ kRegAud4InputLastAddr
Definition: ntv2publicinterface.h:409
kRegAud1InputLastAddr
@ kRegAud1InputLastAddr
Definition: ntv2publicinterface.h:130
kRegAud3Control
@ kRegAud3Control
Definition: ntv2publicinterface.h:401
kRegMaskAud1PlayCapMode
@ kRegMaskAud1PlayCapMode
Definition: ntv2publicinterface.h:1181
kRegAudioDetect5678
@ kRegAudioDetect5678
Definition: ntv2publicinterface.h:621
kRegShiftAud8RateHigh
@ kRegShiftAud8RateHigh
Definition: ntv2publicinterface.h:2310
kRegAud6OutputLastAddr
@ kRegAud6OutputLastAddr
Definition: ntv2publicinterface.h:608
kRegAud3OutputLastAddr
@ kRegAud3OutputLastAddr
Definition: ntv2publicinterface.h:406
kRegAud4Control
@ kRegAud4Control
Definition: ntv2publicinterface.h:402
kRegAud8SourceSelect
@ kRegAud8SourceSelect
Definition: ntv2publicinterface.h:617
kRegMaskAud4RateHigh
@ kRegMaskAud4RateHigh
Definition: ntv2publicinterface.h:1223
kRegAud7Control
@ kRegAud7Control
Definition: ntv2publicinterface.h:611
kRegAud4OutputLastAddr
@ kRegAud4OutputLastAddr
Definition: ntv2publicinterface.h:408
kRegAud5OutputLastAddr
@ kRegAud5OutputLastAddr
Definition: ntv2publicinterface.h:603
kRegShiftAud7PlayCapMode
@ kRegShiftAud7PlayCapMode
Definition: ntv2publicinterface.h:2272
kRegMaskAud1RateHigh
@ kRegMaskAud1RateHigh
Definition: ntv2publicinterface.h:1220
kRegAud5SourceSelect
@ kRegAud5SourceSelect
Definition: ntv2publicinterface.h:602
kRegShiftAud7RateHigh
@ kRegShiftAud7RateHigh
Definition: ntv2publicinterface.h:2309
kRegAud1SourceSelect
@ kRegAud1SourceSelect
Definition: ntv2publicinterface.h:128
kRegShiftAud3PlayCapMode
@ kRegShiftAud3PlayCapMode
Definition: ntv2publicinterface.h:2268
kRegAud4SourceSelect
@ kRegAud4SourceSelect
Definition: ntv2publicinterface.h:404
kRegMaskAud2PlayCapMode
@ kRegMaskAud2PlayCapMode
Definition: ntv2publicinterface.h:1182
kRegShiftAud1RateHigh
@ kRegShiftAud1RateHigh
Definition: ntv2publicinterface.h:2303
kRegMaskAud5RateHigh
@ kRegMaskAud5RateHigh
Definition: ntv2publicinterface.h:1224
kRegMaskAud3PlayCapMode
@ kRegMaskAud3PlayCapMode
Definition: ntv2publicinterface.h:1183
kRegAud1Control
@ kRegAud1Control
Definition: ntv2publicinterface.h:127
kRegShiftAud5RateHigh
@ kRegShiftAud5RateHigh
Definition: ntv2publicinterface.h:2307
kRegAud2InputLastAddr
@ kRegAud2InputLastAddr
Definition: ntv2publicinterface.h:366
kRegAud6Control
@ kRegAud6Control
Definition: ntv2publicinterface.h:606
kRegMaskAud4PlayCapMode
@ kRegMaskAud4PlayCapMode
Definition: ntv2publicinterface.h:1184
kRegAud2OutputLastAddr
@ kRegAud2OutputLastAddr
Definition: ntv2publicinterface.h:365
kRegMaskAud8RateHigh
@ kRegMaskAud8RateHigh
Definition: ntv2publicinterface.h:1227
kRegAud2SourceSelect
@ kRegAud2SourceSelect
Definition: ntv2publicinterface.h:364
kRegMaskAud6RateHigh
@ kRegMaskAud6RateHigh
Definition: ntv2publicinterface.h:1225
kRegShiftAud4RateHigh
@ kRegShiftAud4RateHigh
Definition: ntv2publicinterface.h:2306
kRegAud2Control
@ kRegAud2Control
Definition: ntv2publicinterface.h:363
kRegMaskAud5PlayCapMode
@ kRegMaskAud5PlayCapMode
Definition: ntv2publicinterface.h:1185
kRegAud1Detect
@ kRegAud1Detect
Definition: ntv2publicinterface.h:126
kRegAud7SourceSelect
@ kRegAud7SourceSelect
Definition: ntv2publicinterface.h:612