AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
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 gChannelToSDIOutControlRegNum []
 
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 1578 of file ntv2audio.cpp.

◆ GetNonPCMDetectRegisterNumber()

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

Definition at line 1593 of file ntv2audio.cpp.

Variable Documentation

◆ gAESChannelMappingShifts

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

Definition at line 1538 of file ntv2audio.cpp.

◆ gAudioDelayRegisterNumbers

Definition at line 46 of file ntv2audio.cpp.

◆ gAudioEngineChannelPairToFieldInformation

const PCM_CONTROL_INFO gAudioEngineChannelPairToFieldInformation[][8]
static

Definition at line 64 of file ntv2audio.cpp.

◆ gAudioPlayCaptureModeMasks

◆ gAudioPlayCaptureModeShifts

◆ gAudioRateHighMask

◆ gAudioRateHighShift

◆ gAudioSystemToAudioControlRegNum

const ULWord gAudioSystemToAudioControlRegNum[]
static

◆ gAudioSystemToSrcSelectRegNum

◆ gChannelToAudioInLastAddrRegNum

◆ gChannelToAudioOutLastAddrRegNum

◆ gChannelToSDIOutControlRegNum

const ULWord gChannelToSDIOutControlRegNum[]
static

◆ kAudCtrlRegsForSDIOutputs

const ULWord kAudCtrlRegsForSDIOutputs[]
static

◆ sAudioDetectGroups

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

Definition at line 1441 of file ntv2audio.cpp.

◆ sAudioDetectRegs

◆ sAudioMixerInputGainCh1Regs

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

Definition at line 716 of file ntv2audio.cpp.

◆ sAudioMixerInputGainCh2Regs

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

Definition at line 717 of file ntv2audio.cpp.

◆ sAudioMixerInputMuteMasks

Definition at line 827 of file ntv2audio.cpp.

◆ sAudioMixerInputMuteShifts

Definition at line 828 of file ntv2audio.cpp.

◆ sAudioMixerInputSelectMasks

Definition at line 660 of file ntv2audio.cpp.

◆ sAudioMixerInputSelectShifts

Definition at line 661 of file ntv2audio.cpp.

kRegShiftAud4PlayCapMode
@ kRegShiftAud4PlayCapMode
Definition: ntv2publicinterface.h:2239
kRegShiftAud3RateHigh
@ kRegShiftAud3RateHigh
Definition: ntv2publicinterface.h:2275
kRegSDIOut4Control
@ kRegSDIOut4Control
Definition: ntv2publicinterface.h:261
kRegAud1OutputLastAddr
@ kRegAud1OutputLastAddr
Definition: ntv2publicinterface.h:100
kRegMaskAud6PlayCapMode
@ kRegMaskAud6PlayCapMode
Definition: ntv2publicinterface.h:1157
kRegShiftAud2PlayCapMode
@ kRegShiftAud2PlayCapMode
Definition: ntv2publicinterface.h:2237
kRegMaskAud8PlayCapMode
@ kRegMaskAud8PlayCapMode
Definition: ntv2publicinterface.h:1159
kRegShiftAud6PlayCapMode
@ kRegShiftAud6PlayCapMode
Definition: ntv2publicinterface.h:2241
kRegAud6InputLastAddr
@ kRegAud6InputLastAddr
Definition: ntv2publicinterface.h:580
kRegAud8OutputLastAddr
@ kRegAud8OutputLastAddr
Definition: ntv2publicinterface.h:589
kRegMaskAud7RateHigh
@ kRegMaskAud7RateHigh
Definition: ntv2publicinterface.h:1197
kRegAud8Control
@ kRegAud8Control
Definition: ntv2publicinterface.h:587
kRegAudDetect2
@ kRegAudDetect2
Definition: ntv2publicinterface.h:376
kRegMaskAud3RateHigh
@ kRegMaskAud3RateHigh
Definition: ntv2publicinterface.h:1193
kRegShiftAud1PlayCapMode
@ kRegShiftAud1PlayCapMode
Definition: ntv2publicinterface.h:2236
kRegMaskAud7PlayCapMode
@ kRegMaskAud7PlayCapMode
Definition: ntv2publicinterface.h:1158
kRegAud3SourceSelect
@ kRegAud3SourceSelect
Definition: ntv2publicinterface.h:374
kRegShiftAud8PlayCapMode
@ kRegShiftAud8PlayCapMode
Definition: ntv2publicinterface.h:2243
kRegAud7InputLastAddr
@ kRegAud7InputLastAddr
Definition: ntv2publicinterface.h:585
kRegShiftAud6RateHigh
@ kRegShiftAud6RateHigh
Definition: ntv2publicinterface.h:2278
kRegMaskAud2RateHigh
@ kRegMaskAud2RateHigh
Definition: ntv2publicinterface.h:1192
kRegAud7OutputLastAddr
@ kRegAud7OutputLastAddr
Definition: ntv2publicinterface.h:584
kRegAud8InputLastAddr
@ kRegAud8InputLastAddr
Definition: ntv2publicinterface.h:590
kRegShiftAud5PlayCapMode
@ kRegShiftAud5PlayCapMode
Definition: ntv2publicinterface.h:2240
kRegAud5Control
@ kRegAud5Control
Definition: ntv2publicinterface.h:572
kRegAud3InputLastAddr
@ kRegAud3InputLastAddr
Definition: ntv2publicinterface.h:378
kRegAud5InputLastAddr
@ kRegAud5InputLastAddr
Definition: ntv2publicinterface.h:575
kRegShiftAud2RateHigh
@ kRegShiftAud2RateHigh
Definition: ntv2publicinterface.h:2274
kRegSDIOut3Control
@ kRegSDIOut3Control
Definition: ntv2publicinterface.h:260
kRegAud6SourceSelect
@ kRegAud6SourceSelect
Definition: ntv2publicinterface.h:578
kRegAud4InputLastAddr
@ kRegAud4InputLastAddr
Definition: ntv2publicinterface.h:380
kRegAud1InputLastAddr
@ kRegAud1InputLastAddr
Definition: ntv2publicinterface.h:101
kRegAud3Control
@ kRegAud3Control
Definition: ntv2publicinterface.h:372
kRegMaskAud1PlayCapMode
@ kRegMaskAud1PlayCapMode
Definition: ntv2publicinterface.h:1152
kRegAudioDetect5678
@ kRegAudioDetect5678
Definition: ntv2publicinterface.h:592
kRegShiftAud8RateHigh
@ kRegShiftAud8RateHigh
Definition: ntv2publicinterface.h:2280
kRegSDIOut5Control
@ kRegSDIOut5Control
Definition: ntv2publicinterface.h:444
kRegAud6OutputLastAddr
@ kRegAud6OutputLastAddr
Definition: ntv2publicinterface.h:579
kRegAud3OutputLastAddr
@ kRegAud3OutputLastAddr
Definition: ntv2publicinterface.h:377
kRegAud4Control
@ kRegAud4Control
Definition: ntv2publicinterface.h:373
kRegAud8SourceSelect
@ kRegAud8SourceSelect
Definition: ntv2publicinterface.h:588
kRegMaskAud4RateHigh
@ kRegMaskAud4RateHigh
Definition: ntv2publicinterface.h:1194
kRegSDIOut7Control
@ kRegSDIOut7Control
Definition: ntv2publicinterface.h:618
kRegAud7Control
@ kRegAud7Control
Definition: ntv2publicinterface.h:582
kRegAud4OutputLastAddr
@ kRegAud4OutputLastAddr
Definition: ntv2publicinterface.h:379
kRegAud5OutputLastAddr
@ kRegAud5OutputLastAddr
Definition: ntv2publicinterface.h:574
kRegShiftAud7PlayCapMode
@ kRegShiftAud7PlayCapMode
Definition: ntv2publicinterface.h:2242
kRegMaskAud1RateHigh
@ kRegMaskAud1RateHigh
Definition: ntv2publicinterface.h:1191
kRegAud5SourceSelect
@ kRegAud5SourceSelect
Definition: ntv2publicinterface.h:573
kRegSDIOut2Control
@ kRegSDIOut2Control
Definition: ntv2publicinterface.h:217
kRegShiftAud7RateHigh
@ kRegShiftAud7RateHigh
Definition: ntv2publicinterface.h:2279
kRegAud1SourceSelect
@ kRegAud1SourceSelect
Definition: ntv2publicinterface.h:99
kRegShiftAud3PlayCapMode
@ kRegShiftAud3PlayCapMode
Definition: ntv2publicinterface.h:2238
kRegAud4SourceSelect
@ kRegAud4SourceSelect
Definition: ntv2publicinterface.h:375
kRegMaskAud2PlayCapMode
@ kRegMaskAud2PlayCapMode
Definition: ntv2publicinterface.h:1153
kRegShiftAud1RateHigh
@ kRegShiftAud1RateHigh
Definition: ntv2publicinterface.h:2273
kRegMaskAud5RateHigh
@ kRegMaskAud5RateHigh
Definition: ntv2publicinterface.h:1195
kRegSDIOut6Control
@ kRegSDIOut6Control
Definition: ntv2publicinterface.h:617
kRegMaskAud3PlayCapMode
@ kRegMaskAud3PlayCapMode
Definition: ntv2publicinterface.h:1154
kRegAud1Control
@ kRegAud1Control
Definition: ntv2publicinterface.h:98
kRegShiftAud5RateHigh
@ kRegShiftAud5RateHigh
Definition: ntv2publicinterface.h:2277
kRegSDIOut1Control
@ kRegSDIOut1Control
Definition: ntv2publicinterface.h:215
kRegAud2InputLastAddr
@ kRegAud2InputLastAddr
Definition: ntv2publicinterface.h:337
kRegAud6Control
@ kRegAud6Control
Definition: ntv2publicinterface.h:577
kRegMaskAud4PlayCapMode
@ kRegMaskAud4PlayCapMode
Definition: ntv2publicinterface.h:1155
kRegAud2OutputLastAddr
@ kRegAud2OutputLastAddr
Definition: ntv2publicinterface.h:336
kRegMaskAud8RateHigh
@ kRegMaskAud8RateHigh
Definition: ntv2publicinterface.h:1198
kRegAud2SourceSelect
@ kRegAud2SourceSelect
Definition: ntv2publicinterface.h:335
kRegMaskAud6RateHigh
@ kRegMaskAud6RateHigh
Definition: ntv2publicinterface.h:1196
kRegShiftAud4RateHigh
@ kRegShiftAud4RateHigh
Definition: ntv2publicinterface.h:2276
kRegAud2Control
@ kRegAud2Control
Definition: ntv2publicinterface.h:334
kRegSDIOut8Control
@ kRegSDIOut8Control
Definition: ntv2publicinterface.h:619
kRegMaskAud5PlayCapMode
@ kRegMaskAud5PlayCapMode
Definition: ntv2publicinterface.h:1156
kRegAud1Detect
@ kRegAud1Detect
Definition: ntv2publicinterface.h:97
kRegAud7SourceSelect
@ kRegAud7SourceSelect
Definition: ntv2publicinterface.h:583