13 #define NTV2DEBUG_ENUM_CASE_RETURN_STR(enum_name) case(enum_name): return #enum_name; 206 #if !defined (_DEBUG) 251 #if !defined (_DEBUG) 284 #if !defined (_DEBUG) 310 #if !defined(NTV2_DEPRECATE_16_0) 316 NTV2DEBUG_ENUM_CASE_RETURN_STR(NTV2_FRAMERATE_INVALID) 319 #if !defined (_DEBUG) 497 #if !defined (_DEBUG) 510 "SDI 1 RX CRC Error Count",
511 "SDI 1 RX Frame Count Low",
512 "SDI 1 RX Frame Count High",
513 "SDI 1 RX Frame Ref Count Low",
514 "SDI 1 RX Frame Ref Count High",
515 "Unused SDI Register 2054",
516 "Unused SDI Register 2055",
518 "SDI 2 RX CRC Error Count",
519 "SDI 2 RX Frame Count Low",
520 "SDI 2 RX Frame Count High",
521 "SDI 2 RX Frame Ref Count Low",
522 "SDI 2 RX Frame Ref Count High",
523 "Unused SDI Register 2062",
524 "Unused SDI Register 2063",
526 "SDI 3 RX CRC Error Count",
527 "SDI 3 RX Frame Count Low",
528 "SDI 3 RX Frame Count High",
529 "SDI 3 RX Frame Ref Count Low",
530 "SDI 3 RX Frame Ref Count High",
531 "Unused SDI Register 2070",
532 "Unused SDI Register 2071",
534 "SDI 4 RX CRC Error Count",
535 "SDI 4 RX Frame Count Low",
536 "SDI 4 RX Frame Count High",
537 "SDI 4 RX Frame Ref Count Low",
538 "SDI 4 RX Frame Ref Count High",
539 "Unused SDI Register 2078",
540 "Unused SDI Register 2079",
542 "SDI 5 RX CRC Error Count",
543 "SDI 5 RX Frame Count Low",
544 "SDI 5 RX Frame Count High",
545 "SDI 5 RX Frame Ref Count Low",
546 "SDI 5 RX Frame Ref Count High",
547 "Unused SDI Register 2086",
548 "Unused SDI Register 2087",
550 "SDI 6 RX CRC Error Count",
551 "SDI 6 RX Frame Count Low",
552 "SDI 6 RX Frame Count High",
553 "SDI 6 RX Frame Ref Count Low",
554 "SDI 6 RX Frame Ref Count High",
555 "Unused SDI Register 2094",
556 "Unused SDI Register 2095",
558 "SDI 7 RX CRC Error Count",
559 "SDI 7 RX Frame Count Low",
560 "SDI 7 RX Frame Count High",
561 "SDI 7 RX Frame Ref Count Low",
562 "SDI 7 RX Frame Ref Count High",
563 "Unused SDI Register 2102",
564 "Unused SDI Register 2103",
566 "SDI 8 RX CRC Error Count",
567 "SDI 8 RX Frame Count Low",
568 "SDI 8 RX Frame Count High",
569 "SDI 8 RX Frame Ref Count Low",
570 "SDI 8 RX Frame Ref Count High",
571 "Unused SDI Register 2110",
572 "Unused SDI Register 2111",
573 "Free Running Clock Low",
574 "Free Running Clock High" 583 "kRegCh1PCIAccessFrame",
584 "kRegCh1OutputFrame",
587 "kRegCh2PCIAccessFrame",
588 "kRegCh2OutputFrame",
590 "kRegVidProc1Control",
591 "kRegVidProcXptControl",
592 "kRegMixer1Coefficient",
594 "kRegFlatMatteValue",
595 "kRegOutputTimingControl",
598 "kRegFlashProgramReg",
606 "kRegAud1SourceSelect",
607 "kRegAud1OutputLastAddr",
608 "kRegAud1InputLastAddr",
610 "kRegRP188InOut1DBB",
611 "kRegRP188InOut1Bits0_31",
612 "kRegRP188InOut1Bits32_63",
639 "kRegXenaxFlashControlStatus",
640 "kRegXenaxFlashAddress",
642 "kRegXenaxFlashDOUT",
645 "kRegRP188InOut2DBB",
646 "kRegRP188InOut2Bits0_31",
647 "kRegRP188InOut2Bits32_63",
649 "kRegCh1ColorCorrectionControl",
650 "kRegCh2ColorCorrectionControl",
663 "kRegAnalogInputStatus",
664 "kRegAnalogInputControl",
666 "kRegFS1ProcAmpC1Y_C1CB",
667 "kRegFS1ProcAmpC1CR_C2CB",
668 "kRegFS1ProcAmpC2CROffsetY",
674 "kRegFS1I2C1Address",
676 "kRegFS1I2C2Address",
678 "kRegFS1ReferenceSelect",
679 "kRegAverageAudioLevelChan1_2",
680 "kRegAverageAudioLevelChan3_4",
681 "kRegAverageAudioLevelChan5_6",
682 "kRegAverageAudioLevelChan7_8",
684 "kRegDMA1HostAddrHigh",
685 "kRegDMA1NextDescHigh",
686 "kRegDMA2HostAddrHigh",
687 "kRegDMA2NextDescHigh",
688 "kRegDMA3HostAddrHigh",
689 "kRegDMA3NextDescHigh",
690 "kRegDMA4HostAddrHigh",
691 "kRegDMA4NextDescHigh",
693 "kRegGlobalControl3",
695 "kRegLTCEmbeddedBits0_31",
696 "kRegLTCEmbeddedBits32_63",
697 "kRegLTCAnalogBits0_31",
698 "kRegLTCAnalogBits32_63",
703 "kRegSysmonConfig1_0",
705 "kRegSysmonVccIntDieTemp",
707 "kRegInternalExternalVoltage",
708 "kRegFlashProgramReg2",
709 "kRegHDMIOut3DStatus1",
710 "kRegHDMIOut3DStatus2",
711 "kRegHDMIOut3DControl",
712 "kRegHDMIOutControl",
713 "kRegHDMIInputStatus",
714 "kRegHDMIInputControl",
715 "kRegAnalogOutControl",
716 "kRegSDIOut1Control",
718 "kRegSDIOut2Control",
719 "kRegConversionControl",
720 "kRegFrameSync1Control",
722 "kRegFrameSync2Control",
723 "kRegI2CWriteControl",
724 "kRegXptSelectGroup1",
725 "kRegXptSelectGroup2",
726 "kRegXptSelectGroup3",
727 "kRegXptSelectGroup4",
728 "kRegXptSelectGroup5",
729 "kRegXptSelectGroup6",
731 "kRegCSCoefficients1_2",
732 "kRegCSCoefficients3_4",
733 "kRegCSCoefficients5_6",
734 "kRegCSCoefficients7_8",
735 "kRegCSCoefficients9_10",
737 "kRegCS2Coefficients1_2",
738 "kRegCS2Coefficients3_4",
739 "kRegCS2Coefficients5_6",
740 "kRegCS2Coefficients7_8",
741 "kRegCS2Coefficients9_10",
743 "kRegField1Line21CaptionDecode",
744 "kRegField2Line21CaptionDecode",
745 "kRegField1Line21CaptionEncode",
746 "kRegField2Line21CaptionEncode",
747 "kRegVANCGrabberSetup",
748 "kRegVANCGrabberStatus1",
749 "kRegVANCGrabberStatus2",
750 "kRegVANCGrabberDataBuffer",
751 "kRegVANCInserterSetup1",
752 "kRegVANCInserterSetup2",
753 "kRegVANCInserterDataBuffer",
755 "kRegXptSelectGroup7",
756 "kRegXptSelectGroup8",
757 "kRegCh1ControlExtended",
758 "kRegCh2ControlExtended",
759 "kRegAFDVANCGrabber",
760 "kRegFS1DownConverter2Control",
761 "kRegSDIOut3Control",
762 "kRegSDIOut4Control",
763 "kRegAFDVANCInserterSDI1",
764 "kRegAFDVANCInserterSDI2",
765 "kRegAudioChannelMappingCh1",
766 "kRegXptSelectGroup36",
767 "kRegAudioChannelMappingCh3",
768 "kRegAudioChannelMappingCh4",
769 "kRegAudioChannelMappingCh5",
770 "kRegAudioChannelMappingCh6",
771 "kRegAudioChannelMappingCh7",
772 "kRegAudioChannelMappingCh8",
783 "kRegAudioOutputSourceMap",
784 "kRegXptSelectGroup11",
785 "kRegStereoCompressor",
786 "kRegXptSelectGroup12",
787 "kRegFrameApertureOffset",
788 "kRegFirmwareUserID",
795 "kRegRP188InOut1Bits0_31_2",
796 "kRegRP188InOut1Bits32_63_2",
797 "kRegRP188InOut2Bits0_31_2",
798 "kRegRP188InOut2Bits32_63_2",
799 "kRegRP188InOut3Bits0_31_2",
800 "kRegRP188InOut3Bits32_63_2",
801 "kRegRP188InOut4Bits0_31_2",
802 "kRegRP188InOut4Bits32_63_2",
803 "kRegRP188InOut5Bits0_31_2",
804 "kRegRP188InOut5Bits32_63_2",
805 "kRegRP188InOut6Bits0_31_2",
806 "kRegRP188InOut6Bits32_63_2",
807 "kRegRP188InOut7Bits0_31_2",
808 "kRegRP188InOut7Bits32_63_2",
809 "kRegRP188InOut8Bits0_31_2",
810 "kRegRP188InOut8Bits32_63_2",
825 "kRegSDIInput3GStatus",
826 "kRegLTCStatusControl",
834 "kRegAud2SourceSelect",
835 "kRegAud2OutputLastAddr",
836 "kRegAud2InputLastAddr",
837 "kRegRS4222Transmit",
840 "kRegVidProc2Control",
841 "kRegMixer2Coefficient",
842 "kRegFlatMatte2Value",
843 "kRegXptSelectGroup9",
844 "kRegXptSelectGroup10",
845 "kRegLTC2EmbeddedBits0_31",
846 "kRegLTC2EmbeddedBits32_63",
847 "kRegLTC2AnalogBits0_31",
848 "kRegLTC2AnalogBits32_63",
849 "kRegSDITransmitControl",
851 "kRegCh3OutputFrame",
854 "kRegCh4OutputFrame",
856 "kRegXptSelectGroup13",
857 "kRegXptSelectGroup14",
859 "kRegVidIntControl2",
860 "kRegGlobalControl2",
861 "kRegRP188InOut3DBB",
862 "kRegRP188InOut3Bits0_31",
863 "kRegRP188InOut3Bits32_63",
866 "kRegRP188InOut4DBB",
867 "kRegRP188InOut4Bits0_31",
868 "kRegRP188InOut4Bits32_63",
873 "kRegAud3SourceSelect",
874 "kRegAud4SourceSelect",
876 "kRegAud3OutputLastAddr",
877 "kRegAud3InputLastAddr",
878 "kRegAud4OutputLastAddr",
879 "kRegAud4InputLastAddr",
880 "kRegSDIInput3GStatus2",
882 "kRegCh3PCIAccessFrame",
883 "kRegCh4PCIAccessFrame",
885 "kRegCS3Coefficients1_2",
886 "kRegCS3Coefficients3_4",
887 "kRegCS3Coefficients5_6",
888 "kRegCS3Coefficients7_8",
889 "kRegCS3Coefficients9_10",
891 "kRegCS4Coefficients1_2",
892 "kRegCS4Coefficients3_4",
893 "kRegCS4Coefficients5_6",
894 "kRegCS4Coefficients7_8",
895 "kRegCS4Coefficients9_10",
897 "kRegXptSelectGroup17",
898 "kRegXptSelectGroup15",
899 "kRegXptSelectGroup16",
909 "kRegSDIWatchdogControlStatus",
910 "kRegSDIWatchdogTimeout",
911 "kRegSDIWatchdogKick1",
912 "kRegSDIWatchdogKick2",
916 "kRegLTC3EmbeddedBits0_31",
917 "kRegLTC3EmbeddedBits32_63",
919 "kRegLTC4EmbeddedBits0_31",
920 "kRegLTC4EmbeddedBits32_63",
935 "kRegHDMIHDRGreenPrimary",
936 "kRegHDMIHDRBluePrimary",
937 "kRegHDMIHDRRedPrimary",
938 "kRegHDMIHDRWhitePoint",
939 "kRegHDMIHDRMasteringLuminence",
940 "kRegHDMIHDRLightLevel",
941 "kRegHDMIHDRControl",
943 "kRegSDIOut5Control",
947 "kRegRP188InOut5Bits0_31",
948 "kRegRP188InOut5Bits32_63",
949 "kRegRP188InOut5DBB",
953 "kRegLTC5EmbeddedBits0_31",
954 "kRegLTC5EmbeddedBits32_63",
958 "kRegCS5Coefficients1_2",
959 "kRegCS5Coefficients3_4",
960 "kRegCS5Coefficients5_6",
961 "kRegCS5Coefficients7_8",
962 "kRegCS5Coefficients9_10",
964 "kRegXptSelectGroup18",
970 "kRegXptSelectGroup19",
972 "kRegXptSelectGroup20",
973 "kRegRasterizerControl",
976 "kRegHDMIV2I2C1Control",
977 "kRegHDMIV2I2C1Data",
978 "kRegHDMIV2VideoSetup",
979 "kRegHDMIV2HSyncDurationAndBackPorch",
981 "kRegHDMIV2VSyncDurationAndBackPorchField1",
982 "kRegHDMIV2VSyncDurationAndBackPorchField2",
983 "kRegHDMIV2VActiveField1",
984 "kRegHDMIV2VActiveField2",
985 "kRegHDMIV2VideoStatus",
986 "kRegHDMIV2HorizontalMeasurements",
987 "kRegHDMIV2HBlankingMeasurements",
988 "kRegHDMIV2HBlankingMeasurements1",
989 "kRegHDMIV2VerticalMeasurementsField0",
990 "kRegHDMIV2VerticalMeasurementsField1",
991 "kRegHDMIV2i2c2Control",
992 "kRegHDMIV2i2c2Data",
997 "kRegGlobalControlCh2",
998 "kRegGlobalControlCh3",
999 "kRegGlobalControlCh4",
1000 "kRegGlobalControlCh5",
1001 "kRegGlobalControlCh6",
1002 "kRegGlobalControlCh7",
1003 "kRegGlobalControlCh8",
1006 "kRegCh5OutputFrame",
1007 "kRegCh5InputFrame",
1008 "kRegCh5PCIAccessFrame",
1011 "kRegCh6OutputFrame",
1012 "kRegCh6InputFrame",
1013 "kRegCh6PCIAccessFrame",
1016 "kRegCh7OutputFrame",
1017 "kRegCh7InputFrame",
1018 "kRegCh7PCIAccessFrame",
1021 "kRegCh8OutputFrame",
1022 "kRegCh8InputFrame",
1023 "kRegCh8PCIAccessFrame",
1025 "kRegXptSelectGroup21",
1026 "kRegXptSelectGroup22",
1027 "kRegXptSelectGroup30",
1028 "kRegXptSelectGroup23",
1029 "kRegXptSelectGroup24",
1030 "kRegXptSelectGroup25",
1031 "kRegXptSelectGroup26",
1032 "kRegXptSelectGroup27",
1033 "kRegXptSelectGroup28",
1034 "kRegXptSelectGroup29",
1043 "kRegRP188InOut6Bits0_31",
1044 "kRegRP188InOut6Bits32_63",
1045 "kRegRP188InOut6DBB",
1046 "kRegLTC6EmbeddedBits0_31",
1047 "kRegLTC6EmbeddedBits32_63",
1053 "kRegRP188InOut7Bits0_31",
1054 "kRegRP188InOut7Bits32_63",
1055 "kRegRP188InOut7DBB",
1056 "kRegLTC7EmbeddedBits0_31",
1057 "kRegLTC7EmbeddedBits32_63",
1063 "kRegRP188InOut8Bits0_31",
1064 "kRegRP188InOut8Bits32_63",
1065 "kRegRP188InOut8DBB",
1066 "kRegLTC8EmbeddedBits0_31",
1067 "kRegLTC8EmbeddedBits32_63",
1069 "kRegXptSelectGroup31",
1072 "kRegAud5SourceSelect",
1073 "kRegAud5OutputLastAddr",
1074 "kRegAud5InputLastAddr",
1077 "kRegAud6SourceSelect",
1078 "kRegAud6OutputLastAddr",
1079 "kRegAud6InputLastAddr",
1082 "kRegAud7SourceSelect",
1083 "kRegAud7OutputLastAddr",
1084 "kRegAud7InputLastAddr",
1087 "kRegAud8SourceSelect",
1088 "kRegAud8OutputLastAddr",
1089 "kRegAud8InputLastAddr",
1091 "kRegAudioDetect5678",
1093 "kRegSDI5678Input3GStatus",
1095 "kRegInput56Status",
1096 "kRegInput78Status",
1098 "kRegCS6Coefficients1_2",
1099 "kRegCS6Coefficients3_4",
1100 "kRegCS6Coefficients5_6",
1101 "kRegCS6Coefficients7_8",
1102 "kRegCS6Coefficients9_10",
1104 "kRegCS7Coefficients1_2",
1105 "kRegCS7Coefficients3_4",
1106 "kRegCS7Coefficients5_6",
1107 "kRegCS7Coefficients7_8",
1108 "kRegCS7Coefficients9_10",
1110 "kRegCS8Coefficients1_2",
1111 "kRegCS8Coefficients3_4",
1112 "kRegCS8Coefficients5_6",
1113 "kRegCS8Coefficients7_8",
1114 "kRegCS8Coefficients9_10",
1116 "kRegSDIOut6Control",
1117 "kRegSDIOut7Control",
1118 "kRegSDIOut8Control",
1120 "kRegOutputTimingControlch2",
1121 "kRegOutputTimingControlch3",
1122 "kRegOutputTimingControlch4",
1123 "kRegOutputTimingControlch5",
1124 "kRegOutputTimingControlch6",
1125 "kRegOutputTimingControlch7",
1126 "kRegOutputTimingControlch8",
1128 "kRegVidProc3Control",
1129 "kRegMixer3Coefficient",
1130 "kRegFlatMatte3Value",
1132 "kRegVidProc4Control",
1133 "kRegMixer4Coefficient",
1134 "kRegFlatMatte4Value",
1136 "kRegTRSErrorStatus",
1143 "kRegPCMControl4321",
1144 "kRegPCMControl8765",
1146 "kRegCh1Control2MFrame",
1147 "kRegCh2Control2MFrame",
1148 "kRegCh3Control2MFrame",
1149 "kRegCh4Control2MFrame",
1150 "kRegCh5Control2MFrame",
1151 "kRegCh6Control2MFrame",
1152 "kRegCh7Control2MFrame",
1153 "kRegCh8Control2MFrame",
1155 "kRegXptSelectGroup32",
1156 "kRegXptSelectGroup33",
1157 "kRegXptSelectGroup34",
1158 "kRegXptSelectGroup35",
1168 static const char * sEmpty (
"");
1177 static const char * sNullString =
"";
1178 static const char * sInterruptEnumStrings[] = {
"eOutput1",
1194 "eAuxVerticalInterrupt",
1195 "ePushButtonChange",
1201 "ePowerButtonChange",
1206 "eHDMIRxV2HotplugDetect",
1219 #if !defined(NTV2_BUILDING_DRIVER) 1223 return sInterruptEnumStrings[inInterruptEnum];
1232 void __cdecl
odprintf(
const char *format, ...)
1235 char buf[4096], *p = buf;
1238 va_start(args, format);
1239 p += _vsnprintf_s(buf,
sizeof buf - 1, format, args);
1242 while ( p > buf && isspace(p[-1]) )
1249 ::OutputDebugStringA(buf);
Fractional rate of 15,000 frames per 1,001 seconds.
const char * ntv2RegStrings_SDI_RX_Status[]
const char * NTV2FrameGeometryString(NTV2FrameGeometry geom)
const char * NTV2DeviceIDString(const NTV2DeviceID id)
Identifies SMPTE HD 1080p.
1920x1080, for 1080i and 1080p, NTV2_VANCMODE_TALL
NTV2FrameBufferFormat
Identifies a particular video frame buffer pixel format. See Device Frame Buffer Formats for details...
10-Bit 4:2:2 2-Plane YCbCr
720x576, for PAL 625i, NTV2_VANCMODE_TALL
1280x720, for 720p, NTV2_VANCMODE_OFF
enum _NTV2VideoFormat NTV2VideoFormat
Identifies a particular video format.
Fractional rate of 120,000 frames per 1,001 seconds.
Identifies SMPTE SD 525i.
See 10-Bit Raw YCbCr (CION).
See Alternate 8-Bit YCbCr ('YUY2').
See 10-Bit YCbCr - DPX Format.
Identifies high frame-rate UHD.
See 3-Plane 10-Bit YCbCr 4:2:2 ('I422_10LE' a.k.a. 'YUV-P-L10').
See 3-Plane 8-Bit YCbCr 4:2:0 ('I420' a.k.a. 'YUV-P420').
2048x1080, for 2Kx1080p, NTV2_VANCMODE_TALL
Fractional rate of 60,000 frames per 1,001 seconds.
3840x2160, for UHD, NTV2_VANCMODE_OFF
const char * ntv2RegStrings[]
#define NTV2_ASSERT(_expr_)
Identifies SMPTE HD 2K1080psf.
See 3-Plane 8-Bit YCbCr 4:2:2 (Weitek 'Y42B' a.k.a. 'YUV-P8').
Identifies SMPTE HD 720p.
2048x1556, for 2Kx1556psf film format, NTV2_VANCMODE_OFF
Fractional rate of 48,000 frames per 1,001 seconds.
NTV2FrameRate
Identifies a particular video frame rate.
7680x4320, for UHD2, NTV2_VANCMODE_OFF
2048x1080, NTV2_VANCMODE_TALLER
8-Bit 4:2:2 2-Plane YCbCr
NTV2Standard
Identifies a particular video standard.
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
1920x1080, for 1080i and 1080p, NTV2_VANCMODE_OFF
const char * NTV2RegisterNameString(const ULWord inRegNum)
Identifies Ultra-High-Definition (UHD) psf.
1280x720, for 720p, NTV2_VANCMODE_TALL
const char * NTV2VideoFormatString(NTV2VideoFormat fmt)
Software device that doesn't emulate one of the above devices.
See 8-Bit ARGB, RGBA, ABGR Formats.
See 8-Bit ARGB, RGBA, ABGR Formats.
const char * NTV2DeviceString(const NTV2DeviceID id)
Identifies SMPTE HD 2K1080p.
1920x1080, NTV2_VANCMODE_TALLER
720x486, for NTSC 525i, NTV2_VANCMODE_TALL
See 3-Plane 10-Bit YCbCr 4:2:0 ('I420_10LE' a.k.a. 'YUV-P420-L10').
const char * NTV2StandardString(NTV2Standard std)
const char * NTV2FrameBufferFormatString(NTV2FrameBufferFormat fmt)
4096x2160, for 4K, NTV2_VANCMODE_OFF
8192x4320, for 8K, NTV2_VANCMODE_OFF
Identifies SMPTE HD 1080i or 1080psf.
Identifies Ultra-High-Definition (UHD)
Fractional rate of 30,000 frames per 1,001 seconds.
10-Bit 4:2:0 2-Plane YCbCr
Identifies SMPTE SD 625i.
2048x1080, for 2Kx1080p, NTV2_VANCMODE_OFF
NTV2FrameGeometry
Identifies a particular video frame geometry.
720x576, for PAL 625i, NTV2_VANCMODE_OFF
See 8-Bit ARGB, RGBA, ABGR Formats.
720x486, for NTSC 525i and 525p60, NTV2_VANCMODE_OFF
Identifies high frame-rate 4K.
const char * NTV2FrameRateString(NTV2FrameRate rate)
See 10-Bit RGB - DPX Format.
#define NTV2DEBUG_ENUM_CASE_RETURN_STR(enum_name)
2048x1556, for 2Kx1556psf film format, NTV2_VANCMODE_TALL
const char * NTV2InterruptEnumString(const unsigned inInterruptEnum)
8-Bit 4:2:0 2-Plane YCbCr
720x576, for PAL 625i, NTV2_VANCMODE_TALLER
Declares enums and structs used by all platform drivers and the SDK.
Fractional rate of 24,000 frames per 1,001 seconds.
720x486, for NTSC 525i and 525p60, NTV2_VANCMODE_TALLER