MWCapture SDK Linux  3.3.1.LAST_SVN_COMMIT_NUM
MWSMPTE.h
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2016 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 enum _ST352_STANDARD {
14  ST352_STANDARD_483_576_270M_360M = 0x1,
15  ST352_STANDARD_720P_1_5G = 0x4,
16  ST352_STANDARD_1080_1_5G = 0x5,
17  ST352_STANDARD_1080_DL_1_5G = 0x7,
18  ST352_STANDARD_720P_3G = 0x8,
19  ST352_STANDARD_1080_3G = 0x9,
20  ST352_STANDARD_DL_3G = 0xA,
21  ST352_STANDARD_720P_DS_3G = 0xB,
22  ST352_STANDARD_1080_DS_3G = 0xC,
23  ST352_STANDARD_483_576_DS_3G = 0xD,
24  ST352_STANDARD_6G_MODE1 = 0x40,
25  ST352_STANDARD_6G_MODE2 = 0x41
26 };
27 
28 typedef int32_t ST352_STANDARD;
29 
30 enum _SDI_BIT_DEPTH {
31  SDI_BIT_DEPTH_8BIT = 0,
32  SDI_BIT_DEPTH_10BIT = 1,
33  SDI_BIT_DEPTH_12BIT = 2
34 };
35 
36 typedef int32_t SDI_BIT_DEPTH;
37 
38 enum _SDI_DYNAMIC_RANGE {
39  SDI_DYNAMIC_RANGE_100_PERCENT = 0,
40  SDI_DYNAMIC_RANGE_200_PERCENT = 1,
41  SDI_DYNAMIC_RANGE_400_PERCENT = 2
42 };
43 
44 typedef int32_t SDI_DYNAMIC_RANGE;
45 
46 static const uint32_t g_adwFrameDuration[] = {
47  0, // 0, Not defined
48  0, // 1, Reserved
49  417083, // 2, 24/1.001fps
50  416667, // 3, 24fps
51  208542, // 4, 48/1.001fps
52  400000, // 5, 25fps
53  333667, // 6, 30/1.001fps
54  333333, // 7, 30fps
55  208333, // 8, 48fps
56  200000, // 9, 50fps
57  166833, // A, 60/1.001fps
58  166667, // B, 60fps
59  104167, // C, 96fps
60  100000, // D, 100fps
61  83417, // E, 120/1.001 fps
62  83333 // F, 120fps
63 };
64 
65 typedef union _SMPTE_ST352_PAYLOAD_ID {
66  uint32_t dwData;
67 
68  struct {
69  uint8_t byStandard : 7; // ST352_STANDARD
70  uint8_t byVersion : 1; // Must be 1
71 
72  uint8_t byPictureRate : 4; // g_adwFrameDuration
73  uint8_t byReserved1 : 2;
74  uint8_t byProgressivePicture : 1;
75  uint8_t 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
76 
77  uint8_t bySamplingStruct : 4; // SDI_SAMPLING_STRUCT
78  uint8_t byColorimetry : 2; // Valid for ST352_STANDARD_6G_MODE1, ST352_STANDARD_6G_MODE2
79  uint8_t byHorzYSampling : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G, ST352_STANDARD_1080_3G
80  uint8_t byImageAspectRatio : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G
81 
82  uint8_t byBitDepth : 2;
83  uint8_t byReserved3 : 1;
84  uint8_t byDynamicRange : 2; // Valid for ST352_STANDARD_1080_DL_1_5G, ST352_STANDARD_720P_3G, ST352_STANDARD_1080_3G
85  uint8_t byReserved4 : 1;
86  uint8_t byChannelAssignment : 1; // Valid for ST352_STANDARD_1080_DL_1_5G
87  uint8_t byReserved5 : 1;
88  } V1;
90 
91 #pragma pack(pop)
Definition: MWSMPTE.h:65