]> git.sesse.net Git - nageru/blobdiff - nageru/decklink/DeckLinkAPIModes.h
Upgrade DeckLink SDK to 10.11.4.
[nageru] / nageru / decklink / DeckLinkAPIModes.h
index c508af7cb39026532303dbc8d1bd73473ca9eab0..543aaa1f7f82d1ab19137c59123e461f0bb01aeb 100644 (file)
@@ -1,5 +1,5 @@
 /* -LICENSE-START-
-** Copyright (c) 2015 Blackmagic Design
+** Copyright (c) 2018 Blackmagic Design
 **
 ** Permission is hereby granted, free of charge, to any person or organization
 ** obtaining a copy of the software and accompanying documentation covered by
     #endif
 #endif
 
+#ifndef BMD_PUBLIC
+       #define BMD_PUBLIC
+#endif
+
 // Type Declarations
 
 
@@ -65,12 +69,12 @@ enum _BMDDisplayMode {
     bmdModeHD1080p25                                             = /* 'Hp25' */ 0x48703235,
     bmdModeHD1080p2997                                           = /* 'Hp29' */ 0x48703239,
     bmdModeHD1080p30                                             = /* 'Hp30' */ 0x48703330,
-    bmdModeHD1080i50                                             = /* 'Hi50' */ 0x48693530,
-    bmdModeHD1080i5994                                           = /* 'Hi59' */ 0x48693539,
-    bmdModeHD1080i6000                                           = /* 'Hi60' */ 0x48693630,    // N.B. This _really_ is 60.00 Hz.
     bmdModeHD1080p50                                             = /* 'Hp50' */ 0x48703530,
     bmdModeHD1080p5994                                           = /* 'Hp59' */ 0x48703539,
     bmdModeHD1080p6000                                           = /* 'Hp60' */ 0x48703630,    // N.B. This _really_ is 60.00 Hz.
+    bmdModeHD1080i50                                             = /* 'Hi50' */ 0x48693530,
+    bmdModeHD1080i5994                                           = /* 'Hi59' */ 0x48693539,
+    bmdModeHD1080i6000                                           = /* 'Hi60' */ 0x48693630,    // N.B. This _really_ is 60.00 Hz.
 
     /* HD 720 Modes */
 
@@ -78,19 +82,24 @@ enum _BMDDisplayMode {
     bmdModeHD720p5994                                            = /* 'hp59' */ 0x68703539,
     bmdModeHD720p60                                              = /* 'hp60' */ 0x68703630,
 
-    /* 2k Modes */
+    /* 2K Modes */
 
     bmdMode2k2398                                                = /* '2k23' */ 0x326B3233,
     bmdMode2k24                                                  = /* '2k24' */ 0x326B3234,
     bmdMode2k25                                                  = /* '2k25' */ 0x326B3235,
 
-    /* DCI Modes (output only) */
+    /* 2K DCI Modes */
 
     bmdMode2kDCI2398                                             = /* '2d23' */ 0x32643233,
     bmdMode2kDCI24                                               = /* '2d24' */ 0x32643234,
     bmdMode2kDCI25                                               = /* '2d25' */ 0x32643235,
+    bmdMode2kDCI2997                                             = /* '2d29' */ 0x32643239,
+    bmdMode2kDCI30                                               = /* '2d30' */ 0x32643330,
+    bmdMode2kDCI50                                               = /* '2d50' */ 0x32643530,
+    bmdMode2kDCI5994                                             = /* '2d59' */ 0x32643539,
+    bmdMode2kDCI60                                               = /* '2d60' */ 0x32643630,
 
-    /* 4k Modes */
+    /* 4K UHD Modes */
 
     bmdMode4K2160p2398                                           = /* '4k23' */ 0x346B3233,
     bmdMode4K2160p24                                             = /* '4k24' */ 0x346B3234,
@@ -101,11 +110,43 @@ enum _BMDDisplayMode {
     bmdMode4K2160p5994                                           = /* '4k59' */ 0x346B3539,
     bmdMode4K2160p60                                             = /* '4k60' */ 0x346B3630,
 
-    /* DCI Modes (output only) */
+    /* 4K DCI Modes */
 
     bmdMode4kDCI2398                                             = /* '4d23' */ 0x34643233,
     bmdMode4kDCI24                                               = /* '4d24' */ 0x34643234,
     bmdMode4kDCI25                                               = /* '4d25' */ 0x34643235,
+    bmdMode4kDCI2997                                             = /* '4d29' */ 0x34643239,
+    bmdMode4kDCI30                                               = /* '4d30' */ 0x34643330,
+    bmdMode4kDCI50                                               = /* '4d50' */ 0x34643530,
+    bmdMode4kDCI5994                                             = /* '4d59' */ 0x34643539,
+    bmdMode4kDCI60                                               = /* '4d60' */ 0x34643630,
+
+    /* 8K UHD Modes */
+
+    bmdMode8K4320p2398                                           = /* '8k23' */ 0x386B3233,
+    bmdMode8K4320p24                                             = /* '8k24' */ 0x386B3234,
+    bmdMode8K4320p25                                             = /* '8k25' */ 0x386B3235,
+    bmdMode8K4320p2997                                           = /* '8k29' */ 0x386B3239,
+    bmdMode8K4320p30                                             = /* '8k30' */ 0x386B3330,
+    bmdMode8K4320p50                                             = /* '8k50' */ 0x386B3530,
+    bmdMode8K4320p5994                                           = /* '8k59' */ 0x386B3539,
+    bmdMode8K4320p60                                             = /* '8k60' */ 0x386B3630,
+
+    /* 8K DCI Modes */
+
+    bmdMode8kDCI2398                                             = /* '8d23' */ 0x38643233,
+    bmdMode8kDCI24                                               = /* '8d24' */ 0x38643234,
+    bmdMode8kDCI25                                               = /* '8d25' */ 0x38643235,
+    bmdMode8kDCI2997                                             = /* '8d29' */ 0x38643239,
+    bmdMode8kDCI30                                               = /* '8d30' */ 0x38643330,
+    bmdMode8kDCI50                                               = /* '8d50' */ 0x38643530,
+    bmdMode8kDCI5994                                             = /* '8d59' */ 0x38643539,
+    bmdMode8kDCI60                                               = /* '8d60' */ 0x38643630,
+
+    /* RAW Modes for Cintel (input only) */
+
+    bmdModeCintelRAW                                             = /* 'rwci' */ 0x72776369,    // Frame size up to 4096x3072, variable frame rate
+    bmdModeCintelCompressedRAW                                   = /* 'rwcc' */ 0x72776363,    // Frame size up to 4096x3072, variable frame rate
 
     /* Special Modes */
 
@@ -136,7 +177,16 @@ enum _BMDPixelFormat {
     bmdFormat12BitRGBLE                                          = /* 'R12L' */ 0x5231324C,    // Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component
     bmdFormat10BitRGBXLE                                         = /* 'R10l' */ 0x5231306C,    // Little-endian 10-bit RGB with SMPTE video levels (64-940)
     bmdFormat10BitRGBX                                           = /* 'R10b' */ 0x52313062,    // Big-endian 10-bit RGB with SMPTE video levels (64-940)
-    bmdFormatH265                                                = /* 'hev1' */ 0x68657631     // High Efficiency Video Coding (HEVC/h.265)
+    bmdFormatH265                                                = /* 'hev1' */ 0x68657631,    // High Efficiency Video Coding (HEVC/h.265)
+
+    /* AVID DNxHR */
+
+    bmdFormatDNxHR                                               = /* 'AVdh' */ 0x41566468,
+
+    /* Cintel formats */
+
+    bmdFormat12BitRAWGRBG                                        = /* 'r12p' */ 0x72313270,    // 12-bit RAW data for bayer pattern GRBG
+    bmdFormat12BitRAWJPEG                                        = /* 'r16p' */ 0x72313670     // 12-bit RAW data arranged in tiles and JPEG compressed
 };
 
 /* Enum BMDDisplayModeFlags - Flags to describe the characteristics of an IDeckLinkDisplayMode. */
@@ -145,7 +195,8 @@ typedef uint32_t BMDDisplayModeFlags;
 enum _BMDDisplayModeFlags {
     bmdDisplayModeSupports3D                                     = 1 << 0,
     bmdDisplayModeColorspaceRec601                               = 1 << 1,
-    bmdDisplayModeColorspaceRec709                               = 1 << 2
+    bmdDisplayModeColorspaceRec709                               = 1 << 2,
+    bmdDisplayModeColorspaceRec2020                              = 1 << 3
 };
 
 // Forward Declarations
@@ -155,7 +206,7 @@ class IDeckLinkDisplayMode;
 
 /* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */
 
-class IDeckLinkDisplayModeIterator : public IUnknown
+class BMD_PUBLIC IDeckLinkDisplayModeIterator : public IUnknown
 {
 public:
     virtual HRESULT Next (/* out */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0;
@@ -166,7 +217,7 @@ protected:
 
 /* Interface IDeckLinkDisplayMode - represents a display mode */
 
-class IDeckLinkDisplayMode : public IUnknown
+class BMD_PUBLIC IDeckLinkDisplayMode : public IUnknown
 {
 public:
     virtual HRESULT GetName (/* out */ const char **name) = 0;