AJA NTV2 SDK  18.0.0.2717
NTV2 SDK 18.0.0.2717
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 1525 of file ntv2audio.cpp.

◆ GetNonPCMDetectRegisterNumber()

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

Definition at line 1540 of file ntv2audio.cpp.

Variable Documentation

◆ gAESChannelMappingShifts

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

Definition at line 1485 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 1388 of file ntv2audio.cpp.

◆ sAudioDetectRegs

◆ sAudioMixerInputGainCh1Regs

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

Definition at line 601 of file ntv2audio.cpp.

◆ sAudioMixerInputGainCh2Regs

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

Definition at line 602 of file ntv2audio.cpp.

◆ sAudioMixerInputMuteMasks

Definition at line 712 of file ntv2audio.cpp.

◆ sAudioMixerInputMuteShifts

Definition at line 713 of file ntv2audio.cpp.

◆ sAudioMixerInputSelectMasks

Definition at line 545 of file ntv2audio.cpp.

◆ sAudioMixerInputSelectShifts

Definition at line 546 of file ntv2audio.cpp.

kRegShiftAud4PlayCapMode
@ kRegShiftAud4PlayCapMode
Definition: ntv2publicinterface.h:2352
kRegShiftAud3RateHigh
@ kRegShiftAud3RateHigh
Definition: ntv2publicinterface.h:2388
kRegAud1OutputLastAddr
@ kRegAud1OutputLastAddr
Definition: ntv2publicinterface.h:147
kRegMaskAud6PlayCapMode
@ kRegMaskAud6PlayCapMode
Definition: ntv2publicinterface.h:1261
kRegShiftAud2PlayCapMode
@ kRegShiftAud2PlayCapMode
Definition: ntv2publicinterface.h:2350
kRegMaskAud8PlayCapMode
@ kRegMaskAud8PlayCapMode
Definition: ntv2publicinterface.h:1263
kRegShiftAud6PlayCapMode
@ kRegShiftAud6PlayCapMode
Definition: ntv2publicinterface.h:2354
kRegAud6InputLastAddr
@ kRegAud6InputLastAddr
Definition: ntv2publicinterface.h:627
kRegAud8OutputLastAddr
@ kRegAud8OutputLastAddr
Definition: ntv2publicinterface.h:636
kRegMaskAud7RateHigh
@ kRegMaskAud7RateHigh
Definition: ntv2publicinterface.h:1301
kRegAud8Control
@ kRegAud8Control
Definition: ntv2publicinterface.h:634
kRegAudDetect2
@ kRegAudDetect2
Definition: ntv2publicinterface.h:423
kRegMaskAud3RateHigh
@ kRegMaskAud3RateHigh
Definition: ntv2publicinterface.h:1297
kRegShiftAud1PlayCapMode
@ kRegShiftAud1PlayCapMode
Definition: ntv2publicinterface.h:2349
kRegMaskAud7PlayCapMode
@ kRegMaskAud7PlayCapMode
Definition: ntv2publicinterface.h:1262
kRegAud3SourceSelect
@ kRegAud3SourceSelect
Definition: ntv2publicinterface.h:421
kRegShiftAud8PlayCapMode
@ kRegShiftAud8PlayCapMode
Definition: ntv2publicinterface.h:2356
kRegAud7InputLastAddr
@ kRegAud7InputLastAddr
Definition: ntv2publicinterface.h:632
kRegShiftAud6RateHigh
@ kRegShiftAud6RateHigh
Definition: ntv2publicinterface.h:2391
kRegMaskAud2RateHigh
@ kRegMaskAud2RateHigh
Definition: ntv2publicinterface.h:1296
kRegAud7OutputLastAddr
@ kRegAud7OutputLastAddr
Definition: ntv2publicinterface.h:631
kRegAud8InputLastAddr
@ kRegAud8InputLastAddr
Definition: ntv2publicinterface.h:637
kRegShiftAud5PlayCapMode
@ kRegShiftAud5PlayCapMode
Definition: ntv2publicinterface.h:2353
kRegAud5Control
@ kRegAud5Control
Definition: ntv2publicinterface.h:619
kRegAud3InputLastAddr
@ kRegAud3InputLastAddr
Definition: ntv2publicinterface.h:425
kRegAud5InputLastAddr
@ kRegAud5InputLastAddr
Definition: ntv2publicinterface.h:622
kRegShiftAud2RateHigh
@ kRegShiftAud2RateHigh
Definition: ntv2publicinterface.h:2387
kRegAud6SourceSelect
@ kRegAud6SourceSelect
Definition: ntv2publicinterface.h:625
kRegAud4InputLastAddr
@ kRegAud4InputLastAddr
Definition: ntv2publicinterface.h:427
kRegAud1InputLastAddr
@ kRegAud1InputLastAddr
Definition: ntv2publicinterface.h:148
kRegAud3Control
@ kRegAud3Control
Definition: ntv2publicinterface.h:419
kRegMaskAud1PlayCapMode
@ kRegMaskAud1PlayCapMode
Definition: ntv2publicinterface.h:1256
kRegAudioDetect5678
@ kRegAudioDetect5678
Definition: ntv2publicinterface.h:639
kRegShiftAud8RateHigh
@ kRegShiftAud8RateHigh
Definition: ntv2publicinterface.h:2393
kRegAud6OutputLastAddr
@ kRegAud6OutputLastAddr
Definition: ntv2publicinterface.h:626
kRegAud3OutputLastAddr
@ kRegAud3OutputLastAddr
Definition: ntv2publicinterface.h:424
kRegAud4Control
@ kRegAud4Control
Definition: ntv2publicinterface.h:420
kRegAud8SourceSelect
@ kRegAud8SourceSelect
Definition: ntv2publicinterface.h:635
kRegMaskAud4RateHigh
@ kRegMaskAud4RateHigh
Definition: ntv2publicinterface.h:1298
kRegAud7Control
@ kRegAud7Control
Definition: ntv2publicinterface.h:629
kRegAud4OutputLastAddr
@ kRegAud4OutputLastAddr
Definition: ntv2publicinterface.h:426
kRegAud5OutputLastAddr
@ kRegAud5OutputLastAddr
Definition: ntv2publicinterface.h:621
kRegShiftAud7PlayCapMode
@ kRegShiftAud7PlayCapMode
Definition: ntv2publicinterface.h:2355
kRegMaskAud1RateHigh
@ kRegMaskAud1RateHigh
Definition: ntv2publicinterface.h:1295
kRegAud5SourceSelect
@ kRegAud5SourceSelect
Definition: ntv2publicinterface.h:620
kRegShiftAud7RateHigh
@ kRegShiftAud7RateHigh
Definition: ntv2publicinterface.h:2392
kRegAud1SourceSelect
@ kRegAud1SourceSelect
Definition: ntv2publicinterface.h:146
kRegShiftAud3PlayCapMode
@ kRegShiftAud3PlayCapMode
Definition: ntv2publicinterface.h:2351
kRegAud4SourceSelect
@ kRegAud4SourceSelect
Definition: ntv2publicinterface.h:422
kRegMaskAud2PlayCapMode
@ kRegMaskAud2PlayCapMode
Definition: ntv2publicinterface.h:1257
kRegShiftAud1RateHigh
@ kRegShiftAud1RateHigh
Definition: ntv2publicinterface.h:2386
kRegMaskAud5RateHigh
@ kRegMaskAud5RateHigh
Definition: ntv2publicinterface.h:1299
kRegMaskAud3PlayCapMode
@ kRegMaskAud3PlayCapMode
Definition: ntv2publicinterface.h:1258
kRegAud1Control
@ kRegAud1Control
Definition: ntv2publicinterface.h:145
kRegShiftAud5RateHigh
@ kRegShiftAud5RateHigh
Definition: ntv2publicinterface.h:2390
kRegAud2InputLastAddr
@ kRegAud2InputLastAddr
Definition: ntv2publicinterface.h:384
kRegAud6Control
@ kRegAud6Control
Definition: ntv2publicinterface.h:624
kRegMaskAud4PlayCapMode
@ kRegMaskAud4PlayCapMode
Definition: ntv2publicinterface.h:1259
kRegAud2OutputLastAddr
@ kRegAud2OutputLastAddr
Definition: ntv2publicinterface.h:383
kRegMaskAud8RateHigh
@ kRegMaskAud8RateHigh
Definition: ntv2publicinterface.h:1302
kRegAud2SourceSelect
@ kRegAud2SourceSelect
Definition: ntv2publicinterface.h:382
kRegMaskAud6RateHigh
@ kRegMaskAud6RateHigh
Definition: ntv2publicinterface.h:1300
kRegShiftAud4RateHigh
@ kRegShiftAud4RateHigh
Definition: ntv2publicinterface.h:2389
kRegAud2Control
@ kRegAud2Control
Definition: ntv2publicinterface.h:381
kRegMaskAud5PlayCapMode
@ kRegMaskAud5PlayCapMode
Definition: ntv2publicinterface.h:1260
kRegAud1Detect
@ kRegAud1Detect
Definition: ntv2publicinterface.h:144
kRegAud7SourceSelect
@ kRegAud7SourceSelect
Definition: ntv2publicinterface.h:630