diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPI.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPI.h index 807481466..e113fc38a 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPI.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPI.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 @@ -68,6 +68,7 @@ BMD_CONST REFIID IID_IDeckLinkIterator = /* 50FB36CD- BMD_CONST REFIID IID_IDeckLinkAPIInformation = /* 7BEA3C68-730D-4322-AF34-8A7152B532A4 */ {0x7B,0xEA,0x3C,0x68,0x73,0x0D,0x43,0x22,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4}; BMD_CONST REFIID IID_IDeckLinkOutput = /* CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564 */ {0xCC,0x5C,0x8A,0x6E,0x3F,0x2F,0x4B,0x3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64}; BMD_CONST REFIID IID_IDeckLinkInput = /* AF22762B-DFAC-4846-AA79-FA8883560995 */ {0xAF,0x22,0x76,0x2B,0xDF,0xAC,0x48,0x46,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95}; +BMD_CONST REFIID IID_IDeckLinkHDMIInputEDID = /* ABBBACBC-45BC-4665-9D92-ACE6E5A97902 */ {0xAB,0xBB,0xAC,0xBC,0x45,0xBC,0x46,0x65,0x9D,0x92,0xAC,0xE6,0xE5,0xA9,0x79,0x02}; BMD_CONST REFIID IID_IDeckLinkEncoderInput = /* 270587DA-6B7D-42E7-A1F0-6D853F581185 */ {0x27,0x05,0x87,0xDA,0x6B,0x7D,0x42,0xE7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85}; BMD_CONST REFIID IID_IDeckLinkVideoFrame = /* 3F716FE0-F023-4111-BE5D-EF4414C05B17 */ {0x3F,0x71,0x6F,0xE0,0xF0,0x23,0x41,0x11,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17}; BMD_CONST REFIID IID_IDeckLinkMutableVideoFrame = /* 69E2639F-40DA-4E19-B6F2-20ACE815C390 */ {0x69,0xE2,0x63,0x9F,0x40,0xDA,0x4E,0x19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90}; @@ -350,10 +351,36 @@ enum _BMDDeviceInterface { bmdDeviceInterfaceThunderbolt = /* 'thun' */ 0x7468756E }; +/* Enum BMDColorspace - Colorspace */ + +typedef uint32_t BMDColorspace; +enum _BMDColorspace { + bmdColorspaceRec601 = /* 'r601' */ 0x72363031, + bmdColorspaceRec709 = /* 'r709' */ 0x72373039, + bmdColorspaceRec2020 = /* '2020' */ 0x32303230 +}; + +/* Enum BMDDynamicRange - SDR or HDR */ + +typedef uint32_t BMDDynamicRange; +enum _BMDDynamicRange { + bmdDynamicRangeSDR = 0, + bmdDynamicRangeHDRStaticPQ = 1 << 29, // SMPTE ST 2084 + bmdDynamicRangeHDRStaticHLG = 1 << 30 // ITU-R BT.2100-0 +}; + +/* Enum BMDDeckLinkHDMIInputEDIDID - DeckLink HDMI Input EDID ID */ + +typedef uint32_t BMDDeckLinkHDMIInputEDIDID; +enum _BMDDeckLinkHDMIInputEDIDID { + bmdDeckLinkHDMIInputEDIDDynamicRange = /* 'HIDy' */ 0x48494479 // Parameter is of type BMDDynamicRange. Default is (bmdDynamicRangeSDR|bmdDynamicRangeHDRStaticPQ) +}; + /* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */ typedef uint32_t BMDDeckLinkFrameMetadataID; enum _BMDDeckLinkFrameMetadataID { + bmdDeckLinkFrameMetadataColorspace = /* 'cspc' */ 0x63737063, // Colorspace of video frame (see BMDColorspace) bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = /* 'eotf' */ 0x656F7466, // EOTF in range 0-7 as per CEA 861.3 bmdDeckLinkFrameMetadataCintelFilmType = /* 'cfty' */ 0x63667479, // Current film type bmdDeckLinkFrameMetadataCintelFilmGauge = /* 'cfga' */ 0x63666761, // Current film gauge @@ -443,6 +470,7 @@ enum _BMDDeckLinkAttributeID { BMDDeckLinkHasLTCTimecodeInput = /* 'hltc' */ 0x686C7463, BMDDeckLinkSupportsDuplexModeConfiguration = /* 'dupx' */ 0x64757078, BMDDeckLinkSupportsHDRMetadata = /* 'hdrm' */ 0x6864726D, + BMDDeckLinkSupportsColorspaceMetadata = /* 'cmet' */ 0x636D6574, /* Integers */ @@ -598,6 +626,7 @@ class IDeckLinkIterator; class IDeckLinkAPIInformation; class IDeckLinkOutput; class IDeckLinkInput; +class IDeckLinkHDMIInputEDID; class IDeckLinkEncoderInput; class IDeckLinkVideoFrame; class IDeckLinkMutableVideoFrame; @@ -799,6 +828,19 @@ protected: virtual ~IDeckLinkInput () {} // call Release method to drop reference count }; +/* Interface IDeckLinkHDMIInputEDID - Created by QueryInterface from IDeckLink. Releasing all references will restore EDID to default */ + +class BMD_PUBLIC IDeckLinkHDMIInputEDID : public IUnknown +{ +public: + virtual HRESULT SetInt (/* in */ BMDDeckLinkHDMIInputEDIDID cfgID, /* in */ int64_t value) = 0; + virtual HRESULT GetInt (/* in */ BMDDeckLinkHDMIInputEDIDID cfgID, /* out */ int64_t *value) = 0; + virtual HRESULT WriteToEDID (void) = 0; + +protected: + virtual ~IDeckLinkHDMIInputEDID () {} // call Release method to drop reference count +}; + /* Interface IDeckLinkEncoderInput - Created by QueryInterface from IDeckLink. */ class BMD_PUBLIC IDeckLinkEncoderInput : public IUnknown diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIConfiguration.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIConfiguration.h index 8cb6bac0b..430f87154 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIConfiguration.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIConfiguration.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDeckControl.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDeckControl.h index 3d3f22117..e0522a231 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDeckControl.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDeckControl.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDiscovery.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDiscovery.h index e9164f913..d6619caa1 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDiscovery.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDiscovery.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch.cpp b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch.cpp index ff5e3b085..880cf34c4 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch.cpp +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch.cpp @@ -53,7 +53,7 @@ static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; static CreateVideoFrameAncillaryPacketsInstanceFunc gCreateVideoFrameAncillaryPacketsFunc = NULL; -void InitDeckLinkAPI (void) +static void InitDeckLinkAPI (void) { void *libraryHandle; @@ -83,7 +83,7 @@ void InitDeckLinkAPI (void) fprintf(stderr, "%s\n", dlerror()); } -void InitDeckLinkPreviewAPI (void) +static void InitDeckLinkPreviewAPI (void) { void *libraryHandle; diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp index 6a038fb12..3172ba5d9 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp @@ -51,7 +51,7 @@ static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; -void InitDeckLinkAPI(void) +static void InitDeckLinkAPI(void) { void *libraryHandle; @@ -78,7 +78,7 @@ void InitDeckLinkAPI(void) fprintf(stderr, "%s\n", dlerror()); } -void InitDeckLinkPreviewAPI(void) +static void InitDeckLinkPreviewAPI(void) { void *libraryHandle; diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp index 9ec157f15..372662439 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp @@ -45,7 +45,7 @@ static CreateIteratorFunc_v7_6 gCreateIteratorFunc = NULL; static CreateOpenGLScreenPreviewHelperFunc_v7_6 gCreateOpenGLPreviewFunc = NULL; static CreateVideoConversionInstanceFunc_v7_6 gCreateVideoConversionFunc = NULL; -void InitDeckLinkAPI_v7_6 (void) +static void InitDeckLinkAPI_v7_6 (void) { void *libraryHandle; @@ -64,7 +64,7 @@ void InitDeckLinkAPI_v7_6 (void) fprintf(stderr, "%s\n", dlerror()); } -void InitDeckLinkPreviewAPI_v7_6 (void) +static void InitDeckLinkPreviewAPI_v7_6 (void) { void *libraryHandle; diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp index 686fd672c..1a924f7cf 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp @@ -49,7 +49,7 @@ static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -void InitDeckLinkAPI (void) +static void InitDeckLinkAPI (void) { void *libraryHandle; @@ -73,7 +73,7 @@ void InitDeckLinkAPI (void) fprintf(stderr, "%s\n", dlerror()); } -void InitDeckLinkPreviewAPI (void) +static void InitDeckLinkPreviewAPI (void) { void *libraryHandle; diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIModes.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIModes.h index 817f828c9..543aaa1f7 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIModes.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIModes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 @@ -195,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 diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPITypes.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPITypes.h index 6749a8009..559126282 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPITypes.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPITypes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIVersion.h b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIVersion.h index 995318d3f..f9db7ff18 100644 --- a/plugins/decklink/linux/decklink-sdk/DeckLinkAPIVersion.h +++ b/plugins/decklink/linux/decklink-sdk/DeckLinkAPIVersion.h @@ -30,8 +30,8 @@ #ifndef __DeckLink_API_Version_h__ #define __DeckLink_API_Version_h__ -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a0b0000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.11" +#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a0b0400 +#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.11.4" #endif // __DeckLink_API_Version_h__ diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPI.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPI.h index 2bba5a850..368a72b30 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPI.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPI.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 @@ -71,6 +71,7 @@ BMD_CONST REFIID IID_IDeckLinkIterator = /* 50FB36CD- BMD_CONST REFIID IID_IDeckLinkAPIInformation = /* 7BEA3C68-730D-4322-AF34-8A7152B532A4 */ {0x7B,0xEA,0x3C,0x68,0x73,0x0D,0x43,0x22,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4}; BMD_CONST REFIID IID_IDeckLinkOutput = /* CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564 */ {0xCC,0x5C,0x8A,0x6E,0x3F,0x2F,0x4B,0x3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64}; BMD_CONST REFIID IID_IDeckLinkInput = /* AF22762B-DFAC-4846-AA79-FA8883560995 */ {0xAF,0x22,0x76,0x2B,0xDF,0xAC,0x48,0x46,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95}; +BMD_CONST REFIID IID_IDeckLinkHDMIInputEDID = /* ABBBACBC-45BC-4665-9D92-ACE6E5A97902 */ {0xAB,0xBB,0xAC,0xBC,0x45,0xBC,0x46,0x65,0x9D,0x92,0xAC,0xE6,0xE5,0xA9,0x79,0x02}; BMD_CONST REFIID IID_IDeckLinkEncoderInput = /* 270587DA-6B7D-42E7-A1F0-6D853F581185 */ {0x27,0x05,0x87,0xDA,0x6B,0x7D,0x42,0xE7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85}; BMD_CONST REFIID IID_IDeckLinkVideoFrame = /* 3F716FE0-F023-4111-BE5D-EF4414C05B17 */ {0x3F,0x71,0x6F,0xE0,0xF0,0x23,0x41,0x11,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17}; BMD_CONST REFIID IID_IDeckLinkMutableVideoFrame = /* 69E2639F-40DA-4E19-B6F2-20ACE815C390 */ {0x69,0xE2,0x63,0x9F,0x40,0xDA,0x4E,0x19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90}; @@ -354,10 +355,36 @@ enum _BMDDeviceInterface { bmdDeviceInterfaceThunderbolt = 'thun' }; +/* Enum BMDColorspace - Colorspace */ + +typedef uint32_t BMDColorspace; +enum _BMDColorspace { + bmdColorspaceRec601 = 'r601', + bmdColorspaceRec709 = 'r709', + bmdColorspaceRec2020 = '2020' +}; + +/* Enum BMDDynamicRange - SDR or HDR */ + +typedef uint32_t BMDDynamicRange; +enum _BMDDynamicRange { + bmdDynamicRangeSDR = 0, + bmdDynamicRangeHDRStaticPQ = 1 << 29, // SMPTE ST 2084 + bmdDynamicRangeHDRStaticHLG = 1 << 30 // ITU-R BT.2100-0 +}; + +/* Enum BMDDeckLinkHDMIInputEDIDID - DeckLink HDMI Input EDID ID */ + +typedef uint32_t BMDDeckLinkHDMIInputEDIDID; +enum _BMDDeckLinkHDMIInputEDIDID { + bmdDeckLinkHDMIInputEDIDDynamicRange = 'HIDy' // Parameter is of type BMDDynamicRange. Default is (bmdDynamicRangeSDR|bmdDynamicRangeHDRStaticPQ) +}; + /* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */ typedef uint32_t BMDDeckLinkFrameMetadataID; enum _BMDDeckLinkFrameMetadataID { + bmdDeckLinkFrameMetadataColorspace = 'cspc', // Colorspace of video frame (see BMDColorspace) bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = 'eotf', // EOTF in range 0-7 as per CEA 861.3 bmdDeckLinkFrameMetadataCintelFilmType = 'cfty', // Current film type bmdDeckLinkFrameMetadataCintelFilmGauge = 'cfga', // Current film gauge @@ -447,6 +474,7 @@ enum _BMDDeckLinkAttributeID { BMDDeckLinkHasLTCTimecodeInput = 'hltc', BMDDeckLinkSupportsDuplexModeConfiguration = 'dupx', BMDDeckLinkSupportsHDRMetadata = 'hdrm', + BMDDeckLinkSupportsColorspaceMetadata = 'cmet', /* Integers */ @@ -602,6 +630,7 @@ class IDeckLinkIterator; class IDeckLinkAPIInformation; class IDeckLinkOutput; class IDeckLinkInput; +class IDeckLinkHDMIInputEDID; class IDeckLinkEncoderInput; class IDeckLinkVideoFrame; class IDeckLinkMutableVideoFrame; @@ -804,6 +833,19 @@ protected: virtual ~IDeckLinkInput () {} // call Release method to drop reference count }; +/* Interface IDeckLinkHDMIInputEDID - Created by QueryInterface from IDeckLink. Releasing all references will restore EDID to default */ + +class BMD_PUBLIC IDeckLinkHDMIInputEDID : public IUnknown +{ +public: + virtual HRESULT SetInt (/* in */ BMDDeckLinkHDMIInputEDIDID cfgID, /* in */ int64_t value) = 0; + virtual HRESULT GetInt (/* in */ BMDDeckLinkHDMIInputEDIDID cfgID, /* out */ int64_t *value) = 0; + virtual HRESULT WriteToEDID (void) = 0; + +protected: + virtual ~IDeckLinkHDMIInputEDID () {} // call Release method to drop reference count +}; + /* Interface IDeckLinkEncoderInput - Created by QueryInterface from IDeckLink. */ class BMD_PUBLIC IDeckLinkEncoderInput : public IUnknown diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIConfiguration.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIConfiguration.h index d62ce4fa7..a76d33aae 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIConfiguration.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIConfiguration.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDeckControl.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDeckControl.h index 6de333fda..b1b7797fb 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDeckControl.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDeckControl.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDiscovery.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDiscovery.h index d63960d05..c8331ad44 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDiscovery.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDiscovery.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch.cpp b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch.cpp index 50be5c94a..7bb93cef9 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch.cpp +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch.cpp @@ -55,7 +55,7 @@ static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc= NULL; static CreateVideoFrameAncillaryPacketsInstanceFunc gCreateVideoFrameAncillaryPacketsFunc = NULL; -void InitDeckLinkAPI (void) +static void InitDeckLinkAPI (void) { CFURLRef bundleURL; @@ -167,7 +167,7 @@ static CFBundleRef gBMDStreamingAPIBundleRef = NULL; static CreateDiscoveryFunc gCreateDiscoveryFunc = NULL; static CreateNALParserFunc gCreateNALParserFunc = NULL; -void InitBMDStreamingAPI(void) +static void InitBMDStreamingAPI(void) { CFURLRef bundleURL; diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp index 6449a08e0..c412a107e 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v10_8.cpp @@ -53,7 +53,7 @@ static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; -void InitDeckLinkAPI(void) +static void InitDeckLinkAPI(void) { CFURLRef bundleURL; @@ -154,7 +154,7 @@ static CFBundleRef gBMDStreamingAPIBundleRef = NULL; static CreateDiscoveryFunc gCreateDiscoveryFunc = NULL; static CreateNALParserFunc gCreateNALParserFunc = NULL; -void InitBMDStreamingAPI(void) +static void InitBMDStreamingAPI(void) { CFURLRef bundleURL; diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp index 4b11bca41..ba918b061 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v7_6.cpp @@ -44,7 +44,7 @@ static CreateCocoaScreenPreviewFunc_v7_6 gCreateCocoaPreviewFunc = NULL; static CreateVideoConversionInstanceFunc_v7_6 gCreateVideoConversionFunc = NULL; -void InitDeckLinkAPI_v7_6 (void) +static void InitDeckLinkAPI_v7_6 (void) { CFURLRef bundleURL; diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp index cd6857aa9..3791bf48d 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIDispatch_v8_0.cpp @@ -50,7 +50,7 @@ static CreateCocoaScreenPreviewFunc gCreateCocoaPreviewFunc = NULL; static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -void InitDeckLinkAPI (void) +static void InitDeckLinkAPI (void) { CFURLRef bundleURL; diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIModes.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIModes.h index b61118281..9a242e012 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIModes.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIModes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 @@ -195,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 diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIStreaming.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIStreaming.h index b5f16bb37..c2d357cb6 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIStreaming.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIStreaming.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPITypes.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPITypes.h index 9739cf8cb..1564c6e9b 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPITypes.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPITypes.h @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIVersion.h b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIVersion.h index 995318d3f..f9db7ff18 100644 --- a/plugins/decklink/mac/decklink-sdk/DeckLinkAPIVersion.h +++ b/plugins/decklink/mac/decklink-sdk/DeckLinkAPIVersion.h @@ -30,8 +30,8 @@ #ifndef __DeckLink_API_Version_h__ #define __DeckLink_API_Version_h__ -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a0b0000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.11" +#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a0b0400 +#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.11.4" #endif // __DeckLink_API_Version_h__ diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPI.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPI.idl index abaea8eb7..07ee9fea4 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPI.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPI.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 @@ -302,9 +302,32 @@ typedef [v1_enum] enum _BMDDeviceInterface { bmdDeviceInterfaceThunderbolt = /* 'thun' */ 0x7468756E } BMDDeviceInterface; +/* Enum BMDColorspace - Colorspace */ + +typedef [v1_enum] enum _BMDColorspace { + bmdColorspaceRec601 = /* 'r601' */ 0x72363031, + bmdColorspaceRec709 = /* 'r709' */ 0x72373039, + bmdColorspaceRec2020 = /* '2020' */ 0x32303230 +} BMDColorspace; + +/* Enum BMDDynamicRange - SDR or HDR */ + +typedef [v1_enum] enum _BMDDynamicRange { + bmdDynamicRangeSDR = 0, + bmdDynamicRangeHDRStaticPQ = 1 << 29, // SMPTE ST 2084 + bmdDynamicRangeHDRStaticHLG = 1 << 30 // ITU-R BT.2100-0 +} BMDDynamicRange; + +/* Enum BMDDeckLinkHDMIInputEDIDID - DeckLink HDMI Input EDID ID */ + +typedef [v1_enum] enum _BMDDeckLinkHDMIInputEDIDID { + bmdDeckLinkHDMIInputEDIDDynamicRange = /* 'HIDy' */ 0x48494479 // Parameter is of type BMDDynamicRange. Default is (bmdDynamicRangeSDR|bmdDynamicRangeHDRStaticPQ) +} BMDDeckLinkHDMIInputEDIDID; + /* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */ typedef [v1_enum] enum _BMDDeckLinkFrameMetadataID { + bmdDeckLinkFrameMetadataColorspace = /* 'cspc' */ 0x63737063, // Colorspace of video frame (see BMDColorspace) bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = /* 'eotf' */ 0x656F7466, // EOTF in range 0-7 as per CEA 861.3 bmdDeckLinkFrameMetadataCintelFilmType = /* 'cfty' */ 0x63667479, // Current film type bmdDeckLinkFrameMetadataCintelFilmGauge = /* 'cfga' */ 0x63666761, // Current film gauge @@ -392,6 +415,7 @@ typedef [v1_enum] enum _BMDDeckLinkAttributeID { BMDDeckLinkHasLTCTimecodeInput = /* 'hltc' */ 0x686C7463, BMDDeckLinkSupportsDuplexModeConfiguration = /* 'dupx' */ 0x64757078, BMDDeckLinkSupportsHDRMetadata = /* 'hdrm' */ 0x6864726D, + BMDDeckLinkSupportsColorspaceMetadata = /* 'cmet' */ 0x636D6574, /* Integers */ @@ -536,6 +560,7 @@ interface IDeckLinkIterator; interface IDeckLinkAPIInformation; interface IDeckLinkOutput; interface IDeckLinkInput; +interface IDeckLinkHDMIInputEDID; interface IDeckLinkEncoderInput; interface IDeckLinkVideoFrame; interface IDeckLinkMutableVideoFrame; @@ -750,6 +775,19 @@ interface IDeckLinkDiscovery; HRESULT GetHardwareReferenceClock([in] BMDTimeScale desiredTimeScale, [out] BMDTimeValue *hardwareTime, [out] BMDTimeValue *timeInFrame, [out] BMDTimeValue *ticksPerFrame); }; +/* Interface IDeckLinkHDMIInputEDID - Created by QueryInterface from IDeckLink. Releasing all references will restore EDID to default */ + +[ + object, + uuid(ABBBACBC-45BC-4665-9D92-ACE6E5A97902), + helpstring("Created by QueryInterface from IDeckLink. Releasing all references will restore EDID to default") +] interface IDeckLinkHDMIInputEDID : IUnknown +{ + HRESULT SetInt([in] BMDDeckLinkHDMIInputEDIDID cfgID, [in] LONGLONG value); + HRESULT GetInt([in] BMDDeckLinkHDMIInputEDIDID cfgID, [out] LONGLONG *value); + HRESULT WriteToEDID(void); +}; + /* Interface IDeckLinkEncoderInput - Created by QueryInterface from IDeckLink. */ [ diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPIConfiguration.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPIConfiguration.idl index 10908c486..42a5234cd 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPIConfiguration.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPIConfiguration.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPIDeckControl.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPIDeckControl.idl index bd5e58723..ef85d827a 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPIDeckControl.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPIDeckControl.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPIDiscovery.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPIDiscovery.idl index b9df968c8..66f65bc4f 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPIDiscovery.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPIDiscovery.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPIModes.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPIModes.idl index ad3d2a450..4e9eb260d 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPIModes.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPIModes.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 @@ -186,7 +186,8 @@ typedef [v1_enum] enum _BMDPixelFormat { [v1_enum] enum _BMDDisplayModeFlags { bmdDisplayModeSupports3D = 1 << 0, bmdDisplayModeColorspaceRec601 = 1 << 1, - bmdDisplayModeColorspaceRec709 = 1 << 2 + bmdDisplayModeColorspaceRec709 = 1 << 2, + bmdDisplayModeColorspaceRec2020 = 1 << 3 }; // Forward Declarations diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPIStreaming.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPIStreaming.idl index 28ddeb51d..56855fc10 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPIStreaming.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPIStreaming.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPITypes.idl b/plugins/decklink/win/decklink-sdk/DeckLinkAPITypes.idl index 4f41e03dc..aeb52ab40 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPITypes.idl +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPITypes.idl @@ -1,5 +1,5 @@ /* -LICENSE-START- -** Copyright (c) 2016 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 diff --git a/plugins/decklink/win/decklink-sdk/DeckLinkAPIVersion.h b/plugins/decklink/win/decklink-sdk/DeckLinkAPIVersion.h index 995318d3f..f9db7ff18 100644 --- a/plugins/decklink/win/decklink-sdk/DeckLinkAPIVersion.h +++ b/plugins/decklink/win/decklink-sdk/DeckLinkAPIVersion.h @@ -30,8 +30,8 @@ #ifndef __DeckLink_API_Version_h__ #define __DeckLink_API_Version_h__ -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a0b0000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.11" +#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a0b0400 +#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.11.4" #endif // __DeckLink_API_Version_h__