|
AJA NTV2 SDK
17.1.3.1410
NTV2 SDK 17.1.3.1410
|
Go to the documentation of this file.
8 #ifndef NTV2PUBLICINTERFACE_H
9 #define NTV2PUBLICINTERFACE_H
13 #if !defined(NTV2_BUILDING_DRIVER)
25 #if defined(MSWindows)
26 #pragma warning(disable:4800) // int/bool conversion
27 #pragma warning(disable:4127) // Stop MSVC from bitching about "do{...}while(false)" macros
29 #endif // user-space clients only
31 #if defined (MSWindows)
33 #elif defined (AJAMac)
34 #pragma GCC diagnostic ignored "-Wunused-private-field"
37 #if !defined (NTV2_BUILDING_DRIVER)
85 #endif // NTV2_BUILDING_DRIVER
88 #if !defined (NTV2_BUILDING_DRIVER)
90 #define NTV2_RPC_ENCODE_DECL bool RPCEncode (NTV2_RPC_BLOB_TYPE & outBlob);
91 #define NTV2_RPC_DECODE_DECL bool RPCDecode (const NTV2_RPC_BLOB_TYPE & inBlob, size_t & inOutIndex);
93 #define NTV2_RPC_CODEC_DECLS NTV2_RPC_ENCODE_DECL \
96 #define NTV2_RPC_CODEC_DECLS
97 #endif // NTV2_BUILDING_DRIVER
696 #define kRegCh1ColorCorrectioncontrol kRegCh1ColorCorrectionControl // CamelCase fixed in SDK 16.0
697 #define kRegCh2ColorCorrectioncontrol kRegCh2ColorCorrectionControl // CamelCase fixed in SDK 16.0
1087 #define NTV2_HDMIAuxMaxFrames 8
1088 #define NTV2_HDMIAuxDataSize 32
3309 #define NWL_REG_START 18000
3311 #define NWL_REG_START 0
3485 #define XLNX_MAX_CHANNELS 4
3486 #define XLNX_REG_TARGET_SIZE 0x400
3487 #define XLNX_REG_CHANNEL_SIZE 0x40
3488 #define XLNX_SUBSYSTEM_ID 0x1fc
3672 #define kTransferFlagVideoDMA1 (BIT(0)) // use dma channel 1 for video transfer
3673 #define kTransferFlagVideoDMA2 (BIT(1)) // use dma channel 2 for video transfer
3674 #define kTransferFlagVideoDMA3 (BIT(2)) // use dma channel 3 for video tranfer
3675 #define kTransferFlagVideoDMA4 (BIT(3)) // use dma channel 4 for video transfer
3676 #define kTransferFlagVideoDMAAny (BIT(0)+BIT(1)+BIT(2)+BIT(3))
3677 #define kTransferFlagAudioDMA1 (BIT(4)) // use dma channel 1 for audio transfer
3678 #define kTransferFlagAudioDMA2 (BIT(5)) // use dma channel 2 for audio transfer
3679 #define kTransferFlagAudioDMA3 (BIT(6)) // use dma channel 3 for audio transfer
3680 #define kTransferFlagAudioDMA4 (BIT(7)) // use dma channel 4 for audio transfer
3681 #define kTransferFlagAudioDMAAny (BIT(4)+BIT(5)+BIT(6)+BIT(7))
3682 #define kTransferFlagDMAAny (BIT(0)+BIT(1)+BIT(2)+BIT(3)+BIT(4)+BIT(5)+BIT(6)+BIT(7))
3683 #define kTransferFlagQuadFrame (BIT(8)) // transfer a quad hd or 4k frame
3684 #define kTransferFlagP2PPrepare (BIT(9)) // prepare p2p target for synchronous transfer (no message)
3685 #define kTransferFlagP2PComplete (BIT(10)) // complete synchronous p2p transfer
3686 #define kTransferFlagP2PTarget (BIT(11)) // prepare p2p target for asynchronous transfer (with message)
3687 #define kTransferFlagP2PTransfer (BIT(12)) // transfer to p2p sync or async target
3689 #define MAX_FRAMEBUFFERS 512 // Max for Corvid88
3691 #define KONAIP_REGS_START 0x40000
3698 #define XENA2_CHANNEL2_OFFSET (0x2000000) // 32 MBytes..not applicable
3701 #define XENA2_FRAMEBUFFER_SIZE (0x800000) // 8 MBytes
3705 #define XENA2_NUM_FRAMEBUFFERS (16)
3706 #define XENA2_NTV2_VERTICALINTERRUPT_GLOBAL_EVENT_NAME "_Xena2VerticalInterruptSignalEvent"
3710 #define KHD_NTV2_CHANGE_GLOBAL_EVENT_NAME "_HDChangeSignalEvent"
3716 #define NTV2_MIN_FRAMEBUFFERSIZE KSD_FRAMEBUFFER_SIZE
3717 #define NTV2_MAX_FRAMEBUFFERSIZE KHD_FRAMEBUFFER_SIZE
3718 #define NTV2_MIN_FRAMEBUFFERS HDNTV_NUM_FRAMEBUFFERS
3720 #define NTV2_MAX_FRAMEBUFFERS MAX_FRAMEBUFFERS
3722 #define NTV2_MAX_FRAMEBUFFERS BONES_NUM_FRAMEBUFFERS
3725 #define NTV2_UART_FIFO_SIZE (127)
3727 #define NTV2_PROGRAM_READY_BIT ( BIT_8 )
3728 #define NTV2_PROGRAM_DONE_BIT ( BIT_9 )
3729 #define NTV2_PROGRAM_RESET_BIT ( BIT_10 )
3732 #define NTV2_FS1_FALLBACK_MODE_BIT ( BIT_11 )
3735 #define NTV2_FS1_CPLD_ENH_MODE_BIT ( BIT_12 )
3793 #define MAX_NUM_EVENT_CODES (eNumInterruptTypes)
3794 #define NTV2_IS_VALID_INTERRUPT_ENUM(__e__) ((__e__) >= eOutput1 && (__e__) < eNumInterruptTypes)
3795 #define NTV2_IS_INPUT_INTERRUPT(__e__) ( (__e__) == eInput1 \
3796 || (__e__) == eInput2 \
3797 || (__e__) == eInput3 \
3798 || (__e__) == eInput4 \
3799 || (__e__) == eInput5 \
3800 || (__e__) == eInput6 \
3801 || (__e__) == eInput7 \
3802 || (__e__) == eInput8 )
3804 #define NTV2_IS_OUTPUT_INTERRUPT(__e__) ( (__e__) == eOutput1 \
3805 || (__e__) == eOutput2 \
3806 || (__e__) == eOutput3 \
3807 || (__e__) == eOutput4 \
3808 || (__e__) == eOutput5 \
3809 || (__e__) == eOutput6 \
3810 || (__e__) == eOutput7 \
3811 || (__e__) == eOutput8 )
3824 #if !defined (NTV2_BUILDING_DRIVER)
3925 #endif // !defined (NTV2_BUILDING_DRIVER)
3938 #if !defined(NTV2_BUILDING_DRIVER)
3994 AJAExport std::ostream &
Print (std::ostream & outputStream,
const bool inAsCode =
false)
const;
4004 #endif // not NTV2_BUILDING_DRIVER
4010 #if !defined (NTV2_BUILDING_DRIVER)
4041 #endif // !defined (NTV2_BUILDING_DRIVER)
4050 #if !defined (NTV2_BUILDING_DRIVER)
4052 #endif // !defined (NTV2_BUILDING_DRIVER)
4055 #define MAX_ROUTING_ENTRIES 32
4087 #if !defined(NTV2_BUILDING_DRIVER)
4090 #endif // user-space clients only
4094 #define RP188_STRUCT_SET(_struct_,_dbb_,_lo_,_hi_) do \
4096 (_struct_).DBB = (_dbb_); \
4097 (_struct_).Low = (_lo_); \
4098 (_struct_).High = (_hi_); \
4101 #define RP188_PSTRUCT_SET(_pStruct_,_dbb_,_lo_,_hi_) do \
4103 (_pStruct_)->DBB = (_dbb_); \
4104 (_pStruct_)->Low = (_lo_); \
4105 (_pStruct_)->High = (_hi_); \
4109 #define RP188_FRAMEUNITS_MASK 0x0000000F // Frames (units digit) in bits 3- 0 of .Low word
4110 #define RP188_FRAMETENS_MASK 0x00000300 // Frames (tens digit) in bits 9- 8 of .Low word
4111 #define RP188_SECONDUNITS_MASK 0x000F0000 // Seconds (units digit) in bits 19-16 of .Low word
4112 #define RP188_SECONDTENS_MASK 0x07000000 // Seconds (tens digit) in bits 26-24 of .Low word
4113 #define RP188_LOW_TIME_MASK (RP188_FRAMEUNITS_MASK | RP188_FRAMETENS_MASK | RP188_SECONDUNITS_MASK | RP188_SECONDTENS_MASK)
4115 #define RP188_MINUTESUNITS_MASK 0x0000000F // Minutes (units digit) in bits 3- 0 of .High word
4116 #define RP188_MINUTESTENS_MASK 0x00000700 // Minutes (tens digit) in bits 10- 8 of .High word
4117 #define RP188_HOURUNITS_MASK 0x000F0000 // Hours (units digit) in bits 19-16 of .High word
4118 #define RP188_HOURTENS_MASK 0x03000000 // Hours (tens digit) in bits 25-24 of .High word
4119 #define RP188_HIGH_TIME_MASK (RP188_MINUTESUNITS_MASK | RP188_MINUTESTENS_MASK | RP188_HOURUNITS_MASK | RP188_HOURTENS_MASK)
4122 #define NEW_RP188_RCVD 0x00010000 // new RP188 data was received on ANY of the channels (LTC, VITC, etc.) (capture only)
4123 #define NEW_SELECT_RP188_RCVD 0x00020000 // new RP188 data was received on the selected channel (capture only)
4124 #define RP188_720P_FRAMEID 0x00400000 // 720p FrameID (capture only - set by driver software)
4125 #define RP188_CHANGED_FLAG 0x00800000 // RP188 data changed compared to last frame (capture only - set by driver software)
4133 #define NTV2_COLORCORRECTOR_WORDSPERTABLE (512) // number of ULONG words in EACH color table
4134 #define NTV2_COLORCORRECTOR_TOTALWORDS (NTV2_COLORCORRECTOR_WORDSPERTABLE * 3) // total number of ULONG words in all 3 tables
4135 #define NTV2_COLORCORRECTOR_TABLESIZE (NTV2_COLORCORRECTOR_TOTALWORDS * 4) // total length in bytes of all 3 tables: numWords * numColors * bytes/word
4139 #define NTV2_12BIT_COLORCORRECTOR_WORDSPERTABLE (2048) // number of ULONG words in EACH color table
4140 #define NTV2_12BIT_COLORCORRECTOR_TOTALWORDS (NTV2_12BIT_COLORCORRECTOR_WORDSPERTABLE * 3) // total number of ULONG words in all 3 tables
4141 #define NTV2_12BIT_COLORCORRECTOR_TABLESIZE (NTV2_12BIT_COLORCORRECTOR_TOTALWORDS * 4) // total length in bytes of all 3 tables: numWords * numColors * bytes/word
4167 #define kRegColorCorrectionLUTOddShift 22
4168 #define kRegColorCorrectionLUTEvenShift 6
4172 #define kColorCorrectionLUTOffset_Red (0x0800)
4173 #define kColorCorrectionLUTOffset_Green (0x1000)
4174 #define kColorCorrectionLUTOffset_Blue (0x1800)
4177 #define kRegColorCorrection12BitLUTOddShift 16
4178 #define kRegColorCorrection12BitLUTEvenShift 0
4180 #define kRegColorCorrection10To12BitLUTOddShift 18
4181 #define kRegColorCorrection10To12BitLUTEvenShift 2
4185 #define kColorCorrectionLUTOffset_Base (0x0800) // BYTE offset
4186 #define kColorCorrection12BitLUTOffset_Base (0xe000) // BYTE offset
4202 #define NTV2_IS_VALID_AUTOCIRCVIDPROCMODE(__m__) ((__m__) >= AUTOCIRCVIDPROCMODE_MIX && (__m__) < AUTOCIRCVIDPROCMODE_INVALID)
4216 #if !defined (NTV2_BUILDING_DRIVER)
4220 #endif // user-space clients only
4235 #define OBSOLETE_ANC_STRUCT CUSTOM_ANC_STRUCT
4264 #define NTV2_IS_AUTO_CIRC_XFER_CMD(__m__) ((__m__) == eTransferAutoCirculate && (__m__) == eTransferAutoCirculateEx && (__m__) == eTransferAutoCirculateEx2)
4282 #define NTV2_IS_VALID_AUTO_CIRC_STATE(__m__) ((__m__) >= NTV2_AUTOCIRCULATE_DISABLED && (__m__) < NTV2_AUTOCIRCULATE_INVALID)
4296 #define NTV2_IS_VALID_TASK_MODE(__m__) ((__m__) == NTV2_DISABLE_TASKS || (__m__) == NTV2_STANDARD_TASKS || (__m__) == NTV2_OEM_TASKS)
4297 #define NTV2_IS_STANDARD_TASKS(__m__) ((__m__) == NTV2_STANDARD_TASKS)
4298 #define NTV2_IS_DRIVER_ACTIVE_TASKS(__m__) ((__m__) == NTV2_STANDARD_TASKS || (__m__) == NTV2_OEM_TASKS)
4309 #pragma pack(4) // removes 64 bit alignment on non-64 bit fields
4334 #if !defined (NTV2_BUILDING_DRIVER)
4336 #endif // !defined (NTV2_BUILDING_DRIVER)
4395 #if !defined (NTV2_BUILDING_DRIVER)
4399 #endif // user-space clients only
4515 #if !defined (NTV2_BUILDING_DRIVER)
4518 #endif // user-space clients only
4608 #if !defined (NTV2_BUILDING_DRIVER)
4611 #endif // user-space clients only
4668 #define AUTOCIRCULATE_TASK_VERSION 0x00000001
4669 #define AUTOCIRCULATE_TASK_MAX_TASKS 128
4685 #define NTV2_IS_VALID_TASK_TYPE(_x_) ((_x_) > eAutoCircTaskNone && (_x_) < MAX_NUM_AutoCircTaskTypes)
4687 #define NTV2_IS_REGISTER_READ_TASK(_x_) ((_x_) == eAutoCircTaskRegisterRead)
4688 #define NTV2_IS_REGISTER_WRITE_TASK(_x_) ((_x_) == eAutoCircTaskRegisterWrite)
4689 #define NTV2_IS_REGISTER_TASK(_x_) (NTV2_IS_REGISTER_WRITE_TASK (_x_) || NTV2_IS_REGISTER_READ_TASK (_x_))
4691 #define NTV2_IS_TIMECODE_READ_TASK(_x_) ((_x_) == eAutoCircTaskTimeCodeRead)
4692 #define NTV2_IS_TIMECODE_WRITE_TASK(_x_) ((_x_) == eAutoCircTaskTimeCodeWrite)
4693 #define NTV2_IS_TIMECODE_TASK(_x_) (NTV2_IS_TIMECODE_WRITE_TASK (_x_) || NTV2_IS_TIMECODE_READ_TASK (_x_))
4735 #if !defined (NTV2_BUILDING_DRIVER)
4739 #endif // user-space clients only
4766 #if !defined (NTV2_BUILDING_DRIVER)
4769 #endif // user-space clients only
4787 #define NTV2_BITFILE_DATETIME_STRINGLENGTH (16)
4788 #define NTV2_BITFILE_DESIGNNAME_STRINGLENGTH (100)
4789 #define NTV2_BITFILE_PARTNAME_STRINGLENGTH (16)
4792 #define NTV2_BITFILE_STRUCT_VERSION (4)
4801 #define NTV2_BITFILE_RESERVED_ULWORDS (234) // added whichFPGA
4913 #define NTV2_BUILD_STRINGLENGTH (1024)
4914 #define NTV2_BUILD_STRUCT_VERSION (0)
4916 #define NTV2_BUILD_RESERVED_BYTES (1016)
4929 #pragma options align=reset
4964 #if !defined(R2_DEPRECATED)
5043 #endif //R2_DEPRECATED
5093 #define KONA_DEBUGFILTER_STRINGLENGTH 128
5361 #if defined(__CPLUSPLUS__) || defined(__cplusplus)
5362 #define NTV2DriverVersionEncode(__maj__, __min__, __pt__, __bld__) ((ULWord(__maj__) & 0x0000007F) << 22) \
5363 | ((ULWord(__min__) & 0x0000003F) << 16) \
5364 | ((ULWord(__pt__ ) & 0x0000003F) << 10) \
5365 | ((ULWord(__bld__) & 0x000003FF) << 0)
5366 #define NTV2DriverVersionDecode_Major(__vers__) ((ULWord(__vers__) >> 22) & 0x0000007F)
5367 #define NTV2DriverVersionDecode_Minor(__vers__) ((ULWord(__vers__) >> 16) & 0x0000003F)
5368 #define NTV2DriverVersionDecode_Point(__vers__) ((ULWord(__vers__) >> 10) & 0x0000003F)
5369 #define NTV2DriverVersionDecode_Build(__vers__) ((ULWord(__vers__) >> 0) & 0x000003FF)
5371 #define NTV2DriverVersionEncode(__maj__, __min__, __pt__, __bld__) (((ULWord)(__maj__) & 0x0000007F) << 22) \
5372 | (((ULWord)(__min__) & 0x0000003F) << 16) \
5373 | (((ULWord)(__pt__ ) & 0x0000003F) << 10) \
5374 | (((ULWord)(__bld__) & 0x000003FF) << 0)
5375 #define NTV2DriverVersionDecode_Major(__vers__) (((ULWord)(__vers__) >> 22) & 0x0000007F)
5376 #define NTV2DriverVersionDecode_Minor(__vers__) (((ULWord)(__vers__) >> 16) & 0x0000003F)
5377 #define NTV2DriverVersionDecode_Point(__vers__) (((ULWord)(__vers__) >> 10) & 0x0000003F)
5378 #define NTV2DriverVersionDecode_Build(__vers__) (((ULWord)(__vers__) >> 0) & 0x000003FF)
5380 #define NTV2DriverVersionBuildTypeToOrdinal(__ch__) ((__ch__) == 'd' ? 3UL : ((__ch__) == 'a' ? 2UL : ((__ch__) == 'b' ? 1UL : 0UL)))
5381 #define NTV2DriverVersionEncodedBuildType (NTV2DriverVersionBuildTypeToOrdinal(AJA_NTV2_SDK_BUILD_TYPE[0]) << 30)
5384 #define NTV2SDKVersionEncode NTV2DriverVersionEncode
5385 #define NTV2SDKVersionDecode_Major NTV2DriverVersionDecode_Major
5386 #define NTV2SDKVersionDecode_Minor NTV2DriverVersionDecode_Minor
5387 #define NTV2SDKVersionDecode_Point NTV2DriverVersionDecode_Point
5388 #define NTV2SDKVersionDecode_Build NTV2DriverVersionDecode_Build
5393 #if AJATargetBigEndian
5394 #if defined(__CPLUSPLUS__) || defined(__cplusplus)
5395 #define NTV2_4CC(_str_) ( (uint32_t((UByte*(_str_))[0]) << 0) | \
5396 (uint32_t((UByte*(_str_))[1]) << 8) | \
5397 (uint32_t((UByte*(_str_))[2]) << 16) | \
5398 (uint32_t((UByte*(_str_))[3]) << 24))
5400 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( ((uint32_t(_a_)) << 0) | \
5401 ((uint32_t(_b_)) << 8) | \
5402 ((uint32_t(_c_)) << 16) | \
5403 ((uint32_t(_d_)) << 24))
5404 #if !defined (NTV2_BUILDING_DRIVER)
5405 #define NTV2_4CC_AS_STRING(_x_) std::string (1, ((_x_) & 0x000000FF) >> 0) + \
5406 std::string (1, ((_x_) & 0x0000FF00) >> 8) + \
5407 std::string (1, ((_x_) & 0x00FF0000) >> 16) + \
5408 std::string (1, ((_x_) & 0xFF000000) >> 24)
5409 #endif // !defined (NTV2_BUILDING_DRIVER)
5411 #define NTV2_4CC(_str_) ( ((uint32_t)(((UByte *)(_str_))[0]) << 0) | \
5412 ((uint32_t)(((UByte *)(_str_))[1]) << 8) | \
5413 ((uint32_t)(((UByte *)(_str_))[2]) << 16) | \
5414 ((uint32_t)(((UByte *)(_str_))[3]) << 24))
5416 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( (((uint32_t)(_a_)) << 0) | \
5417 (((uint32_t)(_b_)) << 8) | \
5418 (((uint32_t)(_c_)) << 16) | \
5419 (((uint32_t)(_d_)) << 24))
5422 #if defined(__CPLUSPLUS__) || defined(__cplusplus)
5423 #define NTV2_4CC(_str_) ( (uint32_t((UByte*(_str_))[3]) << 0) | \
5424 (uint32_t((UByte*(_str_))[2]) << 8) | \
5425 (uint32_t((UByte*(_str_))[1]) << 16) | \
5426 (uint32_t((UByte*(_str_))[0]) << 24))
5428 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( ((uint32_t(_a_)) << 24) | \
5429 ((uint32_t(_b_)) << 16) | \
5430 ((uint32_t(_c_)) << 8) | \
5431 ((uint32_t(_d_)) << 0) )
5432 #if !defined (NTV2_BUILDING_DRIVER)
5433 #define NTV2_4CC_AS_STRING(_x_) std::string(1, char((uint32_t(_x_) & 0xFF000000) >> 24)) + \
5434 std::string(1, char((uint32_t(_x_) & 0x00FF0000) >> 16)) + \
5435 std::string(1, char((uint32_t(_x_) & 0x0000FF00) >> 8)) + \
5436 std::string(1, char((uint32_t(_x_) & 0x000000FF) >> 0))
5437 #endif // !defined (NTV2_BUILDING_DRIVER)
5439 #define NTV2_4CC(_str_) ( ((uint32_t)(((UByte *)(_str_))[3]) << 0) | \
5440 ((uint32_t)(((UByte *)(_str_))[2]) << 8) | \
5441 ((uint32_t)(((UByte *)(_str_))[1]) << 16) | \
5442 ((uint32_t)(((UByte *)(_str_))[0]) << 24))
5444 #define NTV2_FOURCC(_a_,_b_,_c_,_d_) ( (((uint32_t)(_a_)) << 24) | \
5445 (((uint32_t)(_b_)) << 16) | \
5446 (((uint32_t)(_c_)) << 8) | \
5447 (((uint32_t)(_d_)) << 0) )
5449 #endif // else Little-Endian
5452 #define NTV2_CURRENT_HEADER_VERSION 0
5453 #define NTV2_CURRENT_TRAILER_VERSION 0
5455 #define AUTOCIRCULATE_STRUCT_VERSION 0
5457 #define NTV2_HEADER_TAG NTV2_FOURCC ('N', 'T', 'V', '2')
5458 #define NTV2_TRAILER_TAG NTV2_FOURCC ('n', 't', 'v', '2')
5460 #define NTV2_IS_VALID_HEADER_TAG(_x_) ((_x_) == NTV2_HEADER_TAG)
5461 #define NTV2_IS_VALID_TRAILER_TAG(_x_) ((_x_) == NTV2_TRAILER_TAG)
5463 #define NTV2_TYPE_VIRTUAL_DATA_RW NTV2_FOURCC ('v', 'd', 'a', 't')
5464 #define NTV2_TYPE_BANKGETSET NTV2_FOURCC ('b', 'n', 'k', 'S')
5465 #define NTV2_TYPE_ACSTATUS NTV2_FOURCC ('s', 't', 'a', 't')
5466 #define NTV2_TYPE_ACXFER NTV2_FOURCC ('x', 'f', 'e', 'r')
5467 #define NTV2_TYPE_ACXFERSTATUS NTV2_FOURCC ('x', 'f', 's', 't')
5468 #define NTV2_TYPE_ACTASK NTV2_FOURCC ('t', 'a', 's', 'k')
5469 #define NTV2_TYPE_ACFRAMESTAMP NTV2_FOURCC ('s', 't', 'm', 'p')
5470 #define NTV2_TYPE_GETREGS NTV2_FOURCC ('r', 'e', 'g', 'R')
5471 #define NTV2_TYPE_SETREGS NTV2_FOURCC ('r', 'e', 'g', 'W')
5472 #define NTV2_TYPE_SDISTATS NTV2_FOURCC ('s', 'd', 'i', 'S')
5473 #define NTV2_TYPE_AJADEBUGLOGGING NTV2_FOURCC ('d', 'b', 'l', 'g')
5474 #define NTV2_TYPE_AJABUFFERLOCK NTV2_FOURCC ('b', 'f', 'l', 'k')
5475 #define NTV2_TYPE_AJABITSTREAM NTV2_FOURCC ('b', 't', 's', 't')
5476 #define NTV2_TYPE_AJASTREAMCHANNEL NTV2_FOURCC ('s', 't', 'c', 'h')
5477 #define NTV2_TYPE_AJASTREAMBUFFER NTV2_FOURCC ('s', 't', 'b', 'u')
5478 #if defined(NTV2_DEPRECATE_16_3)
5479 #define AUTOCIRCULATE_TYPE_STATUS NTV2_TYPE_ACSTATUS
5480 #define AUTOCIRCULATE_TYPE_XFER NTV2_TYPE_ACXFER
5481 #define AUTOCIRCULATE_TYPE_XFERSTATUS NTV2_TYPE_ACXFERSTATUS
5482 #define AUTOCIRCULATE_TYPE_TASK NTV2_TYPE_ACTASK
5483 #define AUTOCIRCULATE_TYPE_FRAMESTAMP NTV2_TYPE_ACFRAMESTAMP
5484 #define AUTOCIRCULATE_TYPE_GETREGS NTV2_TYPE_GETREGS
5485 #define AUTOCIRCULATE_TYPE_SETREGS NTV2_TYPE_SETREGS
5486 #define AUTOCIRCULATE_TYPE_SDISTATS NTV2_TYPE_SDISTATS
5487 #endif // defined(NTV2_DEPRECATE_16_3)
5489 #define NTV2_IS_VALID_STRUCT_TYPE(_x_) ( (_x_) == NTV2_TYPE_ACSTATUS || \
5490 (_x_) == NTV2_TYPE_ACXFER || \
5491 (_x_) == NTV2_TYPE_ACXFERSTATUS || \
5492 (_x_) == NTV2_TYPE_ACTASK || \
5493 (_x_) == NTV2_TYPE_ACFRAMESTAMP || \
5494 (_x_) == NTV2_TYPE_GETREGS || \
5495 (_x_) == NTV2_TYPE_SETREGS || \
5496 (_x_) == NTV2_TYPE_SDISTATS || \
5497 (_x_) == NTV2_TYPE_BANKGETSET || \
5498 (_x_) == NTV2_TYPE_VIRTUAL_DATA_RW || \
5499 (_x_) == NTV2_TYPE_AJADEBUGLOGGING || \
5500 (_x_) == NTV2_TYPE_AJABUFFERLOCK || \
5501 (_x_) == NTV2_TYPE_AJABITSTREAM || \
5502 (_x_) == NTV2_TYPE_AJASTREAMCHANNEL || \
5503 (_x_) == NTV2_TYPE_AJASTREAMBUFFER)
5506 #define NTV2Buffer_ALLOCATED BIT(0)
5507 #define NTV2Buffer_PAGE_ALIGNED BIT(1)
5508 #define NTV2Buffer_SHARED BIT(2)
5509 #define NTV2Buffer_SHARED_GLOBAL BIT(4)
5512 #define NTV2Buffer_TO_ULWORD64(__p__) ((sizeof(int*) == 4) ? (ULWord64(ULWord64(__p__) << 32) | 0x00000000BAADF00D) : ULWord64(__p__))
5513 #if !defined(NTV2_DEPRECATE_17_0)
5514 #define NTV2_POINTER_ALLOCATED NTV2Buffer_ALLOCATED
5515 #define NTV2_POINTER_PAGE_ALIGNED NTV2Buffer_PAGE_ALIGNED
5516 #define NTV2_POINTER_TO_ULWORD64(_p_) NTV2Buffer_TO_ULWORD64(_p_)
5517 #endif // defined(NTV2_DEPRECATE_17_0)
5521 #define AUTOCIRCULATE_WITH_RP188 BIT(0)
5522 #define AUTOCIRCULATE_WITH_LTC BIT(1)
5523 #define AUTOCIRCULATE_WITH_FBFCHANGE BIT(2)
5524 #define AUTOCIRCULATE_WITH_FBOCHANGE BIT(3)
5525 #define AUTOCIRCULATE_WITH_COLORCORRECT BIT(4)
5526 #define AUTOCIRCULATE_WITH_VIDPROC BIT(5)
5527 #define AUTOCIRCULATE_WITH_ANC BIT(6)
5528 #define AUTOCIRCULATE_WITH_AUDIO_CONTROL BIT(7)
5529 #define AUTOCIRCULATE_WITH_FIELDS BIT(8)
5530 #define AUTOCIRCULATE_WITH_HDMIAUX BIT(9)
5531 #define AUTOCIRCULATE_WITH_MULTILINK_AUDIO1 BIT(10)
5532 #define AUTOCIRCULATE_WITH_MULTILINK_AUDIO2 BIT(11)
5533 #define AUTOCIRCULATE_WITH_MULTILINK_AUDIO3 BIT(12)
5535 #define AUTOCIRCULATE_FRAME_FULL BIT(20)
5536 #define AUTOCIRCULATE_FRAME_FIELD0 BIT(21)
5537 #define AUTOCIRCULATE_FRAME_FIELD1 BIT(22)
5539 #define AUTOCIRCULATE_P2P_PREPARE BIT(28)
5540 #define AUTOCIRCULATE_P2P_COMPLETE BIT(29)
5541 #define AUTOCIRCULATE_P2P_TARGET BIT(30)
5542 #define AUTOCIRCULATE_P2P_TRANSFER BIT(31)
5544 #define DMABUFFERLOCK_LOCK BIT(0)
5545 #define DMABUFFERLOCK_UNLOCK_ALL BIT(1)
5546 #define DMABUFFERLOCK_MAP BIT(2)
5547 #define DMABUFFERLOCK_UNLOCK BIT(3)
5548 #define DMABUFFERLOCK_AUTO BIT(4)
5549 #define DMABUFFERLOCK_MANUAL BIT(5)
5550 #define DMABUFFERLOCK_MAX_SIZE BIT(6)
5551 #define DMABUFFERLOCK_RDMA BIT(7)
5554 #define BITSTREAM_WRITE BIT(0)
5555 #define BITSTREAM_FRAGMENT BIT(1)
5556 #define BITSTREAM_SWAP BIT(2)
5557 #define BITSTREAM_RESET_CONFIG BIT(3)
5558 #define BITSTREAM_RESET_MODULE BIT(4)
5559 #define BITSTREAM_READ_REGISTERS BIT(5)
5560 #define BITSTREAM_SUSPEND BIT(6)
5561 #define BITSTREAM_RESUME BIT(7)
5564 #define BITSTREAM_EXT_CAP 0
5565 #define BITSTREAM_VENDOR_HEADER 1
5566 #define BITSTREAM_JTAG_ID 2
5567 #define BITSTREAM_VERSION 3
5568 #define BITSTREAM_MCAP_STATUS 4
5569 #define BITSTREAM_MCAP_CONTROL 5
5570 #define BITSTREAM_MCAP_DATA 6
5571 #define BITSTREAM_NUM_REGISTERS 7
5573 #if !defined (NTV2_BUILDING_DRIVER)
5579 #define NTV2_STRUCT_BEGIN(__struct_name__) class AJAExport __struct_name__ {public:
5580 #define NTV2_STRUCT_END(__struct_name__) };
5581 #define NTV2_BEGIN_PRIVATE private:
5582 #define NTV2_END_PRIVATE public:
5584 #if defined (_DEBUG)
5585 #define NTV2_IS_STRUCT_VALID_IMPL(__hr__,__tr__) bool NTV2_IS_STRUCT_VALID (void) const {return __hr__.IsValid() && __tr__.IsValid();}
5586 #define NTV2_ASSERT_STRUCT_VALID do {NTV2_ASSERT (NTV2_IS_STRUCT_VALID ());} while (false)
5588 #define NTV2_IS_STRUCT_VALID_IMPL(__hr__,__tr__)
5589 #define NTV2_ASSERT_STRUCT_VALID
5593 #define Hex(__x__) std::hex << (__x__) << std::dec
5594 #define xHex(__x__) "0x" << Hex(__x__)
5595 #define HexN(__x__,__n__) std::hex << std::setw(int(__n__)) << (__x__) << std::dec
5596 #define xHexN(__x__,__n__) "0x" << HexN((__x__),(__n__))
5597 #define Hex0N(__x__,__n__) std::hex << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ')
5598 #define xHex0N(__x__,__n__) "0x" << Hex0N((__x__),(__n__))
5599 #define HEX(__x__) std::hex << std::uppercase << (__x__) << std::dec << std::nouppercase
5600 #define xHEX(__x__) "0x" << HEX(__x__)
5601 #define HEXN(__x__,__n__) std::hex << std::uppercase << std::setw(int(__n__)) << (__x__) << std::dec << std::nouppercase
5602 #define xHEXN(__x__,__n__) "0x" << HEXN((__x__),(__n__))
5603 #define HEX0N(__x__,__n__) std::hex << std::uppercase << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ') << std::nouppercase
5604 #define xHEX0N(__x__,__n__) "0x" << HEX0N((__x__),(__n__))
5605 #define DEC(__x__) std::dec << std::right << (int(__x__))
5606 #define DECN(__x__,__n__) std::dec << std::setw(int(__n__)) << std::right << (__x__)
5607 #define DEC0N(__x__,__n__) std::dec << std::setw(int(__n__)) << std::setfill('0') << std::right << (__x__) << std::dec << std::setfill(' ')
5608 #define OCT(__x__) std::oct << (__x__) << std::dec
5609 #define OCT0N(__x__,__n__) std::oct << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ')
5610 #define oOCT(__x__) "o" << std::oct << (__x__) << std::dec
5611 #define oOCT0N(__x__,__n__) "o" << std::oct << std::setw(int(__n__)) << std::setfill('0') << (__x__) << std::dec << std::setfill(' ')
5612 #define BIN064(__x__) std::bitset<8>((uint64_t(__x__)&0xFF00000000000000)>>56) << "." \
5613 << std::bitset<8>((uint64_t(__x__)&0x00FF000000000000)>>48) << "." \
5614 << std::bitset<8>((uint64_t(__x__)&0x0000FF0000000000)>>40) << "." \
5615 << std::bitset<8>((uint64_t(__x__)&0x000000FF00000000)>>32) << "." \
5616 << std::bitset<8>((uint64_t(__x__)&0x00000000FF000000)>>24) << "." \
5617 << std::bitset<8>((uint64_t(__x__)&0x0000000000FF0000)>>16) << "." \
5618 << std::bitset<8>((uint64_t(__x__)&0x000000000000FF00)>>8) << "." \
5619 << std::bitset<8>( uint64_t(__x__)&0x00000000000000FF)
5620 #define BIN032(__x__) std::bitset<8>((uint32_t(__x__)&0xFF000000)>>24) << "." \
5621 << std::bitset<8>((uint32_t(__x__)&0x00FF0000)>>16) << "." \
5622 << std::bitset<8>((uint32_t(__x__)&0x0000FF00)>>8) << "." \
5623 << std::bitset<8>( uint32_t(__x__)&0x000000FF)
5624 #define BIN016(__x__) std::bitset<8>((uint16_t(__x__)&0xFF00)>>8) << "." \
5625 << std::bitset<8>( uint16_t(__x__)&0x00FF)
5626 #define BIN012(__x__) std::bitset<12>((uint16_t(__x__)&0x0FFF))
5627 #define BIN010(__x__) std::bitset<10>((uint16_t(__x__)&0x03FF))
5628 #define BIN08(__x__) std::bitset<8>(uint8_t(__x__))
5629 #define BIN04(__x__) std::bitset<4>(uint8_t(__x__))
5630 #define BIN0N(__x__,__n__) std::bitset<__n__>(uint8_t(__x__))
5631 #define bBIN064(__x__) "b" << BIN064(__x__)
5632 #define bBIN032(__x__) "b" << BIN032(__x__)
5633 #define bBIN016(__x__) "b" << BIN016(__x__)
5634 #define bBIN012(__x__) "b" << BIN012(__x__)
5635 #define bBIN010(__x__) "b" << BIN010(__x__)
5636 #define bBIN08(__x__) "b" << BIN08(__x__)
5637 #define bBIN04(__x__) "b" << BIN04(__x__)
5638 #define bBIN0N(__x__,__n__) "b" << BIN0N(__x__,__n__)
5639 #define fDEC(__x__,__w__,__p__) std::dec << std::fixed << std::setw(__w__) << std::setprecision(__p__) << (__x__)
5641 #define NTV2_STRUCT_BEGIN(__struct_name__) typedef struct __struct_name__ {
5642 #define NTV2_STRUCT_END(__struct_name__) } __struct_name__;
5643 #define NTV2_BEGIN_PRIVATE
5644 #define NTV2_END_PRIVATE
5645 #define NTV2_IS_STRUCT_VALID_IMPL(__hr__,__tr__)
5646 #define NTV2_ASSERT_STRUCT_VALID
5650 #if defined (AJAMac)
5651 #pragma pack (push, 4)
5652 #endif // defined (AJAMac)
5659 #if !defined (NTV2_BUILDING_DRIVER)
5668 inline ULWord GetWidth (
void)
const {
return mWidth;}
5669 inline ULWord GetHeight (
void)
const {
return mHeight;}
5670 inline ULWord Width (
void)
const {
return mWidth;}
5671 inline ULWord Height (
void)
const {
return mHeight;}
5672 inline bool IsValid (
void)
const {
return Width() && Height();}
5701 #endif // !defined (NTV2_BUILDING_DRIVER)
5710 #if !defined (NTV2_BUILDING_DRIVER)
5741 mElementsPerSegment (0),
5742 mInitialSrcOffset (0),
5743 mInitialDstOffset (0),
5744 mSrcElementsPerRow (0),
5745 mDstElementsPerRow (0) {setElementLength(1);}
5750 inline bool isValid (
void)
const {
return getSegmentCount() && getSegmentLength() ?
true :
false;}
5752 inline ULWord getSegmentCount (
void)
const {
return mNumSegments;}
5753 inline ULWord getSegmentLength (
void)
const {
return mElementsPerSegment;}
5754 inline ULWord getSourceOffset (
void)
const {
return mInitialSrcOffset;}
5755 inline ULWord getDestOffset (
void)
const {
return mInitialDstOffset;}
5756 inline ULWord getSourcePitch (
void)
const {
return mSrcElementsPerRow;}
5757 inline ULWord getDestPitch (
void)
const {
return mDstElementsPerRow;}
5763 inline ULWord getElementLength (
void)
const {
return ULWord(1 << (mFlags & 3));}
5765 inline bool isSourceBottomUp (
void)
const {
return mFlags &
BIT(8) ?
true :
false;}
5766 inline bool isSourceTopDown (
void)
const {
return mFlags &
BIT(8) ?
false :
true;}
5767 inline bool isDestBottomUp (
void)
const {
return mFlags &
BIT(9) ?
true :
false;}
5768 inline bool isDestTopDown (
void)
const {
return mFlags &
BIT(9) ?
false :
true;}
5769 inline ULWord getTotalElements (
void)
const {
return getSegmentCount() * getSegmentLength();}
5770 inline ULWord getTotalBytes (
void)
const {
return getTotalElements() * getElementLength();}
5776 {
return getSourceOffset() + getSourcePitch() * getSegmentCount() + getSegmentLength();}
5782 {
return getDestOffset() + getDestPitch() * getSegmentCount() + getSegmentLength();}
5790 std::ostream & Print (std::ostream & inStrm,
const bool inDumpSegments =
false)
const;
5797 std::string getSourceCode (
const bool inInclDecl =
true)
const;
5803 bool containsElementAtOffset (
const ULWord inElementOffset)
const;
5842 {mNumSegments = inNumSegments;
return *
this;}
5850 {mElementsPerSegment = inNumElements;
return *
this;}
5867 {mInitialSrcOffset = inOffset;
return *
this;}
5875 {mSrcElementsPerRow = inPitch;
return *
this;}
5883 { mFlags &= (0xFFFFFFFF -
BIT(8));
5896 {
return setDestOffset(inOffset).
setDestPitch(inPitch);}
5927 if (inBytesPerElement && inBytesPerElement < 9)
5928 if (!(inBytesPerElement & (inBytesPerElement - 1)))
5930 ULWord num(inBytesPerElement), lengthBits(0);
5933 mFlags = (mFlags & ~3UL) | (lengthBits & 3UL);
5947 ULWord mElementsPerSegment;
5948 ULWord mInitialSrcOffset;
5949 ULWord mInitialDstOffset;
5950 ULWord mSrcElementsPerRow;
5951 ULWord mDstElementsPerRow;
5953 #endif // !defined (NTV2_BUILDING_DRIVER)
5999 #if defined (AJAMac)
6008 #if !defined (NTV2_BUILDING_DRIVER)
6019 explicit NTV2Buffer (
const void * pInUserPointer,
const size_t inByteCount);
6051 if (
sizeof(
int*) == 4)
6052 return reinterpret_cast <void*
>((fUserSpacePtr & 0xFFFFFFFF00000000) >> 32);
6054 return reinterpret_cast <void*
>(fUserSpacePtr);
6088 inline bool IsNULL (
void)
const {
return GetHostPointer() ==
AJA_NULL || GetByteCount() == 0;}
6093 inline operator bool()
const {
return !IsNULL();}
6098 inline operator size_t()
const {
return size_t(GetByteCount());}
6107 void * GetHostAddress (
const ULWord inByteOffset,
const bool inFromEnd =
false)
const;
6118 template<
typename T>
bool Find (
const T & inValue,
int & inOutIndex)
const
6120 const bool isAscending(inOutIndex >= 0);
6121 const int maxNdx(
int(GetByteCount()) /
sizeof(T));
6122 if (isAscending && inOutIndex >= maxNdx)
6124 if (!isAscending && (1 - inOutIndex) >= maxNdx)
6126 const T * pValues(*
this);
6129 for (
int ndx(inOutIndex); ndx < maxNdx; ndx++)
6130 if (pValues[ndx] == inValue)
6131 {inOutIndex = ndx;
return true;}
6135 const int minNdx(0 - maxNdx);
6136 for (
int ndx(inOutIndex); ndx >= minNdx; ndx++)
6137 if (pValues[maxNdx + ndx] == inValue)
6138 {inOutIndex = ndx;
return true;}
6157 bool IsContentEqual (
const NTV2Buffer & inBuffer,
const ULWord inByteOffset = 0,
const ULWord inByteCount = 0xFFFFFFFF)
const;
6167 bool NextDifference (
const NTV2Buffer & inBuffer,
ULWord & byteOffset)
const;
6188 bool GetRingChangedByteRange (
const NTV2Buffer & inBuffer,
ULWord & outByteOffsetFirst,
ULWord & outByteOffsetLast)
const;
6205 bool Allocate (
const size_t inByteCount,
const bool inPageAligned =
false);
6211 bool Deallocate (
void);
6218 template<
typename T>
bool Fill (
const T & inValue)
6220 T * pT (
reinterpret_cast<T*
>(GetHostPointer()));
6221 const size_t loopCount(GetByteCount() /
sizeof(T));
6223 for (
size_t n(0); n < loopCount; n++)
6225 return pT ?
true :
false;
6237 if (!inXferInfo.isValid())
6240 NTV2Buffer segData(inXferInfo.getElementLength() * inXferInfo.getSegmentCount() * inXferInfo.getSegmentLength());
6241 if (!segData.
Fill(inValue))
6246 ULWord dstOffset (inXferInfo.getDestOffset() * inXferInfo.getElementLength());
6247 const ULWord dstPitch (inXferInfo.getDestPitch() * inXferInfo.getElementLength());
6248 const ULWord bytesPerSeg (inXferInfo.getSegmentLength() * inXferInfo.getElementLength());
6249 for (
ULWord segNdx(0); segNdx < inXferInfo.getSegmentCount(); segNdx++)
6252 void * pDst (GetHostAddress(dstOffset));
6253 if (!pSrc)
return false;
6254 if (!pDst)
return false;
6255 if (dstOffset + bytesPerSeg > GetByteCount())
6257 ::memcpy (pDst, pSrc, bytesPerSeg);
6258 srcOffset += bytesPerSeg;
6259 dstOffset += dstPitch;
6270 bool Truncate (
const size_t inByteCount);
6288 bool Set (
const void * pInUserPointer,
const size_t inByteCount);
6301 bool SetAndFill (
const void * pInUserPointer,
const size_t inByteCount,
const UByte inValue);
6321 bool SetFromHexString (
const std::string & inStr);
6329 bool CopyFrom (
const void * pInSrcBuffer,
const ULWord inByteCount);
6368 bool ByteSwap64 (
void);
6375 bool ByteSwap32 (
void);
6382 bool ByteSwap16 (
void);
6394 std::ostream & Print (std::ostream & inOutStream)
const;
6400 std::string AsString (
UWord inDumpMaxBytes = 0)
const;
6410 bool toHexString (std::string & outStr,
const size_t inLineBreakInterval = 0)
const;
6432 std::ostream & Dump ( std::ostream & inOutputStream = std::cout,
6433 const size_t inStartByteOffset = 0,
6434 const size_t inByteCount = 0,
6435 const size_t inRadix = 16,
6436 const size_t inBytesPerGroup = 4,
6437 const size_t inGroupsPerLine = 8,
6438 const size_t inAddressRadix = 0,
6439 const bool inShowAscii =
false,
6440 const size_t inAddrOffset = 0)
const;
6463 std::string & Dump ( std::string & inOutputString,
6464 const size_t inStartByteOffset = 0,
6465 const size_t inByteCount = 0,
6466 const size_t inRadix = 16,
6467 const size_t inBytesPerGroup = 4,
6468 const size_t inGroupsPerLine = 8,
6469 const size_t inAddressRadix = 0,
6470 const bool inShowAscii =
false,
6471 const size_t inAddrOffset = 0)
const;
6481 template<
typename T>
operator const T*()
const {
return reinterpret_cast<const T*
>(GetHostPointer());}
6486 template<
typename T>
operator T*()
const {
return reinterpret_cast<T*
>(GetHostPointer());}
6506 inline uint8_t
U8 (
const int inIndex)
const {
const uint8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6514 inline uint8_t &
U8 (
const int inIndex) {uint8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6516 inline int8_t
I8 (
const int inIndex)
const {
const int8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6517 inline int8_t &
I8 (
const int inIndex) {int8_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()) + inIndex : inIndex];}
6518 inline uint16_t
U16 (
const int inIndex)
const {
const uint16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6519 inline uint16_t &
U16 (
const int inIndex) {uint16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6520 inline int16_t
I16 (
const int inIndex)
const {
const int16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6521 inline int16_t &
I16 (
const int inIndex) {int16_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/2) + inIndex : inIndex];}
6522 inline uint32_t
U32 (
const int inIndex)
const {
const uint32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6523 inline uint32_t &
U32 (
const int inIndex) {uint32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6524 inline int32_t
I32 (
const int inIndex)
const {
const int32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6525 inline int32_t &
I32 (
const int inIndex) {int32_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/4) + inIndex : inIndex];}
6526 inline uint64_t
U64 (
const int inIndex)
const {
const uint64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6527 inline uint64_t &
U64 (
const int inIndex) {uint64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6528 inline int64_t
I64 (
const int inIndex)
const {
const int64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6529 inline int64_t &
I64 (
const int inIndex) {int64_t* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/8) + inIndex : inIndex];}
6530 inline float FL (
const int inIndex)
const {
const float* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
float)) + inIndex : inIndex];}
6531 inline float &
FL (
const int inIndex) {
float* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
float)) + inIndex : inIndex];}
6532 inline double DBL (
const int inIndex)
const {
const double* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
double)) + inIndex : inIndex];}
6533 inline double &
DBL (
const int inIndex) {
double* pVal(*
this);
return pVal[inIndex < 0 ? int(GetByteCount()/
sizeof(
double)) + inIndex : inIndex];}
6554 bool GetU64s (
ULWord64Sequence & outU64s,
const size_t inU64Offset = 0,
const size_t inMaxSize = 16,
const bool inByteSwap =
false)
const;
6584 bool GetU32s (
ULWordSequence & outU32s,
const size_t inU32Offset = 0,
const size_t inMaxSize = 32,
const bool inByteSwap =
false)
const;
6614 bool GetU16s (
UWordSequence & outU16s,
const size_t inU16Offset = 0,
const size_t inMaxSize = 64,
const bool inByteSwap =
false)
const;
6628 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;}
6640 bool GetU8s (
UByteSequence & outU8s,
const size_t inU8Offset = 0,
const size_t inMaxSize = 128)
const;
6670 bool GetString (std::string & outString,
const size_t inU8Offset = 0,
const size_t inMaxSize = 128)
const;
6681 inline std::string
GetString (
const size_t inU8Offset = 0,
const size_t inMaxSize = 128)
const {std::string result;
GetString(result, inU8Offset, inMaxSize);
return result;}
6692 bool PutU64s (
const ULWord64Sequence & inU64s,
const size_t inU64Offset = 0,
const bool inByteSwap =
false);
6703 bool PutU32s (
const ULWordSequence & inU32s,
const size_t inU32Offset = 0,
const bool inByteSwap =
false);
6714 bool PutU16s (
const UWordSequence & inU16s,
const size_t inU16Offset = 0,
const bool inByteSwap =
false);
6723 bool PutU8s (
const UByteSequence & inU8s,
const size_t inU8Offset = 0);
6733 static size_t DefaultPageSize (
void);
6740 static bool SetDefaultPageSize (
const size_t inNewSize);
6745 static size_t HostPageSize (
void);
6749 #endif // user-space clients only
6752 #if !defined(NTV2_DEPRECATE_17_0)
6754 #endif // !defined(NTV2_DEPRECATE_17_0
6765 #if defined (NTV2_BUILDING_DRIVER)
6766 #define NTV2_RP188_from_RP188_STRUCT(_n_,_r_) { (_n_).fDBB = (_r_).DBB; \
6767 (_n_).fLo = (_r_).Low; \
6768 (_n_).fHi = (_r_).High; }
6770 #define NTV2_RP188P_from_RP188_STRUCT(_np_,_r_) { (_np_)->fDBB = (_r_).DBB; \
6771 (_np_)->fLo = (_r_).Low; \
6772 (_np_)->fHi = (_r_).High; }
6774 #define RP188_STRUCT_from_NTV2_RP188(_r_,_n_) { (_r_).DBB = (_n_).fDBB; \
6775 (_r_).Low = (_n_).fLo; \
6776 (_r_).High = (_n_).fHi; }
6778 #define RP188_STRUCT_from_NTV2_RP188P(_r_,_np_) { (_r_).DBB = (_np_)->fDBB; \
6779 (_r_).Low = (_np_)->fLo; \
6780 (_r_).High = (_np_)->fHi; }
6782 #define NTV2_RP188_IS_VALID(_n_) ((_n_).fDBB != 0xFFFFFFFF || (_n_).fLo != 0xFFFFFFFF || (_n_).fHi != 0xFFFFFFFF)
6791 inline explicit NTV2_RP188 (
const ULWord inDBB = 0xFFFFFFFF,
const ULWord inLow = 0xFFFFFFFF,
const ULWord inHigh = 0xFFFFFFFF) : fDBB (inDBB), fLo (inLow), fHi (inHigh) {}
6797 inline explicit NTV2_RP188 (
const RP188_STRUCT & inOldRP188) : fDBB (inOldRP188.DBB), fLo (inOldRP188.Low), fHi (inOldRP188.High) {}
6802 inline bool IsValid (
void)
const {
return fDBB != 0xFFFFFFFF || fLo != 0xFFFFFFFF || fHi != 0xFFFFFFFF;}
6823 inline void Set (
const ULWord inDBB = 0xFFFFFFFF,
const ULWord inLow = 0xFFFFFFFF,
const ULWord inHigh = 0xFFFFFFFF) {fDBB = inDBB; fLo = inLow; fHi = inHigh;}
6834 inline operator bool ()
const {
return IsValid();}
6837 #endif // user-space clients only
6840 #if !defined (NTV2_BUILDING_DRIVER)
6859 #endif // !defined (NTV2_BUILDING_DRIVER)
6875 bool mFrameTRSError;
6881 #if !defined (NTV2_BUILDING_DRIVER)
6897 std::ostream & Print (std::ostream & inOutStream)
const;
6898 #endif // !defined (NTV2_BUILDING_DRIVER)
6919 #if !defined (NTV2_BUILDING_DRIVER)
6938 bool SetFromRegValue (
const ULWord inData);
6945 std::ostream & Print (std::ostream & inOutStream)
const;
6946 #endif // !defined (NTV2_BUILDING_DRIVER)
6966 #if !defined (NTV2_BUILDING_DRIVER)
6974 inline ULWord GetSizeInBytes (
void)
const {
return fSizeInBytes;}
6988 std::ostream & Print (std::ostream & inOutStream)
const;
6995 static std::string FourCCToString (
const ULWord in4CC);
6998 #endif // user-space clients only
7010 #if !defined (NTV2_BUILDING_DRIVER)
7019 #endif // user-space clients only
7048 ULWord acNumActiveBytesPerRow;
7051 ULWord acSegmentDevicePitch;
7055 #if !defined (NTV2_BUILDING_DRIVER)
7078 void Set (
const ULWord inNumSegments,
const ULWord inNumActiveBytesPerRow,
const ULWord inHostBytesPerRow,
const ULWord inDeviceBytesPerRow);
7096 #endif // user-space clients only
7115 #if !defined (NTV2_BUILDING_DRIVER)
7152 #endif // user-space clients only
7178 #if !defined (NTV2_BUILDING_DRIVER)
7251 inline uint16_t
GetEndFrame (
void)
const {
return uint16_t(acEndFrame);}
7367 std::string operator [] (
const unsigned inIndexNum)
const;
7376 #endif // user-space clients only
7380 #if !defined (NTV2_BUILDING_DRIVER)
7403 #endif // !defined (NTV2_BUILDING_DRIVER)
7422 #if !defined (NTV2_BUILDING_DRIVER)
7454 bool GetGoodRegisters (
NTV2RegNumSet & outGoodRegNums)
const;
7477 bool GetRequestedRegisterNumbers (
NTV2RegNumSet & outRegNums)
const;
7492 bool PatchRegister (
const ULWord inRegNum,
const ULWord inValue);
7499 std::ostream & Print (std::ostream & inOutStream)
const;
7515 #endif // !defined (NTV2_BUILDING_DRIVER)
7532 #if !defined (NTV2_BUILDING_DRIVER)
7552 bool GetFailedRegisterWrites (
NTV2RegWrites & outFailedRegWrites)
const;
7560 bool GetRequestedRegisterWrites (
NTV2RegWrites & outRegWrites)
const;
7568 std::ostream & Print (std::ostream & inOutStream)
const;
7574 inline explicit NTV2SetRegisters (
const NTV2SetRegisters & inObj) : mHeader(0xFEFEFEFE, 0), mInNumRegisters(0), mInRegInfos(0), mOutNumFailures(0), mOutBadRegIndexes(0)
7579 #endif // !defined (NTV2_BUILDING_DRIVER)
7594 #if !defined (NTV2_BUILDING_DRIVER)
7614 std::ostream & Print (std::ostream & inOutStream)
const;
7629 #endif // !defined (NTV2_BUILDING_DRIVER)
7644 #if !defined (NTV2_BUILDING_DRIVER)
7652 explicit NTV2VirtualData (
const ULWord inTag,
const void* inVirtualData,
const size_t inVirtualDataSize,
const bool inDoWrite =
false);
7659 std::ostream & Print (std::ostream & inOutStream)
const;
7669 #endif // !defined (NTV2_BUILDING_DRIVER)
7685 #if !defined (NTV2_BUILDING_DRIVER)
7715 std::ostream & Print (std::ostream & inOutStream)
const;
7719 #endif // !defined (NTV2_BUILDING_DRIVER)
7776 #if !defined (NTV2_BUILDING_DRIVER)
7822 bool GetInputTimeCodes (
NTV2TimeCodes & outTimeCodes,
const NTV2Channel inSDIInput,
const bool inValidOnly =
true)
const;
7861 std::string operator [] (
const unsigned inIndexNum)
const;
7871 #endif // !defined (NTV2_BUILDING_DRIVER)
7894 #if !defined (NTV2_BUILDING_DRIVER)
7960 #endif // !defined (NTV2_BUILDING_DRIVER)
8050 ULWord acPeerToPeerFlags;
8059 #if !defined (NTV2_BUILDING_DRIVER)
8101 : acHeader(0xFEFEFEFE, 0), acVideoBuffer(0), acAudioBuffer(0),
8102 acANCBuffer(0), acANCField2Buffer(0), acOutputTimeCodes(0), acHDMIAuxData(0)
8137 bool SetBuffers (
ULWord * pInVideoBuffer,
const ULWord inVideoByteCount,
8138 ULWord * pInAudioBuffer,
const ULWord inAudioByteCount,
8153 bool SetVideoBuffer (
ULWord * pInVideoBuffer,
const ULWord inVideoByteCount);
8165 bool SetAudioBuffer (
ULWord * pInAudioBuffer,
const ULWord inAudioByteCount);
8188 bool SetAncBuffers (
ULWord * pInANCBuffer,
const ULWord inANCByteCount,
8204 inline const NTV2Buffer &
GetAncBuffer (
const bool inField2 =
false)
const {
return inField2 ? acANCField2Buffer : acANCBuffer;}
8242 bool SetAllOutputTimeCodes (
const NTV2_RP188 & inTimecode,
const bool inIncludeF2 =
true);
8377 bool EnableSegmentedDMAs (
const ULWord inNumSegments,
const ULWord inNumActiveBytesPerLine,
8378 const ULWord inHostBytesPerLine,
const ULWord inDeviceBytesPerLine);
8383 bool DisableSegmentedDMAs (
void);
8388 bool SegmentedDMAsEnabled (
void)
const;
8398 #endif // user-space clients only
8415 #if !defined (NTV2_BUILDING_DRIVER)
8427 std::ostream & Print (std::ostream & inOutStream)
const;
8431 #endif // !defined (NTV2_BUILDING_DRIVER)
8451 #if !defined (NTV2_BUILDING_DRIVER)
8491 bool SetBuffer (
const NTV2Buffer & inBuffer);
8501 return SetBuffer(
NTV2Buffer(pInBuffer, inByteCount));
8533 std::ostream & Print (std::ostream & inOutStream)
const;
8537 #endif // !defined (NTV2_BUILDING_DRIVER)
8555 #if !defined (NTV2_BUILDING_DRIVER)
8588 bool SetBuffer (
const NTV2Buffer & inBuffer);
8615 std::ostream & Print (std::ostream & inOutStream)
const;
8625 #endif // !defined (NTV2_BUILDING_DRIVER)
8630 #define NTV2_STREAM_CHANNEL_INITIALIZE BIT(0)
8631 #define NTV2_STREAM_CHANNEL_RELEASE BIT(1)
8632 #define NTV2_STREAM_CHANNEL_START BIT(2)
8633 #define NTV2_STREAM_CHANNEL_STOP BIT(3)
8634 #define NTV2_STREAM_CHANNEL_FLUSH BIT(4)
8635 #define NTV2_STREAM_CHANNEL_STATUS BIT(5)
8636 #define NTV2_STREAM_CHANNEL_WAIT BIT(6)
8639 #define NTV2_STREAM_CHANNEL_STATE_DISABLED BIT(0)
8640 #define NTV2_STREAM_CHANNEL_STATE_INITIALIZED BIT(1)
8641 #define NTV2_STREAM_CHANNEL_STATE_RELEASED BIT(2)
8642 #define NTV2_STREAM_CHANNEL_STATE_IDLE BIT(3)
8643 #define NTV2_STREAM_CHANNEL_STATE_ACTIVE BIT(4)
8644 #define NTV2_STREAM_CHANNEL_STATE_ERROR BIT(5)
8647 #define NTV2_STREAM_BUFFER_QUEUE BIT(1)
8648 #define NTV2_STREAM_BUFFER_RELEASE BIT(2)
8649 #define NTV2_STREAM_BUFFER_STATUS BIT(3)
8652 #define NTV2_STREAM_BUFFER_STATE_QUEUED BIT(0)
8653 #define NTV2_STREAM_BUFFER_STATE_LINKED BIT(1)
8654 #define NTV2_STREAM_BUFFER_STATE_COMPLETED BIT(2)
8655 #define NTV2_STREAM_BUFFER_STATE_FLUSHED BIT(3)
8656 #define NTV2_STREAM_BUFFER_STATE_RELEASED BIT(4)
8657 #define NTV2_STREAM_BUFFER_STATE_ERROR BIT(5)
8660 #define NTV2_STREAM_STATUS_SUCCESS BIT(0)
8661 #define NTV2_STREAM_STATUS_FAIL BIT(1)
8662 #define NTV2_STREAM_STATUS_STATE BIT(2)
8663 #define NTV2_STREAM_STATUS_MESSAGE BIT(3)
8664 #define NTV2_STREAM_STATUS_INVALID BIT(4)
8665 #define NTV2_STREAM_STATUS_TIMEOUT BIT(5)
8666 #define NTV2_STREAM_STATUS_RESOURCE BIT(6)
8667 #define NTV2_STREAM_STATUS_OWNER BIT(7)
8686 #if !defined (NTV2_BUILDING_DRIVER)
8721 std::ostream & Print (std::ostream & inOutStream)
const;
8725 #endif // !defined (NTV2_BUILDING_DRIVER)
8748 #if !defined (NTV2_BUILDING_DRIVER)
8759 std::ostream & Print (std::ostream & inOutStream)
const;
8763 #endif // !defined (NTV2_BUILDING_DRIVER)
8768 #if !defined (NTV2_BUILDING_DRIVER)
9231 #endif // !defined (NTV2_BUILDING_DRIVER)
9233 #if defined (AJAMac)
9235 #endif // defined (AJAMac)
9240 #define HEVC_STREAM_MAX 4
9243 #define HEVC_GPIO_MAX 64
9246 #define HEVC_VERSION_STRING_SIZE 64
9249 #define HEVC_ADDITIONAL_DATA_SIZE ((4 + 4 + 256) * 16)
9252 #define HEVC_STATE_FLAG_VIDEO_STARTED 0x00000001U // codec video input capture started
9255 #define HEVC_TRANSFER_FLAG_IS_LAST_FRAME 0x00000001U // last stream frame
9258 #define HEVC_STATUS_SUCCESS 0x00000001U
9261 #define HEVC_FATAL_ERROR_INFO_REG 0x08000100U // codec error register base
9262 #define HEVC_FATAL_ERROR_INFO_COUNT 64 // number of codec error registers
9265 #define HEVC_DEBUG_DRIVER_REGISTER 0x080000FCU // register address of debug bits
9266 #define HEVC_DEBUG_MASK_INFO 0x00000001 // general probe and cleanup
9267 #define HEVC_DEBUG_MASK_WARNING 0x00000002 // general warinings
9268 #define HEVC_DEBUG_MASK_ERROR 0x00000004 // general erros
9269 #define HEVC_DEBUG_MASK_INT_PRIMARY 0x00000008 // primary interrupt info
9270 #define HEVC_DEBUG_MASK_INT_COMMAND 0x00000010 // command tasklet info
9271 #define HEVC_DEBUG_MASK_INT_VEI 0x00000020 // raw stream tasklet info
9272 #define HEVC_DEBUG_MASK_INT_SEO 0x00000040 // encoded stream tasklet info
9273 #define HEVC_DEBUG_MASK_INT_ERROR 0x00000080 // interrupt errors
9274 #define HEVC_DEBUG_MASK_REGISTER_INFO 0x00000100 // register read/write info
9275 #define HEVC_DEBUG_MASK_REGISTER_STATE 0x00000200 // detailed register access info
9276 #define HEVC_DEBUG_MASK_REGISTER_ERROR 0x00000400 // register access errors
9277 #define HEVC_DEBUG_MASK_COMMAND_INFO 0x00000800 // command queue info
9278 #define HEVC_DEBUG_MASK_COMMAND_STATE 0x00001000 // detailed command processing info
9279 #define HEVC_DEBUG_MASK_COMMAND_ERROR 0x00002000 // command queue errors
9280 #define HEVC_DEBUG_MASK_STREAM_INFO 0x00004000 // stream (dma) queue info
9281 #define HEVC_DEBUG_MASK_STREAM_STATE 0x00008000 // detailed stream processing info
9282 #define HEVC_DEBUG_MASK_STREAM_COPY 0x00010000 // stream data copy info
9283 #define HEVC_DEBUG_MASK_STREAM_SEGMENT 0x00020000 // stream data segment info
9284 #define HEVC_DEBUG_MASK_STREAM_FRAME 0x00040000 // stream vif frame info
9285 #define HEVC_DEBUG_MASK_STREAM_ERROR 0x00080000 // stream queue errors
9286 #define HEVC_DEBUG_MASK_MEMORY_ALLOC 0x00100000 // buffer memory allocation info
9287 #define HEVC_DEBUG_MASK_MEMORY_ERROR 0x00200000 // buffer memory allocation errors
9288 #define HEVC_DEBUG_MASK_DMA_INFO 0x00400000 // dma send info
9289 #define HEVC_DEBUG_MASK_DMA_DESCRIPTOR 0x00800000 // dma descriptor dump
9290 #define HEVC_DEBUG_MASK_DMA_ERROR 0x01000000 // dma errors
9291 #define HEVC_DEBUG_MASK_STATUS_INFO 0x02000000 // status info requests
9292 #define HEVC_DEBUG_MASK_RESERVED_0 0x04000000
9293 #define HEVC_DEBUG_MASK_RESERVED_1 0x08000000
9294 #define HEVC_DEBUG_MASK_RESERVED_2 0x10000000
9295 #define HEVC_DEBUG_MASK_RESERVED_3 0x20000000
9296 #define HEVC_DEBUG_MASK_RESERVED_4 0x40000000
9297 #define HEVC_DEBUG_MASK_RESERVED_5 0x80000000
9300 #define HEVC_NTV2_GPIO_REGISTER_LOW 510
9301 #define HEVC_NTV2_GPIO_REGISTER_HIGH 511
9467 #define Hevc_ParamTarget_None 0x00000000
9468 #define Hevc_ParamTarget_Vbr 0x00000001 // change variable bitrate
9469 #define Hevc_ParamTarget_Cbr 0x00000002 // change constant bitrate
9470 #define Hevc_ParamTarget_Resolution 0x00000004 // change size, crop, pan, etc.
9471 #define Hevc_ParamTarget_Frame_Rate 0x00000008 // change frame rate
9472 #define Hevc_ParamTarget_All 0x0000000f
9876 #define NTV2_IS_VALID_HDR_PRIMARY(__val__) ((__val__) <= 0x0000C350)
9877 #define NTV2_IS_VALID_HDR_MASTERING_LUMINENCE(__val__) (true)
9878 #define NTV2_IS_VALID_HDR_LIGHT_LEVEL(__val__) (true)
9880 #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
ULWord GetCapturedAuxByteCount(const bool inField2=false) const
@ 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
@ kRegShiftCanDoHancInsertion
@ 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
@ kMaskDesktopDisplayReady
@ 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
std::vector< double > NTV2DoubleArray
An array of double-precision floating-point values.
@ 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
@ 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
bool HasError(void)
Has the stream encountered an error.
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
@ kRegMaskSDIIn86GbpsMode
@ kRegEnhancedCSC3InOffset0_1
@ kK2RegShiftConverterInStandard
NTV2TimeCodeList::const_iterator NTV2TimeCodeListConstIter
A handy const interator for iterating over an NTV2TimeCodeList.
@ kRegMaskAudioMixerAux1Channel2Level
@ kRegMaskXlnxAddressAlignment
@ kRegEnhancedCSC6CoeffA0
@ kRegHDMIV2HorizontalMeasurements
@ kRegMaskAud8PlayCapMode
std::set< NTV2AudioChannelPair > NTV2AudioChannelPairs
A set of distinct NTV2AudioChannelPair values.
@ kRegOutputTimingControlch7
@ kMaskSecondaryFormatSelect
@ 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 widget_framestore. They're also commonly use...
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.
@ 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
const NTV2AudioChannelsMuted16 NTV2AudioChannelsEnableAll
All 16 audio channels unmuted/enabled.
@ 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
const NTV2AudioChannelsMuted16 NTV2AudioChannelsMuteAll
All 16 audio channels muted/disabled.
@ 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
@ 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
bool operator==(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
@ kRegMaskCC4OutputBankSelect
@ kRegAudioMixerAux2GainCh1
@ kK2RegMaskMixer4FGVidInputSelect
@ kRegXlnxIrqChannelInterruptEnableW1S
struct HevcDeviceStatus HevcDeviceStatus
@ kK2RegMaskMixer2BGVidInputSelect
@ kK2RegShiftMixer3BGVidInputSelect
std::bitset< 16 > NTV2AudioChannelsMuted16
Per-audio-channel mute state for up to 16 audio channels.
@ 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
UByte NTV2DID
An ancillary Data IDentifier.
@ kRegXlnxChannelPerfControl
NTV2AudioChannelQuads::const_iterator NTV2AudioChannelQuadsConstIter
Handy const iterator to iterate over a set of distinct NTV2AudioChannelQuad values.
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
@ kRegMaskCanDoHancInsertion
bool IsIdle(void)
Is the stream idle.
@ 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
std::set< NTV2AudioChannelQuad > NTV2AudioChannelQuads
A set of distinct NTV2AudioChannelQuad values.
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
#define NTV2_STREAM_CHANNEL_STATE_ERROR
Used in NTV2StreamChannel stream error.
@ 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
@ 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
#define NTV2_STREAM_CHANNEL_STATE_ACTIVE
Used in NTV2StreamChannel stream active.
@ 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 widget_framestore, or the direction of an AutoCirculate stream: either...
@ 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
@ 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
NTV2AudioChannelOctets::const_iterator NTV2AudioChannelOctetsConstIter
Handy const iterator to iterate over a set of distinct NTV2AudioChannelOctet values.
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
@ kMaskAnalogInBlackLevel
@ kRegEnhancedCSC2OutOffsetA_B
@ kRegShiftFrameSizeSetBySW
int16_t I16(const int inIndex) const
@ kK2RegMaskFrameBuffer5BInputSelect
@ kK2RegShiftMixerFGVidInputSelect
@ kRegMaskPCMControlA7P11_12
@ Hevc_FirmwareType_Unknown
@ kK2RegShiftDuallinkIn7InputSelect
@ kRegAverageAudioLevelChan3_4
@ kRegMaskPCMControlA4P15_16
union AutoCircGenericTask::@33 u
@ 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
NTV2DIDSet::iterator NTV2DIDSetIter
Handy non-const iterator to iterate over an NTV2DIDSet.
@ 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
const ULWord LUTTablePartitionSize
@ kRegEnhancedCSC5CoeffA2
@ Hevc_MessageId_Transfer
@ kRegEnhancedCSC4CoeffA2
@ kK2RegShiftCSC7VidInputSelect
@ kRegAudioMixerMainInputLevelsPair2
bool IsActive(void)
Is the stream active.
@ 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
NTV2DIDSet::const_iterator NTV2DIDSetConstIter
Handy const iterator to iterate over an NTV2DIDSet.
@ 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
bool operator!=(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
@ 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
@ 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::ostream & operator<<(std::ostream &inOutStr, const NTV2AudioChannelPairs &inSet)
Handy ostream writer for NTV2AudioChannelPairs.
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
NTV2AudioChannelPairs::const_iterator NTV2AudioChannelPairsConstIter
Handy const iterator to iterate over a set of distinct NTV2AudioChannelPair values.
@ 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
@ kMaskPrimaryFormatSelect
@ 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.
#define NTV2_STREAM_CHANNEL_STATE_IDLE
Used in NTV2StreamChannel stream idle.
@ kK2RegMaskDuallinkIn5InputSelect
@ kRegMaskEmbeddedAudioInput2
ULWord videoFullRangeFlag
@ kK2RegMaskEnhancedCSCInputPixelFormat
ULWord frame
The frame requested or -1 if not available.
@ kRegLTCEmbeddedBits0_31
@ kRegShiftPCMControlA7P7_8
@ kFS1RegMaskProcAmpInputSelect
struct HDRRegValues HDRRegValues
std::set< UByte > NTV2DIDSet
A set of distinct NTV2DID values.
@ 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
NTV2DoubleArray::const_iterator NTV2DoubleArrayConstIter
Handy const iterator to iterate over an NTV2DoubleArray.
@ 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
std::set< NTV2AudioChannelOctet > NTV2AudioChannelOctets
A set of distinct NTV2AudioChannelOctet values.
@ 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
@ 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
@ 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
@ 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
std::set< NTV2TCIndex > NTV2TCIndexSet
A set of distinct NTV2TCIndex values.
@ 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
NTV2TCIndexes::const_iterator NTV2TCIndexSetConstIter
A handy const interator for iterating over an NTV2TCIndexes set.
@ 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
NTV2DoubleArray::iterator NTV2DoubleArrayIter
Handy non-const iterator to iterate over an NTV2DoubleArray.
@ kRegShiftVPIDPictureRate
@ kRegMaskSDIIn83GbpsSMPTELevelBMode
@ kFS1RegShiftAudioChannelMapping_Phase
@ kRegShiftHDMIInAudioRate
@ kRegShiftFrameOrientation