My Project
 All Classes
MWSMPTE.h
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 typedef enum _SDI_TYPE {
14  SDI_TYPE_SD,
15  SDI_TYPE_HD,
16  SDI_TYPE_3GA,
17  SDI_TYPE_3GB_DL,
18  SDI_TYPE_3GB_DS,
19  SDI_TYPE_DL_CH1,
20  SDI_TYPE_DL_CH2,
21  SDI_TYPE_6G_MODE1,
22  SDI_TYPE_6G_MODE2
23 } SDI_TYPE;
24 
25 typedef enum _SDI_SCANNING_FORMAT {
26  SDI_SCANING_INTERLACED = 0,
27  SDI_SCANING_SEGMENTED_FRAME = 1,
28  SDI_SCANING_PROGRESSIVE = 3
29 } SDI_SCANNING_FORMAT;
30 
31 typedef enum _ST352_STANDARD {
32  ST352_STANDARD_483_576_270M_360M = 0x1,
33  ST352_STANDARD_720P_1_5G = 0x4,
34  ST352_STANDARD_1080_1_5G = 0x5,
35  ST352_STANDARD_1080_DL_1_5G = 0x7,
36  ST352_STANDARD_720P_3G = 0x8,
37  ST352_STANDARD_1080_3G = 0x9,
38  ST352_STANDARD_DL_3G = 0xA,
39  ST352_STANDARD_720P_DS_3G = 0xB,
40  ST352_STANDARD_1080_DS_3G = 0xC,
41  ST352_STANDARD_483_576_DS_3G = 0xD,
42  ST352_STANDARD_6G_MODE1 = 0x40,
43  ST352_STANDARD_6G_MODE2 = 0x41
44 } ST352_STANDARD;
45 
46 typedef enum _SDI_BIT_DEPTH {
47  SDI_BIT_DEPTH_8BIT = 0,
48  SDI_BIT_DEPTH_10BIT = 1,
49  SDI_BIT_DEPTH_12BIT = 2
50 } SDI_BIT_DEPTH;
51 
52 typedef enum _SDI_SAMPLING_STRUCT {
53  SDI_SAMPLING_422_YCbCr = 0x00,
54  SDI_SAMPLING_444_YCbCr = 0x01,
55  SDI_SAMPLING_444_RGB = 0x02,
56  SDI_SAMPLING_420_YCbCr = 0x03,
57  SDI_SAMPLING_4224_YCbCrA = 0x04,
58  SDI_SAMPLING_4444_YCbCrA = 0x05,
59  SDI_SAMPLING_4444_RGBA = 0x06,
60  SDI_SAMPLING_4224_YCbCrD = 0x08,
61  SDI_SAMPLING_4444_YCbCrD = 0x09,
62  SDI_SAMPLING_4444_RGBD = 0x0A,
63  SDI_SAMPLING_444_XYZ = 0x0E
64 } SDI_SAMPLING_STRUCT;
65 
66 typedef enum _SDI_DYNAMIC_RANGE {
67  SDI_DYNAMIC_RANGE_100_PERCENT = 0,
68  SDI_DYNAMIC_RANGE_200_PERCENT = 1,
69  SDI_DYNAMIC_RANGE_400_PERCENT = 2
70 } SDI_DYNAMIC_RANGE;
71 
72 static const DWORD g_adwFrameDuration[] = {
73  0, // 0, Not defined
74  0, // 1, Reserved
75  417083, // 2, 24/1.001fps
76  416667, // 3, 24fps
77  208542, // 4, 48/1.001fps
78  400000, // 5, 25fps
79  333667, // 6, 30/1.001fps
80  333333, // 7, 30fps
81  208333, // 8, 48fps
82  200000, // 9, 50fps
83  166833, // A, 60/1.001fps
84  166667, // B, 60fps
85  104167, // C, 96fps
86  100000, // D, 100fps
87  83417, // E, 120/1.001 fps
88  83333 // F, 120fps
89 };
90 
91 typedef union _SMPTE_ST352_PAYLOAD_ID {
92  DWORD dwData;
93 
94  struct {
95  BYTE byStandard : 7; // ST352_STANDARD
96  BYTE byVersion : 1; // Must be 1
97 
98  BYTE byPictureRate : 4; // g_adwFrameDuration
99  BYTE byReserved1 : 2;
100  BYTE byProgressivePicture : 1;
101  BYTE byProgressiveTransport : 1; // Not valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_720P_1_5G, ST352_STANDARD_720P_DS_3G, ST352_STANDARD_483_576_DS_3G
102 
103  BYTE bySamplingStruct : 4; // SDI_SAMPLING_STRUCT
104  BYTE byColorimetry : 2; // Valid for ST352_STANDARD_6G_MODE1, ST352_STANDARD_6G_MODE2
105  BYTE byHorzYSampling : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G, ST352_STANDARD_1080_3G
106  BYTE byImageAspectRatio : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G
107 
108  BYTE byBitDepth : 2;
109  BYTE byReserved3 : 1;
110  BYTE byDynamicRange : 2; // Valid for ST352_STANDARD_1080_DL_1_5G, ST352_STANDARD_720P_3G, ST352_STANDARD_1080_3G
111  BYTE byReserved4 : 1;
112  BYTE byChannelAssignment : 1; // Valid for ST352_STANDARD_1080_DL_1_5G
113  BYTE byReserved5 : 1;
114  } V1;
116 
117 #pragma pack(pop)
Definition: MWSMPTE.h:91