17 static const double kTwo24th (
double(1 << 24));
28 return double(inCoefficient) /
kTwo24th;
34 switch (inPixelFormat)
39 mInputPixelFormat = inPixelFormat;
50 switch (inPixelFormat)
55 mOutputPixelFormat = inPixelFormat;
66 switch (inChromaFilterSelect)
71 mChromaFilterSelect = inChromaFilterSelect;
82 switch (inChromaEdgeControl)
86 mChromaEdgeControl = inChromaEdgeControl;
101 mKeySource = inKeySource;
112 switch (inKeyOutputRange)
116 mKeyOutputRange = inKeyOutputRange;
128 mKeyInputOffset = inKeyInputOffset;
136 mKeyOutputOffset = inKeyOutputOffset;
144 mKeyGain = inKeyGain;
187 cscRegs [15] = (
ULWord(mKeyOutputOffset) << 16) |
ULWord(mKeyInputOffset);
188 cscRegs [16] = (
ULWord(mKeyGain * 4096.0));
194 regs.push_back(
NTV2RegInfo(cscBaseRegNum+num, cscRegs[num]));
251 mKeyInputOffset = int16_t(regs[15].registerValue & 0xFFFF);
252 mKeyOutputOffset= uint16_t(regs[15].registerValue >> 16);
253 mKeyGain = (double(regs[16].registerValue) / 4096.0);
Everything needed to call CNTV2Card::ReadRegister or CNTV2Card::WriteRegister functions.
bool SetKeyGain(const double inKeyGain)
virtual void SetOffset(const NTV2CSCOffsetIndex inOffsetIndex, const int16_t inOffset)
Changes the specified offset to the given value.
I interrogate and control an AJA video/audio capture/playout device.
Proportion of input component 1 applied to C output.
bool NTV2DeviceCanDoEnhancedCSC(const NTV2DeviceID inDeviceID)
bool GetFromHardware(CNTV2Card &inDevice, const NTV2Channel inChannel)
UWord NTV2DeviceGetNumCSCs(const NTV2DeviceID inDeviceID)
bool SetKeyOutputRange(const NTV2EnhancedCSCKeyOutputRange inKeyOutputRange)
Proportion of input component 1 applied to A output.
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
std::vector< NTV2RegInfo > NTV2RegWrites
An ordered sequence of zero or more NTV2RegInfo structs intended for WriteRegister.
Proportion of input component 1 applied to B output.
virtual bool WriteRegisters(const NTV2RegisterWrites &inRegWrites)
Writes the given sequence of NTV2RegInfo's.
virtual bool IsOpen(void) const
virtual bool ReadRegisters(NTV2RegisterReads &inOutValues)
Reads the register(s) specified by the given NTV2RegInfo sequence.
bool SetOutputPixelFormat(const NTV2EnhancedCSCPixelFormat inPixelFormat)
static const double kTwo24th(double(1<< 24))
virtual NTV2DeviceID GetDeviceID(void)
static ULWord ConvertCoeffDoubleToULWord(const double inCoefficient)
virtual bool ReadRegister(const ULWord inRegNum, ULWord &outValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Reads all or part of the 32-bit contents of a specific register (real or virtual) on the AJA device...
NTV2EnhancedCSCKeyOutputRange
NTV2EnhancedCSCChromaFilterSelect
bool SetChromaEdgeControl(const NTV2EnhancedCSCChromaEdgeControl inChromaEdgeControl)
NTV2EnhancedCSCChromaEdgeControl
Proportion of input component 0 applied to C output.
Declares numerous NTV2 utility functions.
bool SetKeySource(const NTV2EnhancedCSCKeySource inKeySource)
Proportion of input component 0 applied to B output.
static double ConvertCoeffULWordToDouble(const ULWord inCoefficient)
Proportion of input component 0 applied to A output.
NTV2EnhancedCSCPixelFormat
static const ULWord gChannelToEnhancedCSCRegNum[]
bool SetKeyInputOffset(const int16_t inKeyInputOffset)
CNTV2CSCMatrix & Matrix(void)
Proportion of input component 2 applied to C output.
virtual void SetCoefficient(const NTV2CSCCoeffIndex inCoeffIndex, const double inCoefficient)
Changes the specified matrix coefficient to the given value.
bool SendToHardware(CNTV2Card &inDevice, const NTV2Channel inChannel) const
Proportion of input component 2 applied to A output.
Declares the CNTV2EnhancedCSC class.
NTV2RegWrites NTV2RegReads
An ordered sequence of zero or more NTV2RegInfo structs intended for ReadRegister.
Declares enums and structs used by all platform drivers and the SDK.
bool SetKeyOutputOffset(const uint16_t inKeyOutputOffset)
Declares device capability functions.
Proportion of input component 2 applied to B output.
bool SetChromaFilterSelect(const NTV2EnhancedCSCChromaFilterSelect inChromaFilterSelect)
bool SetInputPixelFormat(const NTV2EnhancedCSCPixelFormat inPixelFormat)