#ifndef DECKLINK_C_API_H
#define DECKLINK_C_API_H
#include "common.h"
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef int64_t DecklinkTimeValue;
typedef int64_t DecklinkTimeScale;
typedef uint32_t DecklinkTimecodeBCD;
typedef uint32_t DecklinkTimecodeUserBits;
typedef uint32_t DecklinkTimecodeFlags;
typedef uint32_t DecklinkVideoConnection;
typedef uint32_t DecklinkAudioConnection;
typedef uint32_t DecklinkDeckControlConnection;
typedef uint32_t DecklinkDisplayMode;
typedef uint32_t DecklinkFieldDominance;
typedef uint32_t DecklinkPixelFormat;
typedef uint32_t DecklinkDisplayModeFlags;
typedef uint32_t DecklinkConfigurationID;
typedef uint32_t DecklinkEncoderConfigurationID;
typedef uint32_t DecklinkDeckControlMode;
typedef uint32_t DecklinkDeckControlEvent;
typedef uint32_t DecklinkDeckControlVTRControlState;
typedef uint32_t DecklinkDeckControlStatusFlags;
typedef uint32_t DecklinkDeckControlExportModeOpsFlags;
typedef uint32_t DecklinkDeckControlError;
typedef uint32_t DecklinkVideoOutputFlags;
typedef uint32_t DecklinkPacketType;
typedef uint32_t DecklinkFrameFlags;
typedef uint32_t DecklinkVideoInputFlags;
typedef uint32_t DecklinkVideoInputFormatChangedEvents;
typedef uint32_t DecklinkDetectedVideoInputFormatFlags;
typedef uint32_t DecklinkCapturePassthroughMode;
typedef uint32_t DecklinkOutputFrameCompletionResult;
typedef uint32_t DecklinkReferenceStatus;
typedef uint32_t DecklinkAudioFormat;
typedef uint32_t DecklinkAudioSampleRate;
typedef uint32_t DecklinkAudioSampleType;
typedef uint32_t DecklinkAudioOutputStreamType;
typedef uint32_t DecklinkDisplayModeSupport;
typedef uint32_t DecklinkTimecodeFormat;
typedef uint32_t DecklinkAnalogVideoFlags;
typedef uint32_t DecklinkAudioOutputAnalogAESSwitch;
typedef uint32_t DecklinkVideoOutputConversionMode;
typedef uint32_t DecklinkVideoInputConversionMode;
typedef uint32_t DecklinkVideo3DPackingFormat;
typedef uint32_t DecklinkIdleVideoOutputOperation;
typedef uint32_t DecklinkVideoEncoderFrameCodingMode;
typedef uint32_t DecklinkDNxHRLevel;
typedef uint32_t DecklinkLinkConfiguration;
typedef uint32_t DecklinkDeviceInterface;
typedef uint32_t DecklinkFrameMetadataID;
typedef uint32_t DecklinkDuplexMode;
typedef uint32_t DecklinkAttributeID;
typedef uint32_t DecklinkAPIInformationID;
typedef uint32_t DecklinkStatusID;
typedef uint32_t DecklinkVideoStatusFlags;
typedef uint32_t DecklinkDuplexStatus;
typedef uint32_t DecklinkPanelType;
typedef uint32_t DecklinkDeviceBusyState;
typedef uint32_t DecklinkVideoIOSupport;
typedef uint32_t Decklink3DPreviewFormat;
typedef uint32_t DecklinkNotifications;
enum _DecklinkTimecodeFlags {
decklinkTimecodeFlagDefault = 0,
decklinkTimecodeIsDropFrame = 1,
decklinkTimecodeFieldMark = 2,
decklinkTimecodeColorFrame = 4,
};
enum _DecklinkVideoConnection {
decklinkVideoConnectionSDI = 1,
decklinkVideoConnectionHDMI = 2,
decklinkVideoConnectionOpticalSDI = 4,
decklinkVideoConnectionComponent = 8,
decklinkVideoConnectionComposite = 16,
decklinkVideoConnectionSVideo = 32,
};
enum _DecklinkAudioConnection {
decklinkAudioConnectionEmbedded = 1,
decklinkAudioConnectionAESEBU = 2,
decklinkAudioConnectionAnalog = 4,
decklinkAudioConnectionAnalogXLR = 8,
decklinkAudioConnectionAnalogRCA = 16,
decklinkAudioConnectionMicrophone = 32,
decklinkAudioConnectionHeadphones = 64,
};
enum _DecklinkDeckControlConnection {
decklinkDeckControlConnectionRS422Remote1 = 1,
decklinkDeckControlConnectionRS422Remote2 = 2,
};
enum _DecklinkDisplayMode {
decklinkModeNTSC = 1853125475,
decklinkModeNTSC2398 = 1853108787,
decklinkModePAL = 1885432864,
decklinkModeNTSCp = 1853125488,
decklinkModePALp = 1885432944,
decklinkModeHD1080p2398 = 842231923,
decklinkModeHD1080p24 = 842297459,
decklinkModeHD1080p25 = 1215312437,
decklinkModeHD1080p2997 = 1215312441,
decklinkModeHD1080p30 = 1215312688,
decklinkModeHD1080i50 = 1214854448,
decklinkModeHD1080i5994 = 1214854457,
decklinkModeHD1080i6000 = 1214854704,
decklinkModeHD1080p50 = 1215313200,
decklinkModeHD1080p5994 = 1215313209,
decklinkModeHD1080p6000 = 1215313456,
decklinkModeHD720p50 = 1752184112,
decklinkModeHD720p5994 = 1752184121,
decklinkModeHD720p60 = 1752184368,
decklinkMode2k2398 = 845886003,
decklinkMode2k24 = 845886004,
decklinkMode2k25 = 845886005,
decklinkMode2kDCI2398 = 845427251,
decklinkMode2kDCI24 = 845427252,
decklinkMode2kDCI25 = 845427253,
decklinkMode4K2160p2398 = 879440435,
decklinkMode4K2160p24 = 879440436,
decklinkMode4K2160p25 = 879440437,
decklinkMode4K2160p2997 = 879440441,
decklinkMode4K2160p30 = 879440688,
decklinkMode4K2160p50 = 879441200,
decklinkMode4K2160p5994 = 879441209,
decklinkMode4K2160p60 = 879441456,
decklinkMode4kDCI2398 = 878981683,
decklinkMode4kDCI24 = 878981684,
decklinkMode4kDCI25 = 878981685,
decklinkModeCintelRAW = 1920426857,
decklinkModeCintelCompressedRAW = 1920426851,
decklinkModeUnknown = 1769303659,
};
enum _DecklinkFieldDominance {
decklinkUnknownFieldDominance = 0,
decklinkLowerFieldFirst = 1819244402,
decklinkUpperFieldFirst = 1970303090,
decklinkProgressiveFrame = 1886547815,
decklinkProgressiveSegmentedFrame = 1886610976,
};
enum _DecklinkPixelFormat {
decklinkFormat8BitYUV = 846624121,
decklinkFormat10BitYUV = 1983000880,
decklinkFormat8BitARGB = 32,
decklinkFormat8BitBGRA = 1111970369,
decklinkFormat10BitRGB = 1915892016,
decklinkFormat12BitRGB = 1378955842,
decklinkFormat12BitRGBLE = 1378955852,
decklinkFormat10BitRGBXLE = 1378955372,
decklinkFormat10BitRGBX = 1378955362,
decklinkFormatH265 = 1751479857,
decklinkFormatDNxHR = 1096180840,
decklinkFormat12BitRAWGRBG = 1915826800,
decklinkFormat12BitRAWJPEG = 1915827824,
};
enum _DecklinkDisplayModeFlags {
decklinkDisplayModeSupports3D = 1,
decklinkDisplayModeColorspaceRec601 = 2,
decklinkDisplayModeColorspaceRec709 = 4,
};
enum _DecklinkConfigurationID {
decklinkConfigSwapSerialRxTx = 1936945780,
decklinkConfigHDMI3DPackingFormat = 862220390,
decklinkConfigBypass = 1652125811,
decklinkConfigClockTimingAdjustment = 1668571492,
decklinkConfigDuplexMode = 1685418104,
decklinkConfigAnalogAudioConsumerLevels = 1633772396,
decklinkConfigFieldFlickerRemoval = 1717855858,
decklinkConfigHD1080p24ToHD1080i5994Conversion = 1953445177,
decklinkConfig444SDIVideoOutput = 875836527,
decklinkConfigBlackVideoOutputDuringCapture = 1651928931,
decklinkConfigLowLatencyVideoOutput = 1819047535,
decklinkConfigDownConversionOnAllAnalogOutput = 1667326319,
decklinkConfigSMPTELevelAOutput = 1936553057,
decklinkConfigOutput1080pAsPsF = 1885761650,
decklinkConfigVideoOutputConnection = 1987011438,
decklinkConfigVideoOutputConversionMode = 1987011437,
decklinkConfigAnalogVideoOutputFlags = 1635151718,
decklinkConfigReferenceInputTimingOffset = 1735159668,
decklinkConfigVideoOutputIdleOperation = 1987012975,
decklinkConfigDefaultVideoOutputMode = 1685483373,
decklinkConfigDefaultVideoOutputModeFlags = 1685483366,
decklinkConfigSDIOutputLinkConfiguration = 1936682083,
decklinkConfigVideoOutputComponentLumaGain = 1868786791,
decklinkConfigVideoOutputComponentChromaBlueGain = 1868784482,
decklinkConfigVideoOutputComponentChromaRedGain = 1868784498,
decklinkConfigVideoOutputCompositeLumaGain = 1869180007,
decklinkConfigVideoOutputCompositeChromaGain = 1869177703,
decklinkConfigVideoOutputSVideoLumaGain = 1869835367,
decklinkConfigVideoOutputSVideoChromaGain = 1869833063,
decklinkConfigVideoInputScanning = 1986622307,
decklinkConfigUseDedicatedLTCInput = 1684829283,
decklinkConfigSDIInput3DPayloadOverride = 862217331,
decklinkConfigCapture1080pAsPsF = 1667657842,
decklinkConfigVideoInputConnection = 1986618222,
decklinkConfigAnalogVideoInputFlags = 1635150182,
decklinkConfigVideoInputConversionMode = 1986618221,
decklinkConfig32PulldownSequenceInitialTimecodeFrame = 1885628774,
decklinkConfigVANCSourceLine1Mapping = 1987275825,
decklinkConfigVANCSourceLine2Mapping = 1987275826,
decklinkConfigVANCSourceLine3Mapping = 1987275827,
decklinkConfigCapturePassThroughMode = 1668314221,
decklinkConfigVideoInputComponentLumaGain = 1768123495,
decklinkConfigVideoInputComponentChromaBlueGain = 1768121186,
decklinkConfigVideoInputComponentChromaRedGain = 1768121202,
decklinkConfigVideoInputCompositeLumaGain = 1768516711,
decklinkConfigVideoInputCompositeChromaGain = 1768514407,
decklinkConfigVideoInputSVideoLumaGain = 1769172071,
decklinkConfigVideoInputSVideoChromaGain = 1769169767,
decklinkConfigMicrophonePhantomPower = 1836083312,
decklinkConfigAudioInputConnection = 1634296686,
decklinkConfigAnalogAudioInputScaleChannel1 = 1634300721,
decklinkConfigAnalogAudioInputScaleChannel2 = 1634300722,
decklinkConfigAnalogAudioInputScaleChannel3 = 1634300723,
decklinkConfigAnalogAudioInputScaleChannel4 = 1634300724,
decklinkConfigDigitalAudioInputScale = 1684105587,
decklinkConfigMicrophoneInputGain = 1835623271,
decklinkConfigAudioOutputAESAnalogSwitch = 1634689377,
decklinkConfigAnalogAudioOutputScaleChannel1 = 1634693937,
decklinkConfigAnalogAudioOutputScaleChannel2 = 1634693938,
decklinkConfigAnalogAudioOutputScaleChannel3 = 1634693939,
decklinkConfigAnalogAudioOutputScaleChannel4 = 1634693940,
decklinkConfigDigitalAudioOutputScale = 1684107123,
decklinkConfigHeadphoneVolume = 1752592236,
decklinkConfigDeviceInformationLabel = 1684630625,
decklinkConfigDeviceInformationSerialNumber = 1684632430,
decklinkConfigDeviceInformationCompany = 1684628335,
decklinkConfigDeviceInformationPhone = 1684631656,
decklinkConfigDeviceInformationEmail = 1684628845,
decklinkConfigDeviceInformationDate = 1684628577,
decklinkConfigDeckControlConnection = 1684235119,
};
enum _DecklinkEncoderConfigurationID {
decklinkEncoderConfigPreferredBitDepth = 1701864050,
decklinkEncoderConfigFrameCodingMode = 1701208941,
decklinkEncoderConfigH265TargetBitrate = 1752457842,
decklinkEncoderConfigDNxHRCompressionID = 1684236644,
decklinkEncoderConfigDNxHRLevel = 1684825462,
decklinkEncoderConfigMPEG4SampleDescription = 1937011525,
decklinkEncoderConfigMPEG4CodecSpecificDesc = 1702061171,
};
enum _DecklinkDeckControlMode {
decklinkDeckControlNotOpened = 1853124464,
decklinkDeckControlVTRControlMode = 1987342947,
decklinkDeckControlExportMode = 1702391917,
decklinkDeckControlCaptureMode = 1667330157,
};
enum _DecklinkDeckControlEvent {
decklinkDeckControlAbortedEvent = 1633842277,
decklinkDeckControlPrepareForExportEvent = 1885758821,
decklinkDeckControlExportCompleteEvent = 1702388581,
decklinkDeckControlPrepareForCaptureEvent = 1885758309,
decklinkDeckControlCaptureCompleteEvent = 1667458422,
};
enum _DecklinkDeckControlVTRControlState {
decklinkDeckControlNotInVTRControlMode = 1853252461,
decklinkDeckControlVTRControlPlaying = 1987342960,
decklinkDeckControlVTRControlRecording = 1987342962,
decklinkDeckControlVTRControlStill = 1987342945,
decklinkDeckControlVTRControlShuttleForward = 1987343206,
decklinkDeckControlVTRControlShuttleReverse = 1987343218,
decklinkDeckControlVTRControlJogForward = 1987340902,
decklinkDeckControlVTRControlJogReverse = 1987340914,
decklinkDeckControlVTRControlStopped = 1987342959,
};
enum _DecklinkDeckControlStatusFlags {
decklinkDeckControlStatusDeckConnected = 1,
decklinkDeckControlStatusRemoteMode = 2,
decklinkDeckControlStatusRecordInhibited = 4,
decklinkDeckControlStatusCassetteOut = 8,
};
enum _DecklinkDeckControlExportModeOpsFlags {
decklinkDeckControlExportModeInsertVideo = 1,
decklinkDeckControlExportModeInsertAudio1 = 2,
decklinkDeckControlExportModeInsertAudio2 = 4,
decklinkDeckControlExportModeInsertAudio3 = 8,
decklinkDeckControlExportModeInsertAudio4 = 16,
decklinkDeckControlExportModeInsertAudio5 = 32,
decklinkDeckControlExportModeInsertAudio6 = 64,
decklinkDeckControlExportModeInsertAudio7 = 128,
decklinkDeckControlExportModeInsertAudio8 = 256,
decklinkDeckControlExportModeInsertAudio9 = 512,
decklinkDeckControlExportModeInsertAudio10 = 1024,
decklinkDeckControlExportModeInsertAudio11 = 2048,
decklinkDeckControlExportModeInsertAudio12 = 4096,
decklinkDeckControlExportModeInsertTimeCode = 8192,
decklinkDeckControlExportModeInsertAssemble = 16384,
decklinkDeckControlExportModeInsertPreview = 32768,
decklinkDeckControlUseManualExport = 65536,
};
enum _DecklinkDeckControlError {
decklinkDeckControlNoError = 1852794226,
decklinkDeckControlModeError = 1836017010,
decklinkDeckControlMissedInPointError = 1835623794,
decklinkDeckControlDeckTimeoutError = 1685349746,
decklinkDeckControlCommandFailedError = 1667655026,
decklinkDeckControlDeviceAlreadyOpenedError = 1684106351,
decklinkDeckControlFailedToOpenDeviceError = 1717855602,
decklinkDeckControlInLocalModeError = 1819108722,
decklinkDeckControlEndOfTapeError = 1702126962,
decklinkDeckControlUserAbortError = 1969317234,
decklinkDeckControlNoTapeInDeckError = 1853121906,
decklinkDeckControlNoVideoFromCardError = 1853253219,
decklinkDeckControlNoCommunicationError = 1852010349,
decklinkDeckControlBufferTooSmallError = 1651798893,
decklinkDeckControlBadChecksumError = 1667787635,
decklinkDeckControlUnknownError = 1970169202,
};
enum _DecklinkVideoOutputFlags {
decklinkVideoOutputFlagDefault = 0,
decklinkVideoOutputVANC = 1,
decklinkVideoOutputVITC = 2,
decklinkVideoOutputRP188 = 4,
decklinkVideoOutputDualStream3D = 16,
};
enum _DecklinkPacketType {
decklinkPacketTypeStreamInterruptedMarker = 1936289396,
decklinkPacketTypeStreamData = 1935958388,
};
enum _DecklinkFrameFlags {
decklinkFrameFlagDefault = 0,
decklinkFrameFlagFlipVertical = 1,
decklinkFrameContainsHDRMetadata = 2,
decklinkFrameContainsCintelMetadata = 4,
decklinkFrameHasNoInputSource = 2147483648,
};
enum _DecklinkVideoInputFlags {
decklinkVideoInputFlagDefault = 0,
decklinkVideoInputEnableFormatDetection = 1,
decklinkVideoInputDualStream3D = 2,
};
enum _DecklinkVideoInputFormatChangedEvents {
decklinkVideoInputDisplayModeChanged = 1,
decklinkVideoInputFieldDominanceChanged = 2,
decklinkVideoInputColorspaceChanged = 4,
};
enum _DecklinkDetectedVideoInputFormatFlags {
decklinkDetectedVideoInputYCbCr422 = 1,
decklinkDetectedVideoInputRGB444 = 2,
decklinkDetectedVideoInputDualStream3D = 4,
};
enum _DecklinkCapturePassthroughMode {
decklinkCapturePassthroughModeDisabled = 1885628787,
decklinkCapturePassthroughModeDirect = 1885628786,
decklinkCapturePassthroughModeCleanSwitch = 1885564014,
};
enum _DecklinkOutputFrameCompletionResult {
decklinkOutputFrameCompleted = 0,
decklinkOutputFrameDisplayedLate = 1,
decklinkOutputFrameDropped = 2,
decklinkOutputFrameFlushed = 3,
};
enum _DecklinkReferenceStatus {
decklinkReferenceNotSupportedByHardware = 1,
decklinkReferenceLocked = 2,
};
enum _DecklinkAudioFormat {
decklinkAudioFormatPCM = 1819304813,
};
enum _DecklinkAudioSampleRate {
decklinkAudioSampleRate48kHz = 48000,
};
enum _DecklinkAudioSampleType {
decklinkAudioSampleType16bitInteger = 16,
decklinkAudioSampleType32bitInteger = 32,
};
enum _DecklinkAudioOutputStreamType {
decklinkAudioOutputStreamContinuous = 0,
decklinkAudioOutputStreamContinuousDontResample = 1,
decklinkAudioOutputStreamTimestamped = 2,
};
enum _DecklinkDisplayModeSupport {
decklinkDisplayModeNotSupported = 0,
decklinkDisplayModeSupported = 1,
decklinkDisplayModeSupportedWithConversion = 2,
};
enum _DecklinkTimecodeFormat {
decklinkTimecodeRP188VITC1 = 1919972913,
decklinkTimecodeRP188VITC2 = 1919955250,
decklinkTimecodeRP188LTC = 1919970420,
decklinkTimecodeRP188Any = 1919955256,
decklinkTimecodeVITC = 1986622563,
decklinkTimecodeVITCField2 = 1986622514,
decklinkTimecodeSerial = 1936028265,
};
enum _DecklinkAnalogVideoFlags {
decklinkAnalogVideoFlagCompositeSetup75 = 1,
decklinkAnalogVideoFlagComponentBetacamLevels = 2,
};
enum _DecklinkAudioOutputAnalogAESSwitch {
decklinkAudioOutputSwitchAESEBU = 1634038560,
decklinkAudioOutputSwitchAnalog = 1634626663,
};
enum _DecklinkVideoOutputConversionMode {
decklinkNoVideoOutputConversion = 1852796517,
decklinkVideoOutputLetterboxDownconversion = 1819566712,
decklinkVideoOutputAnamorphicDownconversion = 1634562152,
decklinkVideoOutputHD720toHD1080Conversion = 926036067,
decklinkVideoOutputHardwareLetterboxDownconversion = 1213688930,
decklinkVideoOutputHardwareAnamorphicDownconversion = 1213686125,
decklinkVideoOutputHardwareCenterCutDownconversion = 1213686627,
decklinkVideoOutputHardware720p1080pCrossconversion = 2019778928,
decklinkVideoOutputHardwareAnamorphic720pUpconversion = 1969305456,
decklinkVideoOutputHardwareAnamorphic1080iUpconversion = 1969303913,
decklinkVideoOutputHardwareAnamorphic149To720pUpconversion = 1966356336,
decklinkVideoOutputHardwareAnamorphic149To1080iUpconversion = 1966354793,
decklinkVideoOutputHardwarePillarbox720pUpconversion = 1970288496,
decklinkVideoOutputHardwarePillarbox1080iUpconversion = 1970286953,
};
enum _DecklinkVideoInputConversionMode {
decklinkNoVideoInputConversion = 1852796517,
decklinkVideoInputLetterboxDownconversionFromHD1080 = 825257058,
decklinkVideoInputAnamorphicDownconversionFromHD1080 = 825254253,
decklinkVideoInputLetterboxDownconversionFromHD720 = 926051426,
decklinkVideoInputAnamorphicDownconversionFromHD720 = 926048621,
decklinkVideoInputLetterboxUpconversion = 1818391920,
decklinkVideoInputAnamorphicUpconversion = 1634563440,
};
enum _DecklinkVideo3DPackingFormat {
decklinkVideo3DPackingSidebySideHalf = 1935831912,
decklinkVideo3DPackingLinebyLine = 1818392940,
decklinkVideo3DPackingTopAndBottom = 1952539247,
decklinkVideo3DPackingFramePacking = 1718775915,
decklinkVideo3DPackingLeftOnly = 1818584692,
decklinkVideo3DPackingRightOnly = 1919510376,
};
enum _DecklinkIdleVideoOutputOperation {
decklinkIdleVideoOutputBlack = 1651269987,
decklinkIdleVideoOutputLastFrame = 1818322529,
};
enum _DecklinkVideoEncoderFrameCodingMode {
decklinkVideoEncoderFrameCodingModeInter = 1768846437,
decklinkVideoEncoderFrameCodingModeIntra = 1768846450,
};
enum _DecklinkDNxHRLevel {
decklinkDNxHRLevelSQ = 1684960113,
decklinkDNxHRLevelLB = 1684958306,
decklinkDNxHRLevelHQ = 1684957297,
decklinkDNxHRLevelHQX = 1684566392,
decklinkDNxHRLevel444 = 1681142836,
};
enum _DecklinkLinkConfiguration {
decklinkLinkConfigurationSingleLink = 1818456940,
decklinkLinkConfigurationDualLink = 1818453100,
decklinkLinkConfigurationQuadLink = 1818456428,
};
enum _DecklinkDeviceInterface {
decklinkDeviceInterfacePCI = 1885563168,
decklinkDeviceInterfaceUSB = 1970496032,
decklinkDeviceInterfaceThunderbolt = 1953002862,
};
enum _DecklinkFrameMetadataID {
decklinkFrameMetadataHDRElectroOpticalTransferFunc = 1701803110,
decklinkFrameMetadataCintelFilmType = 1667658873,
decklinkFrameMetadataCintelFilmGauge = 1667655521,
decklinkFrameMetadataCintelOffsetDetectedHorizontal = 1868850792,
decklinkFrameMetadataCintelOffsetDetectedVertical = 1868850806,
decklinkFrameMetadataCintelKeykodeLow = 1667984236,
decklinkFrameMetadataCintelKeykodeHigh = 1667984232,
decklinkFrameMetadataCintelTile1Size = 1668559219,
decklinkFrameMetadataCintelTile2Size = 1668559475,
decklinkFrameMetadataCintelTile3Size = 1668559731,
decklinkFrameMetadataCintelTile4Size = 1668559987,
decklinkFrameMetadataCintelImageWidth = 1230459000,
decklinkFrameMetadataCintelImageHeight = 1229475960,
decklinkFrameMetadataCintelLinearMaskingRedInRed = 1836214642,
decklinkFrameMetadataCintelLinearMaskingGreenInRed = 1835493746,
decklinkFrameMetadataCintelLinearMaskingBlueInRed = 1835166066,
decklinkFrameMetadataCintelLinearMaskingRedInGreen = 1836214631,
decklinkFrameMetadataCintelLinearMaskingGreenInGreen = 1835493735,
decklinkFrameMetadataCintelLinearMaskingBlueInGreen = 1835166055,
decklinkFrameMetadataCintelLinearMaskingRedInBlue = 1836214626,
decklinkFrameMetadataCintelLinearMaskingGreenInBlue = 1835493730,
decklinkFrameMetadataCintelLinearMaskingBlueInBlue = 1835166050,
decklinkFrameMetadataCintelLogMaskingRedInRed = 1835823730,
decklinkFrameMetadataCintelLogMaskingGreenInRed = 1835820914,
decklinkFrameMetadataCintelLogMaskingBlueInRed = 1835819634,
decklinkFrameMetadataCintelLogMaskingRedInGreen = 1835823719,
decklinkFrameMetadataCintelLogMaskingGreenInGreen = 1835820903,
decklinkFrameMetadataCintelLogMaskingBlueInGreen = 1835819623,
decklinkFrameMetadataCintelLogMaskingRedInBlue = 1835823714,
decklinkFrameMetadataCintelLogMaskingGreenInBlue = 1835820898,
decklinkFrameMetadataCintelLogMaskingBlueInBlue = 1835819618,
decklinkFrameMetadataCintelFilmFrameRate = 1667655282,
decklinkFrameMetadataHDRDisplayPrimariesRedX = 1751413368,
decklinkFrameMetadataHDRDisplayPrimariesRedY = 1751413369,
decklinkFrameMetadataHDRDisplayPrimariesGreenX = 1751410552,
decklinkFrameMetadataHDRDisplayPrimariesGreenY = 1751410553,
decklinkFrameMetadataHDRDisplayPrimariesBlueX = 1751409272,
decklinkFrameMetadataHDRDisplayPrimariesBlueY = 1751409273,
decklinkFrameMetadataHDRWhitePointX = 1751414648,
decklinkFrameMetadataHDRWhitePointY = 1751414649,
decklinkFrameMetadataHDRMaxDisplayMasteringLuminance = 1751412076,
decklinkFrameMetadataHDRMinDisplayMasteringLuminance = 1752000876,
decklinkFrameMetadataHDRMaximumContentLightLevel = 1835232364,
decklinkFrameMetadataHDRMaximumFrameAverageLightLevel = 1717660780,
decklinkFrameMetadataCintelOffsetToApplyHorizontal = 1869898088,
decklinkFrameMetadataCintelOffsetToApplyVertical = 1869898102,
decklinkFrameMetadataCintelGainRed = 1281774180,
decklinkFrameMetadataCintelGainGreen = 1281771378,
decklinkFrameMetadataCintelGainBlue = 1281770092,
decklinkFrameMetadataCintelLiftRed = 1198412388,
decklinkFrameMetadataCintelLiftGreen = 1198409586,
decklinkFrameMetadataCintelLiftBlue = 1198408300,
};
enum _DecklinkDuplexMode {
decklinkDuplexModeFull = 1717859696,
decklinkDuplexModeHalf = 1751414128,
};
enum _DecklinkAttributeID {
decklinkSupportsInternalKeying = 1801812329,
decklinkSupportsExternalKeying = 1801812325,
decklinkSupportsHDKeying = 1801812328,
decklinkSupportsInputFormatDetection = 1768842852,
decklinkHasReferenceInput = 1752328558,
decklinkHasSerialPort = 1752395892,
decklinkHasAnalogVideoOutputGain = 1635151719,
decklinkCanOnlyAdjustOverallVideoOutputGain = 1870032743,
decklinkHasVideoInputAntiAliasingFilter = 1633773164,
decklinkHasBypass = 1652125811,
decklinkSupportsClockTimingAdjustment = 1668571492,
decklinkSupportsFullDuplex = 1717859696,
decklinkSupportsFullFrameReferenceInputTimingOffset = 1718774126,
decklinkSupportsSMPTELevelAOutput = 1819700321,
decklinkSupportsDualLinkSDI = 1935961203,
decklinkSupportsQuadLinkSDI = 1936813171,
decklinkSupportsIdleOutput = 1768189813,
decklinkHasLTCTimecodeInput = 1751938147,
decklinkSupportsDuplexModeConfiguration = 1685418104,
decklinkSupportsHDRMetadata = 1751413357,
decklinkMaximumAudioChannels = 1835098984,
decklinkMaximumAnalogAudioInputChannels = 1767990120,
decklinkMaximumAnalogAudioOutputChannels = 1633772392,
decklinkNumberOfSubDevices = 1853055588,
decklinkSubDeviceIndex = 1937072745,
decklinkPersistentID = 1885694308,
decklinkDeviceGroupID = 1684498788,
decklinkTopologicalID = 1953458532,
decklinkVideoOutputConnections = 1987011438,
decklinkVideoInputConnections = 1986618222,
decklinkAudioOutputConnections = 1634689902,
decklinkAudioInputConnections = 1634296686,
decklinkVideoIOSupport = 1986621299,
decklinkDeckControlConnections = 1684235118,
decklinkDeviceInterface = 1684174195,
decklinkAudioInputRCAChannelCount = 1634300515,
decklinkAudioInputXLRChannelCount = 1634302051,
decklinkAudioOutputRCAChannelCount = 1634693731,
decklinkAudioOutputXLRChannelCount = 1634695267,
decklinkPairedDevicePersistentID = 1886415204,
decklinkVideoInputGainMinimum = 1986619245,
decklinkVideoInputGainMaximum = 1986619256,
decklinkVideoOutputGainMinimum = 1987012461,
decklinkVideoOutputGainMaximum = 1987012472,
decklinkMicrophoneInputGainMinimum = 1835624301,
decklinkMicrophoneInputGainMaximum = 1835624312,
decklinkSerialPortDeviceName = 1936486510,
decklinkVendorName = 1986946162,
decklinkDisplayName = 1685287022,
decklinkModelName = 1835297902,
decklinkDeviceHandle = 1684371048,
};
enum _DecklinkAPIInformationID {
decklinkAPIVersion = 1986359923,
};
enum _DecklinkStatusID {
decklinkStatusDetectedVideoInputMode = 1685481837,
decklinkStatusDetectedVideoInputFlags = 1685481830,
decklinkStatusCurrentVideoInputMode = 1668704621,
decklinkStatusCurrentVideoInputPixelFormat = 1668704624,
decklinkStatusCurrentVideoInputFlags = 1668704614,
decklinkStatusCurrentVideoOutputMode = 1668706157,
decklinkStatusCurrentVideoOutputFlags = 1668706150,
decklinkStatusPCIExpressLinkWidth = 1886873956,
decklinkStatusPCIExpressLinkSpeed = 1886154347,
decklinkStatusLastVideoOutputPixelFormat = 1869638008,
decklinkStatusReferenceSignalMode = 1919247981,
decklinkStatusReferenceSignalFlags = 1919247974,
decklinkStatusDuplexMode = 1685418104,
decklinkStatusBusy = 1651864441,
decklinkStatusInterchangeablePanelType = 1768124532,
decklinkStatusVideoInputSignalLocked = 1986622316,
decklinkStatusReferenceSignalLocked = 1919247980,
decklinkStatusReceivedEDID = 1701079396,
};
enum _DecklinkVideoStatusFlags {
decklinkVideoStatusPsF = 1,
decklinkVideoStatusDualStream3D = 2,
};
enum _DecklinkDuplexStatus {
decklinkDuplexStatusFullDuplex = 1717859696,
decklinkDuplexStatusHalfDuplex = 1751414128,
decklinkDuplexStatusSimplex = 1936747640,
decklinkDuplexStatusInactive = 1768841571,
};
enum _DecklinkPanelType {
decklinkPanelNotDetected = 1852862060,
decklinkPanelTeranexMiniSmartPanel = 1953330029,
};
enum _DecklinkDeviceBusyState {
decklinkDeviceCaptureBusy = 1,
decklinkDevicePlaybackBusy = 2,
decklinkDeviceSerialPortBusy = 4,
};
enum _DecklinkVideoIOSupport {
decklinkDeviceSupportsCapture = 1,
decklinkDeviceSupportsPlayback = 2,
};
enum _Decklink3DPreviewFormat {
decklink3DPreviewFormatDefault = 1684366945,
decklink3DPreviewFormatLeftOnly = 1818584692,
decklink3DPreviewFormatRightOnly = 1919510376,
decklink3DPreviewFormatSideBySide = 1936286821,
decklink3DPreviewFormatTopBottom = 1953460322,
};
enum _DecklinkNotifications {
decklinkPreferencesChanged = 1886545254,
decklinkStatusChanged = 1937006964,
};
typedef HRESULT cdecklink_deck_control_status_callback_timecode_update(void *obj, DecklinkTimecodeBCD currentTimecode);
typedef HRESULT cdecklink_deck_control_status_callback_vtr_control_state_changed(void *obj, DecklinkDeckControlVTRControlState newState, DecklinkDeckControlError error);
typedef HRESULT cdecklink_deck_control_status_callback_deck_control_event_received(void *obj, DecklinkDeckControlEvent event, DecklinkDeckControlError error);
typedef HRESULT cdecklink_deck_control_status_callback_deck_control_status_changed(void *obj, DecklinkDeckControlStatusFlags flags, uint32_t mask);
typedef HRESULT cdecklink_video_output_callback_scheduled_frame_completed(void *obj, cdecklink_video_frame_t * completedFrame, DecklinkOutputFrameCompletionResult result);
typedef HRESULT cdecklink_video_output_callback_scheduled_playback_has_stopped(void *obj);
typedef HRESULT cdecklink_input_callback_video_input_format_changed(void *obj, DecklinkVideoInputFormatChangedEvents notificationEvents, cdecklink_display_mode_t * newDisplayMode, DecklinkDetectedVideoInputFormatFlags detectedSignalFlags);
typedef HRESULT cdecklink_input_callback_video_input_frame_arrived(void *obj, cdecklink_video_input_frame_t * videoFrame, cdecklink_audio_input_packet_t * audioPacket);
typedef HRESULT cdecklink_encoder_input_callback_video_input_signal_changed(void *obj, DecklinkVideoInputFormatChangedEvents notificationEvents, cdecklink_display_mode_t * newDisplayMode, DecklinkDetectedVideoInputFormatFlags detectedSignalFlags);
typedef HRESULT cdecklink_encoder_input_callback_video_packet_arrived(void *obj, cdecklink_encoder_video_packet_t * videoPacket);
typedef HRESULT cdecklink_encoder_input_callback_audio_packet_arrived(void *obj, cdecklink_encoder_audio_packet_t * audioPacket);
typedef HRESULT cdecklink_audio_output_callback_render_audio_samples(void *obj, bool preroll);
typedef HRESULT cdecklink_screen_preview_callback_draw_frame(void *obj, cdecklink_video_frame_t * theFrame);
typedef HRESULT cdecklink_notification_callback_notify(void *obj, DecklinkNotifications topic, uint64_t param1, uint64_t param2);
typedef HRESULT cdecklink_device_notification_callback_deck_link_device_arrived(void *obj, cdecklink_device_t * deckLinkDevice);
typedef HRESULT cdecklink_device_notification_callback_deck_link_device_removed(void *obj, cdecklink_device_t * deckLinkDevice);
unsigned long cdecklink_timecode_add_ref(cdecklink_timecode_t *obj);
unsigned long cdecklink_timecode_release(cdecklink_timecode_t *obj);
DecklinkTimecodeBCD cdecklink_timecode_get_bcd(cdecklink_timecode_t *obj);
HRESULT cdecklink_timecode_get_components(cdecklink_timecode_t *obj, uint8_t * hours, uint8_t * minutes, uint8_t * seconds, uint8_t * frames);
HRESULT cdecklink_timecode_get_string(cdecklink_timecode_t *obj, const char ** timecode);
DecklinkTimecodeFlags cdecklink_timecode_get_flags(cdecklink_timecode_t *obj);
HRESULT cdecklink_timecode_get_timecode_user_bits(cdecklink_timecode_t *obj, DecklinkTimecodeUserBits * userBits);
unsigned long cdecklink_display_mode_iterator_add_ref(cdecklink_display_mode_iterator_t *obj);
unsigned long cdecklink_display_mode_iterator_release(cdecklink_display_mode_iterator_t *obj);
HRESULT cdecklink_display_mode_iterator_next(cdecklink_display_mode_iterator_t *obj, cdecklink_display_mode_t ** deckLinkDisplayMode);
unsigned long cdecklink_display_mode_add_ref(cdecklink_display_mode_t *obj);
unsigned long cdecklink_display_mode_release(cdecklink_display_mode_t *obj);
HRESULT cdecklink_display_mode_get_name(cdecklink_display_mode_t *obj, const char ** name);
DecklinkDisplayMode cdecklink_display_mode_get_display_mode(cdecklink_display_mode_t *obj);
long cdecklink_display_mode_get_width(cdecklink_display_mode_t *obj);
long cdecklink_display_mode_get_height(cdecklink_display_mode_t *obj);
HRESULT cdecklink_display_mode_get_frame_rate(cdecklink_display_mode_t *obj, DecklinkTimeValue * frameDuration, DecklinkTimeScale * timeScale);
DecklinkFieldDominance cdecklink_display_mode_get_field_dominance(cdecklink_display_mode_t *obj);
DecklinkDisplayModeFlags cdecklink_display_mode_get_flags(cdecklink_display_mode_t *obj);
unsigned long cdecklink_device_add_ref(cdecklink_device_t *obj);
unsigned long cdecklink_device_release(cdecklink_device_t *obj);
HRESULT cdecklink_device_get_model_name(cdecklink_device_t *obj, const char ** modelName);
HRESULT cdecklink_device_get_display_name(cdecklink_device_t *obj, const char ** displayName);
unsigned long cdecklink_configuration_add_ref(cdecklink_configuration_t *obj);
unsigned long cdecklink_configuration_release(cdecklink_configuration_t *obj);
HRESULT cdecklink_configuration_set_flag(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, bool value);
HRESULT cdecklink_configuration_get_flag(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, bool * value);
HRESULT cdecklink_configuration_set_int(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, int64_t value);
HRESULT cdecklink_configuration_get_int(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, int64_t * value);
HRESULT cdecklink_configuration_set_float(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, double value);
HRESULT cdecklink_configuration_get_float(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, double * value);
HRESULT cdecklink_configuration_set_string(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, const char * value);
HRESULT cdecklink_configuration_get_string(cdecklink_configuration_t *obj, DecklinkConfigurationID cfgID, const char ** value);
HRESULT cdecklink_configuration_write_configuration_to_preferences(cdecklink_configuration_t *obj);
unsigned long cdecklink_encoder_configuration_add_ref(cdecklink_encoder_configuration_t *obj);
unsigned long cdecklink_encoder_configuration_release(cdecklink_encoder_configuration_t *obj);
HRESULT cdecklink_encoder_configuration_set_flag(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, bool value);
HRESULT cdecklink_encoder_configuration_get_flag(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, bool * value);
HRESULT cdecklink_encoder_configuration_set_int(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, int64_t value);
HRESULT cdecklink_encoder_configuration_get_int(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, int64_t * value);
HRESULT cdecklink_encoder_configuration_set_float(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, double value);
HRESULT cdecklink_encoder_configuration_get_float(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, double * value);
HRESULT cdecklink_encoder_configuration_set_string(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, const char * value);
HRESULT cdecklink_encoder_configuration_get_string(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, const char ** value);
HRESULT cdecklink_encoder_configuration_get_bytes(cdecklink_encoder_configuration_t *obj, DecklinkEncoderConfigurationID cfgID, void * buffer, uint32_t * bufferSize);
unsigned long cdecklink_deck_control_add_ref(cdecklink_deck_control_t *obj);
unsigned long cdecklink_deck_control_release(cdecklink_deck_control_t *obj);
HRESULT cdecklink_deck_control_open(cdecklink_deck_control_t *obj, DecklinkTimeScale timeScale, DecklinkTimeValue timeValue, bool timecodeIsDropFrame, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_close(cdecklink_deck_control_t *obj, bool standbyOn);
HRESULT cdecklink_deck_control_get_current_state(cdecklink_deck_control_t *obj, DecklinkDeckControlMode * mode, DecklinkDeckControlVTRControlState * vtrControlState, DecklinkDeckControlStatusFlags * flags);
HRESULT cdecklink_deck_control_set_standby(cdecklink_deck_control_t *obj, bool standbyOn);
HRESULT cdecklink_deck_control_send_command(cdecklink_deck_control_t *obj, uint8_t * inBuffer, uint32_t inBufferSize, uint8_t * outBuffer, uint32_t * outDataSize, uint32_t outBufferSize, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_play(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_stop(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_toggle_play_stop(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_eject(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_go_to_timecode(cdecklink_deck_control_t *obj, DecklinkTimecodeBCD timecode, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_fast_forward(cdecklink_deck_control_t *obj, bool viewTape, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_rewind(cdecklink_deck_control_t *obj, bool viewTape, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_step_forward(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_step_back(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_jog(cdecklink_deck_control_t *obj, double rate, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_shuttle(cdecklink_deck_control_t *obj, double rate, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_get_timecode_string(cdecklink_deck_control_t *obj, const char ** currentTimeCode, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_get_timecode(cdecklink_deck_control_t *obj, cdecklink_timecode_t ** currentTimecode, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_get_timecode_bcd(cdecklink_deck_control_t *obj, DecklinkTimecodeBCD * currentTimecode, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_set_preroll(cdecklink_deck_control_t *obj, uint32_t prerollSeconds);
HRESULT cdecklink_deck_control_get_preroll(cdecklink_deck_control_t *obj, uint32_t * prerollSeconds);
HRESULT cdecklink_deck_control_set_export_offset(cdecklink_deck_control_t *obj, int32_t exportOffsetFields);
HRESULT cdecklink_deck_control_get_export_offset(cdecklink_deck_control_t *obj, int32_t * exportOffsetFields);
HRESULT cdecklink_deck_control_get_manual_export_offset(cdecklink_deck_control_t *obj, int32_t * deckManualExportOffsetFields);
HRESULT cdecklink_deck_control_set_capture_offset(cdecklink_deck_control_t *obj, int32_t captureOffsetFields);
HRESULT cdecklink_deck_control_get_capture_offset(cdecklink_deck_control_t *obj, int32_t * captureOffsetFields);
HRESULT cdecklink_deck_control_start_export(cdecklink_deck_control_t *obj, DecklinkTimecodeBCD inTimecode, DecklinkTimecodeBCD outTimecode, DecklinkDeckControlExportModeOpsFlags exportModeOps, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_start_capture(cdecklink_deck_control_t *obj, bool useVITC, DecklinkTimecodeBCD inTimecode, DecklinkTimecodeBCD outTimecode, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_get_device_id(cdecklink_deck_control_t *obj, uint16_t * deviceId, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_abort(cdecklink_deck_control_t *obj);
HRESULT cdecklink_deck_control_crash_record_start(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_crash_record_stop(cdecklink_deck_control_t *obj, DecklinkDeckControlError * error);
HRESULT cdecklink_deck_control_set_callback(cdecklink_deck_control_t *obj, void *ctx, cdecklink_deck_control_status_callback_timecode_update* cb0, cdecklink_deck_control_status_callback_vtr_control_state_changed* cb1, cdecklink_deck_control_status_callback_deck_control_event_received* cb2, cdecklink_deck_control_status_callback_deck_control_status_changed* cb3);
unsigned long cdecklink_memory_allocator_add_ref(cdecklink_memory_allocator_t *obj);
unsigned long cdecklink_memory_allocator_release(cdecklink_memory_allocator_t *obj);
HRESULT cdecklink_memory_allocator_allocate_buffer(cdecklink_memory_allocator_t *obj, uint32_t bufferSize, void ** allocatedBuffer);
HRESULT cdecklink_memory_allocator_release_buffer(cdecklink_memory_allocator_t *obj, void * buffer);
HRESULT cdecklink_memory_allocator_commit(cdecklink_memory_allocator_t *obj);
HRESULT cdecklink_memory_allocator_decommit(cdecklink_memory_allocator_t *obj);
unsigned long cdecklink_iterator_add_ref(cdecklink_iterator_t *obj);
unsigned long cdecklink_iterator_release(cdecklink_iterator_t *obj);
HRESULT cdecklink_iterator_next(cdecklink_iterator_t *obj, cdecklink_device_t ** deckLinkInstance);
unsigned long cdecklink_api_information_add_ref(cdecklink_api_information_t *obj);
unsigned long cdecklink_api_information_release(cdecklink_api_information_t *obj);
HRESULT cdecklink_api_information_get_flag(cdecklink_api_information_t *obj, DecklinkAPIInformationID cfgID, bool * value);
HRESULT cdecklink_api_information_get_int(cdecklink_api_information_t *obj, DecklinkAPIInformationID cfgID, int64_t * value);
HRESULT cdecklink_api_information_get_float(cdecklink_api_information_t *obj, DecklinkAPIInformationID cfgID, double * value);
HRESULT cdecklink_api_information_get_string(cdecklink_api_information_t *obj, DecklinkAPIInformationID cfgID, const char ** value);
unsigned long cdecklink_output_add_ref(cdecklink_output_t *obj);
unsigned long cdecklink_output_release(cdecklink_output_t *obj);
HRESULT cdecklink_output_does_support_video_mode(cdecklink_output_t *obj, DecklinkDisplayMode displayMode, DecklinkPixelFormat pixelFormat, DecklinkVideoOutputFlags flags, DecklinkDisplayModeSupport * result, cdecklink_display_mode_t ** resultDisplayMode);
HRESULT cdecklink_output_get_display_mode_iterator(cdecklink_output_t *obj, cdecklink_display_mode_iterator_t ** iterator);
HRESULT cdecklink_output_set_screen_preview_callback(cdecklink_output_t *obj, void *ctx, cdecklink_screen_preview_callback_draw_frame* cb0);
HRESULT cdecklink_output_enable_video_output(cdecklink_output_t *obj, DecklinkDisplayMode displayMode, DecklinkVideoOutputFlags flags);
HRESULT cdecklink_output_disable_video_output(cdecklink_output_t *obj);
HRESULT cdecklink_output_set_video_output_frame_memory_allocator(cdecklink_output_t *obj, cdecklink_memory_allocator_t * theAllocator);
HRESULT cdecklink_output_create_video_frame(cdecklink_output_t *obj, int32_t width, int32_t height, int32_t rowBytes, DecklinkPixelFormat pixelFormat, DecklinkFrameFlags flags, cdecklink_mutable_video_frame_t ** outFrame);
HRESULT cdecklink_output_create_ancillary_data(cdecklink_output_t *obj, DecklinkPixelFormat pixelFormat, cdecklink_video_frame_ancillary_t ** outBuffer);
HRESULT cdecklink_output_display_video_frame_sync(cdecklink_output_t *obj, cdecklink_video_frame_t * theFrame);
HRESULT cdecklink_output_schedule_video_frame(cdecklink_output_t *obj, cdecklink_video_frame_t * theFrame, DecklinkTimeValue displayTime, DecklinkTimeValue displayDuration, DecklinkTimeScale timeScale);
HRESULT cdecklink_output_set_scheduled_frame_completion_callback(cdecklink_output_t *obj, void *ctx, cdecklink_video_output_callback_scheduled_frame_completed* cb0, cdecklink_video_output_callback_scheduled_playback_has_stopped* cb1);
HRESULT cdecklink_output_get_buffered_video_frame_count(cdecklink_output_t *obj, uint32_t * bufferedFrameCount);
HRESULT cdecklink_output_enable_audio_output(cdecklink_output_t *obj, DecklinkAudioSampleRate sampleRate, DecklinkAudioSampleType sampleType, uint32_t channelCount, DecklinkAudioOutputStreamType streamType);
HRESULT cdecklink_output_disable_audio_output(cdecklink_output_t *obj);
HRESULT cdecklink_output_write_audio_samples_sync(cdecklink_output_t *obj, void * buffer, uint32_t sampleFrameCount, uint32_t * sampleFramesWritten);
HRESULT cdecklink_output_begin_audio_preroll(cdecklink_output_t *obj);
HRESULT cdecklink_output_end_audio_preroll(cdecklink_output_t *obj);
HRESULT cdecklink_output_schedule_audio_samples(cdecklink_output_t *obj, void * buffer, uint32_t sampleFrameCount, DecklinkTimeValue streamTime, DecklinkTimeScale timeScale, uint32_t * sampleFramesWritten);
HRESULT cdecklink_output_get_buffered_audio_sample_frame_count(cdecklink_output_t *obj, uint32_t * bufferedSampleFrameCount);
HRESULT cdecklink_output_flush_buffered_audio_samples(cdecklink_output_t *obj);
HRESULT cdecklink_output_set_audio_callback(cdecklink_output_t *obj, void *ctx, cdecklink_audio_output_callback_render_audio_samples* cb0);
HRESULT cdecklink_output_start_scheduled_playback(cdecklink_output_t *obj, DecklinkTimeValue playbackStartTime, DecklinkTimeScale timeScale, double playbackSpeed);
HRESULT cdecklink_output_stop_scheduled_playback(cdecklink_output_t *obj, DecklinkTimeValue stopPlaybackAtTime, DecklinkTimeValue * actualStopTime, DecklinkTimeScale timeScale);
HRESULT cdecklink_output_is_scheduled_playback_running(cdecklink_output_t *obj, bool * active);
HRESULT cdecklink_output_get_scheduled_stream_time(cdecklink_output_t *obj, DecklinkTimeScale desiredTimeScale, DecklinkTimeValue * streamTime, double * playbackSpeed);
HRESULT cdecklink_output_get_reference_status(cdecklink_output_t *obj, DecklinkReferenceStatus * referenceStatus);
HRESULT cdecklink_output_get_hardware_reference_clock(cdecklink_output_t *obj, DecklinkTimeScale desiredTimeScale, DecklinkTimeValue * hardwareTime, DecklinkTimeValue * timeInFrame, DecklinkTimeValue * ticksPerFrame);
HRESULT cdecklink_output_get_frame_completion_reference_timestamp(cdecklink_output_t *obj, cdecklink_video_frame_t * theFrame, DecklinkTimeScale desiredTimeScale, DecklinkTimeValue * frameCompletionTimestamp);
unsigned long cdecklink_input_add_ref(cdecklink_input_t *obj);
unsigned long cdecklink_input_release(cdecklink_input_t *obj);
HRESULT cdecklink_input_does_support_video_mode(cdecklink_input_t *obj, DecklinkDisplayMode displayMode, DecklinkPixelFormat pixelFormat, DecklinkVideoInputFlags flags, DecklinkDisplayModeSupport * result, cdecklink_display_mode_t ** resultDisplayMode);
HRESULT cdecklink_input_get_display_mode_iterator(cdecklink_input_t *obj, cdecklink_display_mode_iterator_t ** iterator);
HRESULT cdecklink_input_set_screen_preview_callback(cdecklink_input_t *obj, void *ctx, cdecklink_screen_preview_callback_draw_frame* cb0);
HRESULT cdecklink_input_enable_video_input(cdecklink_input_t *obj, DecklinkDisplayMode displayMode, DecklinkPixelFormat pixelFormat, DecklinkVideoInputFlags flags);
HRESULT cdecklink_input_disable_video_input(cdecklink_input_t *obj);
HRESULT cdecklink_input_get_available_video_frame_count(cdecklink_input_t *obj, uint32_t * availableFrameCount);
HRESULT cdecklink_input_set_video_input_frame_memory_allocator(cdecklink_input_t *obj, cdecklink_memory_allocator_t * theAllocator);
HRESULT cdecklink_input_enable_audio_input(cdecklink_input_t *obj, DecklinkAudioSampleRate sampleRate, DecklinkAudioSampleType sampleType, uint32_t channelCount);
HRESULT cdecklink_input_disable_audio_input(cdecklink_input_t *obj);
HRESULT cdecklink_input_get_available_audio_sample_frame_count(cdecklink_input_t *obj, uint32_t * availableSampleFrameCount);
HRESULT cdecklink_input_start_streams(cdecklink_input_t *obj);
HRESULT cdecklink_input_stop_streams(cdecklink_input_t *obj);
HRESULT cdecklink_input_pause_streams(cdecklink_input_t *obj);
HRESULT cdecklink_input_flush_streams(cdecklink_input_t *obj);
HRESULT cdecklink_input_set_callback(cdecklink_input_t *obj, void *ctx, cdecklink_input_callback_video_input_format_changed* cb0, cdecklink_input_callback_video_input_frame_arrived* cb1);
HRESULT cdecklink_input_get_hardware_reference_clock(cdecklink_input_t *obj, DecklinkTimeScale desiredTimeScale, DecklinkTimeValue * hardwareTime, DecklinkTimeValue * timeInFrame, DecklinkTimeValue * ticksPerFrame);
unsigned long cdecklink_encoder_input_add_ref(cdecklink_encoder_input_t *obj);
unsigned long cdecklink_encoder_input_release(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_does_support_video_mode(cdecklink_encoder_input_t *obj, DecklinkDisplayMode displayMode, DecklinkPixelFormat pixelFormat, DecklinkVideoInputFlags flags, DecklinkDisplayModeSupport * result, cdecklink_display_mode_t ** resultDisplayMode);
HRESULT cdecklink_encoder_input_get_display_mode_iterator(cdecklink_encoder_input_t *obj, cdecklink_display_mode_iterator_t ** iterator);
HRESULT cdecklink_encoder_input_enable_video_input(cdecklink_encoder_input_t *obj, DecklinkDisplayMode displayMode, DecklinkPixelFormat pixelFormat, DecklinkVideoInputFlags flags);
HRESULT cdecklink_encoder_input_disable_video_input(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_get_available_packets_count(cdecklink_encoder_input_t *obj, uint32_t * availablePacketsCount);
HRESULT cdecklink_encoder_input_set_memory_allocator(cdecklink_encoder_input_t *obj, cdecklink_memory_allocator_t * theAllocator);
HRESULT cdecklink_encoder_input_enable_audio_input(cdecklink_encoder_input_t *obj, DecklinkAudioFormat audioFormat, DecklinkAudioSampleRate sampleRate, DecklinkAudioSampleType sampleType, uint32_t channelCount);
HRESULT cdecklink_encoder_input_disable_audio_input(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_get_available_audio_sample_frame_count(cdecklink_encoder_input_t *obj, uint32_t * availableSampleFrameCount);
HRESULT cdecklink_encoder_input_start_streams(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_stop_streams(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_pause_streams(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_flush_streams(cdecklink_encoder_input_t *obj);
HRESULT cdecklink_encoder_input_set_callback(cdecklink_encoder_input_t *obj, void *ctx, cdecklink_encoder_input_callback_video_input_signal_changed* cb0, cdecklink_encoder_input_callback_video_packet_arrived* cb1, cdecklink_encoder_input_callback_audio_packet_arrived* cb2);
HRESULT cdecklink_encoder_input_get_hardware_reference_clock(cdecklink_encoder_input_t *obj, DecklinkTimeScale desiredTimeScale, DecklinkTimeValue * hardwareTime, DecklinkTimeValue * timeInFrame, DecklinkTimeValue * ticksPerFrame);
unsigned long cdecklink_video_frame_add_ref(cdecklink_video_frame_t *obj);
unsigned long cdecklink_video_frame_release(cdecklink_video_frame_t *obj);
long cdecklink_video_frame_get_width(cdecklink_video_frame_t *obj);
long cdecklink_video_frame_get_height(cdecklink_video_frame_t *obj);
long cdecklink_video_frame_get_row_bytes(cdecklink_video_frame_t *obj);
DecklinkPixelFormat cdecklink_video_frame_get_pixel_format(cdecklink_video_frame_t *obj);
DecklinkFrameFlags cdecklink_video_frame_get_flags(cdecklink_video_frame_t *obj);
HRESULT cdecklink_video_frame_get_bytes(cdecklink_video_frame_t *obj, void ** buffer);
HRESULT cdecklink_video_frame_get_timecode(cdecklink_video_frame_t *obj, DecklinkTimecodeFormat format, cdecklink_timecode_t ** timecode);
HRESULT cdecklink_video_frame_get_ancillary_data(cdecklink_video_frame_t *obj, cdecklink_video_frame_ancillary_t ** ancillary);
cdecklink_video_frame_t *cdecklink_mutable_video_frame_to_video_frame(cdecklink_mutable_video_frame_t *obj);
unsigned long cdecklink_mutable_video_frame_add_ref(cdecklink_mutable_video_frame_t *obj);
unsigned long cdecklink_mutable_video_frame_release(cdecklink_mutable_video_frame_t *obj);
HRESULT cdecklink_mutable_video_frame_set_flags(cdecklink_mutable_video_frame_t *obj, DecklinkFrameFlags newFlags);
HRESULT cdecklink_mutable_video_frame_set_timecode(cdecklink_mutable_video_frame_t *obj, DecklinkTimecodeFormat format, cdecklink_timecode_t * timecode);
HRESULT cdecklink_mutable_video_frame_set_timecode_from_components(cdecklink_mutable_video_frame_t *obj, DecklinkTimecodeFormat format, uint8_t hours, uint8_t minutes, uint8_t seconds, uint8_t frames, DecklinkTimecodeFlags flags);
HRESULT cdecklink_mutable_video_frame_set_ancillary_data(cdecklink_mutable_video_frame_t *obj, cdecklink_video_frame_ancillary_t * ancillary);
HRESULT cdecklink_mutable_video_frame_set_timecode_user_bits(cdecklink_mutable_video_frame_t *obj, DecklinkTimecodeFormat format, DecklinkTimecodeUserBits userBits);
unsigned long cdecklink_video_frame3_d_extensions_add_ref(cdecklink_video_frame3_d_extensions_t *obj);
unsigned long cdecklink_video_frame3_d_extensions_release(cdecklink_video_frame3_d_extensions_t *obj);
DecklinkVideo3DPackingFormat cdecklink_video_frame3_d_extensions_get3_d_packing_format(cdecklink_video_frame3_d_extensions_t *obj);
HRESULT cdecklink_video_frame3_d_extensions_get_frame_for_right_eye(cdecklink_video_frame3_d_extensions_t *obj, cdecklink_video_frame_t ** rightEyeFrame);
unsigned long cdecklink_video_frame_metadata_extensions_add_ref(cdecklink_video_frame_metadata_extensions_t *obj);
unsigned long cdecklink_video_frame_metadata_extensions_release(cdecklink_video_frame_metadata_extensions_t *obj);
HRESULT cdecklink_video_frame_metadata_extensions_get_int(cdecklink_video_frame_metadata_extensions_t *obj, DecklinkFrameMetadataID metadataID, int64_t * value);
HRESULT cdecklink_video_frame_metadata_extensions_get_float(cdecklink_video_frame_metadata_extensions_t *obj, DecklinkFrameMetadataID metadataID, double * value);
HRESULT cdecklink_video_frame_metadata_extensions_get_flag(cdecklink_video_frame_metadata_extensions_t *obj, DecklinkFrameMetadataID metadataID, bool * value);
HRESULT cdecklink_video_frame_metadata_extensions_get_string(cdecklink_video_frame_metadata_extensions_t *obj, DecklinkFrameMetadataID metadataID, const char ** value);
cdecklink_video_frame_t *cdecklink_video_input_frame_to_video_frame(cdecklink_video_input_frame_t *obj);
unsigned long cdecklink_video_input_frame_add_ref(cdecklink_video_input_frame_t *obj);
unsigned long cdecklink_video_input_frame_release(cdecklink_video_input_frame_t *obj);
HRESULT cdecklink_video_input_frame_get_stream_time(cdecklink_video_input_frame_t *obj, DecklinkTimeValue * frameTime, DecklinkTimeValue * frameDuration, DecklinkTimeScale timeScale);
HRESULT cdecklink_video_input_frame_get_hardware_reference_timestamp(cdecklink_video_input_frame_t *obj, DecklinkTimeScale timeScale, DecklinkTimeValue * frameTime, DecklinkTimeValue * frameDuration);
unsigned long cdecklink_video_frame_ancillary_add_ref(cdecklink_video_frame_ancillary_t *obj);
unsigned long cdecklink_video_frame_ancillary_release(cdecklink_video_frame_ancillary_t *obj);
HRESULT cdecklink_video_frame_ancillary_get_buffer_for_vertical_blanking_line(cdecklink_video_frame_ancillary_t *obj, uint32_t lineNumber, void ** buffer);
DecklinkPixelFormat cdecklink_video_frame_ancillary_get_pixel_format(cdecklink_video_frame_ancillary_t *obj);
DecklinkDisplayMode cdecklink_video_frame_ancillary_get_display_mode(cdecklink_video_frame_ancillary_t *obj);
unsigned long cdecklink_encoder_packet_add_ref(cdecklink_encoder_packet_t *obj);
unsigned long cdecklink_encoder_packet_release(cdecklink_encoder_packet_t *obj);
HRESULT cdecklink_encoder_packet_get_bytes(cdecklink_encoder_packet_t *obj, void ** buffer);
long cdecklink_encoder_packet_get_size(cdecklink_encoder_packet_t *obj);
HRESULT cdecklink_encoder_packet_get_stream_time(cdecklink_encoder_packet_t *obj, DecklinkTimeValue * frameTime, DecklinkTimeScale timeScale);
DecklinkPacketType cdecklink_encoder_packet_get_packet_type(cdecklink_encoder_packet_t *obj);
cdecklink_encoder_packet_t *cdecklink_encoder_video_packet_to_encoder_packet(cdecklink_encoder_video_packet_t *obj);
unsigned long cdecklink_encoder_video_packet_add_ref(cdecklink_encoder_video_packet_t *obj);
unsigned long cdecklink_encoder_video_packet_release(cdecklink_encoder_video_packet_t *obj);
DecklinkPixelFormat cdecklink_encoder_video_packet_get_pixel_format(cdecklink_encoder_video_packet_t *obj);
HRESULT cdecklink_encoder_video_packet_get_hardware_reference_timestamp(cdecklink_encoder_video_packet_t *obj, DecklinkTimeScale timeScale, DecklinkTimeValue * frameTime, DecklinkTimeValue * frameDuration);
HRESULT cdecklink_encoder_video_packet_get_timecode(cdecklink_encoder_video_packet_t *obj, DecklinkTimecodeFormat format, cdecklink_timecode_t ** timecode);
cdecklink_encoder_packet_t *cdecklink_encoder_audio_packet_to_encoder_packet(cdecklink_encoder_audio_packet_t *obj);
unsigned long cdecklink_encoder_audio_packet_add_ref(cdecklink_encoder_audio_packet_t *obj);
unsigned long cdecklink_encoder_audio_packet_release(cdecklink_encoder_audio_packet_t *obj);
DecklinkAudioFormat cdecklink_encoder_audio_packet_get_audio_format(cdecklink_encoder_audio_packet_t *obj);
cdecklink_encoder_video_packet_t *cdecklink_h265nal_packet_to_encoder_video_packet(cdecklink_h265nal_packet_t *obj);
unsigned long cdecklink_h265nal_packet_add_ref(cdecklink_h265nal_packet_t *obj);
unsigned long cdecklink_h265nal_packet_release(cdecklink_h265nal_packet_t *obj);
HRESULT cdecklink_h265nal_packet_get_unit_type(cdecklink_h265nal_packet_t *obj, uint8_t * unitType);
HRESULT cdecklink_h265nal_packet_get_bytes_no_prefix(cdecklink_h265nal_packet_t *obj, void ** buffer);
long cdecklink_h265nal_packet_get_size_no_prefix(cdecklink_h265nal_packet_t *obj);
unsigned long cdecklink_audio_input_packet_add_ref(cdecklink_audio_input_packet_t *obj);
unsigned long cdecklink_audio_input_packet_release(cdecklink_audio_input_packet_t *obj);
long cdecklink_audio_input_packet_get_sample_frame_count(cdecklink_audio_input_packet_t *obj);
HRESULT cdecklink_audio_input_packet_get_bytes(cdecklink_audio_input_packet_t *obj, void ** buffer);
HRESULT cdecklink_audio_input_packet_get_packet_time(cdecklink_audio_input_packet_t *obj, DecklinkTimeValue * packetTime, DecklinkTimeScale timeScale);
unsigned long cdecklink_gl_screen_preview_helper_add_ref(cdecklink_gl_screen_preview_helper_t *obj);
unsigned long cdecklink_gl_screen_preview_helper_release(cdecklink_gl_screen_preview_helper_t *obj);
HRESULT cdecklink_gl_screen_preview_helper_initialize_gl(cdecklink_gl_screen_preview_helper_t *obj);
HRESULT cdecklink_gl_screen_preview_helper_paint_gl(cdecklink_gl_screen_preview_helper_t *obj);
HRESULT cdecklink_gl_screen_preview_helper_set_frame(cdecklink_gl_screen_preview_helper_t *obj, cdecklink_video_frame_t * theFrame);
HRESULT cdecklink_gl_screen_preview_helper_set3_d_preview_format(cdecklink_gl_screen_preview_helper_t *obj, Decklink3DPreviewFormat previewFormat);
unsigned long cdecklink_notification_add_ref(cdecklink_notification_t *obj);
unsigned long cdecklink_notification_release(cdecklink_notification_t *obj);
unsigned long cdecklink_attributes_add_ref(cdecklink_attributes_t *obj);
unsigned long cdecklink_attributes_release(cdecklink_attributes_t *obj);
HRESULT cdecklink_attributes_get_flag(cdecklink_attributes_t *obj, DecklinkAttributeID cfgID, bool * value);
HRESULT cdecklink_attributes_get_int(cdecklink_attributes_t *obj, DecklinkAttributeID cfgID, int64_t * value);
HRESULT cdecklink_attributes_get_float(cdecklink_attributes_t *obj, DecklinkAttributeID cfgID, double * value);
HRESULT cdecklink_attributes_get_string(cdecklink_attributes_t *obj, DecklinkAttributeID cfgID, const char ** value);
unsigned long cdecklink_status_add_ref(cdecklink_status_t *obj);
unsigned long cdecklink_status_release(cdecklink_status_t *obj);
HRESULT cdecklink_status_get_flag(cdecklink_status_t *obj, DecklinkStatusID statusID, bool * value);
HRESULT cdecklink_status_get_int(cdecklink_status_t *obj, DecklinkStatusID statusID, int64_t * value);
HRESULT cdecklink_status_get_float(cdecklink_status_t *obj, DecklinkStatusID statusID, double * value);
HRESULT cdecklink_status_get_string(cdecklink_status_t *obj, DecklinkStatusID statusID, const char ** value);
HRESULT cdecklink_status_get_bytes(cdecklink_status_t *obj, DecklinkStatusID statusID, void * buffer, uint32_t * bufferSize);
unsigned long cdecklink_keyer_add_ref(cdecklink_keyer_t *obj);
unsigned long cdecklink_keyer_release(cdecklink_keyer_t *obj);
HRESULT cdecklink_keyer_enable(cdecklink_keyer_t *obj, bool isExternal);
HRESULT cdecklink_keyer_set_level(cdecklink_keyer_t *obj, uint8_t level);
HRESULT cdecklink_keyer_ramp_up(cdecklink_keyer_t *obj, uint32_t numberOfFrames);
HRESULT cdecklink_keyer_ramp_down(cdecklink_keyer_t *obj, uint32_t numberOfFrames);
HRESULT cdecklink_keyer_disable(cdecklink_keyer_t *obj);
unsigned long cdecklink_video_conversion_add_ref(cdecklink_video_conversion_t *obj);
unsigned long cdecklink_video_conversion_release(cdecklink_video_conversion_t *obj);
HRESULT cdecklink_video_conversion_convert_frame(cdecklink_video_conversion_t *obj, cdecklink_video_frame_t * srcFrame, cdecklink_video_frame_t * dstFrame);
unsigned long cdecklink_discovery_add_ref(cdecklink_discovery_t *obj);
unsigned long cdecklink_discovery_release(cdecklink_discovery_t *obj);
HRESULT cdecklink_discovery_install_device_notifications(cdecklink_discovery_t *obj, void *ctx, cdecklink_device_notification_callback_deck_link_device_arrived* cb0, cdecklink_device_notification_callback_deck_link_device_removed* cb1);
HRESULT cdecklink_discovery_uninstall_device_notifications(cdecklink_discovery_t *obj);
cdecklink_iterator_t * cdecklink_create_decklink_iterator_instance();
cdecklink_discovery_t * cdecklink_create_decklink_discovery_instance();
cdecklink_api_information_t * cdecklink_create_decklink_api_information_instance();
cdecklink_gl_screen_preview_helper_t * cdecklink_create_open_gl_screen_preview_helper();
cdecklink_video_conversion_t * cdecklink_create_video_conversion_instance();
HRESULT cdecklink_device_query_output(cdecklink_device_t *obj, cdecklink_output_t **dst);
HRESULT cdecklink_device_query_input(cdecklink_device_t *obj, cdecklink_input_t **dst);
HRESULT cdecklink_device_query_encoder_input(cdecklink_device_t *obj, cdecklink_encoder_input_t **dst);
HRESULT cdecklink_video_frame_query_video_frame_ancillary(cdecklink_video_frame_t *obj, cdecklink_video_frame_ancillary_t **dst);
HRESULT cdecklink_encoder_video_packet_query_h265nal_packet(cdecklink_encoder_video_packet_t *obj, cdecklink_h265nal_packet_t **dst);
#ifdef __cplusplus
};
#endif
#endif