obs-studio/build_dependencies/aja/include/ajalibraries/ajantv2/includes/ntv2m31enums.h
Ward Nakchbandi b48576284b first commit
2023-03-04 20:33:16 +03:00

372 lines
9.0 KiB
C

/* SPDX-License-Identifier: MIT */
/**
@file ntv2m31enums.h
@brief Enumerations for controlling NTV2 devices with m31 HEVC encoders.
@copyright (C) 2015-2021 AJA Video Systems, Inc. All rights reserved.
**/
#ifndef NTV2M31ENUMS_H
#define NTV2M31ENUMS_H
typedef enum
{
// File presets
M31_FILE_720X480_420_8_5994i, // 0
M31_FILE_720X480_420_8_5994p, // 1
M31_FILE_720X480_420_8_60i, // 2
M31_FILE_720X480_420_8_60p, // 3
M31_FILE_720X480_422_10_5994i, // 4
M31_FILE_720X480_422_10_5994p, // 5
M31_FILE_720X480_422_10_60i, // 6
M31_FILE_720X480_422_10_60p, // 7
M31_FILE_720X576_420_8_50i, // 8
M31_FILE_720X576_420_8_50p, // 9
M31_FILE_720X576_422_10_50i, // 10
M31_FILE_720X576_422_10_50p, // 11
M31_FILE_1280X720_420_8_2398p, // 12
M31_FILE_1280X720_420_8_24p, // 13
M31_FILE_1280X720_420_8_25p, // 14
M31_FILE_1280X720_420_8_2997p, // 15
M31_FILE_1280X720_420_8_30p, // 16
M31_FILE_1280X720_420_8_50p, // 17
M31_FILE_1280X720_420_8_5994p, // 18
M31_FILE_1280X720_420_8_60p, // 19
M31_FILE_1280X720_422_10_2398p, // 20
M31_FILE_1280X720_422_10_24p, // 21
M31_FILE_1280X720_422_10_25p, // 22
M31_FILE_1280X720_422_10_2997p, // 23
M31_FILE_1280X720_422_10_30p, // 24
M31_FILE_1280X720_422_10_50p, // 25
M31_FILE_1280X720_422_10_5994p, // 26
M31_FILE_1280X720_422_10_60p, // 27
M31_FILE_1920X1080_420_8_2398p, // 28
M31_FILE_1920X1080_420_8_24p, // 29
M31_FILE_1920X1080_420_8_25p, // 30
M31_FILE_1920X1080_420_8_2997p, // 31
M31_FILE_1920X1080_420_8_30p, // 32
M31_FILE_1920X1080_420_8_50i, // 33
M31_FILE_1920X1080_420_8_50p, // 34
M31_FILE_1920X1080_420_8_5994i, // 35
M31_FILE_1920X1080_420_8_5994p, // 36
M31_FILE_1920X1080_420_8_60i, // 37
M31_FILE_1920X1080_420_8_60p, // 38
M31_FILE_1920X1080_422_10_2398p, // 39
M31_FILE_1920X1080_422_10_24p, // 40
M31_FILE_1920X1080_422_10_25p, // 41
M31_FILE_1920X1080_422_10_2997p, // 42
M31_FILE_1920X1080_422_10_30p, // 43
M31_FILE_1920X1080_422_10_50i, // 44
M31_FILE_1920X1080_422_10_50p, // 45
M31_FILE_1920X1080_422_10_5994i, // 46
M31_FILE_1920X1080_422_10_5994p, // 47
M31_FILE_1920X1080_422_10_60i, // 48
M31_FILE_1920X1080_422_10_60p, // 49
M31_FILE_2048X1080_420_8_2398p, // 50
M31_FILE_2048X1080_420_8_24p, // 51
M31_FILE_2048X1080_420_8_25p, // 52
M31_FILE_2048X1080_420_8_2997p, // 53
M31_FILE_2048X1080_420_8_30p, // 54
M31_FILE_2048X1080_420_8_50p, // 55
M31_FILE_2048X1080_420_8_5994p, // 56
M31_FILE_2048X1080_420_8_60p, // 57
M31_FILE_2048X1080_422_10_2398p, // 58
M31_FILE_2048X1080_422_10_24p, // 59
M31_FILE_2048X1080_422_10_25p, // 60
M31_FILE_2048X1080_422_10_2997p, // 61
M31_FILE_2048X1080_422_10_30p, // 62
M31_FILE_2048X1080_422_10_50p, // 63
M31_FILE_2048X1080_422_10_5994p, // 64
M31_FILE_2048X1080_422_10_60p, // 65
M31_FILE_3840X2160_420_8_2398p, // 66
M31_FILE_3840X2160_420_8_24p, // 67
M31_FILE_3840X2160_420_8_25p, // 68
M31_FILE_3840X2160_420_8_2997p, // 69
M31_FILE_3840X2160_420_8_30p, // 70
M31_FILE_3840X2160_420_8_50p, // 71
M31_FILE_3840X2160_420_8_5994p, // 72
M31_FILE_3840X2160_420_8_60p, // 73
M31_FILE_3840X2160_420_10_50p, // 74
M31_FILE_3840X2160_420_10_5994p, // 75
M31_FILE_3840X2160_420_10_60p, // 76
M31_FILE_3840X2160_422_8_2398p, // 77
M31_FILE_3840X2160_422_8_24p, // 78
M31_FILE_3840X2160_422_8_25p, // 79
M31_FILE_3840X2160_422_8_2997p, // 80
M31_FILE_3840X2160_422_8_30p, // 81
M31_FILE_3840X2160_422_8_50p, // 82
M31_FILE_3840X2160_422_8_5994p, // 83
M31_FILE_3840X2160_422_8_60p, // 84
M31_FILE_3840X2160_422_10_2398p, // 85
M31_FILE_3840X2160_422_10_24p, // 86
M31_FILE_3840X2160_422_10_25p, // 87
M31_FILE_3840X2160_422_10_2997p, // 88
M31_FILE_3840X2160_422_10_30p, // 89
M31_FILE_3840X2160_422_10_50p, // 90
M31_FILE_3840X2160_422_10_5994p, // 91
M31_FILE_3840X2160_422_10_60p, // 92
M31_FILE_4096X2160_420_10_5994p, // 93
M31_FILE_4096X2160_420_10_60p, // 94
M31_FILE_4096X2160_422_10_50p, // 95
M31_FILE_4096X2160_422_10_5994p_IF, // 96
M31_FILE_4096X2160_422_10_60p_IF, // 97
// Vif presets
M31_VIF_720X480_420_8_5994i, // 98
M31_VIF_720X480_420_8_5994p, // 99
M31_VIF_720X480_420_8_60i, // 100
M31_VIF_720X480_420_8_60p, // 101
M31_VIF_720X480_422_10_5994i, // 102
M31_VIF_720X480_422_10_5994p, // 103
M31_VIF_720X480_422_10_60i, // 104
M31_VIF_720X480_422_10_60p, // 105
M31_VIF_720X576_420_8_50i, // 106
M31_VIF_720X576_420_8_50p, // 107
M31_VIF_720X576_422_10_50i, // 108
M31_VIF_720X576_422_10_50p, // 109
M31_VIF_1280X720_420_8_50p, // 110
M31_VIF_1280X720_420_8_5994p, // 111
M31_VIF_1280X720_420_8_60p, // 112
M31_VIF_1280X720_422_10_50p, // 113
M31_VIF_1280X720_422_10_5994p, // 114
M31_VIF_1280X720_422_10_60p, // 115
M31_VIF_1920X1080_420_8_50i, // 116
M31_VIF_1920X1080_420_8_50p, // 117
M31_VIF_1920X1080_420_8_5994i, // 118
M31_VIF_1920X1080_420_8_5994p, // 119
M31_VIF_1920X1080_420_8_60i, // 120
M31_VIF_1920X1080_420_8_60p, // 121
M31_VIF_1920X1080_420_10_50i, // 122
M31_VIF_1920X1080_420_10_50p, // 123
M31_VIF_1920X1080_420_10_5994i, // 124
M31_VIF_1920X1080_420_10_5994p, // 125
M31_VIF_1920X1080_420_10_60i, // 126
M31_VIF_1920X1080_420_10_60p, // 127
M31_VIF_1920X1080_422_10_5994i, // 128
M31_VIF_1920X1080_422_10_5994p, // 129
M31_VIF_1920X1080_422_10_60i, // 130
M31_VIF_1920X1080_422_10_60p, // 131
M31_VIF_3840X2160_420_8_30p, // 132
M31_VIF_3840X2160_420_8_50p, // 133
M31_VIF_3840X2160_420_8_5994p, // 134
M31_VIF_3840X2160_420_8_60p, // 135
M31_VIF_3840X2160_420_10_50p, // 136
M31_VIF_3840X2160_420_10_5994p, // 137
M31_VIF_3840X2160_420_10_60p, // 138
M31_VIF_3840X2160_422_10_30p, // 139
M31_VIF_3840X2160_422_10_50p, // 140
M31_VIF_3840X2160_422_10_5994p, // 141
M31_VIF_3840X2160_422_10_60p, // 142
M31_NUMVIDEOPRESETS
} M31VideoPreset;
#define IS_VALID_M31VideoPreset(__s__) ((__s__) >= M31_FILE_720X480_420_8_5994i && (__s__) < M31_NUMVIDEOPRESETS)
typedef enum
{
M31_VIRTUAL_CH0,
M31_VIRTUAL_CH1,
M31_VIRTUAL_CH2,
M31_VIRTUAL_CH3,
M31_VIRTUAL_CH4,
M31_VIRTUAL_CH5,
M31_VIRTUAL_CH6,
M31_VIRTUAL_CH7,
M31_VIRTUAL_CH8,
M31_VIRTUAL_CH9,
M31_VIRTUAL_CH10,
M31_VIRTUAL_CH11,
M31_VIRTUAL_CH12,
M31_VIRTUAL_CH13,
M31_VIRTUAL_CH14,
M31_VIRTUAL_CH15,
M31_VIRTUAL_CH16,
M31_VIRTUAL_CH17,
M31_VIRTUAL_CH18,
M31_VIRTUAL_CH19,
M31_VIRTUAL_CH20,
M31_VIRTUAL_CH21,
M31_VIRTUAL_CH22,
M31_VIRTUAL_CH23,
M31_VIRTUAL_CH24,
M31_VIRTUAL_CH25,
M31_VIRTUAL_CH26,
M31_VIRTUAL_CH27,
M31_VIRTUAL_CH28,
M31_VIRTUAL_CH29,
M31_VIRTUAL_CH30,
M31_VIRTUAL_CH31
} M31VirtualChannel;
#define IS_VALID_M31VirtualChannel(__s__) ((__s__) >= M31_VIRTUAL_CH0 && (__s__) <= M31_VIRTUAL_CH31)
typedef enum
{
M31_CH0,
M31_CH1,
M31_CH2,
M31_CH3
} M31Channel;
#define IS_VALID_M31Channel(__s__) ((__s__) >= M31_CH0 && (__s__) <= M31_CH3)
typedef enum
{
M31_1920X1080i = 0, // SMPTE274M
M31_1280X720p = 2, // SMPTE296M-2001
M31_720X480i = 4, // ITU-R BT.656.4
M31_720X576i = 5, // ITU-R BT.656.4
M31_720X480p = 8, // SMPTE293M
M31_720X576p = 9, // ITU-REC1358
M31_1920X1080p = 30, // SMPTE274M
M31_3840X2160_SMPTE435M = 50, // Square Division
M31_3840X2160_SMPTE274M = 51, // 2-Sample Interleave
M31_ARBITRARY_RESOLUTION = 255 // 2-Sample Interleave
} M31VideoFormat;
typedef enum
{
M31_READCC,
M31_SETCC,
M31_WRITECCPLUS,
M31_READCCPLUS,
M31_PUSH
} M31CC;
typedef enum
{
M31_NOTUSE,
M31_4K2K,
M31_FULLHD,
M31_HD,
M31_SD
} M31ResoType;
#define IS_VALID_M31ResoType(__s__) ((__s__) >= M31_NOTUSE && (__s__) <= M31_SD)
typedef enum
{
M31_YCSeparate,
M31_YCMultiplex
} M31YCMode;
typedef enum
{
M31_RobustModeStop,
M31_RobustModeBlue,
M31_RobustModeColor
} M31RobustMode;
typedef enum
{
M31_Slave,
M31_Master
} M31SyncMasterMode;
typedef enum
{
M31_DefaultPort = 0,
M31_PortA = 1,
M31_PortB = 2,
M31_PortC = 4,
M31_PortD = 8
} M31InputPort;
typedef enum
{
M31_SourceVI,
M31_SourceVEI
} M31SourceVI;
typedef enum
{
M31_SourceVA,
M31_SourceVAReserved
} M31SourceVA;
typedef enum
{
M31_ChromaMono,
M31_Chroma420,
M31_Chroma422
} M31ChromaFormat;
typedef enum
{
M31_BitDepth8 = 8,
M31_BitDepth9 = 9,
M31_BitDepth10 = 10
} M31BitDepth;
typedef enum
{
M31_PTSModeAuto,
M31_PTSModeHost
} M31PTSMode;
typedef enum
{
M31_Progressive,
M31_Interlace
} M31ScanMode;
typedef enum
{
M31_EncodeModeDefault,
M31_EncodeModeMode1,
M31_EncodeModeMode2
} M31EncodeMode;
typedef enum
{
M31_ProfileMain = 1,
M31_ProfileMain10 = 2,
M31_ProfileMainSP = 3,
M31_Profile422 = 4
} M31Profile;
typedef enum
{
M31_MainTier,
M31_HighTier
} M31Tier;
typedef enum
{
M31_FrameRateUD = 0,
M31_FrameRate2398 = 1,
M31_FrameRate24 = 2,
M31_FrameRate25 = 3,
M31_FrameRate2997 = 4,
M31_FrameRate30 = 5,
M31_FrameRate50 = 6,
M31_FrameRate5994 = 7,
M31_FrameRate60 = 8
} M31FrameRate;
#endif //NTV2M31ENUMS_H