 |
AJA NTV2 SDK
17.6.0.2675
NTV2 SDK 17.6.0.2675
|
Go to the documentation of this file.
20 #if defined (MSWindows)
21 #pragma warning(disable: 4800)
24 #define HEX16(__x__) "0x" << hex << setw(16) << setfill('0') << uint64_t(__x__) << dec
25 #define INSTP(_p_) HEX16(uint64_t(_p_))
26 #define CVIDFAIL(__x__) AJA_sERROR (AJA_DebugUnit_VideoGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__)
27 #define CVIDWARN(__x__) AJA_sWARNING(AJA_DebugUnit_VideoGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__)
28 #define CVIDNOTE(__x__) AJA_sNOTICE (AJA_DebugUnit_VideoGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__)
29 #define CVIDINFO(__x__) AJA_sINFO (AJA_DebugUnit_VideoGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__)
30 #define CVIDDBG(__x__) AJA_sDEBUG (AJA_DebugUnit_VideoGeneric, INSTP(this) << "::" << AJAFUNC << ": " << __x__)
44 #define K2_NOMINAL_H 0x1000
45 #define K2_MIN_H (K2_NOMINAL_H-0x800)
46 #define K2_MAX_H (K2_NOMINAL_H+0x800)
47 #define K2_NOMINAL_V 0x0800
48 #define K2_MIN_V (K2_NOMINAL_V-0x400)
49 #define K2_MAX_V (K2_NOMINAL_V+0x400)
51 #define KLS_NOMINAL_525_H 0x0640
52 #define KLS_MIN_525_H 0x0000
53 #define KLS_MAX_525_H 0x06B3
54 #define KLS_NOMINAL_525_V 0x010A
55 #define KLS_MIN_525_V 0x0001
56 #define KLS_MAX_525_V 0x020D
58 #define KLS_NOMINAL_625_H 0x0638
59 #define KLS_MIN_625_H 0x0000
60 #define KLS_MAX_625_H 0x06BF
61 #define KLS_NOMINAL_625_V 0x0139
62 #define KLS_MIN_625_V 0x0001
63 #define KLS_MAX_625_V 0x0271
82 #if !defined(NTV2_DEPRECATE_16_2)
85 #endif // !defined(NTV2_DEPRECATE_16_2)
104 #if defined (NTV2_ALLOW_2MB_FRAMES)
107 #endif // defined (NTV2_ALLOW_2MB_FRAMES)
189 #if !defined(NTV2_DEPRECATE_16_3)
199 #endif // !defined(NTV2_DEPRECATE_16_3)
206 bool ajaRetail(inIsRetail);
209 GetEveryFrameServices(mode);
214 int hOffset(0), vOffset(0);
218 GetVideoHOffset(hOffset);
219 GetVideoVOffset(vOffset);
224 if (itms.find(
ULWord(value)) == itms.end())
246 SetStandard(inStandard, channel);
249 SetFrameGeometry(inFrameGeometry, ajaRetail, channel);
252 SetFrameRate(inFrameRate, channel);
263 SetQuadQuadFrameEnable(
false, channel);
264 Get4kSquaresEnable(squares, channel);
267 Set4kSquaresEnable(
true, channel);
271 SetQuadFrameEnable(
true, channel);
276 GetQuadQuadSquaresEnable(squares, channel);
279 SetQuadQuadSquaresEnable(
true, channel);
283 SetQuadQuadFrameEnable(
true, channel);
289 SetQuadFrameEnable(
false, channel);
290 SetQuadQuadFrameEnable(
false, channel);
291 if (!IsMultiFormatActive())
303 SetVideoHOffset(hOffset);
304 SetVideoVOffset(vOffset);
316 GetRegisterWriteMode(writeMode);
317 SetRegisterWriteMode(writeMode);
327 if (!SetVideoFormat(inVideoFormat, inIsAJARetail,
false, *it))
337 if (!IsMultiFormatActive () && !IsMultiRasterWidgetChannel(inChannel))
341 GetStandard (standard, inChannel);
344 GetFrameGeometry (frameGeometry, inChannel);
347 GetFrameRate (frameRate, inChannel);
350 GetSmpte372 (smpte372Enabled, inChannel);
352 ULWord progressivePicture;
353 GetProgressivePicture (progressivePicture);
355 bool isSquares =
false;
361 Get4kSquaresEnable(isSquares, inChannel);
374 return GetNTV2VideoFormat(frameRate, standard, isThreeG, inputGeometry, progressivePicture);
414 if (isThreeG && progressivePicture)
420 if (isThreeG && progressivePicture)
426 if (isThreeG && progressivePicture)
428 if (inputGeometry == 8)
433 else if (inputGeometry == 8)
601 if (GetVideoFormat(videoFormat))
618 int nominalH(0), minH(0), maxH(0), nominalV(0), minV(0), maxV(0), count(0);
619 ULWord timingValue(0), lineCount(0), lineCount2(0);
623 if (!GetNominalMinMaxHV(nominalH, minH, maxH, nominalV, minV, maxV))
628 nominalH = nominalH + hOffset;
630 nominalH = nominalH - hOffset;
635 else if (nominalH < minH)
638 if (!ReadOutputTimingControl(timingValue, inOutputSpigot))
647 if (
LWord((timingValue & 0x0000FFFF)) == nominalH)
649 if (((
LWord((timingValue & 0x0000FFFF)) + 1) == nominalH) )
653 timingValue &= 0xFFFF0000;
654 timingValue |=
ULWord(nominalH + 2);
655 WriteOutputTimingControl(timingValue, inOutputSpigot);
659 ReadLineCount (lineCount);
662 ReadLineCount (lineCount2);
663 if (count > 1000000)
return false;
665 }
while (lineCount == lineCount2);
670 else if ( ((
LWord((timingValue & 0x0000FFFF)) -1) == nominalH ) )
674 timingValue &= 0xFFFF0000;
675 timingValue |=
ULWord(nominalH - 2);
676 WriteOutputTimingControl(timingValue, inOutputSpigot);
680 ReadLineCount (lineCount);
683 ReadLineCount (lineCount2);
684 if (count > 1000000)
return false;
686 }
while (lineCount == lineCount2);
695 timingValue &= 0xFFFF0000;
696 timingValue |=
ULWord(nominalH);
698 return WriteOutputTimingControl(timingValue, inOutputSpigot);
704 int nominalH(0), minH(0), maxH(0), nominalV(0), minV(0), maxV(0);
707 if (!GetNominalMinMaxHV(nominalH, minH, maxH, nominalV, minV, maxV))
711 if (!ReadOutputTimingControl(timingValue, inOutputSpigot))
713 timingValue &= 0xFFFF;
717 outHOffset = int(timingValue) - nominalH;
719 outHOffset = nominalH - int(timingValue);
725 int nominalH(0), minH(0), maxH(0), nominalV(0), minV(0), maxV(0);
728 if (!GetNominalMinMaxHV(nominalH, minH, maxH, nominalV, minV, maxV))
733 nominalV = nominalV + vOffset;
735 nominalV = nominalV - vOffset;
740 else if (nominalV < minV)
744 if (!ReadOutputTimingControl(timingValue, inOutputSpigot))
746 timingValue &= 0x0000FFFF;
747 return WriteOutputTimingControl(timingValue |
ULWord(nominalV << 16), inOutputSpigot);
752 int nominalH(0), minH(0), maxH(0), nominalV(0), minV(0), maxV(0);
755 if (!GetNominalMinMaxHV(nominalH, minH, maxH, nominalV, minV, maxV))
759 if (!ReadOutputTimingControl(timingValue, inOutputSpigot))
761 timingValue = (timingValue >> 16);
765 outVOffset =
int(timingValue) - nominalV;
767 outVOffset = nominalV - int(timingValue);
771 #if !defined(NTV2_DEPRECATE_16_2)
774 outNumActiveLines = 0;
776 if (!GetStandard(st) || !GetVANCMode(vm))
785 outFrameDimensions.Reset();
786 if (IsXilinxProgrammed() && GetStandard(st, inChannel) && GetVANCMode(vm, inChannel))
790 return outFrameDimensions.IsValid();
797 if (!IsXilinxProgrammed() || !GetStandard(st, inChannel) || !GetVANCMode(vm, inChannel))
802 #endif // defined(NTV2_DEPRECATE_16_2)
809 if (IsMultiRasterWidgetChannel(inChannel))
811 if (!IsMultiFormatActive())
830 if (IsMultiRasterWidgetChannel(inChannel))
832 if (!IsMultiFormatActive())
837 bool quadFrameEnabled(
false);
838 status = GetQuadFrameEnable(quadFrameEnabled, inChannel);
839 if (status && quadFrameEnabled)
843 bool quadQuadFrameEnabled(
false);
844 status = GetQuadQuadFrameEnable(quadQuadFrameEnabled);
845 if(status && quadQuadFrameEnabled)
857 ULWord smpte372Enabled (0);
859 outIsProgressive =
false;
861 if (!IsMultiFormatActive())
864 if (GetStandard (standard, inChannel) && GetSmpte372 (smpte372Enabled, inChannel))
867 outIsProgressive =
true;
879 outIsStandardDef =
false;
881 if (!IsMultiFormatActive())
884 if (GetStandard (standard, inChannel))
887 outIsStandardDef =
true;
901 GetEveryFrameServices(mode);
907 if (IsMultiRasterWidgetChannel(channel))
909 if (!IsMultiFormatActive())
911 else if (IS_CHANNEL_INVALID(channel))
921 bool status = GetFrameGeometry(oldGeometry, channel);
925 status = GetLargestFrameBufferFormatInUse(format);
932 newFrameStoreGeometry = newGeometry;
950 if ( GetFBSizeAndCountFromHW(_ulFrameBufferSize, _ulNumFrameBuffers) )
952 changeBufferSize =
false;
958 if ( changeBufferSize )
960 _ulFrameBufferSize = newFrameBufferSize;
973 if (IsMultiRasterWidgetChannel(inChannel))
978 if (!IsMultiFormatActive())
980 else if (IS_CHANNEL_INVALID(inChannel))
987 bool quadFrameEnabled(
false);
988 status = GetQuadFrameEnable(quadFrameEnabled, inChannel);
989 if (status && quadFrameEnabled)
993 bool quadQuadFrameEnabled(
false);
994 status = GetQuadQuadFrameEnable(quadQuadFrameEnabled);
995 if (status && quadQuadFrameEnabled)
1007 const ULWord loValue (value & 0x7);
1008 const ULWord hiValue ((value & 0x8) >> 3);
1010 if (IsMultiRasterWidgetChannel(inChannel))
1012 if (!IsMultiFormatActive ())
1024 ULWord returnVal1 (0), returnVal2 (0);
1026 if (IsMultiRasterWidgetChannel(inChannel))
1028 if (!IsMultiFormatActive())
1030 else if (IS_CHANNEL_INVALID(inChannel))
1036 outValue =
NTV2FrameRate((returnVal1 & 0x7) | ((returnVal2 & 0x1) << 3));
1047 if (IsMultiRasterWidgetChannel(inChannel))
1048 return inValue == 0;
1049 if (!IsMultiFormatActive())
1060 if (IsMultiRasterWidgetChannel(inChannel))
1061 {outValue = 0;
return true;}
1062 if (!IsMultiFormatActive())
1085 outValue = result1 ? returnVal : 0;
1096 if (IsMultiRasterWidgetChannel(inChannel))
1097 return inEnable ==
true;
1106 if (ok) ok = SetTsiFrameEnable(
true, inChannel);
1110 if(ok) ok = SetTsiFrameEnable(
true, inChannel);
1114 if(ok) ok = Set4kSquaresEnable(
true, inChannel);
1119 SetTsiFrameEnable(
false, inChannel);
1120 Set4kSquaresEnable(
false, inChannel);
1129 if (IsMultiRasterWidgetChannel(inChannel))
1134 if (!IsMultiFormatActive())
1154 if(ok) ok = SetQuadQuadSquaresEnable(
false, inChannel);
1157 if (!IsMultiFormatActive())
1213 bool quadEnabled (0);
1214 bool status2 (
true);
1215 bool s425Enabled (
false);
1216 bool status1 = Get4kSquaresEnable (quadEnabled, inChannel);
1218 status2 = GetTsiFrameEnable (s425Enabled, inChannel);
1220 outValue = (status1 & status2) ? ((quadEnabled | s425Enabled) ?
true :
false) :
false;
1244 if (IsMultiRasterWidgetChannel(inChannel))
1245 return inEnable ==
true;
1252 if (!IsMultiFormatActive())
1277 if (!IsMultiFormatActive())
1291 outIsEnabled =
false;
1292 if (IsMultiRasterWidgetChannel(inChannel))
1293 {outIsEnabled =
true;
return true;}
1296 ULWord squaresEnabled (0);
1304 outIsEnabled = (squaresEnabled ?
true :
false);
1317 if (IsMultiRasterWidgetChannel(inChannel))
1318 return enable ==
true;
1335 if (!IsMultiFormatActive())
1345 else if (!IsMultiFormatActive())
1374 if (!IsMultiFormatActive())
1383 else if (!IsMultiFormatActive())
1406 outIsEnabled =
false;
1409 if (IsMultiRasterWidgetChannel(inChannel))
1410 {outIsEnabled =
true;
return true;}
1415 bool returnVal(
false), readOkay(
false);
1419 readOkay = GetQuadQuadFrameEnable(returnVal, inChannel);
1435 outIsEnabled = readOkay ? returnVal : 0;
1442 outSyncFailed =
false;
1449 if (value & (1<<inWhichTsiMux))
1450 outSyncFailed =
true;
1456 ULWord standard(0), rate1(0), rate2(0), s372(0), geometry(0), format(0);
1465 if (!status)
return false;
1467 for (
int channel = inFirst; channel <= inLast; channel++)
1475 if (!status)
return false;
1487 SetLTCInputEnable(
false);
1490 EnableFramePulseReference(
false);
1494 ULWord refControl1 =
ULWord(inRefSource), refControl2 = 0, ptpControl = 0;
1495 switch (inRefSource)
1525 ULWord refControl2(0), ptpControl(0);
1539 case 4:
if (IsIPDevice())
1544 case 5:
if (IsIPDevice())
1600 outValue = returnValue == 0 ?
false :
true;
1626 { (
void) inIsRetail;
1627 if (IsMultiRasterWidgetChannel(inChannel))
1629 if (IS_CHANNEL_INVALID(inChannel))
1638 if (!SetMode(*it, inMode))
1645 if (IsMultiRasterWidgetChannel(inChannel))
1647 if (IS_CHANNEL_INVALID(inChannel))
1654 bool status = GetFrameGeometry(outGeometry);
1658 status = GetFrameBufferFormat(inChannel, outFBF);
1674 if (IsBufferSizeSetBySW())
1675 changeBufferSize =
false;
1677 return changeBufferSize;
1690 if (IsBufferSizeSetBySW())
1691 changeBufferSize =
false;
1693 return changeBufferSize;
1705 return swControl != 0;
1708 bool CNTV2Card::GetFBSizeAndCountFromHW (
ULWord & outSize,
ULWord & outCount)
1710 if (!IsBufferSizeSetBySW())
1713 ULWord ch1Control(0), multiplier(0), sizeMultiplier(0);
1721 case 0: multiplier = 4;
1725 case BIT_20: multiplier = 2;
1729 case BIT_21: multiplier = 1;
1734 sizeMultiplier = 16;
1738 outSize = sizeMultiplier * 1024 * 1024;
1739 outCount = multiplier ? multiplier * DeviceGetNumberFrameBuffers() : DeviceGetNumberFrameBuffers() / 2;
1742 GetFrameGeometry(geometry);
1773 return GetFBSizeAndCountFromHW(_ulFrameBufferSize, _ulNumFrameBuffers);
1789 if (!GetFrameGeometry(geometry))
1794 if ( ch1FrameBufferSize >= ch2FrameBufferSize )
1801 bool CNTV2Card::IsMultiFormatActive (
void)
1815 outConnections.clear();
1821 && ReadRegisters(ROMregs)
1842 outInputs.insert(*it);
1865 outOutputs.insert(*it);
1878 { (
void) inIsRetailMode;
1880 if (IsMultiRasterWidgetChannel(inChannel))
1882 if (IS_CHANNEL_INVALID(inChannel))
1886 const ULWord loValue (inNewFormat & 0x0f);
1887 const ULWord hiValue ((inNewFormat & 0x10) >> 4);
1890 bool status = GetFrameInfo(inChannel, currentGeometry, currentFormat);
1899 if ( !GetFBSizeAndCountFromHW(_ulFrameBufferSize, _ulNumFrameBuffers) &&
1900 IsBufferSizeChangeRequired(inChannel, currentGeometry, currentFormat, inNewFormat) )
1907 {
if (inNewFormat != currentFormat)
1908 CVIDINFO(
"'" << GetDisplayName() <<
"': Channel " <<
DEC(
UWord(inChannel)+1) <<
" FBF changed from "
1911 <<
" numFBs=" <<
DEC(_ulNumFrameBuffers) <<
")");}
1913 CVIDFAIL(
"'" << GetDisplayName() <<
"': Failed to change channel " <<
DEC(
UWord(inChannel)+1) <<
" FBF from "
1916 SetVPIDTransferCharacteristics(inXferChars, inChannel);
1917 SetVPIDColorimetry(inColorimetry, inChannel);
1918 SetVPIDLuminance(inLuminance, inChannel);
1924 const bool inIsAJARetail,
1931 if (!SetFrameBufferFormat (*it, inNewFormat, inIsAJARetail, inXferChars, inColorimetry, inLuminance))
1933 return failures == 0;
1941 if (IsMultiRasterWidgetChannel(inChannel))
1943 if (IS_CHANNEL_INVALID (inChannel))
1946 ULWord returnVal1, returnVal2;
1951 return result1 && result2;
1959 if (IS_CHANNEL_INVALID (channel))
1969 if (IS_CHANNEL_INVALID (inChannel))
1979 if (IS_CHANNEL_INVALID (channel))
1982 ULWord loValue = quality & 0x1;
1983 ULWord hiValue = (quality >> 1) & 0x3;
1993 if (IS_CHANNEL_INVALID (inChannel))
1997 ULWord loValue(0), hiValue(0);
2013 if (IS_CHANNEL_INVALID (channel))
2023 if (IS_CHANNEL_INVALID (inChannel))
2033 if (IsMultiRasterWidgetChannel(inChannel))
2035 if (IS_CHANNEL_INVALID(inChannel))
2045 if (IsMultiRasterWidgetChannel(inChannel))
2047 if (IS_CHANNEL_INVALID (inChannel))
2058 if (IS_CHANNEL_INVALID(inChannel))
2060 #if defined (NTV2_ALLOW_2MB_FRAMES)
2084 default:
return false;
2089 #endif // defined (NTV2_ALLOW_2MB_FRAMES)
2103 #if defined (NTV2_ALLOW_2MB_FRAMES)
2130 default:
return false;
2132 NTV2_ASSERT (NTV2_IS_8MB_OR_16MB_FRAMESIZE(outValue));
2136 #endif // defined (NTV2_ALLOW_2MB_FRAMES)
2143 if (IsMultiRasterWidgetChannel(inChannel))
2144 return SetMultiRasterBypassEnable(
false);
2152 {
UWord failures(0);
2154 if (!DisableChannel(*it))
2163 if (IsMultiRasterWidgetChannel(inChannel))
2164 return SetMultiRasterBypassEnable(
true);
2172 {
UWord failures(0);
2174 if (inChannels.find(chan) != inChannels.end())
2176 if (!EnableChannel(chan))
2179 else if (inDisableOthers)
2180 DisableChannel(chan);
2188 bool disabled (
false);
2189 if (IsMultiRasterWidgetChannel(inChannel))
2190 return GetMultiRasterBypassEnable(outEnabled);
2191 if (IS_CHANNEL_INVALID(inChannel))
2195 outEnabled = disabled ?
false :
true;
2203 bool enabled(
false);
2204 outChannels.clear();
2206 if (!IsChannelEnabled (ch, enabled))
2209 outChannels.insert(ch);
2217 bool enabled(
false);
2218 outChannels.clear();
2220 if (!IsChannelEnabled (ch, enabled))
2223 outChannels.insert(ch);
2227 #if !defined(NTV2_DEPRECATE_16_2)
2230 if (IS_CHANNEL_INVALID(inChannel))
2234 WaitForOutputVerticalInterrupt (inChannel);
2240 return !IS_CHANNEL_INVALID(inChannel)
2246 ULWord nextFrm(0), outFrm(0);
2247 return !IS_CHANNEL_INVALID(inCh)
2249 && GetOutputFrame(inCh, outFrm)
2250 && SetOutputFrame(inCh, nextFrm)
2253 #endif // !defined (NTV2_DEPRECATE_16_2)
2257 if (IsMultiRasterWidgetChannel(inChannel))
2259 if (IS_CHANNEL_INVALID(inChannel))
2266 if (IsMultiRasterWidgetChannel(inChannel))
2267 {outValue = 0;
return false;}
2268 if (IS_CHANNEL_INVALID(inChannel))
2275 if (IsMultiRasterWidgetChannel(inChannel))
2277 if (IS_CHANNEL_INVALID(inChannel))
2284 if (IsMultiRasterWidgetChannel(inChannel))
2286 if (IS_CHANNEL_INVALID(inChannel))
2310 ULWord programFlashValue;
2311 if(ReadFlashProgramControl(programFlashValue))
2313 if ((programFlashValue &
BIT(9)) ==
BIT(9))
2324 ULWord totalProgress = 0;
2346 progResults = devFlasher.
Program(
false);
2349 if (!progResults.empty())
2351 return progResults.empty();
2370 uint32_t regValue (0);
2374 outRevision = uint16_t((regValue & 0x0000FF00) >> 8);
2380 outYear = outMonth = outDay = 0;
2384 uint32_t regValue (0);
2388 const UWord yearBCD ((regValue & 0xFFFF0000) >> 16);
2389 const UWord monthBCD ((regValue & 0x0000FF00) >> 8);
2390 const UWord dayBCD (regValue & 0x000000FF);
2392 outYear = ((yearBCD & 0xF000) >> 12) * 1000
2393 + ((yearBCD & 0x0F00) >> 8) * 100
2394 + ((yearBCD & 0x00F0) >> 4) * 10
2395 + (yearBCD & 0x000F);
2397 outMonth = ((monthBCD & 0x00F0) >> 4) * 10 + (monthBCD & 0x000F);
2399 outDay = ((dayBCD & 0x00F0) >> 4) * 10 + (dayBCD & 0x000F);
2401 return outYear > 2010
2402 && outMonth > 0 && outMonth < 13
2403 && outDay > 0 && outDay < 32;
2409 outHours = outMinutes = outSeconds = 0;
2413 uint32_t regValue (0);
2417 const UWord hoursBCD ((regValue & 0x00FF0000) >> 16);
2418 const UWord minutesBCD ((regValue & 0x0000FF00) >> 8);
2419 const UWord secondsBCD (regValue & 0x000000FF);
2421 outHours = ((hoursBCD & 0x00F0) >> 4) * 10 + (hoursBCD & 0x000F);
2423 outMinutes = ((minutesBCD & 0x00F0) >> 4) * 10 + (minutesBCD & 0x000F);
2425 outSeconds = ((secondsBCD & 0x00F0) >> 4) * 10 + (secondsBCD & 0x000F);
2427 return outHours < 24 && outMinutes < 60 && outSeconds < 60;
2433 outDate = outTime = string();
2434 UWord yr(0), mo(0), dy(0),
hr(0), mn(0), sec(0);
2435 if (!GetRunningFirmwareDate (yr, mo, dy))
2437 if (!GetRunningFirmwareTime (
hr, mn, sec))
2440 ostringstream date, time;
2444 outDate = date.str();
2445 outTime = time.str();
2460 outUserID = regValue;
2473 if (GetPCIDeviceID (pciID))
2495 if (GetPCIDeviceID (pciID))
2516 if (IS_CHANNEL_INVALID(inFrameStore))
2518 if (IsMultiFormatActive())
2536 if (IS_CHANNEL_INVALID (inFrameStore))
2557 if (IS_CHANNEL_INVALID (inChannel))
2565 if (IS_CHANNEL_INVALID (inChannel))
2577 if (IS_CHANNEL_INVALID (inChannel))
2587 if (IS_CHANNEL_INVALID (inChannel))
2599 if (IS_CHANNEL_INVALID (inChannel))
2607 if (IS_CHANNEL_INVALID (inChannel))
2615 if (IS_CHANNEL_INVALID (inChannel))
2621 outIsBypassEnabled = regValue &
BIT(23);
2628 if (IS_CHANNEL_INVALID (inChannel))
2637 if (IS_CHANNEL_INVALID (inChannel))
2647 if (IS_CHANNEL_INVALID(inSDIOutput))
2656 if (IS_CHANNEL_INVALID(inSDIOutput))
2663 case 0: outSDIInput = inSDIOutput <
NTV2_CHANNEL5 ? 0 : 4;
break;
2664 case 2: outSDIInput = inSDIOutput <
NTV2_CHANNEL5 ? 1 : 5;
break;
2665 case 1: outSDIInput = inSDIOutput <
NTV2_CHANNEL5 ? 2 : 6;
break;
2666 case 3: outSDIInput = inSDIOutput <
NTV2_CHANNEL5 ? 3 : 7;
break;
2667 default:
return false;
2698 if (!SetVANCMode (inVancMode, *it))
2707 if (IsMultiRasterWidgetChannel(ch))
2709 if (IS_CHANNEL_INVALID(ch))
2716 GetStandard(st, ch);
2717 GetFrameGeometry(fg, ch);
2733 CVIDWARN(
"'taller' mode requested for 720p -- using 'tall' geometry instead");
2769 default:
return false;
2772 SetFrameGeometry (fg,
false, ch);
2785 { (
void) inStandard; (
void) inFrameGeometry;
2786 if (inTallerVANC && !inVANCenabled)
2794 bool isTall (
false);
2795 bool isTaller (
false);
2800 if (IsMultiRasterWidgetChannel(channel))
2804 if (IS_CHANNEL_INVALID (channel))
2807 GetStandard (standard, channel);
2808 GetFrameGeometry (frameGeometry, channel);
2853 #if defined (_DEBUG)
2856 default:
return false;
2866 if (IsMultiRasterWidgetChannel(inChannel))
2868 if (IS_CHANNEL_INVALID (inChannel))
2870 CVIDINFO(
"'" << GetDisplayName() <<
"' Ch" <<
DEC(inChannel+1) <<
": Vanc data shift " << (inValue ?
"enabled" :
"disabled"));
2879 if (!SetVANCShiftMode(*it, inMode))
2887 if (IsMultiRasterWidgetChannel(inChannel))
2889 if (IS_CHANNEL_INVALID (inChannel))
2897 if (IS_CHANNEL_INVALID (inChannel))
2906 if (IS_CHANNEL_INVALID (inChannel))
2910 outValue = value ?
true :
false;
2921 CVIDINFO(
"'" << GetDisplayName() <<
"' Mixer" <<
DEC(inWhichMixer+1) <<
": Vanc from " << (inFromForegroundSource ?
"FG" :
"BG"));
2934 outIsFromForegroundSource = value ?
true :
false;
3012 CVIDINFO(
"'" << GetDisplayName() <<
"' Mixer" <<
DEC(inWhichMixer+1) <<
": mixCoeff=" <<
xHEX0N(inMixCoefficient,8));
3019 outMixCoefficient = 0;
3031 bool syncFail (
false);
3034 outIsSyncOK = syncFail ?
false :
true;
3040 outIsEnabled =
false;
3055 outIsEnabled =
false;
3073 outYCbCrValue.
cb = outYCbCrValue.
y = outYCbCrValue.
cr = 0;
3079 outYCbCrValue.
cb = packedValue & 0x03FF;
3080 outYCbCrValue.
y = ((packedValue >> 10) & 0x03FF) + 0x0040;
3081 outYCbCrValue.
cr = (packedValue >> 20) & 0x03FF;
3091 if (ycbcrPixel.
y < 0x40)
3094 ycbcrPixel.
y -= 0x40;
3095 ycbcrPixel.
y &= 0x3FF;
3096 ycbcrPixel.
cb &= 0x3FF;
3097 ycbcrPixel.
cr &= 0x3FF;
3101 CVIDINFO(
"'" << GetDisplayName() <<
"' Mixer" <<
DEC(inWhichMixer+1) <<
": set to YCbCr=" <<
DEC(ycbcrPixel.
y)
3102 <<
"|" <<
DEC(ycbcrPixel.
cb) <<
"|" <<
DEC(ycbcrPixel.
cr) <<
":" <<
HEXN(ycbcrPixel.
y,3) <<
"|"
3103 <<
HEXN(ycbcrPixel.
cb,3) <<
"|" <<
HEXN(ycbcrPixel.
cr,3) <<
", write " <<
xHEX0N(packedValue,8)
3112 outIsSupported =
false;
3137 #if !defined(NTV2_DEPRECATE_16_0)
3143 if (IS_CHANNEL_INVALID(channel))
3148 if (ulFrame > GetNumFrameBuffers())
3153 if (!_pFrameBaseAddress)
3154 if (!MapFrameBuffers())
3156 *pBaseAddress = _pFrameBaseAddress + ((ulFrame * _ulFrameBufferSize) /
sizeof(
ULWord));
3160 if (!_pCh1FrameBaseAddress)
3161 if (!MapFrameBuffers())
3163 *pBaseAddress = (channel ==
NTV2_CHANNEL1) ? _pCh1FrameBaseAddress : _pCh2FrameBaseAddress;
3173 if (!_pFrameBaseAddress)
3174 if (!MapFrameBuffers())
3176 *pBaseAddress = _pFrameBaseAddress;
3185 if (!_pRegisterBaseAddress)
3186 if (!MapRegisters())
3189 if ((regNumber*4) >= _pRegisterBaseAddressLength)
3192 *pBaseAddress = _pRegisterBaseAddress + regNumber;
3200 if (!_pXena2FlashBaseAddress)
3201 if (!MapXena2Flash())
3203 *pXena2FlashAddress = _pXena2FlashBaseAddress;
3206 #endif // !defined(NTV2_DEPRECATE_16_0)
3215 outIsEnabled =
false;
3228 outIsEnabled =
false;
3237 if (IS_CHANNEL_INVALID(inChannel))
3244 if (IS_CHANNEL_INVALID(inChannel))
3266 if (IS_OUTPUT_SPIGOT_INVALID(inOutputSpigot))
3270 bool is2Kx1080(
false);
3310 && SetSDIOut2Kx1080Enable(
NTV2Channel(inOutputSpigot), is2Kx1080);
3317 if (!SetSDIOutputStandard(*it, inValue))
3324 if (IS_OUTPUT_SPIGOT_INVALID(inOutputSpigot))
3326 bool is2kx1080(
false);
3331 && GetSDIOut2Kx1080Enable(
NTV2Channel(inOutputSpigot), is2kx1080)
3332 && GetSDIOut6GEnable(
NTV2Channel(inOutputSpigot), is6G)
3333 && GetSDIOut12GEnable(
NTV2Channel(inOutputSpigot), is12G));
3357 if (IS_OUTPUT_SPIGOT_INVALID(inOutputSpigot))
3359 if (IsMultiFormatActive())
3390 if (IS_OUTPUT_SPIGOT_INVALID (inOutputSpigot))
3414 #if !defined(R2_DEPRECATE)
3426 #endif // R2_DEPRECATE
3452 ULWord vpidDS1(0), vpidDS2(0);
3454 if (IS_CHANNEL_INVALID(inChannel))
3457 bool isValidVPID (GetVPIDValidA(inChannel));
3460 ReadSDIInVPID(inChannel, vpidDS1, vpidDS2);
3462 isValidVPID = inputVPID.IsValid();
3467 bool isProgressiveTrans (isValidVPID ? inputVPID.
GetProgressiveTransport() : GetSDIInputIsProgressive(inChannel));
3469 bool isInput3G (
false);
3479 if (canDo3GIn || canDo12GIn)
3481 GetSDIInput3GPresent(isInput3G, inChannel);
3482 NTV2VideoFormat format = isValidVPID ? inputVPID.
GetVideoFormat() : GetNTV2VideoFormat(inputRate, inputGeometry, isProgressiveTrans, isInput3G, isProgressivePic);
3486 isProgressiveTrans = GetSDIInputIsProgressive(inChannel);
3487 isProgressivePic = inIsProgressivePicture;
3488 format = GetNTV2VideoFormat(inputRate, inputGeometry, isProgressiveTrans, isInput3G, isProgressivePic);
3492 bool is6G(
false), is12G(
false);
3493 GetSDIInput6GPresent(is6G, inChannel);
3494 GetSDIInput12GPresent(is12G, inChannel);
3513 return GetNTV2VideoFormat(inputRate, inputGeometry, isProgressiveTrans, isInput3G, isProgressivePic);
3524 if (GetHDMIInputStatus(status, inChannel))
3529 if(hdmiVersion == 1)
3546 else if(hdmiVersion > 1)
3548 bool squareDivision = hdmiVersion == 5 ?
false :
true;
3551 UByte inputGeometry = 0;
3554 format = GetNTV2VideoFormat (hdmiRate, hdmiStandard,
false, inputGeometry,
false, squareDivision);
3615 return GetNTV2VideoFormat (
NTV2FrameRate((status >> 16) & 0xF),
3616 ((status >> 20) & 0x7),
3617 (status &
BIT_23) ?
true :
false,
3624 if (IS_CHANNEL_INVALID (channel))
3627 ULWord rateLow (0), rateHigh (0);
3641 if (IS_CHANNEL_INVALID (channel))
3644 ULWord geometryLow (0), geometryHigh (0);
3658 if (IS_CHANNEL_INVALID (channel))
3661 ULWord isProgressive = 0;
3663 return isProgressive ?
true :
false;
3668 if (IS_CHANNEL_INVALID (channel))
3673 outValue =
static_cast <bool> (value);
3680 if (IS_CHANNEL_INVALID (channel))
3685 outValue =
static_cast <bool> (value);
3692 if (IS_CHANNEL_INVALID (channel))
3697 outValue =
static_cast <bool> (value);
3704 if (IS_CHANNEL_INVALID (channel))
3709 outValue =
static_cast <bool> (value);
3718 inEnable = !inEnable;
3728 outIsEnabled = !outIsEnabled;
3747 #if !defined(NTV2_DEPRECATE_16_3)
3757 #endif // !defined(NTV2_DEPRECATE_16_3)
3762 if (!ReadAnalogLTCInput(inLTCInput, result))
3764 outRP188Data = result;
3777 outRP188Data.
fDBB = 0;
3778 return ReadRegister(regLo, outRP188Data.
fLo) && ReadRegister(regHi, outRP188Data.
fHi);
3799 if (IS_CHANNEL_INVALID(inChannel))
3808 return WriteAnalogLTCOutput (inLTCOutput, rp188data);
3828 bool isMultiFormat(
false);
3829 if (!GetMultiFormatMode(isMultiFormat))
3844 if (IS_CHANNEL_INVALID (inChannel))
3846 bool isMultiFormat(
false);
3847 if (!GetMultiFormatMode(isMultiFormat))
3862 if (IS_CHANNEL_INVALID(inChannel))
3876 if (!SetSDITransmitEnable(*it, inEnable))
3883 if (IS_CHANNEL_INVALID(inChannel))
3888 {outIsEnabled =
true;
return true;}
3895 outXmitSDIs.clear();
3900 if (!biDirectionalSDI || (GetSDITransmitEnable(ch, isXmit) && isXmit))
3901 outXmitSDIs.insert(ch);
3908 if (IS_CHANNEL_INVALID (inChannel))
3915 if (IS_CHANNEL_INVALID (inChannel))
3922 if (IS_CHANNEL_INVALID(inChannel))
3929 if (IS_CHANNEL_INVALID(inChannel))
3937 if (IS_CHANNEL_INVALID(inChannel))
3944 if (IS_CHANNEL_INVALID(inChannel))
3951 if (IS_CHANNEL_INVALID(inChannel))
3961 if (IS_CHANNEL_INVALID(inChannel))
3963 bool is6G(
false), is12G(
false);
3968 outIsEnabled =
true;
3970 outIsEnabled =
false;
3976 if (IS_CHANNEL_INVALID(inChannel))
3986 if (IS_CHANNEL_INVALID(inChannel))
4037 size_t numFailures(0);
4038 for (NTV2ChannelSet::const_iterator it(inSDIOutputs.begin()); it != inSDIOutputs.end(); ++it)
4039 if (!(inDS2 ? SetSDIOutputDS2AudioSystem(*it, inAudioSystem) : SetSDIOutputAudioSystem(*it, inAudioSystem)))
4041 return numFailures == 0;
4173 outValue = statusBit ?
true :
false;
4211 outIsEnabled =
static_cast <bool> (tempVal);
4224 outIsEnabled =
static_cast <bool> (tempVal);
4237 outIsEnabled =
static_cast <bool> (tempVal);
4250 outIsEnabled =
static_cast <bool> (tempVal);
4259 if (IS_CHANNEL_INVALID(inChannel))
4263 return value ?
true :
false;
4270 if (IS_CHANNEL_INVALID(inChannel))
4274 return value ?
true :
false;
4281 if (IS_CHANNEL_INVALID(inChannel))
4292 if (IS_CHANNEL_INVALID(inChannel))
4303 if (IS_CHANNEL_INVALID(inChannel))
4314 if (IS_INPUT_SPIGOT_INVALID (inInputSpigot))
4317 ULWord regNum, mask, shift;
4318 switch (inInputSpigot)
4328 default:
return false;
4330 return WriteRegister(regNum, inEnable, mask, shift);
4337 if (!SetSDIInLevelBtoLevelAConversion(*it, inEnable))
4346 if (IS_INPUT_SPIGOT_INVALID (inInputSpigot))
4349 ULWord regNum, mask, shift;
4350 switch (inInputSpigot)
4360 default:
return false;
4369 if (IS_OUTPUT_SPIGOT_INVALID(inOutputSpigot))
4379 if (!SetSDIOutLevelAtoLevelBConversion(*it, inEnable))
4388 if (IS_OUTPUT_SPIGOT_INVALID (inOutputSpigot))
4393 outEnable =
static_cast <bool> (tempVal);
4401 if (IS_OUTPUT_SPIGOT_INVALID (inOutputSpigot))
4411 if (!SetSDIOutRGBLevelAConversion(*it, inEnable))
4420 if (IS_OUTPUT_SPIGOT_INVALID (inOutputSpigot))
4425 outEnable =
static_cast <bool> (tempVal);
4467 default:
return false;
4509 #if !defined(_DEBUG)
4533 default:
return false;
4571 UWord dieTempRaw (rawRegValue & 0x0000FFFF);
4572 celsius = double (dieTempRaw) / 128.0;
4576 UWord dieTempRaw ((rawRegValue & 0x0000FFFF) >> 6);
4577 celsius = (double (dieTempRaw) * 503.975 / 1024.0 - 273.15);
4579 switch (inTempScale)
4585 default:
return false;
4599 const UWord coreVoltageRaw ((rawRegValue>>22) & 0x00003FF);
4600 const double coreVoltageFloat (
double(coreVoltageRaw)/ 1024.0 * 3.0);
4601 outVoltage = coreVoltageFloat;
4607 bool canReboot =
false;
4608 CanWarmBootFPGA(canReboot);
4614 #if defined(READREGMULTICHANGE)
4620 if (inRegisters.empty())
4624 if (NTV2Message(getRegsParams))
4626 if (!getRegsParams.GetRegisterValues(outValues))
4634 if (ReadRegister (*iter, tempVal))
4635 outValues[*iter] = tempVal;
4637 return outValues.size() == inRegisters.size();
4639 #endif // !defined(READREGMULTICHANGE)
4646 if (inRegWrites.empty())
4652 result = NTV2Message(setRegsParams);
4659 if (!WriteRegister(pRegInfos[ndx].registerNumber, pRegInfos[ndx].registerValue, pRegInfos[ndx].registerMask, pRegInfos[ndx].registerShift))
4665 if (!result)
CVIDFAIL(
"Failed: setRegsParams: " << setRegsParams);
4673 if (!NTV2Message(bankSelGetSetMsg))
4684 if (!NTV2Message(bankSelGetSetMsg))
4689 inOutRegInfo = bankSelGetSetMsg.
GetRegInfo();
4695 NTV2VirtualData virtualDataMsg (inTag, inVirtualData, inVirtualDataSize,
true);
4697 return NTV2Message(virtualDataMsg);
4702 NTV2VirtualData virtualDataMsg (inTag, outVirtualData, inVirtualDataSize,
false);
4704 return NTV2Message(virtualDataMsg);
4714 if (!NTV2Message(
reinterpret_cast<NTV2_HEADER*
>(&outStats)))
4718 for (
size_t sdi(0); sdi < numSDIInputs; sdi++)
4719 for (
ULWord reg(0); reg < 6; reg++)
4724 if (!ReadRegisters(sdiStatRegInfos))
4727 for (
size_t sdi(0); sdi < numSDIInputs; sdi++)
4730 size_t ndx(sdi*6 + 0);
4739 regInfo = sdiStatRegInfos.at(ndx+1);
4760 if (!HasMultiRasterWidget())
4762 NTV2ULWordVector regs; regs.push_back(0); regs.push_back(0); regs.push_back(0); regs.push_back(0);
4786 #pragma warning(default: 4800)
@ kRegMaskSDIIn43GbpsMode
@ kRegShiftInput1Geometry
@ kRegMaskSDIIn33GbpsSMPTELevelBMode
@ kRegShiftSDIIn612GbpsMode
virtual bool SetVANCMode(const NTV2VANCMode inVancMode, const NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the VANC mode for the given FrameStore.
@ kRegShiftSDIIn1LevelBtoLevelA
@ NTV2_REFERENCE_HDMI_INPUT2
Specifies the HDMI In 2 connector.
static const ULWord gSDIOutToRP188Input[]
@ kDeviceGetNumVideoInputs
The number of SDI video inputs on the device.
virtual bool SetSDIInLevelBtoLevelAConversion(const NTV2ChannelSet &inSDIInputs, const bool inEnable)
Enables or disables 3G level B to 3G level A conversion at the SDI input(s).
@ NTV2_FORMAT_3840x2160p_6000
@ kVRegProgressivePicture
@ NTV2_FORMAT_4096x2160psf_2500
@ kK2RegMaskSDIOutDS2Audio_Bit0
virtual bool SetMixerFGMatteEnabled(const UWord inWhichMixer, const bool inIsEnabled)
Answers if the given mixer/keyer's foreground matte is enabled or not.
@ kRegMaskVidProcLimiting
@ kDeviceHasBiDirectionalSDI
True if device SDI connectors are bi-directional.
@ DEVICE_ID_KONALHIDVI
See KONA LHi.
@ kRegMaskLTCOnRefInSelect
virtual bool GetDieTemperature(double &outTemp, const NTV2DieTempScale inTempScale=NTV2DieTempScale_Celsius)
Reads the current die temperature of the device.
@ NTV2_FORMAT_4x1920x1080p_6000
static const ULWord gChannelToSDIInputProgressiveMask[]
virtual bool SetMultiFormatMode(const bool inEnable)
Enables or disables multi-format (per channel) device operation. If enabled, each device channel can ...
@ NTV2_INPUTSOURCE_SDI4
Identifies the 4th SDI video input.
@ kK2RegMaskXena2BgVidProcInputControl
virtual bool GetSDIInput3GPresent(bool &outValue, const NTV2Channel channel)
@ NTV2_FG_4x2048x1080
4096x2160, for 4K, NTV2_VANCMODE_OFF
#define NTV2VANCModeFromBools(_tall_, _taller_)
@ kRegRXSDI3CRCErrorCount
@ kRegShiftInputStatusFPS
@ NTV2_FORMAT_3840x2160psf_2500
@ NTV2_FORMAT_1080psf_2398
virtual bool SetPCIAccessFrame(const NTV2Channel inChannel, const ULWord inValue, const bool inWaitForVBI=(!(0)))
virtual bool GetSDIRelayPosition(NTV2RelayState &outValue, const UWord inIndex0)
Answers if the bypass relays between connectors 1/2 or 3/4 are currently in bypass or routing the sig...
@ kDeviceGetNumMixers
The number of mixer/keyer widgets on the device.
virtual bool SetFrameBufferSize(const NTV2Framesize inSize)
Sets the device's intrinsic frame buffer size.
bool NTV2DeviceGetVideoFormatFromState_Ex2(NTV2VideoFormat *pOutValue, const NTV2FrameRate inFrameRate, const NTV2FrameGeometry inFrameGeometry, const NTV2Standard inStandard, const ULWord inIsSMPTE372Enabled, const bool inIsProgressivePicture, const bool inIsSquareDivision)
virtual bool GetSDIOut12GEnable(const NTV2Channel inChannel, bool &outIsEnabled)
@ kRegShiftSDIOutLevelAtoLevelB
@ kDeviceGetNumFrameStores
The number of FrameStores on the device.
@ NTV2_FORMAT_4096x2160p_2400
@ kRegShift4KDCPSFOutMode
@ kK2RegShiftSDI1Out_2Kx1080Mode
@ NTV2_FBF_NUMFRAMEBUFFERFORMATS
void Clear(void)
Resets the struct to its initialized state.
#define NTV2_IS_VANCMODE_TALLER(__v__)
ULWordSetConstIter NTV2RegNumSetConstIter
A const iterator that iterates over a set of distinct NTV2RegisterNumbers.
virtual bool GetRS422Parity(const NTV2Channel inSerialPort, NTV2_RS422_PARITY &outParity)
Answers with the current parity control for the specified RS422 serial port.
std::map< ULWord, ULWord > NTV2RegisterValueMap
A mapping of distinct NTV2RegisterNumbers to their corresponding ULWord values.
@ NTV2_RELAY_STATE_INVALID
@ kRegOutputTimingControlch6
@ kRegShiftRS422ParityDisable
@ kRegShiftInputStatusStd
virtual bool ReadRegisters(NTV2RegisterReads &inOutValues)
Reads the register(s) specified by the given NTV2RegInfo sequence.
virtual bool GetLTCInputPresent(bool &outIsPresent, const UWord inLTCInputNdx=0)
Answers whether or not a valid analog LTC signal is being applied to the device's analog LTC input co...
std::string NTV2FrameGeometryToString(const NTV2FrameGeometry inValue, const bool inForRetailDisplay=false)
defined(NTV2_DEPRECATE_17_6)
@ NTV2_CHANNEL8
Specifies channel or FrameStore 8 (or the 8th item).
@ DEVICE_ID_KONAHDMI
See KONA HDMI.
virtual bool SetStandard(NTV2Standard inValue, NTV2Channel inChannel=NTV2_CHANNEL1)
@ NTV2_INPUTSOURCE_SDI6
Identifies the 6th SDI video input.
#define NTV2_IS_VALID_NTV2FrameGeometry(__s__)
@ kRegShiftAnalogCompositeLocked
@ kRegShiftPCRReferenceEnable
@ NTV2_STANDARD_2Kx1080p
Identifies SMPTE HD 2K1080p.
@ NTV2_REFERENCE_SFP1_PTP
Specifies the PTP source on SFP 1.
@ NTV2_FORMAT_4x4096x2160p_4800
virtual bool GetRegisterWriteMode(NTV2RegisterWriteMode &outValue, const NTV2Channel inFrameStore=NTV2_CHANNEL1)
Answers with the FrameStore's current NTV2RegisterWriteMode setting, which determines when CNTV2Card:...
@ kRegMaskHDMIInV2VideoStd
static const ULWord gChannelToOutputTimingCtrlRegNum[]
virtual bool SetWarmBootFirmwareReload(bool enable)
virtual bool SetSDIOut2Kx1080Enable(const NTV2Channel inChannel, const bool inIsEnabled)
@ NTV2MIXERMODE_INVALID
Invalid/uninitialized.
virtual bool SetQuadFrameEnable(const bool inValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Enables or disables quad-frame mode on the device.
@ NTV2_CHANNEL2
Specifies channel or FrameStore 2 (or the 2nd item).
@ NTV2_FORMAT_4x4096x2160p_2398
virtual bool GetForce64(ULWord *force64)
static const ULWord gChannelToSDIOutControlRegNum[]
@ kRegRP188InOut2Bits0_31
virtual bool SetSDIOut3GEnable(const NTV2Channel inChannel, const bool inEnable)
@ kRegMaskSDIIn23GbpsMode
virtual bool KickSDIWatchdog(void)
Restarts the countdown timer to prevent the watchdog timer from timing out.
virtual bool SetVideoFormat(const NTV2VideoFormat inVideoFormat, const bool inIsAJARetail=(!(0)), const bool inKeepVancSettings=(0), const NTV2Channel inChannel=NTV2_CHANNEL1)
Configures the AJA device to handle a specific video format.
@ kRegMaskInput2FrameRate
@ NTV2WidgetType_SDIIn12G
std::set< NTV2InputXptID > NTV2InputXptIDSet
A collection of distinct NTV2InputXptID values.
virtual bool Set4kSquaresEnable(const bool inIsEnabled, const NTV2Channel inChannel)
Enables or disables SMPTE 425 "2K quadrants" mode for the given FrameStore bank on the device....
@ kRegRP188InOut1Bits0_31
@ kNTV2EnumsID_VideoFormat
Identifies the NTV2VideoFormat enumerated type.
@ NTV2_FG_1920x1114
1920x1080, NTV2_VANCMODE_TALLER
@ kRegRP188InOut7Bits32_63
virtual bool SetSDIWatchdogEnable(const bool inEnable, const UWord inIndex0)
Sets the connector pair relays to be under watchdog timer control or manual control.
virtual bool SetFrameBufferQuarterSizeMode(NTV2Channel inChannel, NTV2QuarterSizeExpandMode inValue)
static const ULWord gChannelToSDIInputRateShift[]
virtual bool GetSDIOut3GEnable(const NTV2Channel inChannel, bool &outIsEnabled)
virtual bool GetRegisterBaseAddress(ULWord regNumber, ULWord **pRegAddress)
Declares device capability functions.
@ NTV2_FG_720x576
720x576, for PAL 625i, NTV2_VANCMODE_OFF
virtual bool GetVideoHOffset(int &outHOffset, const UWord inOutputSpigot=0)
Answers with the current horizontal timing offset, in pixels, for the given SDI output connector.
@ NTV2_FG_720x508
720x486, for NTSC 525i, NTV2_VANCMODE_TALL
virtual bool AcquireMailBoxLock(void)
virtual bool SetRP188Mode(const NTV2Channel inChannel, const NTV2_RP188Mode inMode)
Sets the current RP188 mode – NTV2_RP188_INPUT or NTV2_RP188_OUTPUT – for the given channel.
@ kK2RegShiftXena2VidProcMode
@ kDeviceHasXptConnectROM
True if device has a crosspoint connection ROM (New in SDK 17.0)
ULWord NTV2DeviceGetNumberFrameBuffers(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
@ kK2RegMaskXena2VidProcMode
@ NTV2_FORMAT_4096x2160p_2500
@ kRegShiftSDIIn16GbpsMode
virtual bool GetPCIAccessFrame(const NTV2Channel inChannel, ULWord &outValue)
@ NTV2_FRAMERATE_1500
15 frames per second
@ kRegShiftSDIRelayPosition34
@ NTV2_FRAMERATE_6000
60 frames per second
@ kRegMaskSDIIn86GbpsMode
virtual bool GetMixerSyncStatus(const UWord inWhichMixer, bool &outIsSyncOK)
Returns the current sync state of the given mixer/keyer.
@ kRegOutputTimingControlch7
@ NTV2_INPUTSOURCE_SDI7
Identifies the 7th SDI video input.
@ kDeviceCanDoSDIErrorChecks
True if device can perform SDI error checking.
@ NTV2DieTempScale_Kelvin
NTV2FrameGeometry GetNTV2FrameGeometryFromVideoFormat(const NTV2VideoFormat inVideoFormat)
@ NTV2_REFERENCE_SFP2_PCR
Specifies the PCR source on SFP 2.
virtual bool GetMixerBGInputControl(const UWord inWhichMixer, NTV2MixerKeyerInputControl &outInputControl)
Returns the current background input control value for the given mixer/keyer.
@ NTV2_FORMAT_525psf_2997
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
@ NTV2_FG_4x4096x2160
8192x4320, for 8K, NTV2_VANCMODE_OFF
@ kRegShiftSDIOut12GbpsMode
NTV2FrameGeometry GetQuarterSizedGeometry(const NTV2FrameGeometry inGeometry)
virtual bool IsProgressiveStandard(bool &outIsProgressive, NTV2Channel inChannel=NTV2_CHANNEL1)
@ NTV2_FORMAT_4x2048x1080p_4795
bool NTV2DeviceCanDo25GIP(const NTV2DeviceID inDeviceID)
virtual bool GetDieVoltage(double &outVoltage)
Reads the current "Vcc" voltage of the device.
@ kRegMaskSDIIn612GbpsMode
@ NTV2_REFERENCE_INPUT7
Specifies the SDI In 7 connector.
virtual bool GetStandard(NTV2Standard &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
#define NTV2_IS_2K1080_STANDARD(__s__)
virtual bool GetSDIOutputStandard(const UWord inOutputSpigot, NTV2Standard &outValue)
Answers with the current video standard of the given SDI output spigot.
@ kRegShiftInput2FrameRate
@ NTV2_FORMAT_4096x2160psf_2398
virtual bool SetFrameBufferOrientation(const NTV2Channel inChannel, const NTV2FBOrientation inValue)
Sets the frame buffer orientation for the given NTV2Channel.
@ kRegShiftLTCOnRefInSelect
#define NTV2_ASSERT(_expr_)
std::string Program(bool fullVerify=(0))
@ kRegMaskSDIIn43GbpsSMPTELevelBMode
@ kFS1RefMaskLTCOnRefInSelect
@ NTV2_STANDARD_1080
Identifies SMPTE HD 1080i or 1080psf.
@ NTV2_STANDARD_3840x2160p
Identifies Ultra-High-Definition (UHD)
@ kRegMaskSDIIn53GbpsSMPTELevelBMode
@ kRegShiftSDIIn312GbpsMode
virtual bool SetSmpte372(ULWord inValue, NTV2Channel inChannel=NTV2_CHANNEL1)
Enables or disables the device's SMPTE-372 (dual-link) mode (used for older 3G-levelB-capable devices...
@ NTV2_FRAMERATE_2997
Fractional rate of 30,000 frames per 1,001 seconds.
ULWord NTV2DeviceGetFrameBufferSize(NTV2DeviceID id, NTV2FrameGeometry fg, NTV2FrameBufferFormat fbf)
NTV2FrameRate GetNTV2FrameRateFromVideoFormat(const NTV2VideoFormat inVideoFormat)
@ NTV2_VIDEOLIMITING_LEGALSDI
Identifies the "Legal SDI" mode (Ymax=0x3AC, Cmax=0x3C0)
virtual bool SetMixerCoefficient(const UWord inWhichMixer, const ULWord inMixCoefficient)
Sets the current mix coefficient of the given mixer/keyer.
virtual bool GetEnable4KPSFOutMode(bool &outIsEnabled)
virtual bool GetVideoVOffset(int &outVOffset, const UWord inOutputSpigot=0)
Answers with the current vertical timing offset, in lines, for the given SDI output connector.
@ kRegRP188InOut6Bits0_31
@ NTV2_STANDARD_625
Identifies SMPTE SD 625i.
virtual bool SetMixerBGInputControl(const UWord inWhichMixer, const NTV2MixerKeyerInputControl inInputControl)
Sets the background input control value for the given mixer/keyer.
virtual bool GetSDI1OutHTiming(ULWord *value)
@ NTV2_FORMAT_1080psf_2K_2398
@ kRegShiftSDIOut6GbpsMode
virtual bool IsXilinxProgrammed()
virtual bool SetRP188Data(const NTV2Channel inSDIOutput, const NTV2_RP188 &inRP188Data)
Writes the raw RP188 data into the DBB/Low/Hi registers for the given SDI output. These values are la...
static bool GetWidgetOutputs(const NTV2WidgetID inWidgetID, NTV2OutputXptIDSet &outOutputs)
Returns the output crosspoints known to be "owned" by the given widget.
virtual bool SetFrameRate(NTV2FrameRate inNewValue, NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the AJA device's frame rate.
static const ULWord sSDIXmitEnableShifts[]
virtual bool GetQuadFrameEnable(bool &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Returns the device's current quad-frame mode, whether it's enabled or not.
virtual bool GetMixerMode(const UWord inWhichMixer, NTV2MixerKeyerMode &outMode)
Returns the current operating mode of the given mixer/keyer.
virtual bool ReadAnalogLTCInput(const UWord inLTCInput, RP188_STRUCT &outRP188Data)
Reads the current contents of the device's analog LTC input registers.
@ NTV2_FG_2048x1080
2048x1080, for 2Kx1080p, NTV2_VANCMODE_OFF
@ NTV2_STANDARD_4096HFR
Identifies high frame-rate 4K.
static const ULWord gChannelToSmpte372RegisterNum[]
@ NTV2_STANDARD_4096x2160p
Identifies 4K.
virtual bool GetInputVideoSelect(NTV2InputVideoSelect &outInputSelect)
@ kRegMaskInput2GeometryHigh
@ NTV2_FORMAT_1080p_2K_4800_A
@ NTV2_FORMAT_4x2048x1080p_11988
static const ULWord gChlToRP188DBBRegNum[]
NTV2Buffer mOutBadRegIndexes
Array of UWords containing index numbers of the register writes that failed. The SDK owns this memory...
@ NTV2_FRAMERATE_12000
120 frames per second
@ kRegMaskSDIIn16GbpsMode
virtual bool GetVideoLimiting(NTV2VideoLimiting &outValue)
Answers with the current video range limiting mode for the device.
static const ULWord gChannelToSDIIn6GModeShift[]
@ kRegMaskAlphaFromInput2
@ kRegOutputTimingControlch3
virtual bool GetRP188BypassSource(const NTV2Channel inSDIOutput, UWord &outSDIInput)
For the given SDI output that's in RP188 bypass mode (E-E), answers with the SDI input that's current...
@ kRegShiftQuadQuadSquaresMode
virtual bool SetSDIOut6GEnable(const NTV2Channel inChannel, const bool inEnable)
virtual NTV2VideoFormat GetAnalogInputVideoFormat(void)
Returns the video format of the signal that is present on the device's analog video input.
@ kRegMaskRP188SourceSelect
Defines a number of handy byte-swapping macros.
virtual bool GetEnable4KDCYCC444Mode(bool &outIsEnabled)
@ kRegShiftSDIIn23GbpsMode
@ kRegMaskVidProcBGMatteEnable
@ NTV2_FORMAT_4x1920x1080psf_3000
@ NTV2_FRAMEBUFFER_ORIENTATION_NORMAL
@ kRegShiftSDIIn73GbpsSMPTELevelBMode
@ kDeviceCanDo4KVideo
True if the device can handle 4K/UHD video.
@ kRegRP188InOut4Bits0_31
@ kDeviceCanReportRunningFirmwareDate
True if device can report its running (and not necessarily installed) firmware date.
virtual bool GetRunningFirmwareDate(UWord &outYear, UWord &outMonth, UWord &outDay)
Reports the (local Pacific) build date of the currently-running firmware.
@ NTV2_FORMAT_1080p_2K_3000
@ NTV2_FORMAT_4096x2160psf_2997
@ kRegShiftSDIIn53GbpsMode
virtual bool SetProgressivePicture(ULWord value)
@ NTV2_FORMAT_4x2048x1080p_2997
virtual bool GetSDIWatchdogEnable(bool &outIsEnabled, const UWord inIndex0)
Answers true if the given connector pair relays are under watchdog timer control, or false if they're...
virtual bool DisableChannel(const NTV2Channel inChannel)
Disables the given FrameStore.
static const ULWord gChannelToSmpte372Masks[]
void Set(const ULWord inDBB=0xFFFFFFFF, const ULWord inLow=0xFFFFFFFF, const ULWord inHigh=0xFFFFFFFF)
Sets my fields from the given DBB, low and high ULWord components.
#define NTV2_IS_QUAD_QUAD_FRAME_GEOMETRY(geom)
@ kRegMaskSDIOut6GbpsMode
static const ULWord gChannelToSDIInput3GStatusRegNum[]
@ kDeviceCanDo3GLevelConversion
True if device can do 3G level B to 3G level A conversion.
@ kK2RegShiftPulldownMode
virtual bool GetSDIInput12GPresent(bool &outValue, const NTV2Channel channel)
virtual bool GetSDIOut6GEnable(const NTV2Channel inChannel, bool &outIsEnabled)
@ kRegShiftInput1FrameRateHigh
virtual bool GetFramePulseReference(NTV2ReferenceSource &outRefSource)
Answers with the device's current frame pulse reference source.
@ NTV2_FORMAT_4x4096x2160p_2500
@ kRegMaskInput2FrameRateHigh
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
@ kRegMaskSDIIn312GbpsMode
@ kRegMaskSDIIn63GbpsSMPTELevelBMode
#define DEC0N(__x__, __n__)
@ kRegShiftInput2FrameRateHigh
@ kRegRXSDI7CRCErrorCount
virtual bool GetInputFrame(const NTV2Channel inChannel, ULWord &outValue)
Answers with the current input frame index number for the given FrameStore. This identifies which par...
virtual bool SetDualLinkInputEnable(const bool inIsEnabled)
@ kDeviceGetNumVideoOutputs
The number of SDI video outputs on the device.
@ NTV2_FORMAT_4x4096x2160p_4795
NTV2Standard GetQuarterSizedStandard(const NTV2Standard inGeometry)
@ NTV2_FORMAT_4x1920x1080p_2997
@ NTV2_FORMAT_4x1920x1080p_2500
virtual bool EnableRP188Bypass(const NTV2Channel inSDIOutput)
Configures the SDI output's embedder to embed SMPTE 12M timecode obtained from an SDI input,...
virtual bool SetOutputFrame(const NTV2Channel inChannel, const ULWord inValue)
Sets the output frame index number for the given FrameStore. This identifies which frame in device SD...
@ NTV2_FORMAT_4x2048x1080p_4800
@ kRegRP188InOut3Bits0_31
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
@ NTV2_FORMAT_4x3840x2160p_2500
static bool WriteWatchdogControlBit(CNTV2Card &card, const ULWord inValue, const ULWord inMask, const ULWord inShift)
@ kDeviceCanDoFramePulseSelect
True if device supports frame pulse source independent of reference source.
@ kRegRXSDI8CRCErrorCount
#define NTV2_IS_QUAD_QUAD_STANDARD(__s__)
@ kDeviceCanDo12gRouting
True if device supports 12G routing crosspoints.
@ NTV2_REFERENCE_SFP2_PTP
Specifies the PTP source on SFP 2.
@ kRegShiftSDIRelayControl34
@ kRegShiftSDIIn3GbpsMode
@ NTV2_FG_720x486
720x486, for NTSC 525i and 525p60, NTV2_VANCMODE_OFF
virtual bool SetSDI1OutHTiming(ULWord value)
@ kRegShiftSDIInCRCErrorCountB
@ kDeviceCanDoVersalSysMon
True if device supports Versal Adaptive SoC System Monitor.
@ kRegShiftSDIIn53GbpsSMPTELevelBMode
virtual bool GetVANCMode(NTV2VANCMode &outVancMode, const NTV2Channel inChannel=NTV2_CHANNEL1)
Retrieves the current VANC mode for the given FrameStore.
virtual bool GetAllWidgetInputs(NTV2InputXptIDSet &outInputs)
Returns all my widget input crosspoints.
@ kRegShiftVidProcRGBRange
virtual bool GetMultiFormatMode(bool &outIsEnabled)
Answers if the device is operating in multiple-format per channel (independent channel) mode or not....
@ kRegMaskQuadQuadSquaresMode
virtual bool GetSDIRelayManualControl(NTV2RelayState &outValue, const UWord inIndex0)
Answers if the bypass relays between connectors 1 and 2 would be in bypass or would route signals thr...
virtual bool SupportsP2PTransfer(void)
virtual bool GetLTCEmbeddedOutEnable(bool &outValue)
virtual bool GetProgressivePicture(void) const
#define NTV2_IS_QUAD_STANDARD(__s__)
virtual bool FlipFlopPage(const NTV2Channel inChannel)
NTV2ChannelSet::const_iterator NTV2ChannelSetConstIter
A handy const iterator into an NTV2ChannelSet.
virtual bool MixerHasRGBModeSupport(const UWord inWhichMixer, bool &outIsSupported)
Answers if the given mixer/keyer's has RGB mode support.
virtual bool SetFrameGeometry(NTV2FrameGeometry inGeometry, bool inIsRetail=(!(0)), NTV2Channel inChannel=NTV2_CHANNEL1)
Sets the frame geometry of the given channel.
virtual bool WriteOutputTimingControl(const ULWord inValue, const UWord inOutputSpigot=0)
Adjusts the output timing for the given SDI output connector.
@ NTV2_CHANNEL1
Specifies channel or FrameStore 1 (or the first item).
virtual bool ReadFlashProgramControl(ULWord &outValue)
NTV2RelayState
This enumerated data type identifies the two possible states of the bypass relays....
#define NTV2_IS_2K_1080_FRAME_GEOMETRY(geom)
virtual bool SetFrameBufferFormat(NTV2Channel inChannel, NTV2FrameBufferFormat inNewFormat, bool inIsAJARetail=(!(0)), NTV2HDRXferChars inXferChars=NTV2_VPID_TC_SDR_TV, NTV2HDRColorimetry inColorimetry=NTV2_VPID_Color_Rec709, NTV2HDRLuminance inLuminance=NTV2_VPID_Luminance_YCbCr)
Sets the frame buffer format for the given FrameStore on the AJA device.
virtual bool SetSDITransmitEnable(const NTV2Channel inChannel, const bool inEnable)
Sets the specified bidirectional SDI connector to act as an input or an output.
@ kRegMaskFramePulseEnable
@ kRegLTC2AnalogBits32_63
@ NTV2_FORMAT_4x3840x2160p_2398
@ kRegMaskSDIOut12GbpsMode
@ kRegShiftVidProcBGMatteEnable
@ kRegMaskSDIIn76GbpsMode
virtual bool GetSDITransmitEnable(const NTV2Channel inChannel, bool &outEnabled)
Answers whether or not the specified SDI connector is currently acting as a transmitter (i....
@ kRegMaskDualLinkOutEnable
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image.
@ kRegShiftInput2GeometryHigh
@ kRegRP188InOut4Bits32_63
virtual bool SetVANCShiftMode(NTV2Channel inChannel, NTV2VANCDataShiftMode inMode)
Enables or disables the "VANC Shift Mode" feature for the given channel.
@ kRegShiftSDIIn66GbpsMode
virtual bool GetFrameBufferFormat(NTV2Channel inChannel, NTV2FrameBufferFormat &outValue)
Returns the current frame buffer format for the given FrameStore on the AJA device.
@ kRegMaskSDIIn63GbpsMode
virtual bool GetEnable4KDCPSFInMode(bool &outIsEnabled)
@ kRegMaskInput1FrameRate
@ kRegShiftInput1FrameRate
@ kVRegSecondaryFormatSelect
@ NTV2_STANDARD_UNDEFINED
virtual bool GetXena2FlashBaseAddress(ULWord **pXena2FlashAddress)
@ kDeviceCanChangeFrameBufferSize
True if frame buffer sizes are not fixed.
@ kLHIRegShiftSDIOutSMPTELevelBMode
virtual bool GetSDIOut2Kx1080Enable(const NTV2Channel inChannel, bool &outIsEnabled)
@ kK2RegShiftSDIOutStandard
@ kFS1RefShiftLTCEmbeddedOutEnable
@ NTV2_FRAMERATE_2500
25 frames per second
@ kRegSysmonVccIntDieTemp
@ kVRegDefaultVideoOutMode
virtual bool GetQuadQuadSquaresEnable(bool &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Returns the device's current "quad-quad-squares" frame mode, whether it's enabled or not.
@ NTV2_FORMAT_1080p_2K_4795_A
virtual bool Enable4KDCYCC444Mode(bool inEnable)
Sets 4K Down Convert YCC 444 mode.
@ NTV2_FORMAT_3840x2160p_2500
@ kRegShiftFrameRateHiBit
@ kRegShiftSDIIn46GbpsMode
@ kRegShiftFrameFormatHiBit
@ kRegMaskSDIIn112GbpsMode
NTV2FrameRate
Identifies a particular video frame rate.
@ NTV2_INPUTSOURCE_HDMI3
Identifies the 3rd HDMI video input.
@ kRegMaskVidProcRGBRange
@ NTV2_CHANNEL6
Specifies channel or FrameStore 6 (or the 6th item).
Defines the KonaIP/IoIP registers.
@ kRegMaskVidProcVancSource
virtual bool WriteRegisters(const NTV2RegisterWrites &inRegWrites)
Writes the given sequence of NTV2RegInfo's.
virtual bool SetFrameBufferQuality(NTV2Channel inChannel, NTV2FrameBufferQuality inValue)
virtual bool GetMixerBGMatteEnabled(const UWord inWhichMixer, bool &outIsEnabled)
Answers if the given mixer/keyer's background matte is enabled or not.
static const ULWord gChannelToSDIInputProgressiveShift[]
@ NTV2_FORMAT_4x4096x2160p_2997
@ kDeviceHasSDIRelays
True if device has bypass relays on its SDI connectors.
NTV2RegisterNumberSet NTV2RegNumSet
A set of distinct NTV2RegisterNumbers.
@ NTV2_FRAMERATE_4800
48 frames per second
virtual bool GetRunningFirmwareUserID(ULWord &outUserID)
Reports the UserID number of the currently-running firmware.
@ kRegShiftAlphaFromInput2
NTV2MixerKeyerInputControl
These enum values identify the Mixer/Keyer foreground and background input control values.
@ NTV2_FORMAT_4096x2160psf_2400
bool IsProgressivePicture(const NTV2VideoFormat format)
@ NTV2_CHANNEL4
Specifies channel or FrameStore 4 (or the 4th item).
@ kRegRP188InOut6Bits32_63
This is used to atomically perform bank-selected register reads or writes.
@ kRegMaskSDIOutLevelAtoLevelB
@ kRegShiftSDIIn63GbpsSMPTELevelBMode
enum NTV2VPIDTransferCharacteristics NTV2HDRXferChars
NTV2_RS422_PARITY
These enum values identify RS-422 serial port parity configuration.
virtual bool GetSDIOutputDS2AudioSystem(const NTV2Channel inSDIOutputConnector, NTV2AudioSystem &outAudioSystem)
Answers with the device's Audio System that is currently providing audio for the given SDI output's a...
@ NTV2_MODE_INPUT
Input (capture) mode, which writes into device SDRAM.
@ kRegMaskSDIRelayPosition34
ULWordSet::const_iterator ULWordSetConstIter
virtual bool GetSDILock(const NTV2Channel inChannel)
@ kRegShiftSDIIn5LevelBtoLevelA
bool NTV2DeviceNeedsRoutingSetup(const NTV2DeviceID inDeviceID)
@ NTV2_CHANNEL5
Specifies channel or FrameStore 5 (or the 5th item).
@ kRegMaskSDIWatchdogEnable12
@ NTV2_FRAMERATE_2400
24 frames per second
@ kRegOutputTimingControlch5
@ kK2RegMaskSDIOutDS1Audio_Bit1
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....
virtual bool GetSDIInput6GPresent(bool &outValue, const NTV2Channel channel)
@ NTV2_FORMAT_4x2048x1080psf_2398
@ NTV2_INPUTSOURCE_ANALOG1
Identifies the first analog video input.
#define NTV2_IS_3Gb_FORMAT(__f__)
@ kRegMaskRS422ParityDisable
@ NTV2_FORMAT_4x2048x1080p_2398
virtual bool Enable4KDCPSFInMode(bool inEnable)
Sets 4K Down Convert PSF in mode.
static bool isEnabled(CNTV2Card &device, const NTV2Channel inChannel)
virtual bool Enable4KDCRGBMode(bool inEnable)
Sets 4K Down Convert RGB mode.
virtual bool GetPulldownMode(NTV2Channel inChannel, bool &outValue)
@ kRegShiftInput2Geometry
@ kRegMaskAnalogInputIntegerRate
@ NTV2_INPUTSOURCE_SDI1
Identifies the 1st SDI video input.
@ kRegRXSDIFreeRunningClockHigh
@ NTV2_REFERENCE_HDMI_INPUT4
Specifies the HDMI In 4 connector.
virtual NTV2VideoFormat GetReferenceVideoFormat(void)
Returns the video format of the signal that is present on the device's reference input.
virtual bool GetAnalogLTCInClockChannel(const UWord inLTCInput, NTV2Channel &outChannel)
Answers with the (SDI) input channel that's providing the clock reference being used by the given dev...
virtual bool SetMixerBGMatteEnabled(const UWord inWhichMixer, const bool inIsEnabled)
Answers if the given mixer/keyer's background matte is enabled or not.
NTV2InputXptIDSet::const_iterator NTV2InputXptIDSetConstIter
A const iterator for iterating over an NTV2InputXptIDSet.
@ kRegMaskSDIRelayControl34
@ kRegShiftSDIInUnlockCount
ULWord fLo
| BG 4 | Secs10 | BG 3 | Secs 1 | BG 2 | Frms10 | BG 1 | Frms 1 |
#define HEXN(__x__, __n__)
NTV2Standard GetNTV2StandardFromScanGeometry(const UByte inScanGeometry, const bool inIsProgressiveTransport)
virtual bool GetMixerMatteColor(const UWord inWhichMixer, YCbCr10BitPixel &outYCbCrValue)
Answers with the given mixer/keyer's current matte color value being used.
virtual bool GetMixerFGInputControl(const UWord inWhichMixer, NTV2MixerKeyerInputControl &outInputControl)
Returns the current foreground input control value for the given mixer/keyer.
static const ULWord gChannelToSDIIn6GModeMask[]
virtual bool GetPossibleConnections(NTV2PossibleConnections &outConnections)
Answers with the implemented crosspoint connections (if known).
virtual bool GetVideoDACMode(NTV2VideoDACMode &outValue)
@ NTV2_FORMAT_1080psf_2K_2500
@ NTV2_REFERENCE_INPUT5
Specifies the SDI In 5 connector.
@ NTV2_FORMAT_4x2048x1080psf_2400
virtual bool SetVideoLimiting(const NTV2VideoLimiting inValue)
Sets the device's video range limiting mode.
@ kRegShiftSDIIn36GbpsMode
@ kVRegEveryFrameTaskFilter
virtual bool GetRP188Data(const NTV2Channel inSDIInput, NTV2_RP188 &outRP188Data)
Reads the raw RP188 data from the DBB/Low/Hi registers for the given SDI input. On newer devices with...
virtual bool SetRP188SourceFilter(const NTV2Channel inSDIInput, const UWord inFilterValue)
Sets the RP188 DBB filter for the given SDI input.
@ kDeviceCanDoProgrammableRS422
True if device has at least one RS-422 serial port, and it (they) can be programmed (for baud rate,...
@ NTV2_FORMAT_1080p_5994_B
ULWord fHi
| BG 8 | Hrs 10 | BG 7 | Hrs 1 | BG 6 | Mins10 | BG 5 | Mins 1 |
virtual bool GetOutputFrame(const NTV2Channel inChannel, ULWord &outValue)
Answers with the current output frame number for the given FrameStore (expressed as an NTV2Channel).
This is used by the CNTV2Card::ReadRegisters function.
@ kRegShiftSDIIn712GbpsMode
virtual bool GetActiveFrameDimensions(NTV2FrameDimensions &outFrameDimensions, const NTV2Channel inChannel=NTV2_CHANNEL1)
@ NTV2_FORMAT_1080psf_3000_2
@ NTV2_FORMAT_1080p_2K_2400
virtual bool GetTsiMuxSyncFail(bool &outSyncFailed, const NTV2Channel inWhichTsiMux)
Answers if the SMPTE 425 two-sample-interleave mux/demux input sync has failed or not.
@ kDeviceCanDoRGBLevelAConversion
True if the device can do RGB over 3G Level A.
@ kRegRP188InOut8Bits32_63
@ NTV2_FG_2048x1588
2048x1556, for 2Kx1556psf film format, NTV2_VANCMODE_TALL
@ NTV2_RS422_BAUD_RATE_9600
9600 baud
@ NTV2_FORMAT_4x2048x1080p_3000
NTV2Standard
Identifies a particular video standard.
@ kRegShiftSDIIn3LevelBtoLevelA
@ NTV2_VANCMODE_OFF
This identifies the mode in which there are no VANC lines in the frame buffer.
static const ULWord gIndexToVidProcControlRegNum[]
@ kRegRXSDI4CRCErrorCount
@ NTV2_FORMAT_4096x2160p_4795
virtual bool SetSecondaryVideoFormat(NTV2VideoFormat inFormat)
virtual bool SetSDIOutputAudioSystem(const NTV2Channel inSDIOutputConnector, const NTV2AudioSystem inAudioSystem)
Sets the device's NTV2AudioSystem that will provide audio for the given SDI output's audio embedder....
virtual bool SupportsP2PTarget(void)
virtual bool GetRP188SourceFilter(const NTV2Channel inSDIInput, UWord &outFilterValue)
Returns the current RP188 filter setting for the given SDI input.
@ NTV2DieTempScale_Rankine
std::set< ULWord > ULWordSet
A collection of unique ULWord (uint32_t) values.
@ kRegMaskFrameFormatHiBit
virtual bool GetVideoFormat(NTV2VideoFormat &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
@ NTV2_FRAMERATE_2398
Fractional rate of 24,000 frames per 1,001 seconds.
@ kRegMaskSDIInVpidValidB
@ kK2RegMaskSDIOutDS1Audio_Bit0
@ NTV2_FORMAT_4x4096x2160p_3000
virtual bool EnableChannels(const NTV2ChannelSet &inChannels, const bool inDisableOthers=(0))
Enables the given FrameStore(s).
@ kK2RegShiftXena2BgVidProcInputControl
@ NTV2_RS422_BAUD_RATE_19200
19200 baud
@ kDeviceGetNumVideoChannels
The number of video channels supported on the device.
@ kRegRP188InOut5Bits32_63
ULWord mInNumRegisters
The number of NTV2RegInfo's to be set.
virtual bool SetAnalogLTCOutClockChannel(const UWord inLTCOutput, const NTV2Channel inChannel)
Sets the (SDI) output channel that is to provide the clock reference to be used by the given analog L...
virtual bool GetSDIWatchdogTimeout(ULWord &outValue)
Answers with the amount of time that must elapse before the watchdog timer times out.
static const ULWord gChannelToSDIIn3GbModeMask[]
virtual bool GetQuadQuadFrameEnable(bool &outValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Returns the device's current "quad-quad" frame mode, whether it's enabled or not.
@ kRegMaskFrameSizeSetBySW
@ kLHIRegMaskSDIOut3GbpsMode
virtual bool GetSDI2OutHTiming(ULWord *value)
@ NTV2_CHANNEL7
Specifies channel or FrameStore 7 (or the 7th item).
@ kRegShiftVidProcRGBModeSupported
virtual bool ReleaseMailBoxLock(void)
@ kRegMaskSDIInTsiMuxSyncFail
@ NTV2_FORMAT_4x2048x1080psf_3000
virtual bool WriteVirtualData(const ULWord inTag, const void *inVirtualData, const ULWord inVirtualDataSize)
Writes the block of virtual data.
@ kRegMaskSDIIn73GbpsSMPTELevelBMode
virtual bool GetRunningFirmwareTime(UWord &outHours, UWord &outMinutes, UWord &outSeconds)
Reports the (local Pacific) build time of the currently-running firmware.
@ kRegShift4KDCYCC444Mode
NTV2ReferenceSource
These enum values identify a specific source for the device's (output) reference clock.
@ NTV2_FORMAT_1080p_2K_4795_B
virtual bool SetLEDState(ULWord inValue)
The four on-board LEDs can be set by writing 0-15.
@ kRegMaskSDIIn46GbpsMode
@ kRegShiftInput1GeometryHigh
@ NTV2WidgetType_FrameStore
A convenience class that simplifies encoding or decoding the 4-byte VPID payload that can be read or ...
@ NTV2_FG_720x612
720x576, for PAL 625i, NTV2_VANCMODE_TALLER
@ NTV2_FRAMERATE_1498
Fractional rate of 15,000 frames per 1,001 seconds.
virtual bool SetMode(const NTV2Channel inChannel, const NTV2Mode inNewValue, const bool inIsRetail=(!(0)))
Determines if a given FrameStore on the AJA device will be used to capture or playout video.
@ NTV2_FORMAT_4x3840x2160p_5994
virtual bool GetSDIOut3GbEnable(const NTV2Channel inChannel, bool &outIsEnabled)
@ NTV2_FORMAT_4096x2160p_2398
NTV2Mode
Used to identify the mode of a widget_framestore, or the direction of an AutoCirculate stream: either...
@ kRegRP188InOut1Bits32_63
@ kRegShiftSDIIn3GbpsSMPTELevelBMode
@ kDeviceCanDoLTCInOnRefPort
True if device can read LTC (Linear TimeCode) from its reference input.
virtual bool GetRunningFirmwarePackageRevision(ULWord &outRevision)
Reports the revision number of the currently-running firmware package. KonaIP style boards have a pac...
bool NTV2DeviceSoftwareCanChangeFrameBufferSize(const NTV2DeviceID inDeviceID)
static const ULWord gChannelToSmpte372Shifts[]
@ kRegShiftSDIIn7LevelBtoLevelA
Declares the CNTV2Card class.
virtual bool SetForce64(ULWord force64)
virtual bool SetSDIOutRGBLevelAConversion(const UWord inOutputSpigot, const bool inEnable)
Enables or disables an RGB-over-3G-level-A conversion at the SDI output widget (assuming the AJA devi...
static const ULWord gChannelToSDIInputRateHighMask[]
@ kRegShiftSDIWatchdogStatus
std::string NTV2MixerInputControlToString(const NTV2MixerKeyerInputControl inValue, const bool inCompactDisplay=false)
@ NTV2_FORMAT_3840x2160psf_3000
virtual bool GetEncodeAsPSF(NTV2Channel inChannel, NTV2EncodeAsPSF &outValue)
static const ULWord gChannelToRXSDICRCErrorCountRegs[]
@ kRegShiftVidProcVANCShift
@ kDeviceGetHDMIVersion
The version number of the HDMI chipset on the device.
virtual bool SetAnalogLTCInClockChannel(const UWord inLTCInput, const NTV2Channel inChannel)
Sets the (SDI) input channel that is to provide the clock reference to be used by the given analog LT...
@ kRegMaskDualLinkInEnable
@ kRegShiftSDIRelayPosition12
@ NTV2_INPUTSOURCE_SDI5
Identifies the 5th SDI video input.
@ kRegShiftSDIIn412GbpsMode
virtual bool GetEnable4KDCRGBMode(bool &outIsEnabled)
virtual bool SetMixerMatteColor(const UWord inWhichMixer, const YCbCr10BitPixel inYCbCrValue)
Sets the matte color to use for the given mixer/keyer.
virtual bool GetAnalogLTCOutClockChannel(const UWord inLTCOutput, NTV2Channel &outChannel)
Answers with the (SDI) output channel that's providing the clock reference being used by the given de...
virtual bool SetRP188BypassSource(const NTV2Channel inSDIOutput, const UWord inSDIInput)
For the given SDI output that's in RP188 bypass mode (E-E), specifies the SDI input to be used as a t...
@ kRegMaskVidProcVANCShift
@ NTV2_FORMAT_4x2048x1080p_5000
std::string NTV2StandardToString(const NTV2Standard inValue, const bool inForRetailDisplay=false)
std::string NTV2InputCrosspointIDToString(const NTV2InputCrosspointID inValue, const bool inForRetailDisplay=false)
@ kK2RegMaskSDIOutDS1Audio_Bit2
virtual bool GetSDIOutputAudioSystem(const NTV2Channel inSDIOutputConnector, NTV2AudioSystem &outAudioSystem)
Answers with the device's NTV2AudioSystem that is currently providing audio for the given SDI output'...
static NTV2VideoFormat GetNTV2VideoFormat(NTV2FrameRate frameRate, UByte inputGeometry, bool progressiveTransport, bool isThreeG, bool progressivePicture=(0))
@ kRegShiftSDIIn73GbpsMode
static const ULWord gChannelToSDIInputGeometryHighMask[]
virtual bool SetFramePulseReference(const NTV2ReferenceSource inRefSource)
Sets the device's frame pulse reference source. See Video Output Clocking & Synchronization for more ...
@ kRegMaskInput1FrameRateHigh
@ NTV2_FORMAT_4096x2160p_6000
@ NTV2_REFERENCE_INPUT6
Specifies the SDI In 6 connector.
@ NTV2_FG_720x514
720x486, for NTSC 525i and 525p60, NTV2_VANCMODE_TALLER
@ kRegMaskSDIIn23GbpsSMPTELevelBMode
static const ULWord gChannelToSDIInputRateHighShift[]
@ kRegShiftMRFrameLocation
virtual bool SetVideoHOffset(const int inHOffset, const UWord inOutputSpigot=0)
Adjusts the horizontal timing offset, in pixels, for the given SDI output connector.
@ kRegRXSDI1CRCErrorCount
virtual bool SetLTCInputEnable(const bool inEnable)
Enables or disables the ability for the device to read analog LTC on the reference input connector.
@ NTV2_THROUGH_DEVICE
Input & output routed through device.
All new NTV2 structs start with this common header.
@ kRegShiftVidProcLimiting
@ NTV2_CHANNEL3
Specifies channel or FrameStore 3 (or the 3rd item).
@ kRegShiftSDIIn76GbpsMode
virtual bool GetLEDState(ULWord &outValue)
Answers with the current state of the four on-board LEDs.
@ kRegMaskSmpte372Enable4
@ NTV2_STANDARD_1080p
Identifies SMPTE HD 1080p.
@ kRegRP188InOut7Bits0_31
@ kK2RegMaskXena2FgVidProcInputControl
NTV2RegWrites NTV2RegisterReads
std::string NTV2VANCModeToString(const NTV2VANCMode inValue, const bool inCompactDisplay=false)
@ kRegShiftChannelDisable
@ NTV2_FORMAT_4x1920x1080p_3000
#define NTV2_IS_VANCMODE_ON(__v__)
@ NTV2_FORMAT_4x3840x2160p_2997
@ NTV2_FBF_8BIT_YCBCR
See 8-Bit YCbCr Format.
@ NTV2_REFERENCE_FREERUN
Specifies the device's internal clock.
@ kRegShiftInput2Progressive
@ NTV2MIXERINPUTCONTROL_INVALID
Declares numerous NTV2 utility functions.
static const ULWord gChannelToRP188ModeMasks[]
virtual bool SetSDI2OutHTiming(ULWord value)
@ kRegOutputTimingControlch8
@ kRegShiftSDIIn86GbpsMode
@ NTV2_FORMAT_1080p_5000_B
@ kRegMaskSDIIn812GbpsMode
NTV2Framesize
Kona2/Xena2 specific enums.
virtual NTV2VideoFormat GetAnalogCompositeInputVideoFormat(void)
Returns the video format of the signal that is present on the device's composite video input.
@ kRegMaskSDIIn3LevelBtoLevelA
NTV2FrameGeometry Get4xSizedGeometry(const NTV2FrameGeometry inGeometry)
@ NTV2_RS422_ODD_PARITY
Odd parity – this is the power-up default.
virtual bool GetDefaultVideoOutMode(ULWord &outMode)
virtual ULWord GetSDIUnlockCount(const NTV2Channel inChannel)
@ NTV2_FORMAT_4x3840x2160p_5000
@ kK2RegShiftXena2FgVidProcInputControl
@ NTV2_FORMAT_1080p_2K_5994_A
@ kRegMaskFramePulseRefSelect
@ kRegMaskSDIIn1LevelBtoLevelA
@ kRegShiftSDIIn812GbpsMode
virtual bool GetSDIOutLevelAtoLevelBConversion(const UWord inOutputSpigot, bool &outIsEnabled)
Answers with the device's current 3G level A to 3G level B conversion setting for the given SDI outpu...
@ kRegShiftSDIIn56GbpsMode
@ kRegMaskSDIWatchdogEnable34
@ kRegMaskSDIIn36GbpsMode
static const ULWord gChannelToPCIAccessFrameRegNum[]
I interrogate and control an AJA video/audio capture/playout device.
@ NTV2_FORMAT_4x2048x1080p_12000
NTV2RegInfo GetRegInfo(const UWord inIndex0=0) const
ProgramState programState
static const ULWord gChannelToSDIInputGeometryShift[]
@ kRegMaskSDIIn512GbpsMode
std::set< NTV2OutputXptID > NTV2OutputXptIDSet
A collection of distinct NTV2OutputXptID values.
static const ULWord gIndexToVidProcMixCoeffRegNum[]
static const ULWord gChannelToRP188ModeShifts[]
virtual bool GetVANCShiftMode(NTV2Channel inChannel, NTV2VANCDataShiftMode &outValue)
Retrieves the current "VANC Shift Mode" feature for the given channel.
@ NTV2DieTempScale_Celsius
@ NTV2_REFERENCE_HDMI_INPUT1
Specifies the HDMI In 1 connector.
std::vector< ULWord > NTV2ULWordVector
An ordered sequence of ULWords.
@ NTV2_FORMAT_625psf_2500
@ kRegMaskSDIRelayControl12
@ kRegShiftSDIIn23GbpsSMPTELevelBMode
@ NTV2_INPUTSOURCE_HDMI4
Identifies the 4th HDMI video input.
bool NTV2DeviceIsDirectAddressable(const NTV2DeviceID inDeviceID)
@ kRegMaskSDIIn5LevelBtoLevelA
@ kRegRXSDI6CRCErrorCount
@ kRegShiftSDIIn8LevelBtoLevelA
@ NTV2_FG_1280x720
1280x720, for 720p, NTV2_VANCMODE_OFF
@ kRegShiftSDIIn33GbpsSMPTELevelBMode
@ kK2RegMaskSDI1Out_2Kx1080Mode
@ NTV2_FORMAT_1080p_2K_2500
@ NTV2_FORMAT_4x1920x1080psf_2997
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
virtual bool GetSecondaryVideoFormat(NTV2VideoFormat &outFormat)
enum NTV2VPIDColorimetry NTV2HDRColorimetry
virtual bool SetTsiFrameEnable(const bool inIsEnabled, const NTV2Channel inChannel)
Enables or disables SMPTE 425 two-sample interleave (Tsi) frame mode on the device.
@ kRegOutputTimingControlch4
@ NTV2_FORMAT_1080p_6000_A
@ NTV2_FORMAT_3840x2160psf_2398
@ NTV2_INPUTSOURCE_HDMI1
Identifies the 1st HDMI video input.
virtual bool GetReference(NTV2ReferenceSource &outRefSource)
Answers with the device's current clock reference source.
@ kRegSDIWatchdogControlStatus
@ kRegMaskSDIInCRCErrorCountA
@ kRegMaskSDIInVpidValidA
virtual NTV2FrameRate GetSDIInputRate(const NTV2Channel channel)
virtual NTV2VideoFormat GetInputVideoFormat(const NTV2InputSource inVideoSource=NTV2_INPUTSOURCE_SDI1, const bool inIsProgressive=(0))
Returns the video format of the signal that is present on the given input source.
virtual bool SetDitherFor8BitInputs(const NTV2Channel inChannel, const ULWord inDither)
@ NTV2_STANDARD_TASKS
1: Standard/Retail: device configured by AJA ControlPanel, service/daemon, and driver.
@ kRegShiftAnalogInputIntegerRate
@ NTV2_FRAMERATE_11988
Fractional rate of 120,000 frames per 1,001 seconds.
static const ULWord gChannelToRXSDIStatusRegs[]
@ kNTV2EnumsID_WidgetID
Identifies the NTV2AudioWidgetID enumerated type.
NTV2Buffer mInRegInfos
Read-only array of NTV2RegInfo structs to be set. The SDK owns this memory.
@ kRegMaskSDIIn2LevelBtoLevelA
NTV2QuarterSizeExpandMode
@ NTV2_FORMAT_1080p_2K_2398
static const ULWord gChannelToSDIIn3GbModeShift[]
@ kRegMaskSDIIn33GbpsMode
@ NTV2_FORMAT_3840x2160p_2997
virtual bool SetEveryFrameServices(const NTV2EveryFrameTaskMode inMode)
Sets the device's task mode.
@ NTV2_FORMAT_4096x2160p_4800
static NTV2WidgetID WidgetIDFromTypeAndChannel(const NTV2WidgetType inWidgetType, const NTV2Channel inChannel)
@ kRegShiftFrameSizeSetBySW
NTV2VANCMode
These enum values identify the available VANC modes.
@ AJA_DebugUnit_UserGeneric
virtual bool SetSDIWatchdogTimeout(const ULWord inValue)
Specifies the amount of time that must elapse before the watchdog timer times out.
@ NTV2_STANDARD_4096i
Identifies 4K psf.
virtual bool GetMode(const NTV2Channel inChannel, NTV2Mode &outValue)
Answers with the current NTV2Mode of the given FrameStore on the AJA device.
@ NTV2_FORMAT_3840x2160psf_2400
@ kK2RegMaskSDIOutDS2Audio_Bit1
@ NTV2_FORMAT_1080psf_2K_2400
#define NTV2_IS_PSF_VIDEO_FORMAT(__f__)
#define NTV2_IS_VALID_CHANNEL(__x__)
ULWord registerValue
My register value to use in a ReadRegister or WriteRegister call.
virtual ULWord GetCRCErrorCountB(const NTV2Channel inChannel)
@ kRegShiftSDIIn512GbpsMode
std::string NTV2MixerKeyerModeToString(const NTV2MixerKeyerMode inValue, const bool inCompactDisplay=false)
@ NTV2_VANCMODE_INVALID
This identifies the invalid (unspecified, uninitialized) VANC mode.
@ NTV2_FORMAT_3840x2160p_5994
@ kRegShiftSDIIn26GbpsMode
virtual bool SetMixerFGInputControl(const UWord inWhichMixer, const NTV2MixerKeyerInputControl inInputControl)
Sets the foreground input control value for the given mixer/keyer.
@ NTV2_FORMAT_4x4096x2160p_2400
NTV2Buffer mInRegInfos
NTV2RegInfo array of registers be read/written. The SDK owns this memory.
@ kRegShiftVidProcVancSource
@ NTV2DieTempScale_Fahrenheit
virtual bool Get64BitAutodetect(ULWord *autodetect64)
@ NTV2_INPUTSOURCE_HDMI2
Identifies the 2nd HDMI video input.
@ NTV2_FORMAT_4x4096x2160p_6000
@ NTV2_FORMAT_3840x2160p_2398
@ NTV2_FG_1920x1112
1920x1080, for 1080i and 1080p, NTV2_VANCMODE_TALL
NTV2InputSource
Identifies a specific video input source.
@ kRegMaskSDIIn56GbpsMode
virtual bool GetEnableFramePulseReference(bool &outEnabled)
Answers whether or not the device's current frame pulse reference source is enabled....
virtual bool GetMultiRasterBypassEnable(bool &outEnabled)
virtual bool GetMixerVancOutputFromForeground(const UWord inWhichMixer, bool &outIsFromForegroundSource)
Answers whether or not the VANC source for the given mixer/keyer is currently the foreground video....
@ kRegMaskSDIInCRCErrorCountB
@ kFS1RefMaskLTCEmbeddedOutEnable
virtual bool GetFrameGeometry(NTV2FrameGeometry &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
@ kRegMaskSmpte372Enable6
@ kRegSDI5678Input3GStatus
static const ULWord gChannelToOutputFrameRegNum[]
virtual bool ReadOutputTimingControl(ULWord &outValue, const UWord inOutputSpigot=0)
Returns the current output timing control value for the given SDI output connector.
@ kRegOutputTimingControlch2
#define NTV2_IS_QUAD_QUAD_FORMAT(__f__)
@ NTV2_FORMAT_4x1920x1080psf_2398
@ kRegMaskInputStatusLock
virtual NTV2VideoFormat GetHDMIInputVideoFormat(NTV2Channel inHDMIInput=NTV2_CHANNEL1)
static const ULWord gChannelToSDIInputRateMask[]
@ NTV2_FORMAT_1080p_2K_6000_A
@ kK2RegShiftVideoDACMode
virtual bool SetRS422Parity(const NTV2Channel inSerialPort, const NTV2_RS422_PARITY inParity)
Sets the parity control on the specified RS422 serial port.
@ NTV2_FG_720x598
720x576, for PAL 625i, NTV2_VANCMODE_TALL
@ NTV2_FBF_10BIT_YCBCR
See 10-Bit YCbCr Format.
static const ULWord gChannelToGlobalControlRegNum[]
@ kRegShiftSmpte372Enable6
virtual bool SetVideoDACMode(NTV2VideoDACMode inValue)
Declares the CNTV2VPID class. See SMPTE 352 standard for details.
@ kRegRXSDI5CRCErrorCount
virtual bool EnableFramePulseReference(const bool inEnable)
Enables the device's frame pulse reference select.
@ kRegShiftIndependentMode
virtual bool GetSDITRSError(const NTV2Channel inChannel)
@ kRegShiftSDIRelayControl12
@ kRegRXSDIFreeRunningClockLow
virtual bool GetDualLinkInputEnable(bool &outIsEnabled)
@ kRegRP188InOut2Bits32_63
virtual bool GetDualLinkOutputEnable(bool &outIsEnabled)
virtual bool SetMixerRGBRange(const UWord inWhichMixer, const NTV2MixerRGBRange inRGBRange)
Sets the RGB range for the given mixer/keyer.
@ kRegMaskSDIIn8LevelBtoLevelA
#define NTV2_IS_QUAD_FRAME_GEOMETRY(geom)
@ NTV2_RS422_EVEN_PARITY
Even parity.
@ NTV2_FORMAT_4096x2160p_3000
@ kK2RegMaskSDIOutStandard
virtual bool SetSDIOutputStandard(const UWord inOutputSpigot, const NTV2Standard inValue)
Sets the SDI output spigot's video standard.
@ kK2RegMaskSDIOutDS2AudioSelect
NTV2VideoLimiting
These enum values identify the available SDI video output limiting modes.
static const ULWord gChannelToSDIInputGeometryMask[]
@ NTV2_FORMAT_4x1920x1080psf_2500
This is used by the CNTV2Card::ReadSDIStatistics function.
@ NTV2_FRAMERATE_5994
Fractional rate of 60,000 frames per 1,001 seconds.
@ kRegShiftFramePulseRefSelect
virtual bool DisableChannels(const NTV2ChannelSet &inChannels)
Disables the given FrameStore(s).
Everything needed to call CNTV2Card::ReadRegister or CNTV2Card::WriteRegister functions.
@ kK2RegMaskSDIOutDS2Audio_Bit2
NTV2OutputXptIDSet::const_iterator NTV2OutputXptIDSetConstIter
A const iterator for iterating over an NTV2OutputXptIDSet.
@ kRegMaskIndependentMode
@ DEVICE_ID_CORVID24
See Corvid 24.
@ NTV2_FORMAT_4x3840x2160p_2400
virtual bool Enable4KPSFOutMode(bool inEnable)
Sets 4K Down Convert PSF out Mode.
std::vector< NTV2RegInfo > NTV2RegisterWrites
@ NTV2_STANDARD_525
Identifies SMPTE SD 525i.
static const ULWord gChannelToSDIInputGeometryHighShift[]
@ kRegShiftHDMIInV2VideoStd
static const ULWord gChannelToInputFrameRegNum[]
virtual bool SetSDIOut12GEnable(const NTV2Channel inChannel, const bool inEnable)
virtual bool BankSelectReadRegister(const NTV2RegInfo &inBankSelect, NTV2RegInfo &inOutRegInfo)
Reads the given set of registers from the bank specified in position 0.
@ kK2RegMaskSDIOutDS1AudioSelect
virtual bool SetMixerVancOutputFromForeground(const UWord inWhichMixer, const bool inFromForegroundSource=(!(0)))
Sets the VANC source for the given mixer/keyer to the foreground video (or not). See the SDI Ancillar...
@ kRegMaskInput1Progressive
virtual ULWord GetCRCErrorCountA(const NTV2Channel inChannel)
virtual bool Get4kSquaresEnable(bool &outIsEnabled, const NTV2Channel inChannel)
Answers whether the FrameStore bank's current SMPTE 425 "4K squares" (i.e., "2K quadrants") mode is e...
ULWord registerNumber
My register number to use in a ReadRegister or WriteRegister call.
virtual bool GetFrameBufferQuarterSizeMode(NTV2Channel inChannel, NTV2QuarterSizeExpandMode &outValue)
Declares the CNTV2KonaFlashProgram class.
@ NTV2_FORMAT_4x2048x1080p_2500
@ kLHIRegMaskSDIOutSMPTELevelBMode
bool IsValid(void) const
Answers true if I'm valid, or false if I'm not valid.
@ NTV2_FORMAT_4x1920x1080p_5994
@ NTV2_FORMAT_4x4096x2160p_5000
std::string NTV2FrameBufferFormatToString(const NTV2FrameBufferFormat inValue, const bool inForRetailDisplay=false)
virtual bool GetProgressivePicture(ULWord &outValue)
NTV2RegisterWriteMode
These values are used to determine when certain register writes actually take effect....
virtual bool GetBaseAddress(NTV2Channel channel, ULWord **pBaseAddress)
virtual bool GetAnalogOutHTiming(ULWord &outValue)
@ kRegShiftAnalogCompositeFormat625
@ NTV2_INPUTSOURCE_SDI8
Identifies the 8th SDI video input.
@ NTV2_FORMAT_4x3840x2160p_6000
#define NTV2_IS_VALID_VIDEOLIMITING(__v__)
@ NTV2_STANDARD_3840HFR
Identifies high frame-rate UHD.
static const ULWord gChannelToControlRegNum[]
virtual NTV2VideoFormat GetVideoFormat(void) const
virtual bool GetProgramStatus(SSC_GET_FIRMWARE_PROGRESS_STRUCT *statusStruct)
virtual bool GetSDIInLevelBtoLevelAConversion(const UWord inInputSpigot, bool &outIsEnabled)
Answers with the device's current 3G level B to 3G level A conversion setting for the given SDI input...
@ NTV2_INPUTSOURCE_SDI2
Identifies the 2nd SDI video input.
static const ULWord gChannelToSDIIn3GModeMask[]
@ kRegMaskSDIIn53GbpsMode
This struct replaces the old RP188_STRUCT.
virtual bool SetLTCEmbeddedOutEnable(const bool inNewValue)
@ kRegRXSDI2CRCErrorCount
virtual bool SetMixerMode(const UWord inWhichMixer, const NTV2MixerKeyerMode inMode)
Sets the mode for the given mixer/keyer.
static NTV2WidgetType WidgetIDToType(const NTV2WidgetID inWidgetID)
ULWord registerShift
My register shift value to use in a ReadRegister or WriteRegister call.
@ NTV2_STANDARD_2Kx1080i
Identifies SMPTE HD 2K1080psf.
@ NTV2_FRAMERATE_UNKNOWN
Represents an unknown or invalid frame rate.
virtual bool GetDisabledChannels(NTV2ChannelSet &outChannels)
Answers with the set of channels that are currently disabled.
@ NTV2_RS422_BAUD_RATE_38400
38400 baud – this is the power-up default
@ kRegMaskSDIWatchdogStatus
@ NTV2_FORMAT_1080p_5000_A
@ NTV2_FORMAT_4x2048x1080p_6000
static const ULWord gChannelToSDIIn12GModeShift[]
@ kRegMaskDitherOn8BitInput
@ kDeviceCanDo8KVideo
True if device supports 8K video formats.
@ NTV2_RS422_BAUD_RATE_INVALID
@ NTV2_FORMAT_3840x2160psf_2997
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
@ kRegShiftSDIIn33GbpsMode
@ NTV2_STANDARD_8192
Identifies 8K.
static const ULWord gMatteColorRegs[]
virtual bool SetSDIRelayManualControl(const NTV2RelayState inValue, const UWord inIndex0)
Sets the state of the given connector pair relays to NTV2_DEVICE_BYPASSED (or NTV2_THROUGH_DEVICE if ...
#define AJA_sERROR(_index_, _expr_)
@ NTV2_FORMAT_4096x2160p_5000
virtual bool SetRS422BaudRate(const NTV2Channel inSerialPort, const NTV2_RS422_BAUD_RATE inBaudRate)
Sets the baud rate of the specified RS422 serial port.
@ kRegShiftSDIIn2LevelBtoLevelA
@ kK2RegShiftSDIOutDS2AudioSelect
virtual bool GetProgressiveTransport(void) const
virtual bool SetSDIOut3GbEnable(const NTV2Channel inChannel, const bool inEnable)
virtual bool SetMultiRasterBypassEnable(const bool inEnable)
static bool GetWidgetInputs(const NTV2WidgetID inWidgetID, NTV2InputXptIDSet &outInputs)
Returns the input crosspoints known to be "owned" by the given widget.
@ NTV2_FORMAT_4x1920x1080p_5000
std::multimap< NTV2InputXptID, NTV2OutputXptID > NTV2PossibleConnections
A map of zero or more one-to-many possible NTV2InputXptID to NTV2OutputXptID connections.
@ NTV2_DEVICE_BYPASSED
Input & output directly connected.
@ kRegMaskFrameOrientation
@ NTV2_STANDARD_720
Identifies SMPTE HD 720p.
@ NTV2_RS422_NO_PARITY
No parity.
@ NTV2_FORMAT_4x1920x1080p_2398
@ NTV2_FG_2048x1112
2048x1080, for 2Kx1080p, NTV2_VANCMODE_TALL
@ kRegMaskSDIIn73GbpsMode
virtual bool AbortMailBoxLock(void)
virtual bool ReadVirtualData(const ULWord inTag, void *outVirtualData, const ULWord inVirtualDataSize)
Reads the block of virtual data for a specific tag.
virtual bool SetSDIOutputDS2AudioSystem(const NTV2Channel inSDIOutputConnector, const NTV2AudioSystem inAudioSystem)
Sets the Audio System that will supply audio for the given SDI output's audio embedder for Data Strea...
NTV2FrameGeometry
Identifies a particular video frame geometry.
virtual bool IsChannelEnabled(const NTV2Channel inChannel, bool &outEnabled)
Answers whether or not the given FrameStore is enabled.
@ kRegShiftVidProcSyncFail
@ kDeviceCanDo425Mux
True if the device supports SMPTE 425 mux control.
@ NTV2_FORMAT_1080p_6000_B
virtual bool WriteAnalogLTCOutput(const UWord inLTCOutput, const RP188_STRUCT &inRP188Data)
Writes the given timecode to the specified analog LTC output register.
virtual ULWord GetFrameBufferSize(void) const
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
NTV2VideoFormat GetQuadSizedVideoFormat(const NTV2VideoFormat inVideoFormat, const bool isSquareDivision=true)
@ NTV2_FORMAT_4096x2160p_2997
virtual bool GetMixerRGBRange(const UWord inWhichMixer, NTV2MixerRGBRange &outRGBRange)
Answers with the given mixer/keyer's current RGB Range.
@ kFS1RefShiftLTCOnRefInSelect
static const ULWord gChannelToSDIIn3GModeShift[]
@ kRegMaskPCRReferenceEnable
virtual bool SetInputVideoSelect(NTV2InputVideoSelect inInputSelect)
This is used by the CNTV2Card::WriteRegisters function.
@ kRegShiftSDIIn4LevelBtoLevelA
#define NTV2_IS_QUAD_FRAME_FORMAT(__f__)
virtual bool IsMultiRasterWidgetChannel(const NTV2Channel inChannel)
@ NTV2_FORMAT_1080p_5994_A
@ NTV2_FG_2048x1114
2048x1080, NTV2_VANCMODE_TALLER
std::string NTV2VideoLimitingToString(const NTV2VideoLimiting inValue, const bool inCompactDisplay=false)
virtual bool SetDefaultVideoOutMode(ULWord mode)
virtual bool GetMixerFGMatteEnabled(const UWord inWhichMixer, bool &outIsEnabled)
Answers if the given mixer/keyer's foreground matte is enabled or not.
ULWord mOutNumFailures
The number of registers unsuccessfully written.
#define NTV2_IS_VALID_NTV2FrameRate(__r__)
virtual bool GetEveryFrameServices(NTV2EveryFrameTaskMode &outMode)
Retrieves the device's current "retail service" task mode.
@ kRegShiftSDIIn43GbpsMode
virtual bool IsBufferSizeSetBySW(void)
NTV2Standard Get4xSizedStandard(const NTV2Standard inGeometry, const bool bIs4k=false)
virtual bool GetPCIDeviceID(ULWord &outPCIDeviceID)
Answers with my PCI device ID.
static const ULWord gChlToRP188Bits031RegNum[]
@ NTV2_FORMAT_4x2048x1080p_5994
virtual bool GetFrameRate(NTV2FrameRate &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
Returns the AJA device's currently configured frame rate via its "value" parameter.
virtual bool SetInputFrame(const NTV2Channel inChannel, const ULWord inValue)
Sets the input frame index number for the given FrameStore. This identifies which frame in device SDR...
ULWord registerMask
My register mask value to use in a ReadRegister or WriteRegister call.
virtual bool SetEnableVANCData(const bool inVANCenabled, const bool inTallerVANC, const NTV2Standard inStandard, const NTV2FrameGeometry inGeometry, const NTV2Channel inChannel=NTV2_CHANNEL1)
virtual CNTV2VPID & SetVPID(const ULWord inData)
@ kRegShiftSDIWatchdogEnable12
virtual bool GetAllWidgetOutputs(NTV2OutputXptIDSet &outOutputs)
Returns all my widget output crosspoints.
@ NTV2_FG_4x1920x1080
3840x2160, for UHD, NTV2_VANCMODE_OFF
virtual bool IsRP188BypassEnabled(const NTV2Channel inSDIOutput, bool &outIsBypassEnabled)
Answers if the SDI output's RP-188 bypass mode is enabled or not.
virtual bool DisableRP188Bypass(const NTV2Channel inSDIOutput)
Configures the SDI output's embedder to embed SMPTE 12M timecode specified in calls to CNTV2Card::Set...
enum NTV2VPIDLuminance NTV2HDRLuminance
@ NTV2_FORMAT_4x3840x2160p_3000
@ kK2RegShiftSDIOutDS1AudioSelect
This is used to perform virtual data reads or writes.
@ kRegShiftSmpte372Enable4
virtual bool SetQuadQuadFrameEnable(const bool inValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Enables or disables "quad-quad" 8K frame mode on the device.
@ kRegMaskAnalogCompositeLocked
@ kRegMaskSDIIn26GbpsMode
@ kRegMaskSmpte372Enable8
@ kRegMaskInput1GeometryHigh
#define NTV2_IS_VANCMODE_TALL(__v__)
@ kDeviceGetTotalNumAudioSystems
The total number of audio systems on the device, including host audio and mixer audio systems,...
@ kRegRP188InOut5Bits0_31
@ kRegMaskInput2Progressive
@ kRegShiftSDIInTsiMuxSyncFail
NTV2Standard GetNTV2StandardFromVideoFormat(const NTV2VideoFormat inVideoFormat)
virtual bool SetQuadQuadSquaresEnable(const bool inValue, const NTV2Channel inChannel=NTV2_CHANNEL1)
Enables or disables quad-quad-frame (8K) squares mode on the device.
@ kRegMaskVidProcSyncFail
virtual bool ProgramMainFlash(const std::string &inFileName, const bool bInForceUpdate=(0), const bool bInQuiet=(0))
NTV2RegWrites NTV2RegReads
An ordered sequence of zero or more NTV2RegInfo structs intended for ReadRegister.
@ kRegShift2MFrameSupport
@ NTV2_FORMAT_3840x2160p_5000
virtual bool SetAnalogOutHTiming(ULWord inValue)
@ NTV2_FORMAT_4096x2160psf_3000
virtual bool SetReference(const NTV2ReferenceSource inRefSource, const bool inKeepFramePulseSelect=(0))
Sets the device's clock reference source. See Video Output Clocking & Synchronization for more inform...
@ kRegMaskSDIIn712GbpsMode
@ kRegMaskSDIIn7LevelBtoLevelA
#define kRegSarekPackageVersion
virtual bool IsSDStandard(bool &outIsStandardDef, NTV2Channel inChannel=NTV2_CHANNEL1)
@ NTV2_FG_1280x740
1280x720, for 720p, NTV2_VANCMODE_TALL
virtual bool GetDitherFor8BitInputs(const NTV2Channel inChannel, ULWord &outDither)
static bool MakeRouteROMRegisters(NTV2RegReads &outROMRegisters)
Prepares an initialized, zeroed NTV2RegReads that's prepared to read all ROM registers from a device.
@ NTV2_FORMAT_1080p_2K_5000_A
@ NTV2_FRAMERATE_5000
50 frames per second
virtual bool GetNumberActiveLines(ULWord &outNumActiveLines)
virtual bool GetSDIInputIsProgressive(const NTV2Channel channel)
@ kRegShiftSDIWatchdogEnable34
@ kRegMaskSDIIn212GbpsMode
@ kRegMaskSDIIn4LevelBtoLevelA
virtual bool GetLTCInputEnable(bool &outIsEnabled)
Answers true if the device is currently configured to read analog LTC from the reference input connec...
@ NTV2_FORMAT_4x2048x1080psf_2500
@ NTV2_INPUTSOURCE_SDI3
Identifies the 3rd SDI video input.
virtual bool GetRS422BaudRate(const NTV2Channel inSerialPort, NTV2_RS422_BAUD_RATE &outBaudRate)
Answers with the current baud rate of the specified RS422 serial port.
std::string NTV2OutputCrosspointIDToString(const NTV2OutputCrosspointID inValue, const bool inForRetailDisplay=false)
@ NTV2_FG_2048x1556
2048x1556, for 2Kx1556psf film format, NTV2_VANCMODE_OFF
@ kRegRP188InOut3Bits32_63
virtual bool GetRP188Mode(const NTV2Channel inChannel, NTV2_RP188Mode &outMode)
Returns the current RP188 mode – NTV2_RP188_INPUT or NTV2_RP188_OUTPUT – for the given channel.
@ NTV2_REFERENCE_EXTERNAL
Specifies the External Reference connector.
@ NTV2_FRAMERATE_4795
Fractional rate of 48,000 frames per 1,001 seconds.
#define NTV2_IS_TSI_FORMAT(__f__)
virtual bool SetPulldownMode(NTV2Channel inChannel, bool inValue)
@ kRegMaskMRFrameLocation
@ NTV2_FRAMERATE_3000
30 frames per second
virtual bool GetSDIWatchdogStatus(NTV2RelayState &outValue)
Answers if the watchdog timer would put the SDI relays into NTV2_DEVICE_BYPASSED or NTV2_THROUGH_DEVI...
@ kLHIRegShiftSDIOut3GbpsMode
@ kRegMaskSDIRelayPosition12
@ kRegShiftSDIIn43GbpsSMPTELevelBMode
virtual NTV2VideoFormat GetSDIInputVideoFormat(NTV2Channel inChannel, bool inIsProgressive=(0))
Returns the video format of the signal that is present on the given SDI input source.
static const ULWord sSDIXmitEnableMasks[]
#define xHEX0N(__x__, __n__)
virtual bool GetSDIOutRGBLevelAConversion(const UWord inOutputSpigot, bool &outIsEnabled)
Answers with the device's current RGB-over-3G-level-A conversion at the given SDI output spigot (assu...
@ kRegOutputTimingControl
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
@ kRegShiftDitherOn8BitInput
@ kRegShiftSDIIn83GbpsSMPTELevelBMode
virtual bool GetNominalMinMaxHV(int &outNominalH, int &outMinH, int &outMaxH, int &outNominalV, int &outMinV, int &outMaxV)
virtual bool SetDualLinkOutputEnable(const bool inIsEnabled)
virtual bool GetRunningFirmwareRevision(UWord &outRevision)
Reports the revision number of the currently-running firmware.
@ NTV2_FG_4x3840x2160
7680x4320, for UHD2, NTV2_VANCMODE_OFF
virtual bool SetAlphaFromInput2Bit(ULWord inValue)
@ kRegShiftSDIIn63GbpsMode
@ NTV2_FORMAT_1080psf_2997_2
@ NTV2_RS422_PARITY_INVALID
bool SetBitFile(const std::string &inBitfileName, std::ostream &outMsgs, const FlashBlockID blockNumber=AUTO_FLASHBLOCK)
@ NTV2_REFERENCE_INPUT8
Specifies the SDI In 8 connector.
@ kRegMaskSDIIn83GbpsMode
virtual bool GetEnabledChannels(NTV2ChannelSet &outChannels)
Answers with the set of channels that are currently enabled.
#define NTV2_IS_VALID_VANCMODE(__v__)
@ NTV2_FORMAT_4x4096x2160p_5994
@ NTV2_FORMAT_4x2048x1080p_2400
@ kRegMaskVidProcRGBModeSupported
virtual bool SetRegisterWriteMode(const NTV2RegisterWriteMode inValue, const NTV2Channel inFrameStore=NTV2_CHANNEL1)
Sets the FrameStore's NTV2RegisterWriteMode, which determines when CNTV2Card::SetInputFrame or CNTV2C...
NTV2MixerKeyerMode
These enum values identify the mixer mode.
virtual bool EnableChannel(const NTV2Channel inChannel)
Enables the given FrameStore.
virtual NTV2FrameGeometry GetSDIInputGeometry(const NTV2Channel channel)
@ NTV2_FORMAT_1080p_2K_4800_B
@ kRegShiftSDIIn112GbpsMode
static const ULWord gChlToRP188Bits3263RegNum[]
@ NTV2_REFERENCE_HDMI_INPUT3
Specifies the HDMI In 3 connector.
virtual bool IsStandardMultiLink4320(void) const
@ NTV2_STANDARD_7680
Identifies UHD2.
virtual bool GetSmpte372(ULWord &outValue, NTV2Channel inChannel=NTV2_CHANNEL1)
Returns the device's current SMPTE-372 (dual-link) mode, whether it's enabled or not.
@ NTV2_FORMAT_4x1920x1080p_2400
Declares the CNTV2RegisterExpert class.
@ kRegMaskSDIInUnlockCount
@ NTV2_FORMAT_4x1920x1080psf_2400
virtual bool GetTsiFrameEnable(bool &outIsEnabled, const NTV2Channel inChannel)
Returns the current SMPTE 425 two-sample-interleave frame mode on the device, whether it's enabled or...
@ kRegMaskSDIIn3GbpsSMPTELevelBMode
@ NTV2_FG_1920x1080
1920x1080, for 1080i and 1080p, NTV2_VANCMODE_OFF
virtual bool WriteRegister(const ULWord inRegNum, const ULWord inValue, const ULWord inMask=0xFFFFFFFF, const ULWord inShift=0)
Updates or replaces all or part of the 32-bit contents of a specific register (real or virtual) on th...
static const ULWord gChannelToRS422ControlRegNum[]
NTV2_RS422_BAUD_RATE
These enum values identify RS-422 serial port baud rate configuration.
@ kRegShiftSmpte372Enable8
@ NTV2_FORMAT_1080psf_2500_2
@ kDeviceGetNumSerialPorts
The number of RS-422 serial ports on the device.
static const ULWord gChannelToSDIInputStatusRegNum[]
@ kRegShiftQuarterSizeMode
static bool GetPossibleConnections(const NTV2RegReads &inROMRegisters, NTV2PossibleConnections &outConnections)
Answers with the implemented crosspoint connections as obtained from the given ROM registers.
virtual bool SetEncodeAsPSF(NTV2Channel inChannel, NTV2EncodeAsPSF inValue)
@ DEVICE_ID_KONALHI
See KONA LHi.
virtual bool ReadSDIStatistics(NTV2SDIInStatistics &outStats)
For devices that support it (see the NTV2DeviceCanDoSDIErrorChecks function in "ntv2devicefeatures....
@ NTV2_FORMAT_3840x2160p_2400
virtual bool GetSDIInput3GbPresent(bool &outValue, const NTV2Channel channel)
@ kRegShiftSDIIn6LevelBtoLevelA
@ kRegRP188InOut8Bits0_31
virtual bool GetMixerCoefficient(const UWord inWhichMixer, ULWord &outMixCoefficient)
Returns the current mix coefficient the given mixer/keyer.
@ kRegShiftSDIIn83GbpsMode
virtual bool GetTransmitSDIs(NTV2ChannelSet &outXmitSDIs)
Answers with the transmitting/output SDI connectors.
@ kRegShiftFramePulseEnable
@ kRegMaskSDIIn412GbpsMode
enum NTV2VideoFrameBufferOrientation NTV2FBOrientation
@ kDeviceCanDoMultiFormat
True if device can simultaneously handle different video formats on more than one SDI input or output...
@ kRegMaskAnalogCompositeFormat625
virtual bool SetSDIOutLevelAtoLevelBConversion(const UWord inOutputSpigot, const bool inEnable)
Enables or disables 3G level A to 3G level B conversion at the SDI output widget (assuming the AJA de...
@ NTV2_STANDARD_3840i
Identifies Ultra-High-Definition (UHD) psf.
@ kRegShiftSDIIn212GbpsMode
virtual bool BankSelectWriteRegister(const NTV2RegInfo &inBankSelect, const NTV2RegInfo &inRegInfo)
Writes the given set of registers to the bank specified at position 0.
Declares the AJADebug class.
@ NTV2_FORMAT_3840x2160p_3000
@ kRegMaskSDIIn66GbpsMode
@ kRegShiftSDIInCRCErrorCountA
@ NTV2_FORMAT_1080psf_2400
@ kDeviceGetNumLTCOutputs
The number of analog LTC outputs on the device.
@ kRegShiftInput1Progressive
virtual bool SetVideoVOffset(const int inVOffset, const UWord inOutputSpigot=0)
Adjusts the vertical timing offset, in lines, for the given SDI output connector.
#define NTV2_IS_PROGRESSIVE_STANDARD(__s__)
@ kRegMaskSDIIn6LevelBtoLevelA
virtual bool GetAlphaFromInput2Bit(ULWord &outValue)
@ NTV2_FORMAT_4096x2160p_5994
@ kRegShiftVidProcFGMatteEnable
virtual bool ReadLineCount(ULWord &outValue)
Answers with the line offset into the frame currently being read (NTV2_MODE_DISPLAY) or written (NTV2...
@ kDeviceGetNumLTCInputs
The number of analog LTC inputs on the device.
@ NTV2_REFERENCE_SFP1_PCR
Specifies the PCR source on SFP 1.
@ kRegMaskQuarterSizeMode
@ kRegShiftDualLinKOutput
virtual bool GetFrameBufferOrientation(const NTV2Channel inChannel, NTV2FBOrientation &outValue)
Answers with the current frame buffer orientation for the given NTV2Channel.
@ kRegMaskRS422ParitySense
@ NTV2_FORMAT_4x2048x1080psf_2997
@ kRegMaskVidProcFGMatteEnable
static const ULWord gChannelToSDIIn12GModeMask[]
@ NTV2_VIDEOLIMITING_OFF
Disables normal FrameBuffer Y/C value read limiting (NOT RECOMMENDED).
@ kRegMaskSDIIn83GbpsSMPTELevelBMode
@ NTV2_AUDIOSYSTEM_INVALID
@ NTV2_FORMAT_1080p_2K_2997
@ kRegShiftFrameOrientation
virtual bool GetFrameBufferQuality(NTV2Channel inChannel, NTV2FrameBufferQuality &outValue)
static const ULWord gChannelToRP188ModeGCRegisterNum[]