|
AJA NTV2 SDK
17.0.1.1246
NTV2 SDK 17.0.1.1246
|
Go to the documentation of this file.
8 #ifndef NTV2PUBLICINTERFACE_H
9 #define NTV2PUBLICINTERFACE_H
13 #if !defined(NTV2_BUILDING_DRIVER)
24 #if defined(MSWindows)
25 #pragma warning(disable:4800) // int/bool conversion
26 #pragma warning(disable:4127) // Stop MSVC from bitching about "do{...}while(false)" macros
28 #endif // user-space clients only
30 #if defined (MSWindows)
32 #elif defined (AJAMac)
33 #pragma GCC diagnostic ignored "-Wunused-private-field"
36 #if !defined (NTV2_BUILDING_DRIVER)
56 #endif // NTV2_BUILDING_DRIVER
59 #if !defined (NTV2_BUILDING_DRIVER)
61 #define NTV2_RPC_ENCODE_DECL bool RPCEncode (NTV2_RPC_BLOB_TYPE & outBlob);
62 #define NTV2_RPC_DECODE_DECL bool RPCDecode (const NTV2_RPC_BLOB_TYPE & inBlob, size_t & inOutIndex);
64 #define NTV2_RPC_CODEC_DECLS NTV2_RPC_ENCODE_DECL \
67 #define NTV2_RPC_CODEC_DECLS
68 #endif // NTV2_BUILDING_DRIVER
667 #define kRegCh1ColorCorrectioncontrol kRegCh1ColorCorrectionControl // CamelCase fixed in SDK 16.0
668 #define kRegCh2ColorCorrectioncontrol kRegCh2ColorCorrectionControl // CamelCase fixed in SDK 16.0
1058 #define NTV2_HDMIAuxMaxFrames 8
1059 #define NTV2_HDMIAuxDataSize 32
3278 #define NWL_REG_START 18000
3280 #define NWL_REG_START 0
3454 #define XLNX_MAX_CHANNELS 4
3455 #define XLNX_REG_TARGET_SIZE 0x400
3456 #define XLNX_REG_CHANNEL_SIZE 0x40
3457 #define XLNX_SUBSYSTEM_ID 0x1fc
3641 #define kTransferFlagVideoDMA1 (BIT(0)) // use dma channel 1 for video transfer
3642 #define kTransferFlagVideoDMA2 (BIT(1)) // use dma channel 2 for video transfer
3643 #define kTransferFlagVideoDMA3 (BIT(2)) // use dma channel 3 for video tranfer
3644 #define kTransferFlagVideoDMA4 (BIT(3)) // use dma channel 4 for video transfer
3645 #define kTransferFlagVideoDMAAny (BIT(0)+BIT(1)+BIT(2)+BIT(3))
3646 #define kTransferFlagAudioDMA1 (BIT(4)) // use dma channel 1 for audio transfer
3647 #define kTransferFlagAudioDMA2 (BIT(5)) // use dma channel 2 for audio transfer
3648 #define kTransferFlagAudioDMA3 (BIT(6)) // use dma channel 3 for audio transfer
3649 #define kTransferFlagAudioDMA4 (BIT(7)) // use dma channel 4 for audio transfer
3650 #define kTransferFlagAudioDMAAny (BIT(4)+BIT(5)+BIT(6)+BIT(7))
3651 #define kTransferFlagDMAAny (BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7))
3652 #define kTransferFlagQuadFrame (BIT(8)) // transfer a quad hd or 4k frame
3653 #define kTransferFlagP2PPrepare (BIT(9)) // prepare p2p target for synchronous transfer (no message)
3654 #define kTransferFlagP2PComplete (BIT(10)) // complete synchronous p2p transfer
3655 #define kTransferFlagP2PTarget (BIT(11)) // prepare p2p target for asynchronous transfer (with message)
3656 #define kTransferFlagP2PTransfer (BIT(12)) // transfer to p2p sync or async target
3658 #define MAX_FRAMEBUFFERS 512 // Max for Corvid88
3660 #define KONAIP_REGS_START 0x40000
3667 #define XENA2_CHANNEL2_OFFSET (0x2000000) // 32 MBytes..not applicable
3670 #define XENA2_FRAMEBUFFER_SIZE (0x800000) // 8 MBytes
3674 #define XENA2_NUM_FRAMEBUFFERS (16)
3675 #define XENA2_NTV2_VERTICALINTERRUPT_GLOBAL_EVENT_NAME "_Xena2VerticalInterruptSignalEvent"
3679 #define KHD_NTV2_CHANGE_GLOBAL_EVENT_NAME "_HDChangeSignalEvent"
3685 #define NTV2_MIN_FRAMEBUFFERSIZE KSD_FRAMEBUFFER_SIZE
3686 #define NTV2_MAX_FRAMEBUFFERSIZE KHD_FRAMEBUFFER_SIZE
3687 #define NTV2_MIN_FRAMEBUFFERS HDNTV_NUM_FRAMEBUFFERS
3689 #define NTV2_MAX_FRAMEBUFFERS MAX_FRAMEBUFFERS
3691 #define NTV2_MAX_FRAMEBUFFERS BONES_NUM_FRAMEBUFFERS
3694 #define NTV2_UART_FIFO_SIZE (127)
3696 #define NTV2_PROGRAM_READY_BIT ( BIT_8 )
3697 #define NTV2_PROGRAM_DONE_BIT ( BIT_9 )
3698 #define NTV2_PROGRAM_RESET_BIT ( BIT_10 )
3701 #define NTV2_FS1_FALLBACK_MODE_BIT ( BIT_11 )
3704 #define NTV2_FS1_CPLD_ENH_MODE_BIT ( BIT_12 )
3762 #define MAX_NUM_EVENT_CODES (eNumInterruptTypes)
3763 #define NTV2_IS_VALID_INTERRUPT_ENUM(__e__) ((__e__) >= eOutput1 && (__e__) < eNumInterruptTypes)
3764 #define NTV2_IS_INPUT_INTERRUPT(__e__) ( (__e__) == eInput1 \
3765 || (__e__) == eInput2 \
3766 || (__e__) == eInput3 \
3767 || (__e__) == eInput4 \
3768 || (__e__) == eInput5 \
3769 || (__e__) == eInput6 \
3770 || (__e__) == eInput7 \
3771 || (__e__) == eInput8 )
3773 #define NTV2_IS_OUTPUT_INTERRUPT(__e__) ( (__e__) == eOutput1 \
3774 || (__e__) == eOutput2 \
3775 || (__e__) == eOutput3 \
3776 || (__e__) == eOutput4 \
3777 || (__e__) == eOutput5 \
3778 || (__e__) == eOutput6 \
3779 || (__e__) == eOutput7 \
3780 || (__e__) == eOutput8 )
3793 #if !defined (NTV2_BUILDING_DRIVER)
3894 #endif // !defined (NTV2_BUILDING_DRIVER)
3907 #if !defined(NTV2_BUILDING_DRIVER)
3963 AJAExport std::ostream &
Print (std::ostream & outputStream,
const bool inAsCode =
false)
const;
3973 #endif // not NTV2_BUILDING_DRIVER
3979 #if !defined (NTV2_BUILDING_DRIVER)
4010 #endif // !defined (NTV2_BUILDING_DRIVER)
4019 #if !defined (NTV2_BUILDING_DRIVER)
4021 #endif // !defined (NTV2_BUILDING_DRIVER)
4024 #define MAX_ROUTING_ENTRIES 32
4056 #if !defined(NTV2_BUILDING_DRIVER)
4059 #endif // user-space clients only
4063 #define RP188_STRUCT_SET(_struct_,_dbb_,_lo_,_hi_) do \
4065 (_struct_).DBB = (_dbb_); \
4066 (_struct_).Low = (_lo_); \
4067 (_struct_).High = (_hi_); \
4070 #define RP188_PSTRUCT_SET(_pStruct_,_dbb_,_lo_,_hi_) do \
4072 (_pStruct_)->DBB = (_dbb_); \
4073 (_pStruct_)->Low = (_lo_); \
4074 (_pStruct_)->High = (_hi_); \
4078 #define RP188_FRAMEUNITS_MASK 0x0000000F // Frames (units digit) in bits 3- 0 of .Low word
4079 #define RP188_FRAMETENS_MASK 0x00000300 // Frames (tens digit) in bits 9- 8 of .Low word
4080 #define RP188_SECONDUNITS_MASK 0x000F0000 // Seconds (units digit) in bits 19-16 of .Low word
4081 #define RP188_SECONDTENS_MASK 0x07000000 // Seconds (tens digit) in bits 26-24 of .Low word
4082 #define RP188_LOW_TIME_MASK (RP188_FRAMEUNITS_MASK | RP188_FRAMETENS_MASK | RP188_SECONDUNITS_MASK | RP188_SECONDTENS_MASK)
4084 #define RP188_MINUTESUNITS_MASK 0x0000000F // Minutes (units digit) in bits 3- 0 of .High word
4085 #define RP188_MINUTESTENS_MASK 0x00000700 // Minutes (tens digit) in bits 10- 8 of .High word
4086 #define RP188_HOURUNITS_MASK 0x000F0000 // Hours (units digit) in bits 19-16 of .High word
4087 #define RP188_HOURTENS_MASK 0x03000000 // Hours (tens digit) in bits 25-24 of .High word
4088 #define RP188_HIGH_TIME_MASK (RP188_MINUTESUNITS_MASK | RP188_MINUTESTENS_MASK | RP188_HOURUNITS_MASK | RP188_HOURTENS_MASK)
4091 #define NEW_RP188_RCVD 0x00010000 // new RP188 data was received on ANY of the channels (LTC, VITC, etc.) (capture only)
4092 #define NEW_SELECT_RP188_RCVD 0x00020000 // new RP188 data was received on the selected channel (capture only)
4093 #define RP188_720P_FRAMEID 0x00400000 // 720p FrameID (capture only - set by driver software)
4094 #define RP188_CHANGED_FLAG 0x00800000 // RP188 data changed compared to last frame (capture only - set by driver software)
4102 #define NTV2_COLORCORRECTOR_WORDSPERTABLE (512) // number of ULONG words in EACH color table
4103 #define NTV2_COLORCORRECTOR_TOTALWORDS (NTV2_COLORCORRECTOR_WORDSPERTABLE * 3) // total number of ULONG words in all 3 tables
4104 #define NTV2_COLORCORRECTOR_TABLESIZE (NTV2_COLORCORRECTOR_TOTALWORDS * 4) // total length in bytes of all 3 tables: numWords * numColors * bytes/word
4108 #define NTV2_12BIT_COLORCORRECTOR_WORDSPERTABLE (2048) // number of ULONG words in EACH color table
4109 #define NTV2_12BIT_COLORCORRECTOR_TOTALWORDS (NTV2_12BIT_COLORCORRECTOR_WORDSPERTABLE * 3) // total number of ULONG words in all 3 tables
4110 #define NTV2_12BIT_COLORCORRECTOR_TABLESIZE (NTV2_12BIT_COLORCORRECTOR_TOTALWORDS * 4) // total length in bytes of all 3 tables: numWords * numColors * bytes/word
4136 #define kRegColorCorrectionLUTOddShift 22
4137 #define kRegColorCorrectionLUTEvenShift 6
4141 #define kColorCorrectionLUTOffset_Red (0x0800)
4142 #define kColorCorrectionLUTOffset_Green (0x1000)
4143 #define kColorCorrectionLUTOffset_Blue (0x1800)
4146 #define kRegColorCorrection12BitLUTOddShift 16
4147 #define kRegColorCorrection12BitLUTEvenShift 0
4149 #define kRegColorCorrection10To12BitLUTOddShift 18
4150 #define kRegColorCorrection10To12BitLUTEvenShift 2
4154 #define kColorCorrectionLUTOffset_Base (0x0800) // BYTE offset
4155 #define kColorCorrection12BitLUTOffset_Base (0xe000) // BYTE offset
4171 #define NTV2_IS_VALID_AUTOCIRCVIDPROCMODE(__m__) ((__m__) >= AUTOCIRCVIDPROCMODE_MIX && (__m__) < AUTOCIRCVIDPROCMODE_INVALID)
4185 #if !defined (NTV2_BUILDING_DRIVER)
4189 #endif // user-space clients only
4204 #define OBSOLETE_ANC_STRUCT CUSTOM_ANC_STRUCT
4233 #define NTV2_IS_AUTO_CIRC_XFER_CMD(__m__) ((__m__) == eTransferAutoCirculate && (__m__) == eTransferAutoCirculateEx && (__m__) == eTransferAutoCirculateEx2)
4251 #define NTV2_IS_VALID_AUTO_CIRC_STATE(__m__) ((__m__) >= NTV2_AUTOCIRCULATE_DISABLED && (__m__) < NTV2_AUTOCIRCULATE_INVALID)
4265 #define NTV2_IS_VALID_TASK_MODE(__m__) ((__m__) == NTV2_DISABLE_TASKS || (__m__) == NTV2_STANDARD_TASKS || (__m__) == NTV2_OEM_TASKS)
4266 #define NTV2_IS_STANDARD_TASKS(__m__) ((__m__) == NTV2_STANDARD_TASKS)
4267 #define NTV2_IS_DRIVER_ACTIVE_TASKS(__m__) ((__m__) == NTV2_STANDARD_TASKS || (__m__) == NTV2_OEM_TASKS)
4278 #pragma pack(4) // removes 64 bit alignment on non-64 bit fields
4303 #if !defined (NTV2_BUILDING_DRIVER)
4305 #endif // !defined (NTV2_BUILDING_DRIVER)
4364 #if !defined (NTV2_BUILDING_DRIVER)
4368 #endif // user-space clients only
4484 #if !defined (NTV2_BUILDING_DRIVER)
4487 #endif // user-space clients only
4577 #if !defined (NTV2_BUILDING_DRIVER)
4580 #endif // user-space clients only
4637 #define AUTOCIRCULATE_TASK_VERSION 0x00000001
4638 #define AUTOCIRCULATE_TASK_MAX_TASKS 128
4654 #define NTV2_IS_VALID_TASK_TYPE(_x_) ((_x_) > eAutoCircTaskNone && (_x_) < MAX_NUM_AutoCircTaskTypes)
4656 #define NTV2_IS_REGISTER_READ_TASK(_x_) ((_x_) == eAutoCircTaskRegisterRead)
4657 #define NTV2_IS_REGISTER_WRITE_TASK(_x_) ((_x_) == eAutoCircTaskRegisterWrite)
4658 #define NTV2_IS_REGISTER_TASK(_x_) (NTV2_IS_REGISTER_WRITE_TASK (_x_) || NTV2_IS_REGISTER_READ_TASK (_x_))
4660 #define NTV2_IS_TIMECODE_READ_TASK(_x_) ((_x_) == eAutoCircTaskTimeCodeRead)
4661 #define NTV2_IS_TIMECODE_WRITE_TASK(_x_) ((_x_) == eAutoCircTaskTimeCodeWrite)
4662 #define NTV2_IS_TIMECODE_TASK(_x_) (NTV2_IS_TIMECODE_WRITE_TASK (_x_) || NTV2_IS_TIMECODE_READ_TASK (_x_))
4704 #if !defined (NTV2_BUILDING_DRIVER)
4708 #endif // user-space clients only
4735 #if !defined (NTV2_BUILDING_DRIVER)
4738 #endif // user-space clients only
4756 #define NTV2_BITFILE_DATETIME_STRINGLENGTH (16)
4757 #define NTV2_BITFILE_DESIGNNAME_STRINGLENGTH (100)
4758 #define NTV2_BITFILE_PARTNAME_STRINGLENGTH (16)
4761 #define NTV2_BITFILE_STRUCT_VERSION (4)
4770 #define NTV2_BITFILE_RESERVED_ULWORDS (234) // added whichFPGA
4882 #define NTV2_BUILD_STRINGLENGTH (1024)
4883 #define NTV2_BUILD_STRUCT_VERSION (0)
4885 #define NTV2_BUILD_RESERVED_BYTES (1016)
4898 #pragma options align=reset
4933 #if !defined(R2_DEPRECATED)
5012 #endif //R2_DEPRECATED
5062 #define KONA_DEBUGFILTER_STRINGLENGTH 128
5330 #if defined(__CPLUSPLUS__) || defined(__cplusplus)
5331 #define NTV2DriverVersionEncode(__maj__, __min__, __pt__, __bld__) ((ULWord(__maj__) & 0x0000007F) << 22) \
5332 | ((ULWord(__min__) & 0x0000003F) << 16) \
5333 | ((ULWord(__pt__ ) & 0x0000003F) << 10) \
5334 | ((ULWord(__bld__) & 0x000003FF) << 0)
5335 #define NTV2DriverVersionDecode_Major(__vers__) ((ULWord(__vers__) >> 22) & 0x0000007F)
5336 #define NTV2DriverVersionDecode_Minor(__vers__) ((ULWord(__vers__) >> 16) & 0x0000003F)
5337 #define NTV2DriverVersionDecode_Point(__vers__) ((ULWord(__vers__) >> 10) & 0x0000003F)
5338 #define NTV2DriverVersionDecode_Build(__vers__) ((ULWord(__vers__) >> 0) & 0x000003FF)
5340 #define NTV2DriverVersionEncode(__maj__, __min__, __pt__, __bld__) (((ULWord)(__maj__) & 0x0000007F) << 22) \
5341 | (((ULWord)(__min__) & 0x0000003F) << 16) \
5342 | (((ULWord)(__pt__ ) & 0x0000003F) << 10) \
5343 | (((ULWord)(__bld__) & 0x000003FF) << 0)
5344 #define NTV2DriverVersionDecode_Major(__vers__) (((ULWord)(__vers__) >> 22) & 0x0000007F)
5345 #define NTV2DriverVersionDecode_Minor(__vers__) (((ULWord)(__vers__) >> 16) & 0x0000003F)
5346 #define NTV2DriverVersionDecode_Point(__vers__) (((ULWord)(__vers__) >> 10) & 0x0000003F)
5347 #define NTV2DriverVersionDecode_Build(__vers__) (((ULWord)(__vers__) >> 0) & 0x000003FF)
5349 #define NTV2DriverVersionBuildTypeToOrdinal(__ch__) ((__ch__) == 'd' ? 3UL : ((__ch__) == 'a' ? 2UL : ((__ch__) == 'b' ? 1UL : 0UL)))
5350 #define NTV2DriverVersionEncodedBuildType (NTV2DriverVersionBuildTypeToOrdinal(AJA_NTV2_SDK_BUILD_TYPE[0]) << 30)
5353 #define NTV2SDKVersionEncode NTV2DriverVersionEncode
5354 #define NTV2SDKVersionDecode_Major NTV2DriverVersionDecode_Major
5355 #define NTV2SDKVersionDecode_Minor NTV2DriverVersionDecode_Minor
5356 #define NTV2SDKVersionDecode_Point NTV2DriverVersionDecode_Point
5357 #define NTV2SDKVersionDecode_Build NTV2DriverVersionDecode_Build
5362 #if AJATargetBigEndian
5363 #if defined(__CPLUSPLUS__) || defined(__cplusplus)
5364 #define NTV2_4CC(_str_) ( (uint32_t((UByte*(_str_))[0]) << 0) | \
5365 (uint32_t((UByte*(_str_))[1]) << 8) | \
5366 (uint32_t((UByte*(_str_))[2]) << 16) | \
5367 (uint32_t((UByte*(_str_))[3]) << 24))
5369 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( ((uint32_t(_a_)) << 0) | \
5370 ((uint32_t(_b_)) << 8) | \
5371 ((uint32_t(_c_)) << 16) | \
5372 ((uint32_t(_d_)) << 24))
5373 #if !defined (NTV2_BUILDING_DRIVER)
5374 #define NTV2_4CC_AS_STRING(_x_) std::string (1, ((_x_) & 0x000000FF) >> 0) + \
5375 std::string (1, ((_x_) & 0x0000FF00) >> 8) + \
5376 std::string (1, ((_x_) & 0x00FF0000) >> 16) + \
5377 std::string (1, ((_x_) & 0xFF000000) >> 24)
5378 #endif // !defined (NTV2_BUILDING_DRIVER)
5380 #define NTV2_4CC(_str_) ( ((uint32_t)(((UByte *)(_str_))[0]) << 0) | \
5381 ((uint32_t)(((UByte *)(_str_))[1]) << 8) | \
5382 ((uint32_t)(((UByte *)(_str_))[2]) << 16) | \
5383 ((uint32_t)(((UByte *)(_str_))[3]) << 24))
5385 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( (((uint32_t)(_a_)) << 0) | \
5386 (((uint32_t)(_b_)) << 8) | \
5387 (((uint32_t)(_c_)) << 16) | \
5388 (((uint32_t)(_d_)) << 24))
5391 #if defined(__CPLUSPLUS__) || defined(__cplusplus)
5392 #define NTV2_4CC(_str_) ( (uint32_t((UByte*(_str_))[3]) << 0) | \
5393 (uint32_t((UByte*(_str_))[2]) << 8) | \
5394 (uint32_t((UByte*(_str_))[1]) << 16) | \
5395 (uint32_t((UByte*(_str_))[0]) << 24))
5397 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( ((uint32_t(_a_)) << 24) | \
5398 ((uint32_t(_b_)) << 16) | \
5399 ((uint32_t(_c_)) << 8) | \
5400 ((uint32_t(_d_)) << 0) )
5401 #if !defined (NTV2_BUILDING_DRIVER)
5402 #define NTV2_4CC_AS_STRING(_x_) std::string(1, char((uint32_t(_x_) & 0xFF000000) >> 24)) + \
5403 std::string(1, char((uint32_t(_x_) & 0x00FF0000) >> 16)) + \
5404 std::string(1, char((uint32_t(_x_) & 0x0000FF00) >> 8)) + \
5405 std::string(1, char((uint32_t(_x_) & 0x000000FF) >> 0))
5406 #endif // !defined (NTV2_BUILDING_DRIVER)
5408 #define NTV2_4CC(_str_) ( ((uint32_t)(((UByte *)(_str_))[3]) << 0) | \
5409 ((uint32_t)(((UByte *)(_str_))[2]) << 8) | \
5410 ((uint32_t)(((UByte *)(_str_))[1]) << 16) | \
5411 ((uint32_t)(((UByte *)(_str_))[0]) << 24))
5413 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( (((uint32_t)(_a_)) << 24) | \
5414 (((uint32_t)(_b_)) << 16) | \
5415 (((uint32_t)(_c_)) << 8) | \
5416 (((uint32_t)(_d_)) << 0) )
5418 #endif // else Little-Endian
5421 #define NTV2_CURRENT_HEADER_VERSION 0
5422 #define NTV2_CURRENT_TRAILER_VERSION 0
5424 #define AUTOCIRCULATE_STRUCT_VERSION 0
5426 #define NTV2_HEADER_TAG NTV2_FOURCC ('N', 'T', 'V', '2')
5427 #define NTV2_TRAILER_TAG NTV2_FOURCC ('n', 't', 'v', '2')
5429 #define NTV2_IS_VALID_HEADER_TAG(_x_) ((_x_) == NTV2_HEADER_TAG)
5430 #define NTV2_IS_VALID_TRAILER_TAG(_x_) ((_x_) == NTV2_TRAILER_TAG)
5432 #define NTV2_TYPE_VIRTUAL_DATA_RW NTV2_FOURCC ('v', 'd', 'a', 't')
5433 #define NTV2_TYPE_BANKGETSET NTV2_FOURCC ('b', 'n', 'k', 'S')
5434 #define NTV2_TYPE_ACSTATUS NTV2_FOURCC ('s', 't', 'a', 't')
5435 #define NTV2_TYPE_ACXFER NTV2_FOURCC ('x', 'f', 'e', 'r')
5436 #define NTV2_TYPE_ACXFERSTATUS NTV2_FOURCC ('x', 'f', 's', 't')
5437 #define NTV2_TYPE_ACTASK NTV2_FOURCC ('t', 'a', 's', 'k')
5438 #define NTV2_TYPE_ACFRAMESTAMP NTV2_FOURCC ('s', 't', 'm', 'p')
5439 #define NTV2_TYPE_GETREGS NTV2_FOURCC ('r', 'e', 'g', 'R')
5440 #define NTV2_TYPE_SETREGS NTV2_FOURCC ('r', 'e', 'g', 'W')
5441 #define NTV2_TYPE_SDISTATS NTV2_FOURCC ('s', 'd', 'i', 'S')
5442 #define NTV2_TYPE_AJADEBUGLOGGING NTV2_FOURCC ('d', 'b', 'l', 'g')
5443 #define NTV2_TYPE_AJABUFFERLOCK NTV2_FOURCC ('b', 'f', 'l', 'k')
5444 #define NTV2_TYPE_AJABITSTREAM NTV2_FOURCC ('b', 't', 's', 't')
5445 #define NTV2_TYPE_AJADMASTREAM NTV2_FOURCC ('d', 'm', 's', 't')
5446 #define NTV2_TYPE_AJASTREAMCHANNEL NTV2_FOURCC ('s', 't', 'c', 'h')
5447 #define NTV2_TYPE_AJASTREAMBUFFER NTV2_FOURCC ('s', 't', 'b', 'u')
5448 #if defined(NTV2_DEPRECATE_16_3)
5449 #define AUTOCIRCULATE_TYPE_STATUS NTV2_TYPE_ACSTATUS
5450 #define AUTOCIRCULATE_TYPE_XFER NTV2_TYPE_ACXFER
5451 #define AUTOCIRCULATE_TYPE_XFERSTATUS NTV2_TYPE_ACXFERSTATUS
5452 #define AUTOCIRCULATE_TYPE_TASK NTV2_TYPE_ACTASK
5453 #define AUTOCIRCULATE_TYPE_FRAMESTAMP NTV2_TYPE_ACFRAMESTAMP
5454 #define AUTOCIRCULATE_TYPE_GETREGS NTV2_TYPE_GETREGS
5455 #define AUTOCIRCULATE_TYPE_SETREGS NTV2_TYPE_SETREGS
5456 #define AUTOCIRCULATE_TYPE_SDISTATS NTV2_TYPE_SDISTATS
5457 #endif // defined(NTV2_DEPRECATE_16_3)
5459 #define NTV2_IS_VALID_STRUCT_TYPE(_x_) ( (_x_) == NTV2_TYPE_ACSTATUS || \
5460 (_x_) == NTV2_TYPE_ACXFER || \
5461 (_x_) == NTV2_TYPE_ACXFERSTATUS || \
5462 (_x_) == NTV2_TYPE_ACTASK || \
5463 (_x_) == NTV2_TYPE_ACFRAMESTAMP || \
5464 (_x_) == NTV2_TYPE_GETREGS || \
5465 (_x_) == NTV2_TYPE_SETREGS || \
5466 (_x_) == NTV2_TYPE_SDISTATS || \
5467 (_x_) == NTV2_TYPE_BANKGETSET || \
5468 (_x_) == NTV2_TYPE_VIRTUAL_DATA_RW || \
5469 (_x_) == NTV2_TYPE_AJADEBUGLOGGING || \
5470 (_x_) == NTV2_TYPE_AJABUFFERLOCK || \
5471 (_x_) == NTV2_TYPE_AJABITSTREAM || \
5472 (_x_) == NTV2_TYPE_AJADMASTREAM)
5475 #define NTV2Buffer_ALLOCATED BIT(0)
5476 #define NTV2Buffer_PAGE_ALIGNED BIT(1)
5477 #define NTV2Buffer_SHARED BIT(2)
5478 #define NTV2Buffer_SHARED_GLOBAL BIT(4)
5481 #define NTV2Buffer_TO_ULWORD64(__p__) ((sizeof(int*) == 4) ? (ULWord64(ULWord64(__p__) << 32) | 0x00000000BAADF00D) : ULWord64(__p__))
5482 #if !defined(NTV2_DEPRECATE_17_0)
5483 #define NTV2_POINTER_ALLOCATED NTV2Buffer_ALLOCATED
5484 #define NTV2_POINTER_PAGE_ALIGNED NTV2Buffer_PAGE_ALIGNED
5485 #define NTV2_POINTER_TO_ULWORD64(_p_) NTV2Buffer_TO_ULWORD64(_p_)
5486 #endif // defined(NTV2_DEPRECATE_17_0)
5490 #define AUTOCIRCULATE_WITH_RP188 BIT(0)
5491 #define AUTOCIRCULATE_WITH_LTC BIT(1)
5492 #define AUTOCIRCULATE_WITH_FBFCHANGE BIT(2)
5493 #define AUTOCIRCULATE_WITH_FBOCHANGE BIT(3)
5494 #define AUTOCIRCULATE_WITH_COLORCORRECT BIT(4)
5495 #define AUTOCIRCULATE_WITH_VIDPROC BIT(5)
5496 #define AUTOCIRCULATE_WITH_ANC BIT(6)
5497 #define AUTOCIRCULATE_WITH_AUDIO_CONTROL BIT(7)
5498 #define AUTOCIRCULATE_WITH_FIELDS BIT(8)
5499 #define AUTOCIRCULATE_WITH_HDMIAUX BIT(9)
5500 #define AUTOCIRCULATE_WITH_MULTILINK_AUDIO1 BIT(10)
5501 #define AUTOCIRCULATE_WITH_MULTILINK_AUDIO2 BIT(11)
5502 #define AUTOCIRCULATE_WITH_MULTILINK_AUDIO3 BIT(12)
5504 #define AUTOCIRCULATE_FRAME_FULL BIT(20)
5505 #define AUTOCIRCULATE_FRAME_FIELD0 BIT(21)
5506 #define AUTOCIRCULATE_FRAME_FIELD1 BIT(22)
5508 #define AUTOCIRCULATE_P2P_PREPARE BIT(28)
5509 #define AUTOCIRCULATE_P2P_COMPLETE BIT(29)
5510 #define AUTOCIRCULATE_P2P_TARGET BIT(30)
5511 #define AUTOCIRCULATE_P2P_TRANSFER BIT(31)
5513 #define DMABUFFERLOCK_LOCK BIT(0)
5514 #define DMABUFFERLOCK_UNLOCK_ALL BIT(1)
5515 #define DMABUFFERLOCK_MAP BIT(2)
5516 #define DMABUFFERLOCK_UNLOCK BIT(3)
5517 #define DMABUFFERLOCK_AUTO BIT(4)
5518 #define DMABUFFERLOCK_MANUAL BIT(5)
5519 #define DMABUFFERLOCK_MAX_SIZE BIT(6)
5520 #define DMABUFFERLOCK_RDMA BIT(7)
5523 #define BITSTREAM_WRITE BIT(0)
5524 #define BITSTREAM_FRAGMENT BIT(1)
5525 #define BITSTREAM_SWAP BIT(2)
5526 #define BITSTREAM_RESET_CONFIG BIT(3)
5527 #define BITSTREAM_RESET_MODULE BIT(4)
5528 #define BITSTREAM_READ_REGISTERS BIT(5)
5529 #define BITSTREAM_SUSPEND BIT(6)
5530 #define BITSTREAM_RESUME BIT(7)
5533 #define BITSTREAM_EXT_CAP 0
5534 #define BITSTREAM_VENDOR_HEADER 1
5535 #define BITSTREAM_JTAG_ID 2
5536 #define BITSTREAM_VERSION 3
5537 #define BITSTREAM_MCAP_STATUS 4
5538 #define BITSTREAM_MCAP_CONTROL 5
5539 #define BITSTREAM_MCAP_DATA 6
5540 #define BITSTREAM_NUM_REGISTERS 7
5543 #define DMASTREAM_START BIT(0)
5544 #define DMASTREAM_STOP BIT(1)
5545 #define DMASTREAM_TO_HOST BIT(2)
5547 #if !defined (NTV2_BUILDING_DRIVER)
5553 #define NTV2_STRUCT_BEGIN(__struct_name__) class AJAExport __struct_name__ {public:
5554 #define NTV2_STRUCT_END(__struct_name__) };
5555 #define NTV2_BEGIN_PRIVATE private:
5556 #define NTV2_END_PRIVATE public:
5558 #if defined (_DEBUG)
5559 #define NTV2_IS_STRUCT_VALID_IMPL(__hr__,__tr__) bool NTV2_IS_STRUCT_VALID (void) const {return __hr__.IsValid() && __tr__.IsValid();}
5560 #define NTV2_ASSERT_STRUCT_VALID do {NTV2_ASSERT (NTV2_IS_STRUCT_VALID ());} while (false)
5562 #define NTV2_IS_STRUCT_VALID_IMPL(__hr__,__tr__)
5563 #define NTV2_ASSERT_STRUCT_VALID
5567 #define Hex(__x__) std::hex << (__x__) << std::dec
5568 #define xHex(__x__) "0x" << Hex(__x__)
5569 #define HexN(__x__,__n__) std::hex << std::setw(int(__n__)) << (__x__) << std::dec
5570 #define xHexN(__x__,__n__) "0x" << HexN((__x__),(__n__))
5571 #define Hex0N(__x__,__n__) std::hex << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ')
5572 #define xHex0N(__x__,__n__) "0x" << Hex0N((__x__),(__n__))
5573 #define HEX(__x__) std::hex << std::uppercase << (__x__) << std::dec << std::nouppercase
5574 #define xHEX(__x__) "0x" << HEX(__x__)
5575 #define HEXN(__x__,__n__) std::hex << std::uppercase << std::setw(int(__n__)) << (__x__) << std::dec << std::nouppercase
5576 #define xHEXN(__x__,__n__) "0x" << HEXN((__x__),(__n__))
5577 #define HEX0N(__x__,__n__) std::hex << std::uppercase << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ') << std::nouppercase
5578 #define xHEX0N(__x__,__n__) "0x" << HEX0N((__x__),(__n__))
5579 #define DEC(__x__) std::dec << std::right << (__x__)
5580 #define DECN(__x__,__n__) std::dec << std::setw(int(__n__)) << std::right << (__x__)
5581 #define DEC0N(__x__,__n__) std::dec << std::setw(int(__n__)) << std::setfill('0') << std::right << (__x__) << std::dec << std::setfill(' ')
5582 #define OCT(__x__) std::oct << (__x__) << std::dec
5583 #define OCT0N(__x__,__n__) std::oct << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ')
5584 #define oOCT(__x__) "o" << std::oct << (__x__) << std::dec
5585 #define oOCT0N(__x__,__n__) "o" << std::oct << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ')
5586 #define BIN064(__x__) std::bitset<8>((uint64_t(__x__)&0xFF00000000000000)>>56) << "." \
5587 << std::bitset<8>((uint64_t(__x__)&0x00FF000000000000)>>48) << "." \
5588 << std::bitset<8>((uint64_t(__x__)&0x0000FF0000000000)>>40) << "." \
5589 << std::bitset<8>((uint64_t(__x__)&0x000000FF00000000)>>32) << "." \
5590 << std::bitset<8>((uint64_t(__x__)&0x00000000FF000000)>>24) << "." \
5591 << std::bitset<8>((uint64_t(__x__)&0x0000000000FF0000)>>16) << "." \
5592 << std::bitset<8>((uint64_t(__x__)&0x000000000000FF00)>>8) << "." \
5593 << std::bitset<8>( uint64_t(__x__)&0x00000000000000FF)
5594 #define BIN032(__x__) std::bitset<8>((uint32_t(__x__)&0xFF000000)>>24) << "." \
5595 << std::bitset<8>((uint32_t(__x__)&0x00FF0000)>>16) << "." \
5596 << std::bitset<8>((uint32_t(__x__)&0x0000FF00)>>8) << "." \
5597 << std::bitset<8>( uint32_t(__x__)&0x000000FF)
5598 #define BIN016(__x__) std::bitset<8>((uint16_t(__x__)&0xFF00)>>8) << "." \
5599 << std::bitset<8>( uint16_t(__x__)&0x00FF)
5600 #define BIN012(__x__) std::bitset<12>((uint16_t(__x__)&0x0FFF))
5601 #define BIN010(__x__) std::bitset<10>((uint16_t(__x__)&0x03FF))
5602 #define BIN08(__x__) std::bitset<8>(uint8_t(__x__))
5603 #define BIN04(__x__) std::bitset<4>(uint8_t(__x__))
5604 #define BIN0N(__x__,__n__) std::bitset<__n__>(uint8_t(__x__))
5605 #define bBIN064(__x__) "b" << BIN064(__x__)
5606 #define bBIN032(__x__) "b" << BIN032(__x__)
5607 #define bBIN016(__x__) "b" << BIN016(__x__)
5608 #define bBIN012(__x__) "b" << BIN012(__x__)
5609 #define bBIN010(__x__) "b" << BIN010(__x__)
5610 #define bBIN08(__x__) "b" << BIN08(__x__)
5611 #define bBIN04(__x__) "b" << BIN04(__x__)
5612 #define bBIN0N(__x__,__n__) "b" << BIN0N(__x__,__n__)
5613 #define fDEC(__x__,__w__,__p__) std::dec << std::fixed << std::setw(__w__) << std::setprecision(__p__) << (__x__)
5615 #define NTV2_STRUCT_BEGIN(__struct_name__) typedef struct __struct_name__ {
5616 #define NTV2_STRUCT_END(__struct_name__) } __struct_name__;
5617 #define NTV2_BEGIN_PRIVATE
5618 #define NTV2_END_PRIVATE
5619 #define NTV2_IS_STRUCT_VALID_IMPL(__hr__,__tr__)
5620 #define NTV2_ASSERT_STRUCT_VALID
5624 #if defined (AJAMac)
5625 #pragma pack (push, 4)
5626 #endif // defined (AJAMac)
5633 #if !defined (NTV2_BUILDING_DRIVER)
5642 inline ULWord GetWidth (
void)
const {
return mWidth;}
5643 inline ULWord GetHeight (
void)
const {
return mHeight;}
5644 inline ULWord Width (
void)
const {
return mWidth;}
5645 inline ULWord Height (
void)
const {
return mHeight;}
5646 inline bool IsValid (
void)
const {
return Width() && Height();}
5675 #endif // !defined (NTV2_BUILDING_DRIVER)
5684 #if !defined (NTV2_BUILDING_DRIVER)
5715 mElementsPerSegment (0),
5716 mInitialSrcOffset (0),
5717 mInitialDstOffset (0),
5718 mSrcElementsPerRow (0),
5719 mDstElementsPerRow (0) {setElementLength(1);}
5724 inline bool isValid (
void)
const {
return getSegmentCount() && getSegmentLength() ?
true :
false;}
5726 inline ULWord getSegmentCount (
void)
const {
return mNumSegments;}
5727 inline ULWord getSegmentLength (
void)
const {
return mElementsPerSegment;}
5728 inline ULWord getSourceOffset (
void)
const {
return mInitialSrcOffset;}
5729 inline ULWord getDestOffset (
void)
const {
return mInitialDstOffset;}
5730 inline ULWord getSourcePitch (
void)
const {
return mSrcElementsPerRow;}
5731 inline ULWord getDestPitch (
void)
const {
return mDstElementsPerRow;}
5737 inline ULWord getElementLength (
void)
const {
return ULWord(1 << (mFlags & 3));}
5739 inline bool isSourceBottomUp (
void)
const {
return mFlags &
BIT(8) ?
true :
false;}
5740 inline bool isSourceTopDown (
void)
const {
return mFlags &
BIT(8) ?
false :
true;}
5741 inline bool isDestBottomUp (
void)
const {
return mFlags &
BIT(9) ?
true :
false;}
5742 inline bool isDestTopDown (
void)
const {
return mFlags &
BIT(9) ?
false :
true;}
5743 inline ULWord getTotalElements (
void)
const {
return getSegmentCount() * getSegmentLength();}
5744 inline ULWord getTotalBytes (
void)
const {
return getTotalElements() * getElementLength();}
5750 {
return getSourceOffset() + getSourcePitch() * getSegmentCount() + getSegmentLength();}
5756 {
return getDestOffset() + getDestPitch() * getSegmentCount() + getSegmentLength();}
5764 std::ostream & Print (std::ostream & inStrm,
const bool inDumpSegments =
false)
const;
5771 std::string getSourceCode (
const bool inInclDecl =
true)
const;
5777 bool containsElementAtOffset (
const ULWord inElementOffset)
const;
5816 {mNumSegments = inNumSegments;
return *
this;}
5824 {mElementsPerSegment = inNumElements;
return *
this;}
5841 {mInitialSrcOffset = inOffset;
return *
this;}
5849 {mSrcElementsPerRow = inPitch;
return *
this;}
5857 { mFlags &= (0xFFFFFFFF -
BIT(8));
5870 {
return setDestOffset(inOffset).
setDestPitch(inPitch);}
5901 if (inBytesPerElement && inBytesPerElement < 9)
5902 if (!(inBytesPerElement & (inBytesPerElement - 1)))
5904 ULWord num(inBytesPerElement), lengthBits(0);
5907 mFlags = (mFlags & ~3UL) | (lengthBits & 3UL);
5921 ULWord mElementsPerSegment;
5922 ULWord mInitialSrcOffset;
5923 ULWord mInitialDstOffset;
5924 ULWord mSrcElementsPerRow;
5925 ULWord mDstElementsPerRow;
5927 #endif // !defined (NTV2_BUILDING_DRIVER)
5973 #if defined (AJAMac)
5982 #if !defined (NTV2_BUILDING_DRIVER)
5993 explicit NTV2Buffer (
const void * pInUserPointer,
const size_t inByteCount);
6025 if (
sizeof(
int*) == 4)
6026 return reinterpret_cast <void*
>((fUserSpacePtr & 0xFFFFFFFF00000000) >> 32);
6028 return reinterpret_cast <void*
>(fUserSpacePtr);
6062 inline bool IsNULL (
void)
const {
return GetHostPointer() ==
AJA_NULL || GetByteCount() == 0;}
6067 inline operator bool()
const {
return !IsNULL();}
6072 inline operator size_t()
const {
return size_t(GetByteCount());}
6081 void * GetHostAddress (
const ULWord inByteOffset,
const bool inFromEnd =
false)
const;
6092 template<
typename T>
bool Find (
const T & inValue,
int & inOutIndex)
const
6094 const bool isAscending(inOutIndex >= 0);
6095 const int maxNdx(
int(GetByteCount()) /
sizeof(T));
6096 if (isAscending && inOutIndex >= maxNdx)
6098 if (!isAscending && (1 - inOutIndex) >= maxNdx)
6100 const T * pValues(*
this);
6103 for (
int ndx(inOutIndex); ndx < maxNdx; ndx++)
6104 if (pValues[ndx] == inValue)
6105 {inOutIndex = ndx;
return true;}
6109 const int minNdx(0 - maxNdx);
6110 for (
int ndx(inOutIndex); ndx >= minNdx; ndx++)
6111 if (pValues[maxNdx + ndx] == inValue)
6112 {inOutIndex = ndx;
return true;}
6131 bool IsContentEqual (
const NTV2Buffer & inBuffer,
const ULWord inByteOffset = 0,
const ULWord inByteCount = 0xFFFFFFFF)
const;
6141 bool NextDifference (
const NTV2Buffer & inBuffer,
ULWord & byteOffset)
const;
6162 bool GetRingChangedByteRange (
const NTV2Buffer & inBuffer,
ULWord & outByteOffsetFirst,
ULWord & outByteOffsetLast)
const;
6179 bool Allocate (
const size_t inByteCount,
const bool inPageAligned =
false);
6185 bool Deallocate (
void);
6192 template<
typename T>
bool Fill (
const T & inValue)
6194 T * pT (
reinterpret_cast<T*
>(GetHostPointer()));
6195 const size_t loopCount(GetByteCount() /
sizeof(T));
6197 for (
size_t n(0); n < loopCount; n++)
6199 return pT ?
true :
false;
6211 if (!inXferInfo.isValid())
6214 NTV2Buffer segData(inXferInfo.getElementLength() * inXferInfo.getSegmentCount() * inXferInfo.getSegmentLength());
6215 if (!segData.
Fill(inValue))
6220 ULWord dstOffset (inXferInfo.getDestOffset() * inXferInfo.getElementLength());
6221 const ULWord dstPitch (inXferInfo.getDestPitch() * inXferInfo.getElementLength());
6222 const ULWord bytesPerSeg (inXferInfo.getSegmentLength() * inXferInfo.getElementLength());
6223 for (
ULWord segNdx(0); segNdx < inXferInfo.getSegmentCount(); segNdx++)
6226 void * pDst (GetHostAddress(dstOffset));
6227 if (!pSrc)
return false;
6228 if (!pDst)
return false;
6229 if (dstOffset + bytesPerSeg > GetByteCount())
6231 ::memcpy (pDst, pSrc, bytesPerSeg);
6232 srcOffset += bytesPerSeg;
6233 dstOffset += dstPitch;
6254 bool Set (
const void * pInUserPointer,
const size_t inByteCount);
6267 bool SetAndFill (
const void * pInUserPointer,
const size_t inByteCount,
const UByte inValue);
6284 bool CopyFrom (
const void * pInSrcBuffer,
const ULWord inByteCount);
6323 bool ByteSwap64 (
void);
6330 bool ByteSwap32 (
void);
6337 bool ByteSwap16 (
void);
6349 std::ostream & Print (std::ostream & inOutStream)
const;
6355 std::string AsString (
UWord inDumpMaxBytes = 0)
const;
6377 std::ostream & Dump ( std::ostream & inOutputStream = std::cout,
6378 const size_t inStartByteOffset = 0,
6379 const size_t inByteCount = 0,
6380 const size_t inRadix = 16,
6381 const size_t inBytesPerGroup = 4,
6382 const size_t inGroupsPerLine = 8,
6383 const size_t inAddressRadix = 0,
6384 const bool inShowAscii =
false,
6385 const size_t inAddrOffset = 0)
const;
6408 std::string & Dump ( std::string & inOutputString,
6409 const size_t inStartByteOffset = 0,
6410 const size_t inByteCount = 0,
6411 const size_t inRadix = 16,
6412 const size_t inBytesPerGroup = 4,
6413 const size_t inGroupsPerLine = 8,
6414 const size_t inAddressRadix = 0,
6415 const bool inShowAscii =
false,
6416 const size_t inAddrOffset = 0)
const;
6426 template<
typename T>
operator const T*()
const {
return reinterpret_cast<const T*
>(GetHostPointer());}
6431 template<
typename T>
operator T*()
const {
return reinterpret_cast<T*
>(GetHostPointer());}
6451 inline uint8_t
U8 (
const int inIndex)
const {
const uint8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6459 inline uint8_t &
U8 (
const int inIndex) {uint8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6461 inline int8_t
I8 (
const int inIndex)
const {
const int8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6462 inline int8_t &
I8 (
const int inIndex) {int8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6463 inline uint16_t
U16 (
const int inIndex)
const {
const uint16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6464 inline uint16_t &
U16 (
const int inIndex) {uint16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6465 inline int16_t
I16 (
const int inIndex)
const {
const int16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6466 inline int16_t &
I16 (
const int inIndex) {int16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6467 inline uint32_t
U32 (
const int inIndex)
const {
const uint32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6468 inline uint32_t &
U32 (
const int inIndex) {uint32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6469 inline int32_t
I32 (
const int inIndex)
const {
const int32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6470 inline int32_t &
I32 (
const int inIndex) {int32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6471 inline uint64_t
U64 (
const int inIndex)
const {
const uint64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6472 inline uint64_t &
U64 (
const int inIndex) {uint64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6473 inline int64_t
I64 (
const int inIndex)
const {
const int64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6474 inline int64_t &
I64 (
const int inIndex) {int64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6475 inline float FL (
const int inIndex)
const {
const float* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
float)) + inIndex : inIndex];}
6476 inline float &
FL (
const int inIndex) {
float* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
float)) + inIndex : inIndex];}
6477 inline double DBL (
const int inIndex)
const {
const double* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
double)) + inIndex : inIndex];}
6478 inline double &
DBL (
const int inIndex) {
double* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
double)) + inIndex : inIndex];}
6499 bool GetU64s (
ULWord64Sequence & outU64s,
const size_t inU64Offset = 0,
const size_t inMaxSize = 16,
const bool inByteSwap =
false)
const;
6529 bool GetU32s (
ULWordSequence & outU32s,
const size_t inU32Offset = 0,
const size_t inMaxSize = 32,
const bool inByteSwap =
false)
const;
6559 bool GetU16s (
UWordSequence & outU16s,
const size_t inU16Offset = 0,
const size_t inMaxSize = 64,
const bool inByteSwap =
false)
const;
6573 inline UWordSequence GetU16s (
const size_t inU16Offset = 0,
const size_t inMaxSize = 64,
const bool inByteSwap =
false)
const {
UWordSequence result;
GetU16s(result, inU16Offset, inMaxSize, inByteSwap);
return result;}
6585 bool GetU8s (
UByteSequence & outU8s,
const size_t inU8Offset = 0,
const size_t inMaxSize = 128)
const;
6615 bool GetString (std::string & outString,
const size_t inU8Offset = 0,
const size_t inMaxSize = 128)
const;
6626 inline std::string
GetString (
const size_t inU8Offset = 0,
const size_t inMaxSize = 128)
const {std::string result;
GetString(result, inU8Offset, inMaxSize);
return result;}
6637 bool PutU64s (
const ULWord64Sequence & inU64s,
const size_t inU64Offset = 0,
const bool inByteSwap =
false);
6648 bool PutU32s (
const ULWordSequence & inU32s,
const size_t inU32Offset = 0,
const bool inByteSwap =
false);
6659 bool PutU16s (
const UWordSequence & inU16s,
const size_t inU16Offset = 0,
const bool inByteSwap =
false);
6668 bool PutU8s (
const UByteSequence & inU8s,
const size_t inU8Offset = 0);
6678 static size_t DefaultPageSize (
void);
6685 static bool SetDefaultPageSize (
const size_t inNewSize);
6690 static size_t HostPageSize (
void);
6694 #endif // user-space clients only
6697 #if !defined(NTV2_DEPRECATE_17_0)
6699 #endif // !defined(NTV2_DEPRECATE_17_0
6710 #if defined (NTV2_BUILDING_DRIVER)
6711 #define NTV2_RP188_from_RP188_STRUCT(_n_,_r_) { (_n_).fDBB = (_r_).DBB; \
6712 (_n_).fLo = (_r_).Low; \
6713 (_n_).fHi = (_r_).High; }
6715 #define NTV2_RP188P_from_RP188_STRUCT(_np_,_r_) { (_np_)->fDBB = (_r_).DBB; \
6716 (_np_)->fLo = (_r_).Low; \
6717 (_np_)->fHi = (_r_).High; }
6719 #define RP188_STRUCT_from_NTV2_RP188(_r_,_n_) { (_r_).DBB = (_n_).fDBB; \
6720 (_r_).Low = (_n_).fLo; \
6721 (_r_).High = (_n_).fHi; }
6723 #define RP188_STRUCT_from_NTV2_RP188P(_r_,_np_) { (_r_).DBB = (_np_)->fDBB; \
6724 (_r_).Low = (_np_)->fLo; \
6725 (_r_).High = (_np_)->fHi; }
6727 #define NTV2_RP188_IS_VALID(_n_) ((_n_).fDBB != 0xFFFFFFFF || (_n_).fLo != 0xFFFFFFFF || (_n_).fHi != 0xFFFFFFFF)
6736 inline explicit NTV2_RP188 (
const ULWord inDBB = 0xFFFFFFFF,
const ULWord inLow = 0xFFFFFFFF,
const ULWord inHigh = 0xFFFFFFFF) : fDBB (inDBB), fLo (inLow), fHi (inHigh) {}
6742 inline explicit NTV2_RP188 (
const RP188_STRUCT & inOldRP188) : fDBB (inOldRP188.DBB), fLo (inOldRP188.Low), fHi (inOldRP188.High) {}
6747 inline bool IsValid (
void)
const {
return fDBB != 0xFFFFFFFF || fLo != 0xFFFFFFFF || fHi != 0xFFFFFFFF;}
6760 inline bool operator != (
const RP188_STRUCT & inRHS)
const {
return fDBB != inRHS.
DBB || fLo != inRHS.
Low || fHi != inRHS.
High;}
6768 inline void Set (
const ULWord inDBB = 0xFFFFFFFF,
const ULWord inLow = 0xFFFFFFFF,
const ULWord inHigh = 0xFFFFFFFF) {fDBB = inDBB; fLo = inLow; fHi = inHigh;}
6779 inline operator bool ()
const {
return IsValid();}
6782 #endif // user-space clients only
6785 #if !defined (NTV2_BUILDING_DRIVER)
6804 #endif // !defined (NTV2_BUILDING_DRIVER)
6820 bool mFrameTRSError;
6826 #if !defined (NTV2_BUILDING_DRIVER)
6842 std::ostream & Print (std::ostream & inOutStream)
const;
6843 #endif // !defined (NTV2_BUILDING_DRIVER)
6864 #if !defined (NTV2_BUILDING_DRIVER)
6883 bool SetFromRegValue (
const ULWord inData);
6890 std::ostream & Print (std::ostream & inOutStream)
const;
6891 #endif // !defined (NTV2_BUILDING_DRIVER)
6911 #if !defined (NTV2_BUILDING_DRIVER)
6919 inline ULWord GetSizeInBytes (
void)
const {
return fSizeInBytes;}
6933 std::ostream & Print (std::ostream & inOutStream)
const;
6940 static std::string FourCCToString (
const ULWord in4CC);
6943 #endif // user-space clients only
6955 #if !defined (NTV2_BUILDING_DRIVER)
6964 #endif // user-space clients only
6993 ULWord acNumActiveBytesPerRow;
6996 ULWord acSegmentDevicePitch;
7000 #if !defined (NTV2_BUILDING_DRIVER)
7023 void Set (
const ULWord inNumSegments,
const ULWord inNumActiveBytesPerRow,
const ULWord inHostBytesPerRow,
const ULWord inDeviceBytesPerRow);
7041 #endif // user-space clients only
7060 #if !defined (NTV2_BUILDING_DRIVER)
7097 #endif // user-space clients only
7123 #if !defined (NTV2_BUILDING_DRIVER)
7196 inline uint16_t
GetEndFrame (
void)
const {
return uint16_t(acEndFrame);}
7312 std::string operator [] (
const unsigned inIndexNum)
const;
7321 #endif // user-space clients only
7325 #if !defined (NTV2_BUILDING_DRIVER)
7348 #endif // !defined (NTV2_BUILDING_DRIVER)
7367 #if !defined (NTV2_BUILDING_DRIVER)
7399 bool GetGoodRegisters (
NTV2RegNumSet & outGoodRegNums)
const;
7422 bool GetRequestedRegisterNumbers (
NTV2RegNumSet & outRegNums)
const;
7437 bool PatchRegister (
const ULWord inRegNum,
const ULWord inValue);
7444 std::ostream & Print (std::ostream & inOutStream)
const;
7460 #endif // !defined (NTV2_BUILDING_DRIVER)
7477 #if !defined (NTV2_BUILDING_DRIVER)
7497 bool GetFailedRegisterWrites (
NTV2RegWrites & outFailedRegWrites)
const;
7505 bool GetRequestedRegisterWrites (
NTV2RegWrites & outRegWrites)
const;
7513 std::ostream & Print (std::ostream & inOutStream)
const;
7519 inline explicit NTV2SetRegisters (
const NTV2SetRegisters & inObj) : mHeader(0xFEFEFEFE, 0), mInNumRegisters(0), mInRegInfos(0), mOutNumFailures(0), mOutBadRegIndexes(0)
7524 #endif // !defined (NTV2_BUILDING_DRIVER)
7539 #if !defined (NTV2_BUILDING_DRIVER)
7559 std::ostream & Print (std::ostream & inOutStream)
const;
7574 #endif // !defined (NTV2_BUILDING_DRIVER)
7589 #if !defined (NTV2_BUILDING_DRIVER)
7597 explicit NTV2VirtualData (
const ULWord inTag,
const void* inVirtualData,
const size_t inVirtualDataSize,
const bool inDoWrite =
false);
7604 std::ostream & Print (std::ostream & inOutStream)
const;
7614 #endif // !defined (NTV2_BUILDING_DRIVER)
7630 #if !defined (NTV2_BUILDING_DRIVER)
7660 std::ostream & Print (std::ostream & inOutStream)
const;
7664 #endif // !defined (NTV2_BUILDING_DRIVER)
7721 #if !defined (NTV2_BUILDING_DRIVER)
7767 bool GetInputTimeCodes (
NTV2TimeCodes & outTimeCodes,
const NTV2Channel inSDIInput,
const bool inValidOnly =
true)
const;
7806 std::string operator [] (
const unsigned inIndexNum)
const;
7816 #endif // !defined (NTV2_BUILDING_DRIVER)
7839 #if !defined (NTV2_BUILDING_DRIVER)
7895 #endif // !defined (NTV2_BUILDING_DRIVER)
7985 ULWord acPeerToPeerFlags;
7994 #if !defined (NTV2_BUILDING_DRIVER)
8036 : acHeader(0xFEFEFEFE, 0), acVideoBuffer(0), acAudioBuffer(0),
8037 acANCBuffer(0), acANCField2Buffer(0), acOutputTimeCodes(0), acHDMIAuxData(0)
8072 bool SetBuffers (
ULWord * pInVideoBuffer,
const ULWord inVideoByteCount,
8073 ULWord * pInAudioBuffer,
const ULWord inAudioByteCount,
8088 bool SetVideoBuffer (
ULWord * pInVideoBuffer,
const ULWord inVideoByteCount);
8100 bool SetAudioBuffer (
ULWord * pInAudioBuffer,
const ULWord inAudioByteCount);
8122 bool SetAncBuffers (
ULWord * pInANCBuffer,
const ULWord inANCByteCount,
8138 inline const NTV2Buffer &
GetAncBuffer (
const bool inField2 =
false)
const {
return inField2 ? acANCField2Buffer : acANCBuffer;}
8176 bool SetAllOutputTimeCodes (
const NTV2_RP188 & inTimecode,
const bool inIncludeF2 =
true);
8311 bool EnableSegmentedDMAs (
const ULWord inNumSegments,
const ULWord inNumActiveBytesPerLine,
8312 const ULWord inHostBytesPerLine,
const ULWord inDeviceBytesPerLine);
8317 bool DisableSegmentedDMAs (
void);
8322 bool SegmentedDMAsEnabled (
void)
const;
8332 #endif // user-space clients only
8349 #if !defined (NTV2_BUILDING_DRIVER)
8361 std::ostream & Print (std::ostream & inOutStream)
const;
8365 #endif // !defined (NTV2_BUILDING_DRIVER)
8385 #if !defined (NTV2_BUILDING_DRIVER)
8425 bool SetBuffer (
const NTV2Buffer & inBuffer);
8435 return SetBuffer(
NTV2Buffer(pInBuffer, inByteCount));
8467 std::ostream & Print (std::ostream & inOutStream)
const;
8471 #endif // !defined (NTV2_BUILDING_DRIVER)
8489 #if !defined (NTV2_BUILDING_DRIVER)
8522 bool SetBuffer (
const NTV2Buffer & inBuffer);
8549 std::ostream & Print (std::ostream & inOutStream)
const;
8559 #endif // !defined (NTV2_BUILDING_DRIVER)
8577 #if !defined (NTV2_BUILDING_DRIVER)
8654 std::ostream & Print (std::ostream & inOutStream)
const;
8658 #endif // !defined (NTV2_BUILDING_DRIVER)
8663 #define NTV2_STREAM_CHANNEL_INITIALIZE BIT(0)
8664 #define NTV2_STREAM_CHANNEL_RELEASE BIT(1)
8665 #define NTV2_STREAM_CHANNEL_START BIT(2)
8666 #define NTV2_STREAM_CHANNEL_STOP BIT(3)
8667 #define NTV2_STREAM_CHANNEL_FLUSH BIT(4)
8668 #define NTV2_STREAM_CHANNEL_STATUS BIT(5)
8669 #define NTV2_STREAM_CHANNEL_WAIT BIT(6)
8672 #define NTV2_STREAM_CHANNEL_STATE_DISABLED BIT(0)
8673 #define NTV2_STREAM_CHANNEL_STATE_INITIALIZED BIT(1)
8674 #define NTV2_STREAM_CHANNEL_STATE_IDLE BIT(2)
8675 #define NTV2_STREAM_CHANNEL_STATE_ACTIVE BIT(3)
8676 #define NTV2_STREAM_CHANNEL_STATE_ERROR BIT(4)
8679 #define NTV2_STREAM_BUFFER_QUEUE BIT(1)
8680 #define NTV2_STREAM_BUFFER_RELEASE BIT(2)
8681 #define NTV2_STREAM_BUFFER_STATUS BIT(3)
8684 #define NTV2_STREAM_BUFFER_STATE_QUEUED BIT(0)
8685 #define NTV2_STREAM_BUFFER_STATE_LINKED BIT(1)
8686 #define NTV2_STREAM_BUFFER_STATE_ACTIVE BIT(2)
8687 #define NTV2_STREAM_BUFFER_STATE_COMPLETED BIT(3)
8688 #define NTV2_STREAM_BUFFER_STATE_FLUSHED BIT(4)
8689 #define NTV2_STREAM_BUFFER_STATE_ERROR BIT(5)
8692 #define NTV2_STREAM_STATUS_SUCCESS BIT(0)
8693 #define NTV2_STREAM_STATUS_FAIL BIT(1)
8694 #define NTV2_STREAM_STATUS_STATE BIT(2)
8695 #define NTV2_STREAM_STATUS_MESSAGE BIT(3)
8696 #define NTV2_STREAM_STATUS_INVALID BIT(4)
8697 #define NTV2_STREAM_STATUS_TIMEOUT BIT(5)
8698 #define NTV2_STREAM_STATUS_RESOURCE BIT(6)
8699 #define NTV2_STREAM_STATUS_OWNER BIT(7)
8718 #if !defined (NTV2_BUILDING_DRIVER)
8737 #endif // !defined (NTV2_BUILDING_DRIVER)
8758 #if !defined (NTV2_BUILDING_DRIVER)
8771 #endif // !defined (NTV2_BUILDING_DRIVER)
8776 #if !defined (NTV2_BUILDING_DRIVER)
9239 #endif // !defined (NTV2_BUILDING_DRIVER)
9241 #if defined (AJAMac)
9243 #endif // defined (AJAMac)
9248 #define HEVC_STREAM_MAX 4
9251 #define HEVC_GPIO_MAX 64
9254 #define HEVC_VERSION_STRING_SIZE 64
9257 #define HEVC_ADDITIONAL_DATA_SIZE ((4 + 4 + 256) * 16)
9260 #define HEVC_STATE_FLAG_VIDEO_STARTED 0x00000001U // codec video input capture started
9263 #define HEVC_TRANSFER_FLAG_IS_LAST_FRAME 0x00000001U // last stream frame
9266 #define HEVC_STATUS_SUCCESS 0x00000001U
9269 #define HEVC_FATAL_ERROR_INFO_REG 0x08000100U // codec error register base
9270 #define HEVC_FATAL_ERROR_INFO_COUNT 64 // number of codec error registers
9273 #define HEVC_DEBUG_DRIVER_REGISTER 0x080000FCU // register address of debug bits
9274 #define HEVC_DEBUG_MASK_INFO 0x00000001 // general probe and cleanup
9275 #define HEVC_DEBUG_MASK_WARNING 0x00000002 // general warinings
9276 #define HEVC_DEBUG_MASK_ERROR 0x00000004 // general erros
9277 #define HEVC_DEBUG_MASK_INT_PRIMARY 0x00000008 // primary interrupt info
9278 #define HEVC_DEBUG_MASK_INT_COMMAND 0x00000010 // command tasklet info
9279 #define HEVC_DEBUG_MASK_INT_VEI 0x00000020 // raw stream tasklet info
9280 #define HEVC_DEBUG_MASK_INT_SEO 0x00000040 // encoded stream tasklet info
9281 #define HEVC_DEBUG_MASK_INT_ERROR 0x00000080 // interrupt errors
9282 #define HEVC_DEBUG_MASK_REGISTER_INFO 0x00000100 // register read/write info
9283 #define HEVC_DEBUG_MASK_REGISTER_STATE 0x00000200 // detailed register access info
9284 #define HEVC_DEBUG_MASK_REGISTER_ERROR 0x00000400 // register access errors
9285 #define HEVC_DEBUG_MASK_COMMAND_INFO 0x00000800 // command queue info
9286 #define HEVC_DEBUG_MASK_COMMAND_STATE 0x00001000 // detailed command processing info
9287 #define HEVC_DEBUG_MASK_COMMAND_ERROR 0x00002000 // command queue errors
9288 #define HEVC_DEBUG_MASK_STREAM_INFO 0x00004000 // stream (dma) queue info
9289 #define HEVC_DEBUG_MASK_STREAM_STATE 0x00008000 // detailed stream processing info
9290 #define HEVC_DEBUG_MASK_STREAM_COPY 0x00010000 // stream data copy info
9291 #define HEVC_DEBUG_MASK_STREAM_SEGMENT 0x00020000 // stream data segment info
9292 #define HEVC_DEBUG_MASK_STREAM_FRAME 0x00040000 // stream vif frame info
9293 #define HEVC_DEBUG_MASK_STREAM_ERROR 0x00080000 // stream queue errors
9294 #define HEVC_DEBUG_MASK_MEMORY_ALLOC 0x00100000 // buffer memory allocation info
9295 #define HEVC_DEBUG_MASK_MEMORY_ERROR 0x00200000 // buffer memory allocation errors
9296 #define HEVC_DEBUG_MASK_DMA_INFO 0x00400000 // dma send info
9297 #define HEVC_DEBUG_MASK_DMA_DESCRIPTOR 0x00800000 // dma descriptor dump
9298 #define HEVC_DEBUG_MASK_DMA_ERROR 0x01000000 // dma errors
9299 #define HEVC_DEBUG_MASK_STATUS_INFO 0x02000000 // status info requests
9300 #define HEVC_DEBUG_MASK_RESERVED_0 0x04000000
9301 #define HEVC_DEBUG_MASK_RESERVED_1 0x08000000
9302 #define HEVC_DEBUG_MASK_RESERVED_2 0x10000000
9303 #define HEVC_DEBUG_MASK_RESERVED_3 0x20000000
9304 #define HEVC_DEBUG_MASK_RESERVED_4 0x40000000
9305 #define HEVC_DEBUG_MASK_RESERVED_5 0x80000000
9308 #define HEVC_NTV2_GPIO_REGISTER_LOW 510
9309 #define HEVC_NTV2_GPIO_REGISTER_HIGH 511
9475 #define Hevc_ParamTarget_None 0x00000000
9476 #define Hevc_ParamTarget_Vbr 0x00000001 // change variable bitrate
9477 #define Hevc_ParamTarget_Cbr 0x00000002 // change constant bitrate
9478 #define Hevc_ParamTarget_Resolution 0x00000004 // change size, crop, pan, etc.
9479 #define Hevc_ParamTarget_Frame_Rate 0x00000008 // change frame rate
9480 #define Hevc_ParamTarget_All 0x0000000f
9884 #define NTV2_IS_VALID_HDR_PRIMARY(__val__) ((__val__) <= 0x0000C350)
9885 #define NTV2_IS_VALID_HDR_MASTERING_LUMINENCE(__val__) (true)
9886 #define NTV2_IS_VALID_HDR_LIGHT_LEVEL(__val__) (true)
9888 #endif // NTV2PUBLICINTERFACE_H
@ kRegShiftSDIIn7VPIDLinkAValid
@ Hevc_GpioControl_Function
@ kRegShiftCanDoValidXptROM
@ kFS1RegShiftI2CWriteData
std::set< NTV2InputSource > NTV2InputSourceSet
A set of distinct NTV2InputSource values.
@ kRegMaskSDIIn43GbpsMode
@ kK2RegShiftDuallinkOut4InputSelect
@ kFS1RegShiftDownconvert2AFDDefaultHoldLast
@ kRegShiftInput1Geometry
@ kRegShiftAud4PlayCapMode
@ kRegEnhancedCSC4KeyClipOffset
@ kK2RegMaskXptLUT4InputSelect
@ kRegMaskPCMControlA2P9_10
@ kK2RegShiftAudioBufferSize
@ kRegMaskSDIIn33GbpsSMPTELevelBMode
@ kRegMaskNwlCapabilitiesEngineNumber
@ kRegShiftSDIIn612GbpsMode
@ kRegShiftStereoCompressorFlipLeftVert
@ kRP188SourceEmbeddedLTC
@ kRegMaskLEDGreenControl
@ kRegMaskXlnxPerfDataCountHigh
@ kLHIRegShiftVideoDACJapan
@ kRegShiftPCMControlA7P15_16
@ kK2RegMaskFrameBuffer2BInputSelect
@ kRegShiftSDIIn1LevelBtoLevelA
@ kRegMaskPCMControlA5P1_2
double & DBL(const int inIndex)
NTV2VideoFrameBufferOrientation frameBufferOrientation
HevcGpioFunction gpioFunction
@ kK2RegShift4KDCQ4InputSelect
@ kRegShiftLUT3OutputBankSelect
enum _NTV2HDMIRegisters NTV2HDMIRegisters
@ regAncExtField2AnalogCFilter
LWord GetTransferFrameNumber(void) const
@ kRegNwlS2C2ControlStatusIndex
@ kRegHDMIV2VSyncDurationAndBackPorchField1
@ kRegXlnxChannelPerfDataCountHigh
@ kRegMaskBOBGPIIn3InterruptControl
@ kK2RegMaskHDMIOutV2Q1InputSelect
@ regAncExtTotalFrameLines
@ kRegShiftEmbeddedAudioInput
struct HevcPciId HevcPciId
@ kRegHDMIV2VerticalMeasurementsField0
@ kRegNwlC2S1ChainCompleteByteCount
@ kK2RegMaskUseCustomCoefSelect
@ kRegMaskPCMControlA5P13_14
@ kRegShiftXlnxIntDescComplete
@ kRegMaskVidProcLimiting
@ kRegNwlS2C2ChainStartAddressLow
ULWord videoSegmentHostPitch
ULWord currentAudioStartAddress
As found by isr.
@ kRegShiftNwlControlStatusChainErrorShort
@ kRegXlnxSgdmaDescAddressLow
@ kRegEnhancedCSC4InOffset0_1
@ kRegMaskHDMIInAudioRate
@ kRegEnhancedCSC6OutOffsetA_B
@ kRegMaskPCMControlA3P11_12
@ kRegRXSDI8FrameRefCountHigh
@ kK2RegShiftXpt3DLUT1InputSelect
@ kRegMaskLTCOnRefInSelect
HevcDeviceStatus deviceStatus
ULWordSequence::const_iterator ULWordSequenceConstIter
A handy const iterator for iterating over a ULWordSequence.
std::string NTV2ChannelSetToStr(const NTV2ChannelSet &inObj, const bool inCompact=true)
@ kRegXlnxIrqUserInterruptRequest
@ kRegShiftInputStatusLock
@ maskInsTotalPixelsInLine
@ kRegShiftPCMControlA7P11_12
@ kRegFrameApertureOffset
uint16_t maxContentLightLevel
@ regAncInsPayloadIDControl
@ kRegShiftHDMIInColorSpace
@ kLHRegMaskResetAudioDAC
@ kRegShiftAudioMixerOutputChannel2Mute
@ kRegMaskAudioMixerOutputChannel2Mute
@ kK2RegShiftDuallinkIn3DSInputSelect
@ kK2RegShiftSDIOut5DS2InputSelect
@ kRegMaskXlnxIntIdleStop
UByte additionalData[((4+4+256) *16)]
AutoCircRegisterTask registerTask
@ kRegMaskAudioMixerOutputChannel12Mute
std::ostream & NTV2PrintULWordVector(const NTV2ULWordVector &inObj, std::ostream &inOutStream=std::cout)
Streams a human-readable dump of the given NTV2ULWordVector into the specified output stream.
NTV2RegReadsConstIter FindFirstMatchingRegisterNumber(const uint32_t inRegNum, const NTV2RegReads &inRegInfos)
Returns a const iterator to the first entry in the NTV2RegInfo collection with a matching register nu...
NTV2SegmentedXferInfo & setDestOffset(const ULWord inOffset)
Sets my destination offset.
@ kRegNwlS2C1ChainStartAddressHigh
@ kRegShiftPCMControlA8P9_10
@ kK2RegMaskXena2BgVidProcInputControl
ULWord GetDroppedFrameCount(void) const
@ kRegNwlCommonControlStatusIndex
@ kRegEnhancedCSC2OutOffsetC
@ kRegMaskAudioWorkLength
@ kRegNwlC2S2ChainStartAddressHigh
@ kRegRXSDI3CRCErrorCount
@ regAncExtTwoFrameCadenceDetect
enum NTV2EveryFrameTaskMode NTV2TaskMode
@ kK2RegMask4KDCQ4InputSelect
@ kK2RegShift425Mux4BInputSelect
@ kRegShiftInputStatusFPS
@ regAncExtIgnorePacketReg_13_14_15_16
@ kFS1RegMaskAFDVANCInserter_Mode
@ kRegShiftNwlCommonS2CInterruptStatus5
@ kK2RegShiftDuallinkIn5InputSelect
@ Hevc_GpioControl_Unknown
@ kRegMaskNwlCommonS2CInterruptStatus4
@ kRegXlnxChannelAlignments
@ kRegNwlS2C1ChainCompleteByteCount
@ kRegMaskSDIIn8VPIDLinkBValid
@ kRegShiftHDRStaticMetadataDescriptorID
NTV2RegWrites::const_iterator NTV2RegisterWritesConstIter
ULWord videoSegmentHostPitch
@ kRegMaskPCMControlA6P15_16
@ kRegShiftNwlCommonC2SInterruptStatus0
@ kRegLastValidXptROMRegister
@ kRegEnhancedCSC4CoeffB2
@ kRegShiftHDMIHDRWhitePointY
@ kK2RegShiftMixer2FGKeyInputSelect
@ kRegShiftSDIOutLevelAtoLevelB
@ kRegEnhancedCSC1CoeffB2
@ kRegShiftNwlCommonC2SInterruptStatus2
@ shiftInsEnablePktSplitSD
@ kBorgRegShiftPlaybackEEAudioDelay
@ kRegMaskAudioMixerChannelSelect
@ kRegShiftSDIIn8VPIDLinkAValid
@ kRegShiftXlnxUserMaxReadRequestEff
@ kRegShift4KDCPSFOutMode
@ kK2RegMaskKBoxAudioInputSelect
NTV2Crosspoint channelSpec
@ kK2RegShiftSDI1Out_2Kx1080Mode
@ kRegShiftXlnxIntInvalidLength
@ kRegEnhancedCSC1OutOffsetC
struct AutoCircGenericTask AutoCircGenericTask
@ kRegRXSDI7FrameRefCountHigh
@ kProgramStateEraseBank4
@ kK2RegMaskCSC6VidInputSelect
@ kRegEnhancedCSC3KeyGain
@ kRegMaskXlnxUserMaxReadRequestPgm
@ kRegXlnxIrqChannelInterruptRequest
@ kRegEnhancedCSC8KeyMode
ULWordSetConstIter NTV2RegNumSetConstIter
A const iterator that iterates over a set of distinct NTV2RegisterNumbers.
UByte additionalData[((4+4+256) *16)]
@ kK2RegShiftHDMIOutV2Q3InputSelect
@ kRegMaskStereoCompressorFlipRightVert
@ kK2RegMaskCSC2KeyInputSelect
@ kRegShiftNwlCommonInterruptMode
@ kRegShiftFrameBufferMode
@ kFS1RegMaskUpconvert2AFDDefaultHoldLast
@ kRegLTC6EmbeddedBits0_31
@ kK2RegShiftDuallinkIn1DSInputSelect
CUSTOM_ANC_STRUCT customAncInfo
This field is obsolete. Do not use.
std::map< ULWord, ULWord > NTV2RegisterValueMap
A mapping of distinct NTV2RegisterNumbers to their corresponding ULWord values.
@ kRegMaskPCMControlA6P11_12
HevcChangeSequence changeSequence
ULWord videoSegmentHostPitch
@ kRegMaskHDMIOutAudioFormat
const AUTOCIRCULATE_TRANSFER_STATUS & GetTransferStatus(void) const
Returns a constant reference to my AUTOCIRCULATE_TRANSFER_STATUS.
@ kK2RegShiftDeinterlaceMode
Defines the import/export macros for producing DLLs or LIBs.
@ kRegMaskPWMFanTachPeriodStatus
@ kRegCS3Coefficients9_10
@ kK2RegShiftSDIOut4DS2InputSelect
NTV2Mode GetMode(void) const
NTV2Crosspoint channelSpec
NTV2SegmentedXferInfo & setSegmentCount(const ULWord inNumSegments)
Sets my segment count.
uint8_t electroOpticalTransferFunction
@ kTestPatternPathological
@ kRegShiftPCMControlA4P13_14
bool WithFBOChange(void) const
@ kRegMaskAudioMixerOutputChannel16Mute
@ kRegMaskPCMControlA1P7_8
@ kMaskDesktopDisplayReady
@ kRegNwlCommonPCIExpressCoreVersionIndex
@ kFS1RegMaskI2C2ControlError
@ kRegRXSDI8FrameCountHigh
@ kRegOutputTimingControlch6
NTV2RegWritesConstIter NTV2RegReadsConstIter
A handy const (read-only) iterator for iterating over the contents of an NTV2RegisterReads instance.
@ kRegNwlS2C2ChainCompleteByteCount
@ kK2RegShiftCSC6VidInputSelect
@ kRegShiftRS422ParityDisable
@ kRegRP188InOut3Bits32_63_2
@ kRegShiftInputStatusStd
UByteSequence::iterator UByteSequenceIter
A handy non-const iterator for iterating over a UByteSequence.
This struct is used to augment the default full-frame AutoCirculate DMA transfer to accommodate multi...
uint16_t maxContentLightLevel
NTV2FrameBufferFormatSet::const_iterator NTV2FrameBufferFormatSetConstIter
A handy const iterator for iterating over an NTV2FrameBufferFormatSet.
@ kK2RegMaskSDIOut4InputSelect
@ kRegShiftMessageInterruptStatusChannel2
@ kFS1RegMaskVideoDAC2Mode
struct HDRDriverValues HDRDriverValues
@ kK2RegMaskFrameBuffer5InputSelect
@ kRegMaskSDIIn6VPIDLinkBValid
std::string NTV2ChannelListToStr(const NTV2ChannelList &inObj, const bool inCompact=true)
@ kRegShiftOutputStartAtVBI
@ kRegShiftHDMIOutAudioCh
@ kRegShiftNwlControlStatusAlignmentError
ULWord GetCapturedAudioByteCount(void) const
@ kRegShiftReferenceFrameRate
@ regAncExtTimecodeStatusDBB
@ kRegEnhancedCSC1CoeffA1
@ kRegShiftAnalogCompositeLocked
@ kRegShiftPCRReferenceEnable
@ AUTOCIRCVIDPROCMODE_HORZWIPE
@ kFS1RegShiftVideoDAC2Mode
@ kRegShiftStereoCompressorFlipLeftHorz
@ kK2RegShiftBOCableDetect
@ kRegMaskAud6PlayCapMode
@ kK2RegShiftColorSpaceConverterInputSelect
HevcGpioState gpioState[64]
@ kRegShiftAnalogInputADCMode
@ kRegMaskHardwareVersion
@ kK2RegMaskWaterMarkerInputSelect
uint8_t & U8(const int inIndex)
@ kK2RegShiftConverterPulldown
@ kRegMaskPCMControlA2P5_6
struct AUTOCIRCULATE_TASK_STRUCT * PAUTOCIRCULATE_TASK_STRUCT
@ kRegNwlS2C2Capabilities
bool NTV2DeviceGetSupportedStandards(const NTV2DeviceID inDeviceID, NTV2StandardSet &outStandards)
Returns a set of distinct NTV2Standard values supported on the given device.
@ kRegShiftAESCh12Present
@ kRegMaskHDMIInV2VideoStd
@ kK2RegShiftCSC2VidInputSelect
@ kK2RegMaskFrameSync1InputSelect
std::set< NTV2FrameBufferFormat > NTV2FrameBufferFormatSet
A set of distinct NTV2FrameBufferFormat values.
@ kK2RegShiftFrameBuffer6InputSelect
@ kRegMaskAudioMixerMainInputSelect
#define NTV2_STRUCT_END(__struct_name__)
@ kRegEnhancedCSC6CoeffB0
@ kK2RegMaskConverterInRate
NTV2HDMIBitDepth
Indicates or specifies the HDMI video bit depth.
@ kRegShiftAud2PlayCapMode
@ kRegEnhancedCSC3CoeffA0
@ kRegShiftAudioMixerMainChannel13Level
enum _INTERRUPT_ENUMS_ INTERRUPT_ENUMS
ULWord GetConnectionID(void) const
@ kRegAudioMixerAux1GainCh2
@ kRegNwlS2C1CapabilitiesIndex
@ kRegMaskXlnxStreamWriteBackDisable
@ kRegShiftAudioMixerMainChannel12Level
@ kRegRP188InOut6Bits32_63_2
@ kRegShiftLUT4OutputBankSelect
@ kRegMaskPCMControlA5P5_6
@ kRegMaskRGB8b10bCvtMode
@ kRegShiftAudioMixerOutputChannelsMute
@ kRegEnhancedCSC8CoeffC0
@ kRegMaskNwlCommonS2CInterruptStatus2
@ kRegCS8Coefficients9_10
AUTO_CIRC_COMMAND eCommand
char userFirmwareMultiple[64]
@ kK2RegMaskHDMIOutV2Q4InputSelect
@ kRegEnhancedCSC3CoeffA1
@ kRegEnhancedCSC1KeyClipOffset
@ kRegShiftPCMControlA6P9_10
@ kK2RegShiftDuallinkIn8InputSelect
@ kRegRXSDI7FrameCountLow
struct HevcMessageCommand HevcMessageCommand
@ kRegRP188InOut2Bits0_31
enum _NTV2NonPCMAudioDetectRegisters NTV2NonPCMAudioDetectRegisters
@ kRegCS5Coefficients9_10
#define AUTOCIRCULATE_WITH_FIELDS
Use this to AutoCirculate with fields as frames for interlaced formats.
@ kRegMaskSDIIn23GbpsMode
@ kK2RegMaskDuallinkIn1InputSelect
@ kRegShiftXlnxTransferAlignment
@ kRegMaskNwlCapabilitiesPresent
NTV2SegmentedXferInfo & setSourceOffset(const ULWord inOffset)
Sets my source offset.
NTV2VideoFrameBufferOrientation
Determines the order that raster lines are written into, or read out of, frame buffer memory on the d...
ULWord GetProcessedFrameCount(void) const
struct AUTOCIRCULATE_TASK_STRUCT_64 * PAUTOCIRCULATE_TASK_STRUCT_64
@ kK2RegMaskDuallinkOut7InputSelect
@ kK2RegShiftMixerFGKeyInputSelect
@ kK2RegShiftVPIDInsertionEnable
Describes the horizontal and vertical size dimensions of a raster, bitmap, frame or image.
@ kFS1RegMaskDownconvertAFDDefaultHoldLast
@ kRegMaskInput2FrameRate
@ kK2RegMaskVPIDInsertionEnable
NTV2FrameBufferFormatSet NTV2PixelFormats
@ NTV2_AUTOCIRCULATE_PAUSED
The AutoCirculate channel is paused.
@ kRegNwlC2S2ChainCompleteByteCount
@ kRegRP188InOut1Bits0_31
struct hevc_gpio_state HevcGpioState
@ kFS1RegShiftAudioChannelMapping_Gain
@ kRegShiftReferenceProgessive
@ kRegAudioMixerAux1InputLevels
@ kRegRP188InOut7Bits32_63
@ kRegShiftHDMIHDRGreenPrimaryX
std::set< NTV2OutputDestination > NTV2OutputDestinations
A set of distinct NTV2OutputDestination values.
@ kK2RegMaskDuallinkIn2DSInputSelect
@ kRegInvalidValidXptROMRegister
@ kRegMaskLUT8OutputBankSelect
@ kK2RegMaskColorSpaceMatrixSelect
bool ResetUsing(const NTV2RegisterReads &inRegReads)
Resets me, starting over, using the given NTV2RegisterReads vector.
LWord64 currentTime
Current processor time ... on Windows, this is derived from KeQueryPerformanceCounter.
@ kRegMaskLUT2HostAccessBankSelect
@ kRegEnhancedCSC7CoeffC0
struct HevcDeviceRegister HevcDeviceRegister
void DisableQuarterSizeExpandMode(void)
Enables quarter-size expansion mode.
bool WithVidProc(void) const
@ kRegNwlC2S2HardwareTime
@ kLHRegShiftVideoOutputAnalogSelect
@ kK2RegMask425Mux4AInputSelect
#define KONA_DEBUGFILTER_STRINGLENGTH
@ kRP188SourceEmbeddedVITC1
void SetFlags(const ULWord inFlags)
Sets the action flags for use in a subsequent call to CNTV2Card::LoadBitstream.
std::ostream & Print(std::ostream &outputStream, const bool inAsCode=false) const
Renders me to the given output stream in a human-readable format.
@ kK2RegShiftXena2VidProcMode
@ kRegMaskHDMIOutForceConfig
@ kRegShiftPCMControlA4P1_2
ULWord registerValue
My register value to use in a ReadRegister or WriteRegister call.
@ kK2RegMaskXena2VidProcMode
@ kRegEnhancedCSC3CoeffC1
enum _NTV2OERegisters NTV2OERegisters
@ kRegMaskRotaryEncoderGain
@ kRegShiftPCMControlA7P5_6
std::ostream & NTV2PrintChannelSet(const NTV2ChannelSet &inObj, const bool inCompact=true, std::ostream &inOutStream=std::cout)
Streams a human-readable dump of the given NTV2ChannelSet into the specified output stream.
@ AUTOCIRCVIDPROCMODE_KEY
@ kRegShiftSDIIn16GbpsMode
@ kK2RegShiftEnhancedCSCKeyOutputRange
@ kK2RegMaskDuallinkOut2InputSelect
@ kK2RegMaskMixer2FGVidInputSelect
@ kRegEnhancedCSC3CoeffB1
@ kK2RegMaskMixerBGKeyInputSelect
@ kRegShiftSDIRelayPosition34
@ kRegMaskHDMIHDRBluePrimaryY
struct HevcTransferData HevcTransferData
std::set< NTV2TCIndex > NTV2TCIndexes
A set of distinct NTV2TCIndex values.
@ kRegMaskSDIIn86GbpsMode
@ kRegEnhancedCSC3InOffset0_1
@ kK2RegShiftConverterInStandard
NTV2TimeCodeList::const_iterator NTV2TimeCodeListConstIter
A handy const interator for iterating over an NTV2TimeCodeList.
@ kRegMaskAudioMixerAux1Channel2Level
@ kRegMaskXlnxAddressAlignment
@ kRegEnhancedCSC6CoeffA0
@ kRegHDMIV2HorizontalMeasurements
@ kRegMaskAud8PlayCapMode
@ kRegOutputTimingControlch7
@ kRegField2Line21CaptionEncode
@ kK2RegShiftWaterMarkerInputSelect
#define NTV2_IS_STRUCT_VALID_IMPL(__hr__, __tr__)
@ kRegShiftAudioMixerMainMixedOutputChannel1Level
@ kRegNwlCommonUserVersionIndex
@ eAutoCircTaskRegisterWrite
NTV2SegmentedXferInfo & setSourcePitch(const ULWord inPitch)
Sets my source pitch.
@ kRegShiftVPIDProgressivePicture
@ kRegShiftCCOutputBankSelect
NTV2Channel
These enum values are mostly used to identify a specific Frame Store. They're also commonly used to i...
NTV2HDMIColorSpace
Indicates or specifies HDMI Color Space.
@ kRegShiftAudioMixerChannelSelect
@ kRegAudioMixerAux1GainCh1
@ kRegMaskPCMControlA1P5_6
@ kK2RegMaskCSC3VidInputSelect
@ kRegShiftLUT5OutputBankSelect
@ kRegEnhancedCSC4KeyGain
ULWord bytesRead
Total audio and video bytes transfered.
A generic user-space buffer object that has an address and a length. Used most often to share an arbi...
@ kK2RegMaskSDIOutHBlankRGBRange
@ kRegShiftSDIOut12GbpsMode
@ kRegShiftLUT7OutputBankSelect
@ kRegShiftHDMIOutVideoStd
@ kProgramCommandPageProgram
@ maskInsActivePixelsInLine
@ kRegShiftAud6PlayCapMode
@ kLHIRegMaskHDMIInputProtocol
@ kRegAudioMixerMixedChannelOutputLevels
NTV2FrameBufferFormatSetConstIter NTV2PixelFormatsConstIter
@ kRegMaskHDMIHDRRedPrimaryX
@ NTV2CROSSPOINT_CHANNEL1
@ regAncExtIgnorePacketReg_9_10_11_12
NTV2QuarterSizeExpandMode videoQuarterSizeExpand
@ kRegMaskSDIIn612GbpsMode
@ kRegEnhancedCSC2KeyGain
@ kRegShiftBOBGPIIn1InterruptControl
@ kRegShiftNwlControlStatusChainHardwareShort
@ kRegEnhancedCSC5CoeffC2
ULWordSet NTV2RegisterNumberSet
A set of distinct ULWord values.
@ kRegShiftInput2FrameRate
@ kFS1RegShiftAFDReceived_VANCPresent
@ kRegLTC5EmbeddedBits0_31
@ kRegShiftPCMControlA5P9_10
@ kRegShiftBOBGPIOut3Data
@ kK2RegMaskConverterInStandard
@ kRegEnhancedCSC6InOffset2
@ Hevc_GpioFunction_Unknown
@ kRegShiftHDMIInputProgressive
@ kRegNwlC2S1Capabilities
#define MAX_ROUTING_ENTRIES
@ kRegShiftLTCOnRefInSelect
ULWord GetByteCount(void) const
@ kRegShiftNwlCommonUserInterruptActive
HevcEncodeMode encodeMode
@ kRegLTC2EmbeddedBits0_31
@ Hevc_ChangeSequence_Enabled
struct AUTOCIRCULATE_P2P_STRUCT * PCHANNEL_P2P_STRUCT
@ kRegShiftAudioMixerAux2InputEnable
std::set< NTV2VideoFormat > NTV2VideoFormatSet
A set of distinct NTV2VideoFormat values.
void SetFlags(const ULWord inFlags)
Sets the action flags.
@ kK2RegMaskXptLUTInputSelect
@ kRegMaskPCMControlA4P3_4
@ kRegMaskSDIIn43GbpsSMPTELevelBMode
@ kRegShiftLUT8HostAccessBankSelect
@ kRegMaskHDMIAudioPairSelect
@ kRegShiftHDMIOutForceConfig
@ kFS1RefMaskLTCOnRefInSelect
@ kRegRXSDI4FrameCountHigh
@ kRegMaskSDIIn53GbpsSMPTELevelBMode
@ kRegMaskSDIInVPIDLinkAValid
@ kRegEnhancedCSC5OutOffsetC
@ kRegShiftSDIIn312GbpsMode
@ kFS1RegShiftProcAmpC1CR
@ kRegEnhancedCSC2InOffset0_1
@ kRegAudioChannelMappingCh4
@ kRegMaskSDIIn5VPIDLinkBValid
@ kRegCS2Coefficients9_10
@ kK2RegShiftXptLUT6InputSelect
@ kDefaultModeTestPattern
@ maskInsField1FirstActive
bool IsProvidedByClient(void) const
@ maskInsField2FirstActive
@ kRegRP188InOut6Bits0_31
@ kRegNwlCommonUserVersion
LWord GetTransferFrame(void) const
@ kRegEnhancedCSC7KeyClipOffset
@ kK2RegShiftFrameBuffer8BInputSelect
std::set< NTV2Standard > NTV2StandardSet
A set of distinct NTV2Standard values.
@ kRegShiftPCMControlA2P1_2
NTV2SegmentedXferInfo & setSegmentLength(const ULWord inNumElements)
Sets my segment length.
@ kRegShiftSDIOut6GbpsMode
@ kRegShiftXlnxAddressBits
ULWord OptionFlags(void) const
uint16_t maxMasteringLuminance
@ kRegEnhancedCSC1InOffset2
FRAME_STAMP_STRUCT frameStamp
@ kRegEnhancedCSC2KeyMode
@ kRegMaskAudioMixerOutputChannel9Mute
@ kRegEnhancedCSC8CoeffB2
@ kRegMaskXlnxSubsystemId
@ kRegNwlC2S2Capabilities
@ kRegMaskHDMIOutAudioSource
@ kRegEnhancedCSC8KeyGain
@ shiftField2AnalogStartLine
@ kRegNwlCommonControlStatus
@ kRegMaskVPIDProgressivePicture
@ kRegMaskNwlControlStatusAlignmentError
@ kProgramStateEraseMainFlashBlock
std::vector< uint8_t > UByteSequence
An ordered sequence of UByte (uint8_t) values.
@ kK2RegShiftDuallinkIn6DSInputSelect
@ kRegShiftBOBAnalogInputSelect
@ kRegShiftNwlCommonDmaInterruptActive
@ kK2RegMaskXptLUT2InputSelect
const FRAME_STAMP & GetFrameInfo(void) const
Returns a constant reference to my FRAME_STAMP.
@ kK2RegMaskCSC5VidInputSelect
@ kRegShiftAudioMixerMainChannel2Level
UByteSequence NTV2_RPC_BLOB_TYPE
BOOL_ bWithColorCorrection
@ kK2RegMaskEnableConverter
@ kRegMaskHDMIHDRGreenPrimaryX
@ kRegMaskHDMIHDRMaxMasteringLuminance
@ kK2RegShiftEnhancedCSCChromaFilterSelect
@ kRegMaskInput2GeometryHigh
@ kRegMaskTPGChromaSample
@ kK2RegMaskUpConvertMode
@ kRegEnhancedCSC7CoeffB0
NTV2VideoFrameBufferOrientation frameBufferOrientation
@ kFS1RegShiftAudioChannelMapping_Source
@ kRegShiftBOBGPIIn2InterruptControl
@ kRegShiftNwlControlStatusDmaResetRequest
UWordSequence::iterator UWordSequenceIter
A handy non-const iterator for iterating over a UWordSequence.
@ kRegShiftPCMControlA5P3_4
@ kRegMaskPCMControlA4P13_14
@ kRegShiftHDMIHDRMaxContentLightLevel
ULWord GetQueueDepth(void)
Gets the queue depth.
@ kPrimaryTimecodeDisplayMode
@ kRegMaskAudioMixerMainMixedOutputChannel1Level
NTV2StandardSet::const_iterator NTV2StandardSetConstIter
A handy const iterator for iterating over an NTV2StandardSet.
@ kFS1RegMaskAFDReceived_Code
struct DMA_TRANSFER_STRUCT_64 * PDMA_TRANSFER_STRUCT_64
NTV2Crosspoint channelSpec
@ kRegMaskPCMControlA2P13_14
@ kK2RegShiftMixerBGVidInputSelect
@ kRegEnhancedCSC8CoeffA1
@ kLSRegShiftVideoADCMode
@ kRegEnhancedCSC8OutOffsetA_B
NTV2GeometrySet::const_iterator NTV2GeometrySetConstIter
A handy const iterator for iterating over an NTV2GeometrySet.
@ kRegShiftHDMIColorSpace
@ kRegShiftNwlControlStatusInterruptActive
@ kRegShiftNwlCommonC2SInterruptStatus4
@ kRegMaskSDIIn16GbpsMode
@ kRegShiftXlnxUserMaxReadRequestPgm
@ regAuxExtField1EndAddress
@ kRegShiftVPIDProgressiveTransport
@ kRegMaskPCMControlA6P3_4
@ kRegRXSDI5FrameCountHigh
@ kK2RegShiftXptLUT7InputSelect
@ kK2RegShiftFrameBuffer1InputSelect
@ kRegShiftPCMControlA8P13_14
@ kRegMaskPCMControlA8P13_14
@ kRegShiftHDMIOut8ChGroupSelect
@ kRegShiftBOBADAV801Reset
@ kK2RegShiftCSC5VidInputSelect
std::ostream & Print(std::ostream &inOutStream) const
Prints a human-readable representation of me to the given output stream.
#define NTV2_IS_VALID_TRAILER_TAG(_x_)
@ kRegHDMIHDRGreenPrimary
@ kK2RegShiftDuallinkOut7InputSelect
@ kRegMaskAlphaFromInput2
@ kRegOutputTimingControlch3
@ kK2RegMaskFrameBuffer4InputSelect
@ kRegMaskAnalogIOControl_58
@ kK2RegMaskDuallinkIn3InputSelect
@ kRegShiftQuadQuadSquaresMode
ULWord GetProcessedFrameCount(void) const
@ kRegMaskAudioMixerAux2x2CHInput
NTV2ChannelList NTV2MakeChannelList(const NTV2Channel inFirstChannel, const UWord inNumChannels=1)
uint32_t U32(const int inIndex) const
@ kRegMaskNwlCommonC2SInterruptStatus7
@ kRegShiftRS422TXFIFOFull
@ regAncExtField1EndAddress
@ kRegMaskRP188SourceSelect
ULWord currentFrame
Last vertical blank frame for this channel's auto-circulate. (at the time of the IOCTL_NTV2_GET_FRAME...
@ kK2RegMaskXpt3DLUT1InputSelect
@ kFS1RegShiftColorFIDSubcarrierReset
@ kRegMaskAudioMixerPresent
ULWord GetTag(void) const
NTV2HDMIAudioChannels
Indicates or specifies the HDMI audio channel count.
@ kK2RegShiftSDIOut2DS2InputSelect
@ kK2RegMaskDuallinkIn6DSInputSelect
@ kRegXlnxChannelControlW1S
NTV2OutputDestinations::const_iterator NTV2OutputDestinationsConstIter
A handy const iterator for iterating over an NTV2OutputDestinations.
@ kRegShiftSDIIn23GbpsMode
@ kRegMaskLUT2OutputBankSelect
@ kFS1RegMaskDownconvert2AutoAFDEnable
@ kRegMaskVidProcBGMatteEnable
@ kRegShiftHDMIV2TxBypass
@ kRegRXSDI3FrameCountHigh
ULWord64Sequence GetU64s(const size_t inU64Offset=0, const size_t inMaxSize=16, const bool inByteSwap=false) const
@ kK2RegMaskMixerBGVidInputSelect
@ kK2RegShiftCSC4VidInputSelect
@ kRegEnhancedCSC6CoeffB1
std::ostream & PrintCode(std::ostream &outputStream, const int inRadix=16, const NTV2DeviceID inDeviceID=DEVICE_ID_INVALID) const
Renders me to the given output stream as source code using a "WriteRegister" function call.
@ kRegMaskAudioMixerAux1InputEnable
@ kRegShiftSDIIn73GbpsSMPTELevelBMode
@ kRegEnhancedCSC5OutOffsetA_B
@ kRegShiftAud1PlayCapMode
ULWordSet::iterator ULWordSetIter
@ kRegMask12BitLUTSupport
@ kMaskSecondaryFormatSelect
@ kLHIRegMaskHDMIOutputEDIDDVI
@ kRegRP188InOut4Bits0_31
@ kRegMaskStereoCompressorFormat
@ kK2RegShiftDownConvertMode
@ regAuxExtTotalFrameLines
NTV2RegWrites::const_iterator NTV2RegWritesConstIter
A handy const (read-only) iterator for iterating over the contents of an NTV2RegisterWrites instance.
struct HevcDeviceTransfer HevcDeviceTransfer
std::ostream & NTV2PrintChannelList(const NTV2ChannelList &inObj, const bool inCompact=true, std::ostream &inOutStream=std::cout)
Streams a human-readable dump of the given NTV2ChannelList into the specified output stream.
ULWord rawTransferQueueLevel
@ kRegMaskMessageInterruptControlEnable4
@ kRegXlnxIrqChannelInterruptPending
@ kRegShiftSDIIn2VPIDLinkBValid
@ kRegShiftVPIDColorimetry
@ kK2RegMaskVPIDInsertionOverwrite
@ kRegShiftSDIIn53GbpsMode
@ kRegShiftAudioMixerMainChannel9Level
@ kRegEnhancedCSC7KeyMode
@ kRegShift12BitLUTPlaneSelect
@ kRegCS4Coefficients9_10
@ kRegMaskAud7PlayCapMode
@ kRegShiftHDMIOutAudioFormat
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.
@ AUTOCIRCVIDPROCMODE_VERTWIPE
float & FL(const int inIndex)
@ kRegEnhancedCSC1KeyMode
@ kRegEnhancedCSC2CoeffB2
@ kK2RegShiftHDMIOutInputSelect
@ kRegMaskAudioMixerMainChannel11Level
NTV2AutoCirculateState GetState(void) const
@ kRegShiftPCMControlA2P15_16
@ kRegMaskSDIOut6GbpsMode
@ kRegEnhancedCSC6CoeffB2
ULWord audioExpectedAddress
The address that was used to transfer.
@ maskField1AnalogStartLine
@ kRegMaskHDMIOut3DPresent
@ kK2RegMaskSDIOut5InputSelect
@ kK2RegShiftPulldownMode
@ kRegEnhancedCSC8CoeffA2
@ kRegShiftNwlCapabilitiesEngineNumber
ULWord GetBufferLevel(void) const
Pointer64 ccLookupTables
only used in 3way color correction mode.
@ kRegShiftPCMControlA3P9_10
@ kK2RegShiftFrameBuffer4BInputSelect
@ kK2RegMaskFrameBuffer3InputSelect
@ kRegShiftInput1FrameRateHigh
ULWord * ccLookupTables
only used in 3way color correction mode.
@ kRegShiftLUT4HostAccessBankSelect
@ kRegMaskInput2FrameRateHigh
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
@ kRegMaskBOBGPIIn4InterruptControl
@ kRegMaskSDIIn312GbpsMode
@ kRegMaskSDIIn63GbpsSMPTELevelBMode
@ regAncExtField1AnalogCFilter
@ kK2RegMaskMixer3FGVidInputSelect
ULWord audioOutStartAddress
For play - end position (exclusive) in buffer of audio.
@ maskField2AnalogStartLine
@ kRegEnhancedCSC5CoeffC1
@ kRegShiftInput2FrameRateHigh
@ kRegRXSDI7CRCErrorCount
@ kRegMaskHDMIOutAudioRate
@ kFS1RegShiftProcAmpC1CB
uint8_t staticMetadataDescriptorID
LWord64 maxDequeueDuration
@ kK2RegShiftMultiLinkOutInputSelect
@ kK2RegShiftAnalogOutInputSelect
@ kRegXlnxChannelDescCompleteCount
@ kLHIRegShiftHDMIInputProtocol
@ kK2RegShiftMixer4BGVidInputSelect
@ kFS1RegMaskDownconvertAutoAFDEnable
@ kRegMaskBOBAnalogLevelControl
@ kK2RegMaskFrameBuffer6InputSelect
@ kRegMaskPCMControlA3P3_4
@ kRegShiftPCMControlA2P5_6
@ kRegMaskElectroOpticalTransferFunction
@ kK2RegMaskDuallinkIn2InputSelect
@ kRegShiftStereoCompressorFormat
@ kK2RegShiftMixer3BGKeyInputSelect
BOOL_ bDisableExtraAudioInfo
@ kK2RegMaskHDMIOutV2Q2InputSelect
@ kRegShiftAudioMixerMainChannel10Level
@ kRegAudioOutputSourceMap
@ kRegMaskNwlCommonUserInterruptEnable
@ kRegShiftHDMISampleRateConverterEnable
@ kRegShiftSaturationValue
@ regAuxExtField2StartAddress
@ kK2RegMaskEnhancedCSCKeyOutputRange
@ kRegShiftXlnxStreamWriteBackDisable
@ kRegMaskPCMControlA3P15_16
@ regAncExtIgnorePacketReg_5_6_7_8
@ kRegMaskBOBADAV801DIRLocked
@ kRegNonPCMAudioDetectEngine8
@ kK2RegShiftDuallinkIn6InputSelect
@ kRegShiftCC5OutputBankSelect
@ kRegRP188InOut3Bits0_31
@ kRegXlnxSgdmaDescAddressHigh
@ kK2RegMaskDownConvertMode
NTV2FrameBufferFormat
Identifies a particular video frame buffer format. See Device Frame Buffer Formats for details.
@ kLHRegShiftVideoOutputDigitalSelect
@ kK2RegMask425Mux4BInputSelect
@ kK2RegMaskFrameSyncControlFrameFormat
@ kRegEnhancedCSC4KeyMode
@ kRegMaskLUT7OutputBankSelect
@ regAncExtFieldCutoffLine
bool WithHDMIAuxData(void) const
AutoCircTaskType taskType
@ kRegMaskNwlCapabilitiesEngineDirection
@ kRegShiftPCMControlA3P15_16
@ kRegRXSDI8CRCErrorCount
@ kK2RegShiftSDIOut5InputSelect
@ kRegShiftAudioMixerOutputChannel12Mute
@ kRegShiftPCMControlA1P15_16
@ kRegADV7189BSaturationCr
@ kRegCh1BlackOutputShift
@ kLHIRegShiftVideoDACRGB
@ kRegShiftAudio16Channel
@ kRegMaskPCMControlA8P5_6
NTV2ColorCorrectionInfo_64 colorCorrectionInfo
@ kRegShiftSDIRelayControl34
struct HevcMessageInfo HevcMessageInfo
@ kRegMaskNwlControlStatusChainHardwareShort
@ kRegShiftSDIIn3GbpsMode
struct HevcDeviceInfo HevcDeviceInfo
@ kRegMaskCC5OutputBankSelect
@ kK2RegMaskDuallinkIn8DSInputSelect
NTV2HDMIOutputStatus(const ULWord inData)
Constructs a NTV2HDMIOutputStatus from a register data value.
@ kRegShiftHDMIOutSourceSelect
@ kRegMaskPCMControlA5P11_12
@ kRegShiftSDIInCRCErrorCountB
@ kRegEnhancedCSC2CoeffA0
@ kRegShiftAudioMixerOutputChannel3Mute
@ shiftAuxDisableExtractor
@ kRegMaskCC4OutputBankSelect
@ kRegAudioMixerAux2GainCh1
@ kK2RegMaskMixer4FGVidInputSelect
@ kRegXlnxIrqChannelInterruptEnableW1S
struct HevcDeviceStatus HevcDeviceStatus
@ kK2RegMaskMixer2BGVidInputSelect
@ kK2RegShiftMixer3BGVidInputSelect
@ kRegShiftAud8PlayCapMode
#define NTV2_IS_ACTIVE_COLOR_CORRECTION_MODE(__x__)
@ kK2RegShiftMixer2BGKeyInputSelect
@ kRegEnhancedCSC8InOffset2
@ kRegShiftSDIIn6VPIDLinkAValid
@ kRegEnhancedCSC3CoeffC0
AUTO_CIRC_COMMAND eCommand
@ kRegShiftPCMControlA6P5_6
@ kK2RegShiftDuallinkOut2InputSelect
@ kRegRXSDI2FrameRefCountLow
@ kRegShiftSDIIn53GbpsSMPTELevelBMode
This is used to prelock a video/audio/anc buffer used as the source or target of DMA transfers....
@ kFS1RegMaskUpconvertAutoAFDEnable
@ kRegShiftCC5HostAccessBankSelect
@ kRegShiftOutputTimingFinePhase
@ kRegEnhancedCSC6CoeffC0
@ kRegShiftAudioMixerOutputChannel8Mute
@ kRegShiftCanDoAudioWaitForVBI
@ kFS1RegShiftProcAmpC2CB
@ kRegShiftVidProcRGBRange
@ kRegEnhancedCSC1KeyGain
struct INTERRUPT_TIMESTAMP_STRUCT * PINTERRUPT_TIMESTAMP_STRUCT
@ kRegShiftSDIIn3VPIDLinkBValid
@ kRegMaskQuadQuadSquaresMode
@ kRegShiftBOBGPIOut4Data
@ kRegShiftNwlCapabilitiesEngineType
@ kRegHDMIV2HSyncDurationAndBackPorch
enum NTV2InputSourceKinds NTV2IOKinds
@ kRegMaskXlnxStreamInterface
@ kRegMaskOutputTimingFinePhase
NTV2FrameDimensions & SetWidth(const ULWord inValue)
Sets my width dimension.
@ kFS1RegShiftI2C1ControlBusy
@ kRegAudioMixerMainOutputLevelsPair0
@ kRegXlnxChannelPerfControl
NTV2ChannelSet::const_iterator NTV2ChannelSetConstIter
A handy const iterator into an NTV2ChannelSet.
NTV2Crosspoint channelSpec
bool Find(const T &inValue, int &inOutIndex) const
Searches me for the given scalar value of type T starting at a given index position.
NTV2TimeCodes::const_iterator NTV2TimeCodesConstIter
A handy const interator for iterating over NTV2TCIndex/NTV2TimeCodeList pairs.
@ kFS1RegShiftAFDVANCInserter_Line
@ kRegMaskCC5HostAccessBankSelect
@ kRegMaskNwlCommonS2CInterruptStatus0
@ kRegLTC7EmbeddedBits0_31
@ kRegMaskVPIDDualLinkChannel
@ kRegMaskPCMControlA8P3_4
@ kK2RegMaskIsoConvertMode
@ kRegAudioMixerMainOutputLevelsPair6
@ NTV2_CHANNEL1
Specifies channel or Frame Store 1 (or the first item).
@ shiftInsTotalLinesPerFrame
@ kK2RegMaskEnhancedCSCChromaFilterSelect
ULWord GetNumAvailableOutputFrames(void) const
@ kK2RegMask425Mux3BInputSelect
@ kRegShiftSDIIn8VPIDLinkBValid
@ kRegEnhancedCSC8OutOffsetC
NTV2RoutingEntry & operator=(const NTV2RegInfo &inRHS)
Assigns an NTV2RegInfo to me.
@ kRegShiftBOBADAV801DIRLocked
@ kRegEnhancedCSC8CoeffA0
@ kRegMaskFramePulseEnable
@ kRegMaskCCOutputBankSelect
@ kRegLTC2AnalogBits32_63
@ kRegMaskSDIOut12GbpsMode
@ kRegShiftCCHostAccessBankSelect
Declares enums for virtual registers used in all platform drivers and the SDK.
@ kRegShiftVidProcBGMatteEnable
NTV2FrameDimensions & SetHeight(const ULWord inValue)
Sets my height dimension.
@ kRegMaskNwlControlStatusDmaResetRequest
@ kRegMaskNwlCommonS2CInterruptStatus5
@ kRegMaskSDIIn76GbpsMode
@ kRegShiftHDMIHDRGreenPrimaryY
@ Hevc_GpioDirection_Unknown
@ shiftPktIgnore_2_6_10_14_18
@ kRegMaskDualLinkOutEnable
@ regAncExtTimecodeStatus32_63
@ kRegMaskXlnxNonIncAddressMode
@ kRegShiftInput2GeometryHigh
std::ostream & Print(std::ostream &inOutStream) const
Prints a human-readable representation of me to the given output stream.
@ kRegRP188InOut4Bits32_63
@ kRegAudioMixerMainInputLevelsPair1
std::ostream & Print(std::ostream &inOutStream) const
Prints a human-readable representation of me to the given output stream.
@ kRegShiftSDIIn66GbpsMode
@ kRegShiftAudioMixerOutputChannel15Mute
bool CanAcceptMoreOutputFrames(void) const
HevcFirmwareType firmwareType
@ kRegMaskPCMControlA6P5_6
@ kRegMaskCanDoValidXptROM
@ kRegShiftSDIIn4VPIDLinkAValid
@ kRegRXSDI4FrameRefCountHigh
@ kRegShiftEmbeddedAudioClock
bool WithAudio(void) const
@ kRegShiftAudioMixerMainChannel6Level
_NTV2MultiRasterRegisters
@ kRegMaskSDIIn63GbpsMode
@ kRegAFDVANCInserterSDI1
@ kRegMaskInput1FrameRate
@ kRegShiftInput1FrameRate
@ kRegShiftNwlCapabilitiesPresent
uint8_t staticMetadataDescriptorID
@ kK2RegMaskSDIOut8DS2InputSelect
@ kRegAudioMixerMainInputLevelsPair5
@ kRegShiftPCMControlA1P3_4
@ kRegMaskMessageInterruptStatusChannel1
@ kFS1RegMaskAFDVANCInserter_Line
@ kK2RegShiftDuallinkOut8InputSelect
@ kProgramCommandSectorErase
@ kLHIRegShiftSDIOutSMPTELevelBMode
@ kK2RegShiftXptLUTInputSelect
UByteSequence GetU8s(const size_t inU8Offset=0, const size_t inMaxSize=128) const
@ kK2RegShiftMixer4FGVidInputSelect
@ kK2RegShiftSDIOutStandard
@ kFS1RefShiftLTCEmbeddedOutEnable
@ kRegNwlC2S1ChainStartAddressHigh
@ kK2RegShiftEnhancedCSCOutputPixelFormat
@ kRegSysmonVccIntDieTemp
NTV2HDMIRange
Indicates or specifies the HDMI RGB range.
@ kRegShiftVidProcBGControl
@ kRegNwlS2C2ChainStartAddressHighIndex
@ kRegEnhancedCSC2CoeffA1
NTV2SegmentedXferInfo & setDestInfo(const ULWord inOffset, const ULWord inPitch)
A convenience function that sets both my destination offset and pitch.
ULWord64 audioClockStartTime
@ kRegShiftMessageInterruptControlEnable4
@ kRegShiftSDIInVpidValidA
@ kRegShiftHDMIInputRange
ULWord currentReps
At Call Line# currently being OUTPUT (at the time of the IOCTL_NTV2_GET_FRAMESTAMP)
Reports HDMI output status information.
@ kRegRXSDI6FrameRefCountLow
std::vector< NTV2RegInfo > NTV2RegWrites
An ordered sequence of zero or more NTV2RegInfo structs intended for WriteRegister.
@ kRegShiftXlnxPerfCycleCountMax
@ kRegShiftFrameRateHiBit
@ kRegNwlC2S1ChainStartAddressLow
@ kRegShiftPCMControlA8P3_4
@ kRegMaskCanDoAudioWaitForVBI
All new NTV2 structs end with this common trailer.
@ regAuxExtField1StartAddress
@ kK2RegShiftSDIOut3InputSelect
@ AUTO_CIRC_COMMAND_INVALID
@ kRegShiftSDIIn46GbpsMode
@ kRegEnhancedCSC3KeyMode
@ kK2RegMaskWaterMarker2InputSelect
@ Hevc_ChangeSequence_Unknown
@ kRegShiftFrameFormatHiBit
@ kRegMaskSDIIn112GbpsMode
@ kK2RegShiftDuallinkOut5InputSelect
@ kRegMaskVPIDPictureRate
NTV2FrameRate
Identifies a particular video frame rate.
@ kK2RegShiftSDIOut7InputSelect
@ kKHRegShiftDownconvertInput
@ kRegMaskSDIIn4VPIDLinkAValid
@ shiftInsDisableInserter
@ kRegRXSDI1FrameCountHigh
@ kRegInternalExternalVoltage
@ kRegEnhancedCSC4CoeffC0
@ kRegMaskVidProcRGBRange
LWord64 lastInput1VerticalTimeStamp
ULWordSetIter NTV2RegNumSetIter
A non-constant iterator that iterates over a set of distinct NTV2RegisterNumbers.
@ kK2RegShiftKBoxAnalogMonitor
@ kK2RegMaskConverterOutRate
This is returned by the CNTV2Card::AutoCirculateGetFrameStamp function, and is also embedded in the A...
@ kRegMaskXlnxTransferAlignment
@ kRegMaskLUT6OutputBankSelect
NTV2ColorCorrectionInfo colorCorrectionInfo
@ kRegShiftAud5PlayCapMode
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
@ kRegVANCInserterDataBuffer
uint16_t maxFrameAverageLightLevel
@ kFS1RegMaskI2C2ControlWrite
bool IsPageAligned(void) const
NTV2FrameDimensions & Set(const ULWord inWidth, const ULWord inHeight)
Sets my dimension values.
@ kRegLTC6EmbeddedBits32_63
@ kRegMaskVidProcVancSource
@ kRegMaskMessageInterruptControlClear7
@ kRegShiftVPIDImageAspect16x9
@ kRegMaskHDMIInColorSpace
@ kRegNwlC2S1CapabilitiesIndex
@ kRegShiftAudioMixerOutputChannel5Mute
struct AUTOCIRCULATE_STATUS_STRUCT AUTOCIRCULATE_STATUS_STRUCT
@ kBorgRegShiftCaputreAudioDelay
@ kK2RegMaskCSC5KeyInputSelect
@ kRegShiftHDMIHDRWhitePointX
@ kRegShiftInputStartAtVBI
@ kK2RegShiftCSC1KeyInputSelect
@ kRegMaskHDMIHDRNonContantLuminance
@ kRegShiftBOBADAV801UpdateStatus
@ kRegShiftVBlankRGBRangeMode
ULWord GetNumFailedWrites(void) const
@ regAncExtIgnorePktsReg_First
@ kFS1RegMaskFreezeOutput
NTV2SegmentedXferInfo & setDestDirection(const bool inTopDown)
Sets my destination scan direction.
@ kProgramStateEraseSecondFlashBlock
NTV2RegisterNumberSet NTV2RegNumSet
A set of distinct NTV2RegisterNumbers.
@ kK2RegMaskDuallinkOutInputSelect
@ kRegMaskVPIDImageAspect16x9Alt
@ kRegMaskPCMControlA4P1_2
@ kRegEnhancedCSC3KeyClipOffset
@ kRegEnhancedCSC6KeyClipOffset
@ Hevc_Command_ChangeParam
@ kRegNwlS2C1Capabilities
@ kBorgRegMaskOutTimingCtrlVertOfs
NTV2HDMIOutputStatus()
Constructs a default NTV2HDMIOutputStatus.
@ kRegShiftAlphaFromInput2
@ shiftAuxTotalFrameLines
@ kRegShiftMessageInterruptControlClear4
void SetFlags(const ULWord inFlags)
Sets the action flags for use in a subsequent call to CNTV2Card::DMABufferLock.
@ kRegAudioChannelMappingCh5
@ kRegMaskAudioMixerOutputChannel11Mute
@ kK2RegMaskCustomCoefficientLow
ULWord64Sequence::iterator ULWord64SequenceIter
A handy non-const iterator for iterating over a ULWord64Sequence.
@ kRegAudioMixerAux2GainCh2
@ kK2RegMaskHDMIOutV2Q3InputSelect
#define NTV2_BEGIN_PRIVATE
@ kRegEnhancedCSC1CoeffC2
uint16_t minMasteringLuminance
@ maskPktIgnore_2_6_10_14_18
@ kRegRP188InOut6Bits32_63
This is used to atomically perform bank-selected register reads or writes.
@ kProgramStateProgramBank3
@ kRegRXSDI1FrameCountLow
@ kK2RegMaskMixer4BGVidInputSelect
@ kRegMaskSDIOutLevelAtoLevelB
@ kRegMaskNwlCommonDmaInterruptActive
@ kRegShiftSDIIn63GbpsSMPTELevelBMode
@ kRegNonPCMAudioDetectEngine6
int64_t & I64(const int inIndex)
Describes a segmented data transfer (copy or move) from a source memory location to a destination loc...
@ kK2RegMask425Mux2AInputSelect
@ kLHIRegMaskHDMIOutColorSpace
@ NTV2_MODE_INPUT
Input (capture) mode, which writes into device SDRAM.
@ kRegMaskNwlCommonC2SInterruptStatus2
@ kRegAFDVANCInserterSDI2
@ kRegMaskSDIRelayPosition34
bool IsQuarterSizeExpandModeEnabled(void) const
ULWordSet::const_iterator ULWordSetConstIter
@ kRegShiftStereoCompressorLeftSource
@ kRegShiftLUT1OutputBankSelect
@ kK2RegShiftXptLUT2InputSelect
@ kRegShiftSDIIn5LevelBtoLevelA
NTV2RegisterValueMap::iterator NTV2RegValueMapIter
A non-constant iterator that iterates over NTV2RegisterValueMap entries.
@ kK2RegMaskCustomCoefficient12BitLow
@ kRegVideoPayloadIDLinkA
@ kRegShiftMessageInterruptControlEnable2
@ kLHIRegShiftVideoDACStandard
@ NTV2_QuarterSizeExpandOff
@ kFS1RegShiftAudioChannelMapping_Mute
@ kRegMaskBOBAnalogInputSelect
@ kRegMaskAnalogIOControl
@ kMaskAnalogInBlackLevel
@ kRegMaskSDIWatchdogEnable12
@ kRegMaskNwlCommonDmaInterruptEnable
@ kK2RegMaskMixer2BGKeyInputSelect
@ kRegOutputTimingControlch5
@ kK2RegShiftSDIOutHBlankRGBRange
@ kRegMaskHDMISwapOutputAudCh34
@ kRegShiftXlnxIntAlignMismatch
@ kRegShiftXlnxIntMagicStop
@ Hevc_FirmwareType_Standard
@ Hevc_MessageId_Register
@ Hevc_EncodeMode_Unknown
@ kRegEnhancedCSC3CoeffB0
@ kProgramStateProgramFlash
NTV2AudioSystemSet NTV2MakeAudioSystemSet(const NTV2AudioSystem inFirstAudioSystem, const UWord inCount=1)
@ kK2RegMaskBOCableDetect
@ kK2RegMaskXptLUT5InputSelect
@ kK2RegShiftMixer4FGKeyInputSelect
@ kFS1RegMaskI2C1ControlBusy
@ kRegMaskRS422ParityDisable
@ kRegLTC3EmbeddedBits0_31
@ kRegMaskHDMIHDRDolbyVisionEnable
@ kRegFS1DownConverter2Control
#define AUTOCIRCULATE_WITH_ANC
Use this to AutoCirculate with ancillary data.
@ kRegNwlS2C1ChainStartAddressHighIndex
@ kLHIRegShiftHDMIInput2ChAudio
@ kRegShiftPCMControlA5P7_8
@ kK2RegShiftFrameBuffer3BInputSelect
NTV2FrameBufferFormat frameBufferFormat
@ kRegNwlS2C1HardwareTime
@ kRegMaskAudioMixerMainChannel6Level
@ kRegMaskHDMIOutVideoStd
@ kRegShiftInput2Geometry
@ kK2RegMaskDuallinkIn1DSInputSelect
@ kRegMaskAnalogInputIntegerRate
@ maskPktIgnore_4_8_12_16_20
@ kRegEnhancedCSC7CoeffA1
@ kK2RegMaskFrameSyncControlFrameDelay
enum _AutoCircCommand_ AUTO_CIRC_COMMAND
@ kRegShiftHDMIOut3DPresent
NTV2ClockMonitorWidgetRegisters
@ kLHIRegShiftHDMIInputBitDepth
@ kK2RegMaskMixerFGKeyInputSelect
@ kRegShiftNwlCommonMaxPayloadSize
#define AUTOCIRCULATE_WITH_FBFCHANGE
Use this to AutoCirculate with the possibility of frame buffer format changes.
@ kRegHDMIHDRMasteringLuminence
@ kRegShiftHDMISwapInputAudCh34
@ kK2RegMaskMixer2FGKeyInputSelect
@ kRegMaskNwlControlStatusDmaReset
@ kRegMaskNwlCommonC2SInterruptStatus0
@ kRegRXSDIFreeRunningClockHigh
NTV2RegWrites::iterator NTV2RegisterWritesIter
@ kRegShiftNwlCommonC2SInterruptStatus3
@ kRegShiftNwlCapabilitiesAddressSize
@ kUndefinedFilterFormats
@ NTV2_AUTOCIRCULATE_INVALID
@ kK2RegShiftSecondConverterInputSelect
@ kRegShiftHDMIOutForceHPD
uint32_t & U32(const int inIndex)
@ kRegShiftPCMControlA4P11_12
@ maskInsTotalLinesPerFrame
@ kRegADV7189BSaturationCb
int64_t I64(const int inIndex) const
@ kRegMaskBOBGPIIn2InterruptControl
@ kRegMaskSDIRelayControl34
@ regAncInsField1StartAddr
@ kRegShiftSDIInUnlockCount
@ kRegMaskAudioMixerInputLeftLevel
@ kRegShiftPCMControlA8P5_6
@ kK2RegMaskXena2RGBRange
@ kK2RegMaskCompressionModInputSelect
@ kK2RegShiftSDIOut2InputSelect
@ kK2RegMaskFrameBuffer8BInputSelect
@ kRegEnhancedCSC7InOffset0_1
@ kK2RegShiftSDIOut6DS2InputSelect
UByteSequence::const_iterator UByteSequenceConstIter
A handy const iterator for iterating over a UByteSequence.
@ kRegShiftAudioMixerAux2Channel2Level
@ kRegShiftRGB8b10bCvtMode
@ kK2RegShiftMixer3FGKeyInputSelect
@ kRegMaskPCMControlA7P9_10
@ kRegMaskPCMControlA3P5_6
@ kRegMaskAudioMixerMainChannel13Level
@ kRegShiftHDMIInColorDepth
@ kRegAverageAudioLevelChan5_6
NTV2AutoCirculateState state
uint64_t U64(const int inIndex) const
@ kRegShiftResetAudioOutput
@ kRegEnhancedCSC5InOffset0_1
@ kRegShiftPCMControlA2P3_4
@ kRegShiftSDIIn36GbpsMode
@ kK2RegShiftXena2VidProcSplitStd
ULWord colourDescriptionPresentFlag
@ kRegMaskHDRStaticMetadataDescriptorID
void Set(const ULWord inRegNum, const ULWord inRegValue, const ULWord inRegMask=0xFFFFFFFF, const ULWord inRegShift=0)
Sets me from the given parameters.
@ kRegShiftPCMControlA2P11_12
@ kRegMaskAudioMixerOutputChannel8Mute
@ kRegMaskPCMControlA2P15_16
struct NTV2ColorCorrectionInfo_64 NTV2ColorCorrectionInfo_64
@ kFS1RegShiftI2C1ControlError
ULWord registerNumber
My register number to use in a ReadRegister or WriteRegister call.
@ kRegShiftSDIIn3VPIDLinkAValid
@ kRegMaskEmbeddedOutputMuteCh1
@ regAncExtField1AnalogYFilter
@ kRegEnhancedCSC4CoeffB0
VirtualProcAmpRegisters_base SD
@ kFS1RegMaskReferenceInputSelect
This is used by the CNTV2Card::ReadRegisters function.
NTV2Crosspoint foregroundKeyCrosspoint
@ kRegShiftSDIIn712GbpsMode
@ kRegEnhancedCSC5KeyClipOffset
@ kRegNwlS2C1HardwareTimeIndex
@ NTV2_TCINDEX_SDI1
SDI 1 embedded VITC.
@ kRegOutputTimingFinePhase
@ kRegRP188InOut2Bits0_31_2
@ kRegRP188InOut8Bits32_63
@ kRegShiftAudioMixerMainChannel14Level
@ kKHRegMaskDownconvertInput
@ kHDMIOutStereoSideBySide
AUTO_CIRC_COMMAND eCommand
@ kK2RegShiftFrameBuffer3InputSelect
@ kRegShiftPCMControlA2P9_10
enum _NTV2XptValidROMRegisters NTV2XptValidROMRegisters
@ kRegMaskSDIIn6VPIDLinkAValid
@ kK2RegShiftHDMIOutV2Q2InputSelect
NTV2Standard
Identifies a particular video standard.
@ kRegShiftSDIIn3LevelBtoLevelA
@ kK2RegMaskFrameBuffer4BInputSelect
@ kRegShiftAudioMixerAux2Channel1Level
#define NTV2_BUILD_STRINGLENGTH
@ Hevc_GpioDirection_Output
@ kRegRXSDI4CRCErrorCount
@ kRegShiftLUT3HostAccessBankSelect
ULWord registerMask
My register mask value to use in a ReadRegister or WriteRegister call.
struct AUTOCIRCULATE_P2P_STRUCT CHANNEL_P2P_STRUCT
@ kK2RegMaskCSC4VidInputSelect
@ kFS1RegShiftAFDVANCInserter_Code
@ kK2RegShiftConverterInRate
@ kRegMaskAudioMixerOutputChannel7Mute
@ kK2RegShiftMixer3FGVidInputSelect
std::set< ULWord > ULWordSet
A collection of unique ULWord (uint32_t) values.
@ kRegLTC8EmbeddedBits32_63
@ kK2RegShiftDuallinkOutInputSelect
@ kRegEnhancedCSC4CoeffC2
struct AutoCircVidProcInfo AutoCircVidProcInfo
@ maskInsEnablePktSplitSD
@ kRegMaskFrameFormatHiBit
@ kLHIRegMaskVideoDACStandard
@ kK2RegShiftMixerBGKeyInputSelect
NTV2FrameDimensions & Reset(void)
Sets both my width and height to zero (an invalid state).
ULWord GetCapturedAncByteCount(const bool inField2=false) const
ULWord64 GetRawHostPointer(void) const
@ kRegShiftAudioMixerMainChannel11Level
@ kRegMaskSDIInVpidValidB
@ kRegMaskPCMControlA4P5_6
NTV2Crosspoint channelSpec
@ kRegMaskHDMIHDRBluePrimaryX
@ kRegShiftAudioMixerInputRightLevel
uint16_t maxMasteringLuminance
@ kRegShiftPCMControlA3P13_14
@ kK2RegShift425Mux4AInputSelect
@ kK2RegShiftXena2BgVidProcInputControl
NTV2PixelFormats & operator+=(NTV2PixelFormats &inOutSet, const NTV2PixelFormats inSet)
Appends the given NTV2FrameBufferFormatSet contents into the given set.
@ kRegMaskXlnxIntReadError
@ kRegShiftPWMFanTachPeriodStatus
struct HevcMessageRegister HevcMessageRegister
@ kK2RegShiftFrameBuffer1BInputSelect
@ kRegRP188InOut5Bits32_63
@ kRegNwlC2S2ChainStartAddressLowIndex
@ kRegXenaxFlashControlStatus
@ kK2RegShiftCSC3VidInputSelect
@ kRegShiftHDMIOutProgressive
uint16_t maxFrameAverageLightLevel
@ kRegMaskReferenceFrameRate
@ kProgramStateErasePackageInfo
@ kRegRXSDI6FrameRefCountHigh
@ kK2RegMaskFrameBuffer8InputSelect
ADV7189BProcAmpRegisters SD
@ kRegMaskPCMControlA1P9_10
This is returned from the CNTV2Card::AutoCirculateGetStatus function.
bool WithRP188(void) const
@ kK2RegMaskSDIOut2InputSelect
@ kRegEnhancedCSC7InOffset2
@ kRegMaskAudioMixerOutputChannel13Mute
@ NTV2_AUTOCIRCULATE_STOPPING
The AutoCirculate channel is stopping.
@ kRegShiftPCMControlA6P15_16
@ kFS1RegShiftI2C1ControlWrite
@ kRegMaskFrameSizeSetBySW
@ kLHIRegMaskSDIOut3GbpsMode
@ kLHIRegMaskHDMIOutBitDepth
@ kRegShiftPCMControlA5P1_2
@ kRegShiftNwlCommonC2SInterruptStatus7
@ kRegShiftVidProcRGBModeSupported
@ kRegMaskPCMControlA3P7_8
RP188_STRUCT LTCEmbedded4
@ kK2RegShiftColorSpaceMatrixSelect
@ kRegShiftAudioMixerMainMixedOutputChannel2Level
@ kK2RegShiftSDIOut1DS2InputSelect
@ kTestPatternColorBar100
@ kFS1RegMaskI2C1ControlError
@ kRegRXSDI3FrameRefCountHigh
@ kRegXlnxIrqChannelInterruptEnable
@ kRegMaskInputStartAtVBI
ULWord GetPointerSize(void) const
@ kRegShiftEncodedAudioMode
bool NTV2GetSupportedPixelFormats(NTV2PixelFormats &outFormats)
Returns a set of all NTV2PixelFormat values supported (used) by any/all supported NTV2 devices.
@ kRegMaskLUT6HostAccessBankSelect
@ kRegMaskNwlControlStatusChainSoftwareShort
AutoCircVidProcInfo vidProcInfo
@ kRegMaskSDIInTsiMuxSyncFail
NTV2FrameBufferFormat frameBufferFormat
@ kRegMaskAudioMixerMainChannel2Level
@ kProgramCommandReadStatus
@ kRegShiftLUT2OutputBankSelect
@ kK2RegShiftCSC8KeyInputSelect
@ kRegMaskSDIIn73GbpsSMPTELevelBMode
@ regAncExtTimecodeStatus0_31
@ kRegShiftAudioWorkLength
@ kLHIRegShiftVideoDACComponent
@ kFS1RegShiftAFDVANCInserter_AR
@ kLHIRegMaskHDMIOutputEDID10Bit
LWord64 lastInput2VerticalTimeStamp
@ kRegNwlCommonBackEndCoreVersionIndex
@ kRegShift4KDCYCC444Mode
@ kK2RegMaskConverterPulldown
@ kRegShiftPCMControlA3P11_12
@ kRegMaskPCMControlA1P3_4
@ kRegXlnxChannelControlW1C
@ kRegMaskPCMControlA1P11_12
@ kRegMaskNwlCommonS2CInterruptStatus3
ULWord64 messageBusAddress
@ kRegField1Line21CaptionDecode
@ kRegMaskXlnxUserMaxReadRequestEff
@ kRegShiftVPIDColorimetryAltLow
@ kRegMaskHDMIHDRMinMasteringLuminance
@ kRegShiftPCMControlA7P9_10
@ kRegShiftSonySRExpressBit
ULWord encTransferQueueLevel
@ kRegMaskSDIIn46GbpsMode
@ kRegShiftInput1GeometryHigh
@ kRegAudioChannelMappingCh6
@ regAncExtAnalogActiveLineLength
ULWord getDestEndOffset(void) const
#define NTV2_IS_INPUT_CROSSPOINT(__x__)
@ kRegShiftPCMControlA3P3_4
@ kRegShiftPCMControlA6P11_12
@ kRegShiftXlnxPollModeWriteBackEnable
@ kRegRXSDI3FrameRefCountLow
@ kRegAudioMixerMainOutputLevelsPair5
@ kFS1RegMaskI2C2ControlBusy
@ kK2RegShiftCustomCoefficientHigh
@ regAncExtIgnorePacketReg_17_18_19_20
@ kRegMaskMessageInterruptControlEnable5
@ kRegMaskAudioMixerMainChannel7Level
@ kK2RegShiftIICTInputSelect
NTV2FrameRateSet::const_iterator NTV2FrameRateSetConstIter
A handy const iterator for iterating over an NTV2FrameRateSet.
@ kFS1RegShiftFreezeOutput
@ kRegMaskAudioMixerLevelSampleCount
@ kRegFirstNonPCMAudioDetectRegister
@ kRegMaskNwlCapabilitiesEngineType
@ kRegMaskReferenceProgessive
@ kRegXlnxChannelInterruptEnableW1C
@ kRegMaskMessageInterruptControlClear4
HevcEncodeMode encodeMode
@ kK2RegMask4KDCQ3InputSelect
bool IsAllocatedBySDK(void) const
@ kRegMaskSaturationValue
UWordSequence::const_iterator UWordSequenceConstIter
A handy const iterator for iterating over a UWordSequence.
@ kK2RegMaskIICT2InputSelect
std::vector< uint16_t > UWordSequence
An ordered sequence of UWord (uint16_t) values.
@ kRegMaskNwlCommonC2SInterruptStatus1
std::set< NTV2FrameGeometry > NTV2GeometrySet
A set of distinct NTV2FrameGeometry values.
@ kRegXlnxTargetSgdmaCommon
@ kRegVANCGrabberDataBuffer
@ kRegNwlCommonBackEndCoreVersion
NTV2Mode
Used to identify the mode of a Frame Store, or the direction of an AutoCirculate stream: either Captu...
@ kRegShiftPCMControlA8P11_12
@ kK2RegMaskKBoxAnalogMonitor
ULWord GetHeaderVersion(void) const
NTV2HDMIProtocol
Indicates or specifies the HDMI protocol.
@ kRegMaskVPIDColorimetry
@ kRegRP188InOut1Bits32_63
@ kRegEnhancedCSC4OutOffsetC
@ kK2RegShiftCSC2KeyInputSelect
@ kRegShiftSDIIn3GbpsSMPTELevelBMode
@ kRegShiftNwlCommonS2CInterruptStatus6
@ kRegRXSDI5FrameRefCountHigh
@ kRegMaskPCMControlA7P15_16
@ kK2RegShiftSDIOut8InputSelect
@ kRegMaskMessageInterruptControlClear8
std::string NTV2AudioSystemSetToStr(const NTV2AudioSystemSet &inObj, const bool inCompact=true)
@ kK2RegMaskDuallinkOut6InputSelect
@ kProgramStateEraseFailSafeFlashBlock
@ kRegMaskEmbeddedOutputMuteCh2
bool NTV2DeviceGetSupportedVideoFormats(const NTV2DeviceID inDeviceID, NTV2VideoFormatSet &outFormats)
Returns a set of distinct NTV2VideoFormat values supported on the given device.
std::set< NTV2AudioSystem > NTV2AudioSystemSet
A set of distinct NTV2AudioSystem values. New in SDK 16.2.
@ kRegShiftSDIIn7LevelBtoLevelA
@ kRegShiftAudioMixerLevelSampleCount
@ kRegShiftXlnxPerfCycleCountHigh
@ kRegShiftXlnxIntDescStop
ULWord dmaCardFrameNumber
@ kRegShiftPCMControlA1P11_12
@ kFS1RegShiftI2C2ControlError
@ kRegMaskPCMControlA5P15_16
@ kRegShiftNwlControlStatusDmaReset
@ kProgramCommandReadFast
@ kBorgRegMaskPlaybackEEAudioDelay
@ kRegHDMIV2VerticalMeasurementsField1
@ kRegShiftEmbeddedOutputSupressCh1
@ kProgramCommandWriteStatus
@ kRegShiftNwlCommonDmaInterruptEnable
@ kRegFS1ProcAmpC1CR_C2CB
@ kFS1RegShiftI2C1ControlRead
@ kRegXlnxChannelPollModeAddressHigh
@ kK2RegShiftMultiLinkOutDS2InputSelect
@ kRegEnhancedCSC7OutOffsetA_B
float minMasteringLuminance
@ kRegShiftSDIWatchdogStatus
@ kRegMaskAudioMixerMainChannel15Level
@ kRegMaskHDMIHDRWhitePointX
@ kRegMaskHDMIOutAudio2ChannelSelect
@ kK2RegShiftSDIOut6InputSelect
@ kFS1RegMaskI2CWriteData
NTV2TCIndex
These enum values are indexes into the capture/playout AutoCirculate timecode arrays.
@ kFS1RegShiftSecondAnalogOutInputSelect
@ kRegShiftNwlCommonS2CInterruptStatus1
@ kRegMaskHDMIHDRRedPrimaryY
float FL(const int inIndex) const
@ kRegShiftPCMControlA1P5_6
@ kRegMaskXlnxPerfDataCountMax
bool NTV2GetSupportedStandards(NTV2StandardSet &outStandards)
Returns a set of all NTV2Standard values supported (used) by any/all supported NTV2 devices.
@ kRegShiftAnalogHDMIvsAES
@ shiftInsActivePixelsInLine
@ kRegShiftVidProcVANCShift
@ kRegShiftVBlankRGBRange
bool SetBuffer(const ULWord *pInBuffer, const ULWord inByteCount)
Sets the buffer to lock for use in a subsequent call to CNTV2Card::DMABufferLock.
@ kRegShiftHDMIOutAudio2ChannelSelect
@ kRegEnhancedCSC6CoeffC2
void Clear(void)
Resets the struct to its initialized state.
@ kRegHDMIOutputAudioConfig
@ kRegShiftVidProcSubtitleEnable
@ kRegLTC7EmbeddedBits32_63
@ regAncInsBlankField1CLines
@ kRegNonPCMAudioDetectEngine5
@ kRegMaskDualLinkInEnable
@ kRegShiftSDIRelayPosition12
void Clear(void)
Resets the struct to its initialized state.
@ regAuxExtPacketMask_First
@ kRegShiftSDIIn412GbpsMode
LWord GetActiveFrame(void) const
@ kRegMaskHDMIHDRGreenPrimaryY
@ regAncExtField2EndAddress
@ kRegXlnxTargetChannelH2C
ULWord dmaSegmentCardPitch
@ kRegMaskAud1PlayCapMode
int16_t & I16(const int inIndex)
NTV2RegWritesConstIter NTV2RegisterReadsConstIter
@ kRegMaskSonySRExpressBit
@ kK2RegShiftCSC4KeyInputSelect
@ kRegShiftAudioMixerOutputChannel11Mute
@ kRegShiftPCMControlA2P7_8
@ kK2RegMaskIICTInputSelect
@ kK2RegShiftHDMIOutV2Q1InputSelect
@ kRegEnhancedCSC3OutOffsetC
LWord64 minEnqueueDuration
@ kRegMaskVidProcVANCShift
@ kK2RegShiftCSC8VidInputSelect
@ kRegShiftRasterDecimate
uint8_t electroOpticalTransferFunction
@ kRegShiftVPIDColorimetryAltHigh
@ kFS1RegMaskProcAmpOffsetY
uint16_t maxContentLightLevel
NTV2RegWritesIter NTV2RegReadsIter
A handy non-const iterator for iterating over the contents of an NTV2RegisterReads instance.
@ kRegField2Line21CaptionDecode
@ kK2RegMaskAnalogOutInputSelect
RP188_STRUCT LTCEmbedded7
@ kRegShiftPCMControlA6P7_8
@ kK2RegShiftDuallinkIn1InputSelect
AutoCircGenericTask * taskArray
@ kRegMaskAudioMixerOutputChannel14Mute
@ kRegEnhancedCSC4CoeffC1
NTV2Crosspoint channelSpec
@ kRegShiftSDIIn73GbpsMode
@ kRegMaskNwlControlStatusChainComplete
@ kRegMaskPCMControlA1P1_2
@ kRegXlnxChannelUserMaxReadRequestSize
@ kRegMaskMessageInterruptControlClear3
@ kRegMaskInput1FrameRateHigh
@ kRegShiftXlnxSubsystemId
@ kRegAudioMixerInputSelects
@ kRegShiftNwlCommonMaxReadRequestSize
uint16_t & U16(const int inIndex)
struct AUTOCIRCULATE_TRANSFER_STATUS_STRUCT * PAUTOCIRCULATE_TRANSFER_STATUS_STRUCT
@ kRegMaskLUT4HostAccessBankSelect
@ kRegMaskSDIIn23GbpsSMPTELevelBMode
@ kRegEnhancedCSC1OutOffsetA_B
@ kRegShiftAudioMixerOutputChannel1Mute
AUTOCIRCULATE_DATA(const AUTO_CIRC_COMMAND inCommand=AUTO_CIRC_COMMAND_INVALID, const NTV2Crosspoint inCrosspoint=NTV2CROSSPOINT_INVALID)
@ kRegShiftMRFrameLocation
ULWord GetSegmentCount(void) const
@ kRegRXSDI1CRCErrorCount
@ kRegEnhancedCSC6KeyGain
@ kRegEnhancedCSC5CoeffC0
All new NTV2 structs start with this common header.
ULWord GetCapturedAncByteCount(const bool inField2=false) const
@ kRegShiftVidProcLimiting
@ kRegMaskAudioMixerOutputChannel10Mute
@ kRegShiftPCMControlA6P13_14
@ kRegShiftSDIIn76GbpsMode
@ kRegEnhancedCSC6InOffset0_1
HevcEncodedData encodedData
#define NTV2_IS_VALID_STRUCT_TYPE(_x_)
@ kRegMaskAudioMixerMainChannel5Level
@ kRegMaskSmpte372Enable4
@ kRegRP188InOut7Bits0_31
@ kK2RegMaskXena2FgVidProcInputControl
@ kRegShiftRS422TXFIFOEmpty
bool NTV2DeviceGetSupportedFrameRates(const NTV2DeviceID inDeviceID, NTV2FrameRateSet &outRates)
Returns a set of distinct NTV2FrameRate values supported on the given device.
Enumerations for controlling NTV2 devices.
NTV2RegWrites NTV2RegisterReads
@ kRegMaskAnalogAudioInGain
@ kFS1RegShiftDownconvert2AutoAFDEnable
@ kRegAudioMixerMainInputLevelsPair7
@ kProgramStateProgramPackageInfo
@ kK2RegShiftConverterOutStandard
@ kRegEnhancedCSC8CoeffC1
@ kRegShiftChannelDisable
CUSTOM_ANC_STRUCT customAncInfo
This field is obsolete. Do not use.
@ kK2RegShiftFrameSyncControlFrameFormat
@ kRegShiftXlnxIntDescError
@ kRegMaskPCMControlA3P9_10
@ kK2RegMaskSDIOut1InputSelect
@ kRegShiftPCMControlA3P7_8
@ kRegShiftAudioMixerOutputChannel14Mute
bool SetFrameUserCookie(const ULWord64 &inUserCookie)
Intended for playout, replaces my current acUserCookie value with the new value.
@ kRegEnhancedCSC7CoeffC2
NTV2SegmentedXferInfo & setDestPitch(const ULWord inPitch)
Sets my destination pitch.
@ kRegNwlC2S1ChainStartAddressLowIndex
ADV7402AHDProcAmpRegisters HD
ULWord GetRequestedRegisterCount(void) const
@ kK2RegShiftUseCustomCoefSelect
@ kRegAudioChannelMappingCh8
@ kRegShiftSDIInVPIDLinkBValid
@ shiftPktIgnore_1_5_9_13_17
@ kRegHDMIV2VActiveField2
#define NTV2_BITFILE_RESERVED_ULWORDS
@ kRegMaskAudioMixerMainChannel8Level
NTV2AutoCirculateState state
@ kProgramStateVerifyFlash
@ kK2RegShiftDuallinkIn7DSInputSelect
NTV2QuarterSizeExpandMode videoQuarterSizeExpand
@ kRegRP188InOut6Bits0_31_2
@ kK2RegMaskDuallinkIn3DSInputSelect
@ kRegShiftPCMControlA5P13_14
enum NTV2RXSDIStatusRegister NTV2RXSDIStatusRegisters
@ kRegMaskRS422RXFIFONotEmpty
@ kRegMaskDMAPauseDisable
@ kRegShiftInput2Progressive
@ kK2RegMaskSDIOut7InputSelect
This object specifies the information that will be transferred to or from the AJA device in the CNTV2...
@ kK2RegMaskMultiLinkOutInputSelect
@ kRegLTC4EmbeddedBits32_63
@ kK2RegMaskDeinterlaceMode
@ kK2RegShiftEnhancedCSC4KMode
@ kK2RegMaskAverageAudioLevel
AutoCircVidProcInfo vidProcInfo
@ kRegOutputTimingControlch8
@ kRegShiftSDIIn86GbpsMode
@ kK2RegMask425Mux2BInputSelect
@ kRegEnhancedCSC2CoeffB0
@ Hevc_ChangeSequence_Size
Color correction data used with AUTOCIRCULATE_WITH_COLORCORRECT option.
@ kRegMaskSDIIn812GbpsMode
NTV2RotaryEncoderRegister
@ kRegNwlS2C1ChainStartAddressLow
@ kK2RegMaskCSC6KeyInputSelect
@ shiftAuxField2StartLine
@ kK2RegShiftSDIOut3DS2InputSelect
@ kRegShiftPCMControlA7P3_4
@ kK2RegMaskCSC2VidInputSelect
NTV2Crosspoint channelSpec
int8_t & I8(const int inIndex)
@ kRegMaskHDMIInputProgressive
struct HevcMessageStatus HevcMessageStatus
@ kK2RegShiftUCPassLine21
@ kRegMaskSDIIn3LevelBtoLevelA
@ kRegLTC2EmbeddedBits32_63
NTV2VideoFormatSet::const_iterator NTV2VideoFormatSetConstIter
A handy const iterator for iterating over an NTV2VideoFormatSet.
@ kRegShiftHDMIAudioPairSelect
@ kRegMaskHDMIOutProgressive
@ regAncExtIgnorePacketReg_1_2_3_4
bool IsStarting(void) const
@ kRegShiftRS422ParitySense
@ kRegEnhancedCSC6OutOffsetC
@ kK2RegShiftXena2FgVidProcInputControl
@ kK2RegShiftFrameBuffer7InputSelect
@ kRegShiftMultiLinkAudio
@ kRegShiftLUT7HostAccessBankSelect
@ kRegShiftAudioMixerOutputChannel7Mute
@ kRegShiftHDMIHDRMaxMasteringLuminance
@ kRegMaskPCMControlA2P1_2
@ kRegNumValidXptROMRegisters
@ shiftPktIgnore_4_8_12_16_20
@ kRegMaskFramePulseRefSelect
@ kRegShiftNwlControlStatusChainComplete
@ kProgramStateVerifyPackageInfo
@ kRegShiftLEDGreenControl
@ kRegShiftSDIIn812GbpsMode
@ kRegMaskSDIIn1LevelBtoLevelA
@ kK2RegMaskFrameSync2InputSelect
@ kRegShiftSDIIn56GbpsMode
@ kK2RegMaskConversionModInputSelect
@ kRegMaskSDIWatchdogEnable34
@ kProgramCommandWriteEnable
@ kRegMaskAudioMixerMainMixedOutputChannel2Level
@ kRegMaskSDIIn36GbpsMode
@ kRegMaskPCMControlA1P15_16
@ kRegShiftEmbeddedOutputSupressCh2
struct FRAME_STAMP_STRUCT FRAME_STAMP_STRUCT
@ kRegMaskPWMFanSpeedControl
@ kK2RegShiftXptLUT5InputSelect
@ kFS1RegShiftProcAmpInputSelect
@ kRegShiftPCMControlA4P15_16
@ kRegXlnxIrqUserInterruptPending
@ kRegShiftDMAPauseDisable
ProgramState programState
@ kRegAudioChannelMappingCh1
@ kRegMaskSDIIn512GbpsMode
@ kRegHDMIV2VActiveField1
@ kRegShiftPCMControlA7P13_14
@ kRegShiftRS422RXFIFONotEmpty
@ kRegMaskSDIIn4VPIDLinkBValid
ULWord64 audioClockCurrentTime
48kHz clock in reg 28 extended to 64 bits
NTV2FrameBufferFormat GetFrameBufferFormat(void) const
@ kRegMaskMessageInterruptControlEnable7
@ kK2RegShift425Mux2BInputSelect
@ kRegShiftNwlControlStatusInterruptEnable
@ kRegShiftMessageInterruptStatusChannel3
@ kK2RegShiftSDIOut1InputSelect
NTV2FrameDimensions(const ULWord inWidth=0, const ULWord inHeight=0)
My constructor.
bool IsStopped(void) const
@ kK2RegShiftKBoxAudioInputSelect
@ kK2RegMaskEnhancedCSCEnable
@ regAuxExtFieldVBLStartLine
@ kRegNwlC2S2CapabilitiesIndex
@ kRegMaskLUT4OutputBankSelect
std::string NTV2AutoCirculateStateToString(const NTV2AutoCirculateState inState)
@ kRegMaskAudioMixerMainChannel14Level
@ kRegShiftPCMControlA4P9_10
@ kRegCS6Coefficients9_10
@ kFS1RegMaskDownconvert2AFDDefaultHoldLast
@ kRegVideoPayloadIDLinkB
@ kRegXlnxIrqUserInterruptEnableW1C
@ kFS1RegShiftReferenceInputSelect
@ kHDMIOutProtocolAutoDetect
struct hevc_stream_statistics HevcStreamStatistics
@ kK2RegShiftFrameBuffer5InputSelect
@ kRegShiftRS422RXParityError
struct HevcPictureInfo HevcPictureInfo
std::vector< ULWord > NTV2ULWordVector
An ordered sequence of ULWords.
@ kRegMaskLUT5HostAccessBankSelect
@ kK2RegShiftFrameSyncControlGeometry
@ kRegShiftXlnxAddressAlignment
@ kRegMaskSDIRelayControl12
@ kRegEnhancedCSC8CoeffB1
@ kRegMaskHDMIHDRMaxContentLightLevel
union AutoCircGenericTask::@32 u
@ kRegShiftSDIIn23GbpsSMPTELevelBMode
@ kK2RegMaskCSC1KeyInputSelect
@ eTransferAutoCirculateEx
@ kRegMaskMessageInterruptControlEnable1
@ kK2RegMaskCSC3KeyInputSelect
@ kK2RegMaskXptLUT6InputSelect
@ kRegLTC3EmbeddedBits32_63
@ kRegShiftAudioMixerOutputChannel9Mute
@ kRegMaskAudioMixerMainInputEnable
@ kRegMaskSDIIn5LevelBtoLevelA
@ kRegMaskNwlControlStatusInterruptActive
bool operator==(const NTV2RegInfo &inRHS) const
@ kRegRXSDI6CRCErrorCount
@ kRegMaskSDIIn3VPIDLinkAValid
@ kRegShiftSDIIn8LevelBtoLevelA
NTV2Crosspoint channelSpec
@ kK2RegShiftDuallinkOut3InputSelect
@ regAncExtField1StartAddress
@ kRegShiftSDIIn33GbpsSMPTELevelBMode
@ kK2RegShiftFrameSync2InputSelect
@ kK2RegMaskSDI1Out_2Kx1080Mode
uint8_t U8(const int inIndex) const
@ kRegMaskMessageInterruptControlClear6
UWordSequence GetU16s(const size_t inU16Offset=0, const size_t inMaxSize=64, const bool inByteSwap=false) const
@ kRegShiftBOBGPIIn3InterruptControl
std::string GetString(const size_t inU8Offset=0, const size_t inMaxSize=128) const
NTV2SegmentedXferInfo & setSourceInfo(const ULWord inOffset, const ULWord inPitch)
A convenience function that sets both my source offset and pitch.
@ kK2RegShiftXptLUT4InputSelect
@ kK2RegShiftMixer4BGKeyInputSelect
@ kRegXlnxChannelIdentifier
@ kRegMaskNwlCommonUserInterruptActive
@ kRegAudioMixerMainInputLevelsPair0
@ kRegNwlC2S1HardwareTime
std::ostream & Print(std::ostream &inOutStream) const
Prints a human-readable representation of me to the given output stream.
std::set< NTV2Channel > NTV2ChannelSet
A set of distinct NTV2Channel values.
@ kRegShiftRS422RXFIFOFull
@ Hevc_DeviceMode_Maintenance
FRAME_STAMP acFrameStamp
Frame stamp for the transferred frame.
This object is embedded in the AUTOCIRCULATE_TRANSFER struct that's returned from the CNTV2Card::Auto...
@ kRegShiftNwlCommonC2SInterruptStatus5
int32_t I32(const int inIndex) const
@ kRegMaskNwlControlStatusInterruptEnable
@ kRegShiftNwlCommonS2CInterruptStatus7
@ kRegMaskStereoCompressorOutputMode
@ kRegAudioMixerMainOutputLevelsPair3
ULWord dmaCardFrameOffset
@ kRegOutputTimingControlch4
@ kK2RegShiftConversionModInputSelect
@ kRegShiftPCMControlA4P5_6
@ kLHIRegMaskHDMIOutputEDIDRGB
@ kRegMaskSDIIn8VPIDLinkAValid
@ kK2RegMaskXptLUT3InputSelect
@ kRegMaskLUT1HostAccessBankSelect
@ kRegShiftMessageInterruptStatusChannel4
@ kRegMaskStereoCompressorFlipRightHorz
@ kRegShiftAudioMixerMainInputSelect
AutoCircVidProcInfo vidProcInfo
@ kK2RegMaskFrameSyncControlStandard
@ kRegSDIWatchdogControlStatus
@ kRegMaskSDIInCRCErrorCountA
struct HevcEncodedInfo HevcEncodedInfo
@ kRegMaskSDIInVpidValidA
@ kFS1RegShiftProcAmpC2CR
@ kRegMaskNwlCommonC2SInterruptStatus6
@ kK2RegMaskSDIOut6InputSelect
std::ostream & NTV2PrintAudioSystemSet(const NTV2AudioSystemSet &inObj, const bool inCompact=true, std::ostream &inOutStream=std::cout)
Streams a human-readable dump of the given NTV2AudioSystemSet into the specified output stream.
@ kRegNwlC2S2HardwareTimeIndex
@ kRegNwlC2S2ChainCompleteByteCountIndex
@ NTV2_STANDARD_TASKS
1: Standard/Retail: Device is completely controlled by AJA ControlPanel, service/daemon,...
@ kRegShiftSDIIn5VPIDLinkAValid
uint16_t GetEndFrame(void) const
@ kK2RegShift425Mux2AInputSelect
@ kRegShiftNwlCommonC2SInterruptStatus1
@ kRegShiftAnalogInputIntegerRate
LWord64 lastOutputVerticalTimeStamp
@ kProgramStateVerifyBank3
@ kRegShiftHDMIHDRBluePrimaryY
uint16_t minMasteringLuminance
@ kRegShiftRotaryEncoderGain
@ kRegMaskSDIIn2LevelBtoLevelA
NTV2QuarterSizeExpandMode
@ kRegMaskNwlCommonC2SInterruptStatus4
@ kRegMaskAudioMixerOutputChannel1Mute
@ kRegMaskAudioMixerOutputChannel15Mute
@ kRegMaskHDMISampleRateConverterEnable
@ kRegMaskPCMControlA4P11_12
@ kBorgRegMaskOutTimingCtrlHorzOfs
@ kRegMaskSDIIn33GbpsMode
@ maskAuxDisableExtractor
@ kRegMaskAudioMixerOutputChannel6Mute
@ kRegShiftAud7PlayCapMode
@ maskPktIgnore_1_5_9_13_17
uint16_t maxMasteringLuminance
@ kRegMaskRS422TXFIFOEmpty
@ kRegShiftNwlCommonS2CInterruptStatus4
@ kRegMaskNwlControlStatusChainErrorShort
@ kRegNonPCMAudioDetectEngine7
@ kRegShiftAudioMixerMainInputEnable
@ kRegLastNonPCMAudioDetectRegister
@ kK2RegMask4KDCQ2InputSelect
@ kRegEnhancedCSC2OutOffsetA_B
@ kRegShiftFrameSizeSetBySW
int16_t I16(const int inIndex) const
@ kK2RegMaskFrameBuffer5BInputSelect
@ kK2RegShiftMixerFGVidInputSelect
@ kRegMaskPCMControlA7P11_12
@ Hevc_FirmwareType_Unknown
@ kK2RegShiftDuallinkIn7InputSelect
@ kRegAverageAudioLevelChan3_4
std::ostream & operator<<(std::ostream &inOutStream, const NTV2RegInfo &inObj)
Writes the given NTV2RegInfo to the specified output stream.
@ kRegMaskPCMControlA4P15_16
@ kK2RegShiftXena2RGBRange
struct NTV2RegInfo NTV2RegInfo
Everything needed to call CNTV2Card::ReadRegister or CNTV2Card::WriteRegister functions.
NTV2AutoCirculateState GetState(void) const
@ kRegShiftAudioMixerPresent
@ kRegShiftAud3PlayCapMode
@ kRegMaskPCMControlA4P7_8
@ kRegEnhancedCSC4CoeffA1
@ kK2RegShiftEnhancedCSCInputPixelFormat
double DBL(const int inIndex) const
@ kRegMaskAudioMixerMainChannel4Level
@ kK2RegMaskMakeAlphaFromKeySelect
@ kRegMaskVPIDColorimetryAltHigh
struct AUTOCIRCULATE_TRANSFER_STRUCT AUTOCIRCULATE_TRANSFER_STRUCT
ULWord GetType(void) const
@ kRegShiftAudioMixerAux1Channel1Level
@ kRegNwlS2C2ChainStartAddressLowIndex
@ kRegAverageAudioLevelChan1_2
RP188_STRUCT LTCEmbedded8
@ kRegShiftSDIInVpidValidB
@ kFS1RegShiftProcAmpOffsetY
@ kRegEnhancedCSC5CoeffB2
NTV2AutoCirculateState
Describes the state of an AutoCirculate channel. See AUTOCIRCULATE_STATUS.
@ shiftAuxPacket1_2_6_10_14
@ kRegEnhancedCSC2InOffset2
@ kLHIRegMaskVideoDACJapan
@ Hevc_Command_ChangePicture
@ kRegXlnxChannelPerfCycleCountLow
ULWord videoSegmentCardPitch
@ kRegShiftPCMControlA5P5_6
@ kRegMaskAud2PlayCapMode
@ kRegShiftMessageInterruptControlClear1
@ kRegShiftLUT6HostAccessBankSelect
ULWord GetCapturedAudioByteCount(void) const
@ NTV2_DISABLE_TASKS
0: Disabled: Device is completely configured by controlling application(s) – no driver involvement.
@ kRegAudioMixerMainOutputLevelsPair4
@ kRegMaskCC3OutputBankSelect
@ kRegXlnxIrqChannelInterruptEnableW1C
@ kRegRP188InOut3Bits0_31_2
@ kRegShiftSDIIn512GbpsMode
@ kRegEnhancedCSC5CoeffB0
@ kRegMaskAudioMixerOutputChannel4Mute
@ kRegShiftSDIIn26GbpsMode
LWord64 avrEnqueueDuration
@ kRegShiftStereoCompressorRightSource
@ kRegMaskNwlCommonMaxReadRequestSize
#define NTV2_STRUCT_BEGIN(__struct_name__)
NTV2_RP188(const ULWord inDBB=0xFFFFFFFF, const ULWord inLow=0xFFFFFFFF, const ULWord inHigh=0xFFFFFFFF)
Constructs an NTV2_RP188 from each of its DBB, low and high ULWord components.
@ kProgramCommandBankWrite
@ kFS1RegShiftDownconvertAutoAFDEnable
NTV2SegmentedXferInfo & setSourceDirection(const bool inTopDown)
Sets my source direction.
@ kRegEnhancedCSC6CoeffA1
@ kRegShiftXlnxStreamInterface
@ kK2RegMaskDuallinkIn7InputSelect
@ kRegEnhancedCSC2CoeffC2
@ kRegShiftNwlCapabilitiesEngineDirection
@ kRegEnhancedCSC2CoeffC1
@ kK2RegShiftFrameBuffer4InputSelect
@ kRegRP188InOut4Bits0_31_2
@ kRegShiftNwlControlStatusChainRunning
@ kRegShiftVidProcVancSource
NTV2Crosspoint backgroundVideoCrosspoint
@ kRegMaskResetAudioOutput
#define HEVC_ADDITIONAL_DATA_SIZE
void * GetHostAddress(const ULWord inByteOffset, const bool inFromEnd=false) const
@ kLHIRegShiftVideoDACSetup
@ kRegEnhancedCSC5CoeffB1
@ kFS1RegShiftI2C2ControlWrite
@ kRegEnhancedCSC5CoeffA0
@ kBorgRegMaskCaputreAudioDelay
@ kK2RegMaskDuallinkIn8InputSelect
@ eAutoCircTaskRegisterRead
std::vector< NTV2Channel > NTV2ChannelList
An ordered sequence of NTV2Channel values.
bool IsStopping(void) const
@ kRegMaskEmbeddedAudioClock
void * GetHostPointer(void) const
@ kFS1RegMaskAFDReceived_VANCPresent
@ kRegShiftStereoCompressorFlipRightVert
@ kRegShiftAudioMixerOutputChannel10Mute
@ kRegMaskNwlControlStatusChainRunning
@ kRegShiftAnalogAudioInJack
@ kRegEnhancedCSC7CoeffC1
#define NTV2_IS_VALID_HEADER_TAG(_x_)
@ kRegNwlC2S2ControlStatus
_NTV2XptValidROMRegisters
@ kRegMaskSDIIn56GbpsMode
@ kRegNonPCMAudioDetectEngine3
@ kK2RegShift4KDCQ1InputSelect
@ kFS1RegMaskI2C1ControlRead
@ regAncExtField2AnalogYFilter
@ kRegMaskVPIDColorimetryAltLow
void SetMaxLockSize(const ULWord64 inNumBytes)
Sets the maximum lock size for use in a subsequent call to CNTV2Card::DMABufferLock.
@ kRegShiftRotaryEncoderValue
@ kRegMaskSDIInCRCErrorCountB
NTV2SegmentedXferInfo & setElementLength(const ULWord inBytesPerElement)
Sets my element length.
@ kRegMaskPCMControlA7P7_8
@ kFS1RefMaskLTCEmbeddedOutEnable
@ kRegAudioMixerMainInputLevelsPair6
#define NTV2_RPC_CODEC_DECLS
@ kRegMaskSmpte372Enable6
HevcGpioDirection direction
@ kRegShiftStereoCompressorOutputMode
@ kK2RegMaskFrameBuffer1InputSelect
enum _AutoCircCommand_ NTV2AutoCircCmd
@ kRegSDI5678Input3GStatus
@ kRegNwlS2C2HardwareTime
@ kRegEnhancedCSC5CoeffA2
@ Hevc_MessageId_Transfer
@ kRegEnhancedCSC4CoeffA2
@ kK2RegShiftCSC7VidInputSelect
@ kRegAudioMixerMainInputLevelsPair2
@ kRegMaskAnalogInputADCMode
@ kRegEnhancedCSC4InOffset2
@ kRegAudioMixerChannelSelect
@ MAX_NUM_AutoCircTaskTypes
@ kRegShiftPCMControlA6P3_4
enum _AutoCircCommand_ NTV2AutoCirculateCommand
bool Fill(const T &inValue, const NTV2SegmentedXferInfo &inXferInfo)
Fills a portion of me with the given scalar value.
bool SetBuffer(const ULWord *pInBuffer, const ULWord inByteCount)
Sets the buffer to lock for use in a subsequent call to CNTV2Card::LoadBitstream.
#define AUTOCIRCULATE_WITH_VIDPROC
Use this to AutoCirculate with video processing.
@ kRegOutputTimingControlch2
@ kRegMaskAud3PlayCapMode
struct HevcPictureData HevcPictureData
@ kRegLTC8EmbeddedBits0_31
@ kRegRXSDI3FrameCountLow
@ kRegShiftSDIIn2VPIDLinkAValid
@ kK2RegShiftIICT2InputSelect
ULWord * ccLookupTables
only used in 3way color correction mode.
@ kRegMaskPCMControlA1P13_14
@ kRegMaskHDMIOutSourceSelect
#define AUTOCIRCULATE_WITH_FBOCHANGE
Use this to AutoCirculate with the possibility of frame buffer orientation changes.
@ kFS1RegShiftI2C2ControlBusy
bool standardMultipleCheck
@ kRegMaskInputStatusLock
@ kRegShiftSDIIn4VPIDLinkBValid
@ kLHIRegMaskVideoDACSetup
ULWord currentAudioExpectedAddress
As set by play.
@ kRegShiftPCMControlA4P3_4
@ kRegEnhancedCSC1InOffset0_1
@ kK2RegMaskHDMIOutInputSelect
@ kRegMaskMessageInterruptStatusChannel3
@ kRegEnhancedCSC6CoeffA2
@ kFS1RegMaskAudioChannelMapping_Phase
NTV2RegisterNumber RegisterNum
@ kK2RegShiftFrameBuffer7BInputSelect
@ kRegRXSDI5FrameRefCountLow
NTV2Crosspoint foregroundVideoCrosspoint
@ Hevc_GpioDirection_Input
@ regAncInsBlankCStartLine
@ kK2RegShiftDuallinkIn4InputSelect
@ kK2RegShiftVideoDACMode
@ kK2RegMaskFrameBuffer2InputSelect
@ kK2RegShiftConverterOutRate
Fixed_ transitionCoefficient
@ kRegMaskMessageInterruptControlClear2
@ kRegShiftSmpte372Enable6
RP188_STRUCT currentRP188
Last vertical blank timecode (RP-188)
@ kRegMaskPCMControlA3P1_2
@ kRegRXSDI5CRCErrorCount
@ kRegMaskChannelCompressed
@ kRegMaskNwlCommonDmaInterruptPending
@ kRegShiftIndependentMode
HevcStreamStatistics encStats[4]
@ kRegField1Line21CaptionEncode
@ kFS1RegShiftDownconvertAFDDefaultHoldLast
@ kRegMaskAudioMixerMainChannel16Level
@ kK2RegMaskEnhancedCSCKeySource
@ kRegMaskPCMControlA7P5_6
@ kRegHDMIV2VSyncDurationAndBackPorchField2
@ kRegShiftBOBAnalogLevelControl
@ kRegShiftBOBGPIOut2Data
@ kRegShiftCC4OutputBankSelect
const NTV2Buffer & GetAncBuffer(const bool inField2=false) const
@ kRegNwlC2S1HardwareTimeIndex
@ kRegShiftSDIRelayControl12
@ kK2RegShiftFrameBuffer8InputSelect
@ kRegShiftAudioMixerMainChannel16Level
@ kRegRXSDIFreeRunningClockLow
@ kRegRP188InOut2Bits32_63
@ kFS1RegMaskAudioChannelMapping_Source
@ kRegShiftMessageInterruptControlClear3
@ kRegXlnxSgdmaDescAdjacent
#define NTV2_SHOULD_BE_DEPRECATED(__f__)
@ kRegMaskSDIIn8LevelBtoLevelA
@ kRegShiftReferenceFrameLines
@ kLHRegMaskVideoOutputAnalogSelect
ULWord64Sequence::const_iterator ULWord64SequenceConstIter
A handy const iterator for iterating over a ULWord64Sequence.
@ kK2RegMaskSDIOutStandard
@ kK2RegShiftFrameBuffer6BInputSelect
struct AUTOCIRCULATE_TRANSFER_STRUCT_32 * PAUTOCIRCULATE_TRANSFER_STRUCT_32
@ kRegMaskOutputStartAtVBI
@ kRegMaskXlnxPerfCycleCountHigh
@ kK2RegMaskFrameBuffer6BInputSelect
@ kK2RegMaskSDIOutDS2AudioSelect
@ kK2RegMaskMixer4FGKeyInputSelect
@ kRegMaskStereoCompressorRightSource
@ kRegEnhancedCSC5CoeffA1
@ kRegShiftNwlControlStatusChainSoftwareShort
#define NTV2_DEPRECATED_f(__f__)
AutoCircTimeCodeTask timeCodeTask
@ kLHIRegShiftHDMIOutputEDIDRGB
@ kRegRP188InOut5Bits32_63_2
This is used by the CNTV2Card::ReadSDIStatistics function.
@ kRegMaskPCMControlA5P3_4
@ kK2RegMaskFrameBuffer1BInputSelect
@ regAncInsField2StartAddr
@ kRegMaskAudioMixerMainChannel9Level
CUSTOM_ANC_STRUCT customAncInfo
This field is obsolete. Do not use.
@ kFS1RegMaskAudioChannelMapping_Mute
NTV2RegWrites::iterator NTV2RegWritesIter
A handy non-const iterator for iterating over the contents of an NTV2RegisterWrites instance.
@ kRegShiftFramePulseRefSelect
@ kK2RegShiftCustomCoefficient12BitLow
@ kRegMaskIndependentMode
@ kK2RegShiftMakeAlphaFromKeySelect
@ kK2RegMaskSecondConverterInputSelect
@ kRegMaskHDMISwapInputAudCh34
#define NTV2Buffer_ALLOCATED
Allocated using Allocate function?
@ kK2RegShiftFrameSyncControlFrameDelay
NTV2AudioSystemSet::const_iterator NTV2AudioSystemSetConstIter
A handy const iterator into an NTV2AudioSystemSet. New in SDK 16.2.
#define AUTOCIRCULATE_WITH_RP188
Use this to AutoCirculate with RP188.
ULWord getSourceEndOffset(void) const
bool NTV2GetUnsupportedPixelFormats(NTV2PixelFormats &outFormats)
Returns a set of NTV2PixelFormat values not suported by any NTV2 device.
@ kRegShiftPWMFanSpeedControl
std::vector< NTV2RegInfo > NTV2RegisterWrites
@ kProgramCommandWriteDisable
@ kRegXlnxTargetChannelC2H
@ kRegEnhancedCSC1CoeffA0
@ kK2RegMaskSDIOut2DS2InputSelect
@ kK2RegShiftVidKeySyncStatus
This is used for bitstream maintainance. (New in SDK 16.0)
@ kRegShiftHDMIInV2VideoStd
@ kRegShiftAudioAutoErase
HevcDeviceMode deviceMode
ULWord transferCharacteristics
@ kRegShiftRS422TXInhibit
@ kTestPatternMultiPattern
NTV2TCIndexes::const_iterator NTV2TCIndexesConstIter
A handy const interator for iterating over an NTV2TCIndexes set.
@ kLHIRegMaskHDMIInputColorSpace
@ kLSRegShiftVideoInputSelect
@ kLHIRegShiftVideoDACMode
@ kK2RegMaskSDIOutDS1AudioSelect
uint64_t & U64(const int inIndex)
@ kK2RegMaskDuallinkIn7DSInputSelect
@ kK2RegShiftWaterMarker2InputSelect
@ kRegAudioMixerAux2InputLevels
@ kRegRXSDI4FrameRefCountLow
@ kRegMaskInput1Progressive
bool IsRunning(void) const
@ kRegShiftHardwareVersion
@ kRegEnhancedCSC5InOffset2
@ kRegShiftTPGWriteEnable
int8_t I8(const int inIndex) const
@ kRegMaskLUT7HostAccessBankSelect
@ kRegEnhancedCSC3CoeffC2
@ kK2RegMaskDuallinkOut5InputSelect
@ kLHIRegShiftHDMIOutputEDID10Bit
@ kRegEnhancedCSC7CoeffB2
void SetConnectionID(const ULWord inValue)
@ kLHIRegMaskSDIOutSMPTELevelBMode
@ kK2RegShiftMixer2FGVidInputSelect
@ kRegRXSDI7FrameRefCountLow
@ kRegMaskMessageInterruptControlClear1
bool IsValid(void) const
Answers true if I'm valid, or false if I'm not valid.
NTV2RegInfo(const ULWord inRegNum=0, const ULWord inRegValue=0, const ULWord inRegMask=0xFFFFFFFF, const ULWord inRegShift=0)
Constructs me from the given parameters.
@ kRegShiftResetAudioInput
ULWord currenthUser
Contains validCount (Play - reps remaining, Record - drops on frame)
@ kRegEnhancedCSC5KeyMode
@ kK2RegMaskXena2VidProcSplitStd
@ kRegShiftHDMIHDRRedPrimaryY
@ kK2RegShiftUCAutoLine21
@ kRegShiftLUT8OutputBankSelect
@ kRegShiftPCMControlA1P7_8
bool NTV2DeviceGetSupportedGeometries(const NTV2DeviceID inDeviceID, NTV2GeometrySet &outGeometries)
Returns a set of distinct NTV2FrameGeometry values supported on the given device.
@ shiftAuxField1StartLine
ULWord videoSegmentCardPitch
@ kK2RegShift4KDCQ3InputSelect
@ kRegRP188InOut5Bits0_31_2
std::ostream & Print(std::ostream &inOutStream) const
Prints a human-readable representation of me to the given output stream.
struct RP188_STRUCT RP188_STRUCT
@ kFS1RegMaskAFDReceived_AR
@ kRegMaskReferenceFrameLines
@ kK2RegShiftDuallinkIn5DSInputSelect
@ kRegNwlS2C1ChainCompleteByteCountIndex
@ kRegMaskSDIIn2VPIDLinkAValid
@ kRegMaskNwlCommonC2SInterruptStatus3
@ kK2RegShiftFrameBuffer2BInputSelect
@ kRegShiftAnalogCompositeFormat625
@ kRegShiftMessageInterruptControlEnable3
@ regAncExtAnalogStartLine
NTV2SegmentedXferInfo & setSegmentInfo(const ULWord inNumSegs, const ULWord inSegLength)
Sets both my segment count and length.
struct ColorSpaceConverterCustomCoefficients NTV2CSCCustomCoeffs
int32_t & I32(const int inIndex)
@ kK2RegShiftSDIOut4InputSelect
@ kRegShiftAudioMixerMainChannel8Level
@ kRegEnhancedCSC3CoeffA2
bool NTV2DeviceGetSupportedOutputDests(const NTV2DeviceID inDeviceID, NTV2OutputDestinations &outOutputDests, const NTV2IOKinds inKinds=NTV2_IOKINDS_ALL)
Returns a set of distinct NTV2OutputDest values supported on the given device.
@ kRegShiftBOBGPIOut1Data
ULWord GetBufferLevel(void) const
@ kK2RegMaskSDIOut5DS2InputSelect
@ kRegMaskRS422RXParityError
@ kRegMaskEmbeddedAudioInput
HevcStreamStatistics rawStats[4]
@ kRegShiftPCMControlA5P11_12
@ kK2RegMaskMixer4BGKeyInputSelect
ULWord audioInStartAddress
For record - first position in buffer of audio (includes base offset)
RP188_STRUCT LTCEmbedded6
@ kK2RegShiftDuallinkIn3InputSelect
@ kRegShiftVPIDDualLinkChannel
void EnableQuarterSizeExpandMode(void)
Enables quarter-size expansion mode.
@ kProgramStateProgramBank4
@ kRegMaskVidProcBGControl
@ kRegMaskPCMControlA2P3_4
std::map< NTV2TCIndex, NTV2_RP188 > NTV2TimeCodes
A mapping of NTV2TCIndex enum values to NTV2_RP188 structures.
@ kRegEnhancedCSC2CoeffA2
@ kK2RegMaskCSC7KeyInputSelect
@ kRegMaskStereoCompressorFlipMode
@ kRegNwlS2C2ControlStatus
@ kFS1RegMaskSecondAnalogOutInputSelect
struct AUTOCIRCULATE_DATA AUTOCIRCULATE_DATA
@ kLHIRegMaskHDMIInputBitDepth
NTV2VideoFrameBufferOrientation frameBufferOrientation
@ eAutoCircTaskTimeCodeWrite
NTV2SegmentedXferInfo()
Constructs me as empty/invalid.
@ kRegRP188InOut7Bits32_63_2
@ kRegEnhancedCSC8InOffset0_1
@ kRegXlnxChannelPerfCycleCountHigh
@ kRegRP188InOut7Bits0_31_2
@ kRegRXSDI2FrameCountHigh
@ kRegMaskHDMIOutPowerDown
struct AUTOCIRCULATE_TRANSFER_STRUCT_64 * PAUTOCIRCULATE_TRANSFER_STRUCT_64
NTV2InputSourceSet::const_iterator NTV2InputSourceSetConstIter
A handy const iterator for iterating over an NTV2InputSourceSet.
@ kK2RegMaskMixer3BGVidInputSelect
@ Hevc_GpioControl_Direction
bool NTV2DeviceGetSupportedPixelFormats(const NTV2DeviceID inDeviceID, NTV2PixelFormats &outFormats)
Returns a set of distinct NTV2FrameBufferFormat values supported on the given device.
@ kLHIRegShiftHDMIInputColorSpace
@ kRegMaskEncodedAudioMode
NTV2ChannelSet NTV2MakeChannelSet(const NTV2Channel inFirstChannel, const UWord inNumChannels=1)
@ kK2RegMaskSDIOut3InputSelect
@ kRegNwlS2C2ChainCompleteByteCountIndex
@ kRegMaskSDIIn53GbpsMode
This struct replaces the old RP188_STRUCT.
@ kRegAverageAudioLevelChan7_8
@ kRegRP188InOut8Bits0_31_2
@ kBorgRegShiftOutTimingCtrlHorzOfs
@ kRegShiftPCMControlA1P1_2
@ kRegEnhancedCSC4CoeffB1
@ kFS1RegShiftI2CSubAddress
@ kRegMaskRS422TXFIFOFull
char standardFirmwareSingle[64]
@ kRegMaskXlnxIntWriteError
@ kRegXlnxSgdmaIdentifier
@ regAncInsBlankField2CLines
@ kRegMaskPCMControlA2P7_8
@ kRegRXSDI2CRCErrorCount
bool IsActive(void) const
RP188_STRUCT LTCEmbedded2
@ Hevc_DeviceMode_Unknown
@ kRP188SourceEmbeddedVITC2
@ NTV2_QuarterSizeExpandOn
#define AUTOCIRCULATE_WITH_HDMIAUX
Use this to AutoCirculate with HDMI auxiliary data.
void MakeInvalid(void)
Invalidates me, setting my register number, value, mask and shift values to 0xFFFFFFFF.
@ kRegBOBGPIInterruptControl
@ Hevc_GpioFunction_Peripheral
@ NTV2_MODE_OUTPUT
Output (playout, display) mode, which reads from device SDRAM.
@ kRegShiftNwlCommonDmaInterruptPending
@ kRegFirstValidXptROMRegister
@ kRegMaskAudioMixerMainChannel3Level
@ kLHIRegShiftHDMIDownStreamDevice10BitMode
@ kLHIRegShiftHDMIOutputEDIDDVI
bool IsSegmented(void) const
@ kRegMaskPCMControlA6P13_14
@ kK2RegShift425Mux3BInputSelect
@ kK2RegMaskFrameSyncControlGeometry
@ kRegMaskNwlCommonS2CInterruptStatus7
@ kRegShiftSDIIn5VPIDLinkBValid
#define HEVC_VERSION_STRING_SIZE
@ kRegShiftAESCh78Present
@ kRegMaskSDIWatchdogStatus
std::vector< uint32_t > ULWordSequence
An ordered sequence of ULWord (uint32_t) values.
@ kRegShiftLEDBlueControl
@ kRegShiftAudioMixerMainChannel5Level
@ kRegShiftPCMControlA1P9_10
@ kK2RegShiftDuallinkOut6InputSelect
#define NTV2_BITFILE_PARTNAME_STRINGLENGTH
@ kRegMaskMessageInterruptStatusChannel4
@ kFS1RegShiftAFDReceived_Code
@ kRegRXSDI6FrameCountHigh
@ regAncExtIgnorePktsReg_Last
@ kRegShiftMessageInterruptStatusChannel1
@ kK2RegMaskCustomCoefficientHigh
ULWord GetDroppedFrameCount(void) const
@ kRegMaskVPIDImageAspect16x9
@ kRegNwlS2C1ControlStatus
ULWord dmaNumberOfSegments
@ kRegMaskEmbeddedOutputSupressCh1
@ kRegMaskDitherOn8BitInput
@ kRegMaskMessageInterruptControlClear5
uint16_t GetStartFrame(void) const
@ kRegShiftPCMControlA6P1_2
@ kK2RegShiftCSC7KeyInputSelect
@ kK2RegMaskColorSpaceConverterInputSelect
@ kRegEnhancedCSC7CoeffB1
@ kLHIRegShiftHDMIDownStreamDeviceYCbCrMode
NTV2ColorCorrectionMode mode
@ kRegMaskStereoCompressorFlipLeftHorz
@ kRegNwlS2C2HardwareTimeIndex
@ kRegShiftAnalogIOControl
@ kRegShiftSDIIn33GbpsMode
@ kRegShiftLUT2HostAccessBankSelect
@ kRegShiftSDIIn7VPIDLinkBValid
@ kK2RegShiftIsoConvertMode
struct HevcMessageDebug HevcMessageDebug
@ kRegShiftXlnxPerfDataCountMax
@ kRegShiftNwlCommonS2CInterruptStatus3
@ kRegShiftSDIIn2LevelBtoLevelA
@ kK2RegShiftVPIDInsertionOverwrite
@ kK2RegShiftCustomCoefficient12BitHigh
@ kRegRP188InOut1Bits32_63_2
@ kRegMaskXlnxAddressBits
@ maskPktIgnore_3_7_11_15_19
@ kRegShiftPCMControlA4P7_8
struct AUTOCIRCULATE_TRANSFER_STRUCT * PAUTOCIRCULATE_TRANSFER_STRUCT
@ kK2RegShiftSDIOutDS2AudioSelect
@ kProgramStateVerifyBank4
@ kRegMaskHDMIHDRWhitePointY
@ kK2RegMaskMixer3FGKeyInputSelect
@ kRegMaskAnalogIOControl_14
@ kFS1RegShiftUpconvert2AFDDefaultHoldLast
@ kK2RegShiftDuallinkIn2DSInputSelect
@ kK2RegMaskSDIOut4DS2InputSelect
#define AUTOCIRCULATE_WITH_LTC
Use this to AutoCirculate with analog LTC.
@ kRegRP188InOut1Bits0_31_2
@ kRegAudioMixerMainOutputLevelsPair1
bool operator<(const NTV2RegInfo &inRHS) const
@ kK2RegMaskEnhancedCSCChromaEdgeControl
@ kRegMaskPCMControlA6P9_10
@ kRegNumEnhancedCSCRegisters
@ kRegShiftVidProcSplitStd
@ kRegMaskFrameOrientation
@ kRegMaskMessageInterruptControlEnable8
std::vector< NTV2_RP188 > NTV2TimeCodeList
An ordered sequence of zero or more NTV2_RP188 structures. An NTV2TCIndex enum value can be used as a...
@ kFS1RegShiftAFDVANCInserter_Mode
@ kHDMIOutStereoFramePacked
@ kRegMaskSDIIn73GbpsMode
bool NTV2DeviceGetSupportedInputSources(const NTV2DeviceID inDeviceID, NTV2InputSourceSet &outInputSources, const NTV2IOKinds inKinds=NTV2_IOKINDS_ALL)
Returns a set of distinct NTV2InputSource values supported on the given device.
@ kRegShiftAudioMixerMainChannel15Level
@ kRegShiftAudioMixerInputLeftLevel
@ kRegMaskPCMControlA6P1_2
@ kRegShiftMessageInterruptControlEnable1
@ kRegShiftVidProcSyncFail
@ kRegRP188InOut2Bits32_63_2
@ kRegMaskPCMControlA8P15_16
@ kRegMaskLUT5OutputBankSelect
@ kRegEnhancedCSC1CoeffA2
@ kK2RegShift425Mux1AInputSelect
@ kRegShiftRefInputVoltage
@ NTV2_IOKINDS_ALL
Specifies any/all input/output kinds.
AutoCircGenericTask * taskArray
HevcFirmwareType firmwareType
@ kRegMaskResetAudioInput
@ kK2RegShiftVidProcSubtitleEnable
@ kRegNwlS2C2CapabilitiesIndex
LWord64 minDequeueDuration
@ Hevc_EhState_ReadyToStop
@ kK2RegMaskMultiLinkOutDS2InputSelect
@ kRegShiftVidProcFGControl
char userFirmwareSingle[64]
@ kRegShiftAudioMixerAux1x2CHInput
struct HevcDeviceCommand HevcDeviceCommand
ULWord GetVersion(void) const
@ kRegMaskPCMControlA8P11_12
@ kRegAudioMixerMainOutputLevelsPair7
@ kLHIRegMaskVideoDACMode
@ kK2RegShiftCSC5KeyInputSelect
@ kRegMaskPCMControlA8P1_2
@ kK2RegShift4KDCQ2InputSelect
@ kFS1RegMaskI2C1ControlWrite
@ k1080ProgressiveFormats
NTV2EveryFrameTaskMode
Describes the task mode state. See also: Sharing AJA Devices With Other Applications.
@ NTV2_AUTOCIRCULATE_RUNNING
The AutoCirculate channel is running.
@ kRegEnhancedCSC7CoeffA2
bool WithFBFChange(void) const
@ kRegMaskLUT3OutputBankSelect
@ kRegShiftHDMIOutCropEnable
@ kRegShiftTPGChromaSample
@ kRegMaskRefInputVoltage
@ kFS1RefShiftLTCOnRefInSelect
@ kRegMaskHDMIOutPrefer420
HevcPictureData pictureData
@ kRegMaskAudioMixerMainChannel10Level
@ kRegMaskPCMControlA4P9_10
@ kRegShiftHDMISwapOutputAudCh34
@ kRegShiftAudioMixerOutputChannel16Mute
@ kRegShiftVPIDImageAspect16x9Alt
@ kRegMaskNwlCapabilitiesAddressSize
struct HevcMessageTransfer HevcMessageTransfer
@ kRegMaskXlnxPollModeWriteBackEnable
@ kRegXlnxIrqUserInterruptEnable
@ kRegMaskPCRReferenceEnable
ULWord64 rdtscCurrentTime
const NTV2Buffer & GetAudioBuffer(void) const
This is used by the CNTV2Card::WriteRegisters function.
@ kRegMaskHDMIOut8ChGroupSelect
@ kRegMaskSDIInVPIDLinkBValid
bool HasAvailableInputFrame(void) const
@ kRegShiftSDIIn4LevelBtoLevelA
@ kRegMaskBOBGPIIn1InterruptControl
struct AUTOCIRCULATE_TASK_STRUCT_32 * PAUTOCIRCULATE_TASK_STRUCT_32
@ kRegMaskHDMIOutCropEnable
@ kRegNwlC2S2ControlStatusIndex
@ kRegShiftMessageInterruptControlClear2
@ kK2RegShiftFrameBuffer2InputSelect
@ kRegMaskAudioMixerOutputChannelsMute
@ kRegMaskSDIIn7VPIDLinkBValid
ULWordSequence GetU32s(const size_t inU32Offset=0, const size_t inMaxSize=32, const bool inByteSwap=false) const
@ kRegNonPCMAudioDetectEngine1
@ kRegMaskPCMControlA8P7_8
@ kRegShiftHDMIHDRMinMasteringLuminance
uint16_t U16(const int inIndex) const
@ kRegShiftSDIIn43GbpsMode
@ kK2RegMaskVidKeySyncStatus
@ kRegNwlC2S1ChainStartAddressHighIndex
struct AUTOCIRCULATE_TASK_STRUCT AUTOCIRCULATE_TASK_STRUCT
@ kLHIRegMaskHDMIInput2ChAudio
std::vector< uint64_t > ULWord64Sequence
An ordered sequence of ULWord64 (uint64_t) values.
@ kPrimarySecondaryDisplayMode
@ kRegMaskHDMIHDRMaxFrameAverageLightLevel
@ kK2RegMaskXptLUT7InputSelect
char standardFirmwareMultiple[64]
@ kK2RegShiftCSC3KeyInputSelect
@ NTV2_AUTOCIRCULATE_INIT
The AutoCirculate channel is initializing, waiting for CNTV2Card::AutoCirculateStart to be called.
@ kRegMaskEmbeddedOutputSupressCh2
ULWord64 audioClockCurrentTime
#define NTV2Buffer_PAGE_ALIGNED
Allocated page-aligned?
@ kRegFS1ProcAmpC2CROffsetY
@ kRegMaskVidProcSubtitleEnable
@ kRegEnhancedCSC2KeyClipOffset
@ kRegMaskCCHostBankSelect
@ kRegMaskVPIDHorizontalSampling
@ kRegShiftEmbeddedAudioInput2
#define NTV2_ASSERT_STRUCT_VALID
@ kK2RegShiftEnhancedCSCChromaEdgeControl
@ kK2RegMask425Mux3AInputSelect
@ kRegShiftHDMIOutPrefer420
ULWord64 audioClockTimeStamp
48kHz clock (in reg 28, extended to 64 bits) at time of play or record.
@ kLHRegShiftResetAudioDAC
enum _NTV2MultiRasterRegisters NTV2MultiRasterRegisters
@ kK2RegMaskDuallinkIn4InputSelect
@ kRegMaskAud4PlayCapMode
@ kK2RegShiftEnableConverter
@ kRegMaskHDMIOutV2VideoStd
@ kRegMaskLUT8HostAccessBankSelect
@ shiftInsField2FirstActive
@ kK2RegMaskFrameBuffer7InputSelect
@ kRegShiftLUT5HostAccessBankSelect
@ kRegShiftSDIWatchdogEnable12
@ kRegShiftAudioMixerAux1Channel2Level
@ kLSRegMaskVideoInputSelect
@ kRegMaskAudioMixerMainChannel12Level
bool WithCustomAnc(void) const
@ kK2RegShiftEnhancedCSCKeySource
@ kRegMaskXlnxPerfCycleCountMax
NTV2ColorCorrectionMode mode
@ kRegShiftStereoCompressorFlipMode
@ kRegEnhancedCSC3InOffset2
@ kRegNonPCMAudioDetectEngine4
ULWord audioOutStopAddress
For play - first position in buffer of audio.
@ kK2RegMaskSDIOut7DS2InputSelect
@ kK2RegMask425Mux1BInputSelect
NTV2Crosspoint backgroundKeyCrosspoint
@ kK2RegMaskXptLUT8InputSelect
@ shiftPktIgnore_3_7_11_15_19
@ kRegShiftNwlCommonS2CInterruptStatus0
This is used for streaming dma.
@ kRegNwlC2S1ControlStatusIndex
@ kRegShiftVidXptSecVideo
@ kRegMaskPCMControlA8P9_10
@ kRegMask12BitLUTPlaneSelect
@ Hevc_EncodeMode_Multiple
@ kRegLTC4EmbeddedBits0_31
@ kRegMaskLUT1OutputBankSelect
Fixed_ transitionSoftness
@ kRegNwlC2S1ChainCompleteByteCountIndex
@ kK2RegShiftSDIOutDS1AudioSelect
@ kRegMaskSDIIn5VPIDLinkAValid
This is used to perform virtual data reads or writes.
VirtualProcAmpRegisters_base HD
@ kRegXlnxIrqUserInterruptEnableW1S
@ kRegMaskSDIIn3VPIDLinkBValid
struct NTV2RoutingEntry NTV2RoutingEntry
bool WithColorCorrect(void) const
@ kRegEnhancedCSC1CoeffB1
@ kRegShiftSmpte372Enable4
LWord64 currentFrameTime
Vertical blank start of current frame.
@ NTV2_MODE_INVALID
The invalid mode.
@ kRegHDMIV2HBlankingMeasurements
NTV2RegNumSet GetRegisterNumbers(const NTV2RegReads &inRegInfos)
@ kRegMaskPCMControlA2P11_12
@ kRegMaskAnalogCompositeLocked
@ kRegShiftXlnxIntWriteError
@ kRegMaskSDIIn26GbpsMode
@ kFS1RegMaskAudioChannelMapping_Gain
@ kRegMaskSmpte372Enable8
@ kRegShiftAESCh56Present
@ kRegMaskInput1GeometryHigh
@ kRegShiftSDIIn6VPIDLinkBValid
@ kRegShiftStereoCompressorFlipRightHorz
@ kFS1RegShiftI2C2ControlRead
@ kRegShiftEmbeddedOutputMuteCh2
@ kRegRP188InOut5Bits0_31
@ kRegMaskInput2Progressive
@ kRegEnhancedCSC8CoeffB0
@ kRegShiftSDIInTsiMuxSyncFail
#define NTV2_BUILD_RESERVED_BYTES
@ kRegRP188InOut8Bits32_63_2
@ kRegNwlC2S2ChainStartAddressHighIndex
NTV2_RP188(const RP188_STRUCT &inOldRP188)
Constructs an NTV2_RP188 from the given RP188_STRUCT.
bool Fill(const T &inValue)
Fills me with the given scalar value.
@ kRegShiftLUT6OutputBankSelect
@ kRegMaskVidProcSyncFail
@ kK2RegMaskDuallinkOut4InputSelect
@ kRegMaskXlnxIntDescComplete
BOOL_ bDisableExtraAudioInfo
struct AUTOCIRCULATE_P2P_STRUCT * PAUTOCIRCULATE_P2P_STRUCT
ULWord registerShift
My register shift value to use in a ReadRegister or WriteRegister call.
NTV2RegWrites NTV2RegReads
An ordered sequence of zero or more NTV2RegInfo structs intended for ReadRegister.
@ kRegEnhancedCSC2CoeffB1
@ kK2RegShiftFrameBuffer5BInputSelect
@ kK2RegShiftDuallinkIn4DSInputSelect
@ kRegMaskHDMIOutForceHPD
@ kRegMaskRS422RXFIFOOverrun
@ kRegMaskXlnxIntMagicStop
@ kRegShift2MFrameSupport
@ kRegShiftHDMIHDRMaxFrameAverageLightLevel
@ kRegMaskAudioMixerAux2Channel2Level
@ kK2RegShiftDuallinkIn2InputSelect
@ kLHRegMaskVideoOutputDigitalSelect
#define NTV2_IS_OUTPUT_CROSSPOINT(__x__)
@ kRegMaskMessageInterruptControlEnable3
@ kRegXlnxChannelPollModeAddressLow
bool IsPaused(void) const
@ kRegMaskXlnxIntAlignMismatch
@ kRegMaskStereoCompressorFlipLeftVert
@ kRegShiftHDMIHDRDolbyVisionEnable
@ kK2RegMaskCSC7VidInputSelect
ULWord GetFrameCount(void) const
@ kRegEnhancedCSC7OutOffsetC
@ kRegShift12BitLUTSupport
@ kRegMaskSDIIn712GbpsMode
@ kRegMaskMessageInterruptStatusChannel2
@ kRegMaskSDIIn7LevelBtoLevelA
@ NTV2_AUTOCIRCULATE_STARTING
The AutoCirculate channel is starting, waiting for the first VBI and/or call to CNTV2Card::AutoCircul...
@ kK2RegMaskFrameBuffer7BInputSelect
@ kRegXlnxChannelInterruptEnableW1S
@ kRegShiftPCMControlA2P13_14
@ regAncInsFieldBytesHigh
@ kRegShiftPCMControlA7P1_2
@ kRegEnhancedCSC6KeyMode
@ kFS1RegShiftUpconvertAutoAFDEnable
@ kK2RegMaskCSC8KeyInputSelect
@ kK2RegShiftCompressionModInputSelect
@ kRegRXSDI1FrameRefCountLow
#define AUTOCIRCULATE_WITH_COLORCORRECT
Use this to AutoCirculate with color correction.
@ kRegShiftPCMControlA8P1_2
@ kRegMaskNwlCommonS2CInterruptStatus1
@ kRegEnhancedCSC1CoeffC0
@ SSC_GetFirmwareProgress
BOOL_ bDisableExtraAudioInfo
bool IsFieldMode(void) const
@ kRegMaskBOBADAV801Reset
@ kRegShiftSDIWatchdogEnable34
@ kRegXlnxChannelPerfDataCountLow
@ kRegMaskSDIIn212GbpsMode
@ kK2RegMaskCustomCoefficient12BitHigh
@ kK2RegShiftXptLUT3InputSelect
@ kRegMaskSDIIn4LevelBtoLevelA
@ kRegAudioMixerMainInputLevelsPair3
@ kK2RegShiftSDIOut7DS2InputSelect
@ kK2RegShiftAverageAudioLevel
NTV2RegisterValueMap::const_iterator NTV2RegValueMapConstIter
A const iterator that iterates over NTV2RegisterValueMap entries.
@ kRegRXSDI5FrameCountLow
@ kRegMaskBOBADAV801UpdateStatus
@ kRegRXSDI8FrameRefCountLow
@ kRegCh1ColorCorrectionControl
@ kRegNwlCommonPCIExpressCoreVersion
@ kRegRXSDI7FrameCountHigh
@ kRegShiftElectroOpticalTransferFunction
This is used to enable or disable AJADebug logging in the driver.
@ kRegShiftSDIInVPIDLinkAValid
@ kRegNwlS2C2ChainStartAddressHigh
@ kFS1RegMaskAudioBufferSize
@ kRegShiftHDMIHDRNonContantLuminance
@ kRegMaskNwlCommonInterruptMode
@ kRegShiftAudioMixerOutputChannel6Mute
@ kRegEnhancedCSC1CoeffC1
@ kRegMaskAudioMixerAux2Channel1Level
@ kRegRP188InOut3Bits32_63
@ kHDMIOutProtocolAutoSet
NTV2ChannelList::const_iterator NTV2ChannelListConstIter
A handy const iterator into an NTV2ChannelList.
@ kK2RegMaskDuallinkIn5InputSelect
@ kRegMaskEmbeddedAudioInput2
ULWord videoFullRangeFlag
@ kK2RegMaskEnhancedCSCInputPixelFormat
ULWord frame
The frame requested or -1 if not available.
@ kRegLTCEmbeddedBits0_31
@ kRegShiftPCMControlA7P7_8
@ kFS1RegMaskProcAmpInputSelect
struct HDRRegValues HDRRegValues
@ kRegEnhancedCSC2CoeffC0
@ kRegMaskRotaryEncoderValue
struct hevcMessageHeader HevcMessageHeader
@ eTransferAutoCirculateEx2
@ kRegXlnxChannelInterruptEnable
@ kRegMaskSDIIn2VPIDLinkBValid
@ kRegShiftRS422RXFIFOOverrun
@ regAncExtField2StartAddress
@ kK2RegMaskMixer3BGKeyInputSelect
@ kRegMaskMRFrameLocation
@ kK2RegMaskDuallinkOut8InputSelect
@ AUTOCIRCVIDPROCMODE_INVALID
@ kLHIRegShiftSDIOut3GbpsMode
@ kK2RegShift425Mux1BInputSelect
@ kK2RegMaskCSC8VidInputSelect
@ kRegMaskSDIRelayPosition12
@ kRegShiftSDIIn43GbpsSMPTELevelBMode
uint16_t maxFrameAverageLightLevel
@ kRegShiftHDMIHDRRedPrimaryX
@ kRegMaskAudioMixerOutputChannel5Mute
@ kRegXlnxChannelStatusRC
@ kRegMaskPCMControlA5P9_10
ULWord dmaSegmentHostPitch
@ kRegShiftXlnxNonIncAddressMode
struct HDRFloatValues HDRFloatValues
@ kK2RegShiftFrameSyncControlStandard
@ kRegAudioMixerMainOutputLevelsPair2
@ kRegAudioChannelMappingCh7
_NTV2NonPCMAudioDetectRegisters
NTV2HDMIOutAudioRegisters
@ kRegShiftPCMControlA3P5_6
@ eAutoCircTaskTimeCodeRead
@ kRegOutputTimingControl
NTV2AudioSystem
Used to identify an Audio System on an NTV2 device. See Audio System Operation for more information.
@ kK2RegMaskSDIOut8InputSelect
@ kRegShiftEmbeddedOutputMuteCh1
@ kRegShiftDitherOn8BitInput
NTV2Crosspoint channelSpec
@ kRegShiftBOBGPIIn4InterruptControl
@ kK2RegMask4KDCQ1InputSelect
@ kRegMaskXlnxIntDescStop
@ AUTOCIRCVIDPROCMODE_MIX
@ kRegMaskHDMIInColorDepth
bool NTV2GetUnsupportedStandards(NTV2StandardSet &outStandards)
Returns a set of NTV2Standard values not suported by any NTV2 device.
@ kRegShiftXlnxIntReadError
@ kK2RegShiftHDMIOutV2Q4InputSelect
@ kRegShiftSDIIn83GbpsSMPTELevelBMode
#define NTV2_IS_VALID_AUDIO_SYSTEM(__x__)
@ kRegRXSDI2FrameRefCountHigh
@ kRegShiftXlnxPerfDataCountHigh
@ shiftInsTotalPixelsInLine
NTV2RegInfo NTV2ReadWriteRegisterSingle
This is an alias for NTV2RegInfo – everything needed to make a future ReadRegister or WriteRegister c...
@ kRegShiftPCMControlA3P1_2
@ kRegXlnxSgdmaDescCredits
@ kRegMaskMessageInterruptControlEnable6
@ kHDMIOutStereoTopBottom
@ kRegNwlC2S1ControlStatus
struct BITFILE_INFO_STRUCT * PBITFILE_INFO_STRUCT
@ kRegEnhancedCSC1CoeffB0
@ Hevc_ChangeSequence_Disabled
struct BUILD_INFO_STRUCT * PBUILD_INFO_STRUCT
@ kRegShiftSDIIn63GbpsMode
@ kRegLTCEmbeddedBits32_63
@ kRegShiftHDMIHDRBluePrimaryX
@ kFS1RegShiftI2CReadData
HevcGpioControl gpioControl
@ kRegMaskSDIIn83GbpsMode
@ kRegNwlS2C1ChainStartAddressLowIndex
@ kK2RegMaskSDIOut3DS2InputSelect
@ kK2RegMask425Mux1AInputSelect
@ kRegEnhancedCSC8CoeffC2
@ kRegMaskPCMControlA6P7_8
@ kRegMaskNwlCommonMaxPayloadSize
@ kRegMaskAudioMixerOutputChannel3Mute
@ kRegMaskVidProcRGBModeSupported
@ kK2RegMaskAudioBufferSize
@ kK2RegMaskDuallinkOut3InputSelect
@ kRegEnhancedCSC6CoeffC1
@ kLHIRegShiftHDMIOutBitDepth
@ kRegEnhancedCSC3OutOffsetA_B
NTV2RegWritesIter NTV2RegisterReadsIter
@ kK2RegMaskMixerFGVidInputSelect
@ kK2RegMaskDuallinkIn6InputSelect
@ kRegRXSDI4FrameCountLow
@ kRegNwlC2S2ChainStartAddressLow
@ kRegShiftSDIIn112GbpsMode
@ kRegRXSDI6FrameCountLow
@ kK2RegMaskSDIOut1DS2InputSelect
#define NTV2_BITFILE_DATETIME_STRINGLENGTH
@ kK2RegMaskEnhancedCSCOutputPixelFormat
@ kK2RegMaskFrameBuffer3BInputSelect
@ kFS1RegMaskAFDVANCInserter_Code
@ kRegEnhancedCSC3CoeffB2
@ kRegMaskVidProcFGControl
@ kRegEnhancedCSC7KeyGain
@ kRegShiftAudioMixerMainChannel7Level
@ kRegShiftPCMControlA1P13_14
@ kRegShiftAudioMixerAux2x2CHInput
@ kRegMaskSDIInUnlockCount
@ kRegShiftXlnxIntIdleStop
@ kK2RegShiftXptLUT8InputSelect
@ kRegNonPCMAudioDetectEngine2
@ kLHIRegShiftHDMIOutColorSpace
@ kRegHDMIV2HBlankingMeasurements1
@ kRegMaskSDIIn3GbpsSMPTELevelBMode
@ kK2RegMaskEnhancedCSC4KMode
@ kRegMaskAudioMixerInputRightLevel
std::set< NTV2FrameRate > NTV2FrameRateSet
A set of distinct NTV2FrameRate values. New in SDK 17.0.
NTV2Crosspoint
Logically, these are an NTV2Channel combined with an NTV2Mode.
@ kFS1RegMaskI2CSubAddress
@ kRegMaskPCMControlA3P13_14
@ kRegShiftPCMControlA8P7_8
@ kK2RegShiftMixer2BGVidInputSelect
@ kRegShiftSmpte372Enable8
ULWordSequence::iterator ULWordSequenceIter
A handy non-const iterator for iterating over a ULWordSequence.
@ kRegMaskNwlCommonC2SInterruptStatus5
@ kK2RegShiftSDIOut8DS2InputSelect
@ kRegShiftAudioMixerOutputChannel13Mute
@ kRegShiftHDMIOutAudioSource
@ kK2RegShiftDuallinkIn8DSInputSelect
void Clear(void)
Resets the struct to its initialized state.
@ kRegMaskVidProcSplitStd
@ kRegShiftAudioMixerAux1InputEnable
@ kRegMaskRS422RXFIFOFull
@ kRegMaskSDIIn7VPIDLinkAValid
@ kRegRP188InOut4Bits32_63_2
@ kRegShiftQuarterSizeMode
LWord64 maxEnqueueDuration
@ kRegMaskXlnxIntInvalidLength
@ kK2RegMaskSDIOut6DS2InputSelect
@ kRegShiftNwlCommonC2SInterruptStatus6
const FRAME_STAMP & GetFrameStamp(void) const
@ shiftInsField1FirstActive
@ kFS1RegShiftAFDReceived_AR
@ kRegShiftCC3OutputBankSelect
@ kRegRXSDI1FrameRefCountHigh
NTV2QuarterSizeExpandMode videoQuarterSizeExpand
@ Hevc_GpioDirection_Size
@ kRegEnhancedCSC7CoeffA0
uint8_t staticMetadataDescriptorID
@ regAuxExtPacketMask_Last
@ kRegMaskPCMControlA5P7_8
NTV2FrameBufferFormat frameBufferFormat
ULWord currentFieldCount
At Call Field0 or Field1 currently being OUTPUT (at the time of the IOCTL_NTV2_GET_FRAMESTAMP)
LWord64 avrDequeueDuration
@ kRegShiftLUT1HostAccessBankSelect
bool SetBuffer(const ULWord *pInBuffer, const ULWord inByteCount)
Sets the buffer to use for streaming.
@ kRegShiftSDIIn6LevelBtoLevelA
@ kRegLTC5EmbeddedBits32_63
@ kRegEnhancedCSC4CoeffA0
@ kRegRP188InOut8Bits0_31
#define NTV2_BITFILE_DESIGNNAME_STRINGLENGTH
uint8_t electroOpticalTransferFunction
@ kRegShiftSDIIn83GbpsMode
@ kRegMaskXlnxIntDescError
@ kRegShiftAudioMixerMainChannel1Level
@ kRegShiftNwlCommonS2CInterruptStatus2
@ kFS1RegMaskAFDVANCInserter_AR
@ NTV2_AUTOCIRCULATE_STARTING_AT_TIME
The AutoCirculate channel is starting, waiting for the start time specified in the call to CNTV2Card:...
@ kRegShiftVPIDHorizontalSampling
@ kRegShiftAudioMixerMainChannel4Level
@ kRegRXSDI8FrameCountLow
@ kRegMaskAudioMixerMainChannel1Level
Everything needed to call CNTV2Card::ReadRegister or CNTV2Card::WriteRegister functions.
@ kRegShiftFramePulseEnable
@ kRegMaskSDIIn412GbpsMode
enum NTV2VideoFrameBufferOrientation NTV2FBOrientation
@ kRegRXSDI2FrameCountLow
std::ostream & Print(std::ostream &inOutStream) const
Prints a human-readable representation of me to the given output stream.
@ kK2RegMaskDuallinkIn5DSInputSelect
@ kMaskPrimaryFormatSelect
@ kRegMaskVPIDProgressiveTransport
@ kRegAudioMixerMainInputLevelsPair4
@ kRegMaskAnalogCompositeFormat625
@ kRegEnhancedCSC4OutOffsetA_B
NTV2ColorCorrectionMode mode
@ kRegCh2ColorCorrectionControl
HevcGpioDirection gpioDirection
@ kK2RegMaskCSC4KeyInputSelect
@ kRegShiftSDIIn212GbpsMode
@ kK2RegShiftEnhancedCSCEnable
@ kRegShiftAESCh34Present
@ kLHIRegMaskVideoDACComponent
@ kRegMaskMessageInterruptControlEnable2
struct HevcDeviceDebug HevcDeviceDebug
@ kRegMaskSDIIn66GbpsMode
@ kRegShiftSDIInCRCErrorCountA
@ kRegMaskAudioMixerAux2InputEnable
@ kRegShiftInput1Progressive
@ kRegMaskStereoCompressorLeftSource
@ kK2RegShiftUpConvertMode
RP188_STRUCT LTCEmbedded5
@ kRegMaskPCMControlA7P1_2
@ kRegMaskAudioMixerAux1Channel1Level
@ kRegMaskPCMControlA7P13_14
@ NTV2_OEM_TASKS
2: OEM: Device is configured by controlling application(s), with minimal driver involvement.
struct HevcVersion HevcVersion
struct HevcEncodedData HevcEncodedData
@ kRegShiftAudioMixerMainChannel3Level
@ kK2RegShiftFrameSync1InputSelect
@ kRegMaskSDIIn6LevelBtoLevelA
@ kRegMaskFrameBufferMode
@ kRegMaskAud5PlayCapMode
@ kRegEnhancedCSC5KeyGain
@ kRegShiftHDMIOutPowerDown
@ kRegMaskNwlCommonS2CInterruptStatus6
NTV2AudioSystem GetAudioSystem(void) const
ULWord videoSegmentCardPitch
@ kK2RegShiftCSC6KeyInputSelect
@ kRegShiftNwlControlStatusChainStart
@ kK2RegShiftCustomCoefficientLow
@ shiftField1AnalogStartLine
@ kRegMaskPCMControlA7P3_4
@ kRegShiftVidProcFGMatteEnable
@ NTV2_AUTOCIRCULATE_DISABLED
The AutoCirculate channel is stopped.
ULWord audioInStopAddress
For record - end position (exclusive) in buffer of audio (includes base offset)
HevcVersion driverVersion
@ kRegNwlS2C1ControlStatusIndex
@ kRegShiftNwlCommonUserInterruptEnable
@ kRegCS7Coefficients9_10
@ kFS1RegMaskColorFIDSubcarrierReset
@ kRegShiftAudioMixerOutputChannel4Mute
@ kProgramStateCalculating
bool IsOutput(void) const
@ kProgramStateEraseBank3
@ kRegShiftPCMControlA5P15_16
NTV2ColorCorrectionInfo_32 colorCorrectionInfo
@ kRegShiftChannelCompressed
@ kRegMaskAnalogAudioInJack
AutoCircTaskType
These are the available AutoCirculate task types.
@ kRegMaskAnalogHDMIvsAES
const NTV2Buffer & GetVideoBuffer(void) const
@ kRegMaskLUT3HostAccessBankSelect
@ kRegMaskNwlControlStatusChainStart
@ kRegMaskQuarterSizeMode
@ kRegShiftAnalogAudioInGain
@ kRegShiftDualLinKOutput
@ kRegEnhancedCSC8KeyClipOffset
@ kK2RegMaskDuallinkIn4DSInputSelect
RP188_STRUCT LTCEmbedded3
@ kRegShiftHDMIOutAudioRate
@ kK2RegShift425Mux3AInputSelect
@ kRegMaskAudioMixerAux1x2CHInput
@ kK2RegMaskConverterOutStandard
@ kRegShiftPCMControlA8P15_16
@ regAncExtFieldVBLStartLine
@ kBorgRegShiftOutTimingCtrlVertOfs
@ kRegMaskRS422ParitySense
@ kFS1RegMaskI2C2ControlRead
@ kRegMaskVidProcFGMatteEnable
@ kRegShiftVPIDPictureRate
@ kRegMaskSDIIn83GbpsSMPTELevelBMode
@ kFS1RegShiftAudioChannelMapping_Phase
@ kRegShiftHDMIInAudioRate
@ kRegShiftFrameOrientation