372 lines
9.0 KiB
C
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
|
|
|