obs-studio/build_dependencies/aja/include/ajadriver/ntv2rp188.h
Ward Nakchbandi b48576284b first commit
2023-03-04 20:33:16 +03:00

70 lines
2.5 KiB
C

/*
* SPDX-License-Identifier: MIT
* Copyright (C) 2004 - 2021 AJA Video Systems, Inc.
*/
////////////////////////////////////////////////////////////
//
// Filename: ntv2rp188.h
// Purpose: Common RP188
//
///////////////////////////////////////////////////////////////
#ifndef NTV2RP188_HEADER
#define NTV2RP188_HEADER
#include "ntv2kona.h"
typedef struct {
RP188_STRUCT TCInOut1;
RP188_STRUCT TCInOut2;
RP188_STRUCT TCInOut3;
RP188_STRUCT TCInOut4;
RP188_STRUCT LTCEmbedded1;
RP188_STRUCT LTCAnalog1;
RP188_STRUCT LTCEmbedded2;
RP188_STRUCT LTCAnalog2;
RP188_STRUCT TCInOut5;
RP188_STRUCT TCInOut6;
RP188_STRUCT TCInOut7;
RP188_STRUCT TCInOut8;
RP188_STRUCT LTCEmbedded3;
RP188_STRUCT LTCEmbedded4;
RP188_STRUCT LTCEmbedded5;
RP188_STRUCT LTCEmbedded6;
RP188_STRUCT LTCEmbedded7;
RP188_STRUCT LTCEmbedded8;
RP188_STRUCT TCInOut1_2;
RP188_STRUCT TCInOut2_2;
RP188_STRUCT TCInOut3_2;
RP188_STRUCT TCInOut4_2;
RP188_STRUCT TCInOut5_2;
RP188_STRUCT TCInOut6_2;
RP188_STRUCT TCInOut7_2;
RP188_STRUCT TCInOut8_2;
} INTERNAL_TIMECODE_STRUCT;
typedef struct {
NTV2SDIInputStatus SDIStatus1;
NTV2SDIInputStatus SDIStatus2;
NTV2SDIInputStatus SDIStatus3;
NTV2SDIInputStatus SDIStatus4;
NTV2SDIInputStatus SDIStatus5;
NTV2SDIInputStatus SDIStatus6;
NTV2SDIInputStatus SDIStatus7;
NTV2SDIInputStatus SDIStatus8;
} INTERNAL_SDI_STATUS_STRUCT;
bool InitRP188(Ntv2SystemContext* context);
extern bool CopyRP188HardwareToFrameStampTCArray(Ntv2SystemContext* context, INTERNAL_TIMECODE_STRUCT* tcStruct);
bool CopyFrameStampTCArrayToHardware(Ntv2SystemContext* context, INTERNAL_TIMECODE_STRUCT* acFrameStampTCArray);
bool CopyNTV2TimeCodeArrayToFrameStampTCArray(INTERNAL_TIMECODE_STRUCT * tcStruct, NTV2_RP188 * pInTCArray, ULWord inMaxBytes);
bool CopyFrameStampTCArrayToNTV2TimeCodeArray(INTERNAL_TIMECODE_STRUCT * tcStruct, NTV2_RP188 * pOutTCArray, ULWord inMaxBytes);
void SetRP188Mode(Ntv2SystemContext* context, NTV2Channel channel, NTV2_RP188Mode value);
bool GetReceivedTCForChannel(Ntv2SystemContext* context, NTV2Channel channel, RP188_STRUCT* LTCIn, RP188_STRUCT* VITC1In, RP188_STRUCT* VITC2In);
bool GetReceivedAnalogLTC(Ntv2SystemContext* context, RP188_STRUCT* LTCAnalog1In, RP188_STRUCT* LTCAnalog2In);
bool CopyFrameStampSDIStatusArrayToNTV2SDIStatusArray(INTERNAL_SDI_STATUS_STRUCT * tcStruct, NTV2SDIInputStatus * pOutTCArray, ULWord inMaxBytes);
bool CopySDIStatusHardwareToFrameStampSDIStatusArray(Ntv2SystemContext* context, INTERNAL_SDI_STATUS_STRUCT* sdiStruct);
bool CopyFrameRP188ToHardware(Ntv2SystemContext* context, RP188_STRUCT* rp188);
#endif