| OLD | NEW |
| 1 /* -LICENSE-START- | 1 /* -LICENSE-START- |
| 2 ** Copyright (c) 2014 Blackmagic Design | 2 ** Copyright (c) 2014 Blackmagic Design |
| 3 ** | 3 ** |
| 4 ** Permission is hereby granted, free of charge, to any person or organization | 4 ** Permission is hereby granted, free of charge, to any person or organization |
| 5 ** obtaining a copy of the software and accompanying documentation covered by | 5 ** obtaining a copy of the software and accompanying documentation covered by |
| 6 ** this license (the "Software") to use, reproduce, display, distribute, | 6 ** this license (the "Software") to use, reproduce, display, distribute, |
| 7 ** execute, and transmit the Software, and to prepare derivative works of the | 7 ** execute, and transmit the Software, and to prepare derivative works of the |
| 8 ** Software, and to permit third-parties to whom the Software is furnished to | 8 ** Software, and to permit third-parties to whom the Software is furnished to |
| 9 ** do so, all subject to the following: | 9 ** do so, all subject to the following: |
| 10 ** | 10 ** |
| 11 ** The copyright notices in the Software and this entire statement, including | 11 ** The copyright notices in the Software and this entire statement, including |
| 12 ** the above license grant, this restriction and the following disclaimer, | 12 ** the above license grant, this restriction and the following disclaimer, |
| 13 ** must be included in all copies of the Software, in whole or in part, and | 13 ** must be included in all copies of the Software, in whole or in part, and |
| 14 ** all derivative works of the Software, unless such copies or derivative | 14 ** all derivative works of the Software, unless such copies or derivative |
| 15 ** works are solely in the form of machine-executable object code generated by | 15 ** works are solely in the form of machine-executable object code generated by |
| 16 ** a source language processor. | 16 ** a source language processor. |
| 17 ** | 17 ** |
| 18 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 18 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 19 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 19 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 20 ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT | 20 ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT |
| 21 ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE | 21 ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE |
| 22 ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, | 22 ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, |
| 23 ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 23 ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| 24 ** DEALINGS IN THE SOFTWARE. | 24 ** DEALINGS IN THE SOFTWARE. |
| 25 ** -LICENSE-END- | 25 ** -LICENSE-END- |
| 26 */ | 26 */ |
| 27 | 27 |
| 28 #ifndef BMD_DECKLINKAPICONFIGURATION_H | |
| 29 #define BMD_DECKLINKAPICONFIGURATION_H | |
| 30 | |
| 31 | 28 |
| 32 #ifndef BMD_CONST | 29 #ifndef BMD_CONST |
| 33 #if defined(_MSC_VER) | 30 #if defined(_MSC_VER) |
| 34 #define BMD_CONST __declspec(selectany) static const | 31 #define BMD_CONST __declspec(selectany) static const |
| 35 #else | 32 #else |
| 36 #define BMD_CONST static const | 33 #define BMD_CONST static const |
| 37 #endif | 34 #endif |
| 38 #endif | 35 #endif |
| 39 | 36 |
| 40 // Type Declarations | 37 // Type Declarations |
| 41 | 38 |
| 42 | 39 |
| 43 // Interface ID Declarations | 40 // Enumeration Mapping |
| 44 | 41 |
| 45 BMD_CONST REFIID IID_IDeckLinkConfiguration = /* C679A35B-
610C-4D09-B748-1D0478100FC0 */ {0xC6,0x79,0xA3,0x5B,0x61,0x0C,0x4D,0x09,0xB7,0x4
8,0x1D,0x04,0x78,0x10,0x0F,0xC0}; | 42 cpp_quote("#if 0") |
| 43 cpp_quote("#endif") |
| 46 | 44 |
| 47 /* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ | 45 /* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ |
| 48 | 46 |
| 49 typedef uint32_t BMDDeckLinkConfigurationID; | 47 typedef [v1_enum] enum» _BMDDeckLinkConfigurationID { |
| 50 enum _BMDDeckLinkConfigurationID { | |
| 51 | 48 |
| 52 /* Serial port Flags */ | 49 /* Serial port Flags */ |
| 53 | 50 |
| 54 bmdDeckLinkConfigSwapSerialRxTx = 'ssrt', | 51 bmdDeckLinkConfigSwapSerialRxTx = /* 'ssrt' */
0x73737274, |
| 55 | 52 |
| 56 /* Video Input/Output Flags */ | 53 /* Video Input/Output Flags */ |
| 57 | 54 |
| 58 bmdDeckLinkConfigUse1080pNotPsF = 'fpro', | 55 bmdDeckLinkConfigUse1080pNotPsF = /* 'fpro' */
0x6670726F, |
| 59 | 56 |
| 60 /* Video Input/Output Integers */ | 57 /* Video Input/Output Integers */ |
| 61 | 58 |
| 62 bmdDeckLinkConfigHDMI3DPackingFormat = '3dpf', | 59 bmdDeckLinkConfigHDMI3DPackingFormat = /* '3dpf' */
0x33647066, |
| 63 bmdDeckLinkConfigBypass = 'byps', | 60 bmdDeckLinkConfigBypass = /* 'byps' */
0x62797073, |
| 64 bmdDeckLinkConfigClockTimingAdjustment = 'ctad', | 61 bmdDeckLinkConfigClockTimingAdjustment = /* 'ctad' */
0x63746164, |
| 65 | 62 |
| 66 /* Audio Input/Output Flags */ | 63 /* Audio Input/Output Flags */ |
| 67 | 64 |
| 68 bmdDeckLinkConfigAnalogAudioConsumerLevels = 'aacl', | 65 bmdDeckLinkConfigAnalogAudioConsumerLevels = /* 'aacl' */
0x6161636C, |
| 69 | 66 |
| 70 /* Video output flags */ | 67 /* Video output flags */ |
| 71 | 68 |
| 72 bmdDeckLinkConfigFieldFlickerRemoval = 'fdfr', | 69 bmdDeckLinkConfigFieldFlickerRemoval = /* 'fdfr' */
0x66646672, |
| 73 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 'to59', | 70 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = /* 'to59' */
0x746F3539, |
| 74 bmdDeckLinkConfig444SDIVideoOutput = '444o', | 71 bmdDeckLinkConfig444SDIVideoOutput = /* '444o' */
0x3434346F, |
| 75 bmdDeckLinkConfig3GBpsVideoOutput = '3gbs', | 72 bmdDeckLinkConfig3GBpsVideoOutput = /* '3gbs' */
0x33676273, |
| 76 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 'bvoc', | 73 bmdDeckLinkConfigBlackVideoOutputDuringCapture = /* 'bvoc' */
0x62766F63, |
| 77 bmdDeckLinkConfigLowLatencyVideoOutput = 'llvo', | 74 bmdDeckLinkConfigLowLatencyVideoOutput = /* 'llvo' */
0x6C6C766F, |
| 78 | 75 |
| 79 /* Video Output Integers */ | 76 /* Video Output Integers */ |
| 80 | 77 |
| 81 bmdDeckLinkConfigVideoOutputConnection = 'vocn', | 78 bmdDeckLinkConfigVideoOutputConnection = /* 'vocn' */
0x766F636E, |
| 82 bmdDeckLinkConfigVideoOutputConversionMode = 'vocm', | 79 bmdDeckLinkConfigVideoOutputConversionMode = /* 'vocm' */
0x766F636D, |
| 83 bmdDeckLinkConfigAnalogVideoOutputFlags = 'avof', | 80 bmdDeckLinkConfigAnalogVideoOutputFlags = /* 'avof' */
0x61766F66, |
| 84 bmdDeckLinkConfigReferenceInputTimingOffset = 'glot', | 81 bmdDeckLinkConfigReferenceInputTimingOffset = /* 'glot' */
0x676C6F74, |
| 85 bmdDeckLinkConfigVideoOutputIdleOperation = 'voio', | 82 bmdDeckLinkConfigVideoOutputIdleOperation = /* 'voio' */
0x766F696F, |
| 86 bmdDeckLinkConfigDefaultVideoOutputMode = 'dvom', | 83 bmdDeckLinkConfigDefaultVideoOutputMode = /* 'dvom' */
0x64766F6D, |
| 87 bmdDeckLinkConfigDefaultVideoOutputModeFlags = 'dvof', | 84 bmdDeckLinkConfigDefaultVideoOutputModeFlags = /* 'dvof' */
0x64766F66, |
| 88 | 85 |
| 89 /* Video Output Floats */ | 86 /* Video Output Floats */ |
| 90 | 87 |
| 91 bmdDeckLinkConfigVideoOutputComponentLumaGain = 'oclg', | 88 bmdDeckLinkConfigVideoOutputComponentLumaGain = /* 'oclg' */
0x6F636C67, |
| 92 bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 'occb', | 89 bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = /* 'occb' */
0x6F636362, |
| 93 bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 'occr', | 90 bmdDeckLinkConfigVideoOutputComponentChromaRedGain = /* 'occr' */
0x6F636372, |
| 94 bmdDeckLinkConfigVideoOutputCompositeLumaGain = 'oilg', | 91 bmdDeckLinkConfigVideoOutputCompositeLumaGain = /* 'oilg' */
0x6F696C67, |
| 95 bmdDeckLinkConfigVideoOutputCompositeChromaGain = 'oicg', | 92 bmdDeckLinkConfigVideoOutputCompositeChromaGain = /* 'oicg' */
0x6F696367, |
| 96 bmdDeckLinkConfigVideoOutputSVideoLumaGain = 'oslg', | 93 bmdDeckLinkConfigVideoOutputSVideoLumaGain = /* 'oslg' */
0x6F736C67, |
| 97 bmdDeckLinkConfigVideoOutputSVideoChromaGain = 'oscg', | 94 bmdDeckLinkConfigVideoOutputSVideoChromaGain = /* 'oscg' */
0x6F736367, |
| 98 | 95 |
| 99 /* Video Input Flags */ | 96 /* Video Input Flags */ |
| 100 | 97 |
| 101 bmdDeckLinkConfigVideoInputScanning = 'visc',»
// Applicable to H264 Pro Recorder only | 98 bmdDeckLinkConfigVideoInputScanning = /* 'visc' */
0x76697363,» // Applicable to H264 Pro Recorder only |
| 102 bmdDeckLinkConfigUseDedicatedLTCInput = 'dltc',»
// Use timecode from LTC input instead of SDI stream | 99 bmdDeckLinkConfigUseDedicatedLTCInput = /* 'dltc' */
0x646C7463,» // Use timecode from LTC input instead of SDI stream |
| 103 | 100 |
| 104 /* Video Input Integers */ | 101 /* Video Input Integers */ |
| 105 | 102 |
| 106 bmdDeckLinkConfigVideoInputConnection = 'vicn', | 103 bmdDeckLinkConfigVideoInputConnection = /* 'vicn' */
0x7669636E, |
| 107 bmdDeckLinkConfigAnalogVideoInputFlags = 'avif', | 104 bmdDeckLinkConfigAnalogVideoInputFlags = /* 'avif' */
0x61766966, |
| 108 bmdDeckLinkConfigVideoInputConversionMode = 'vicm', | 105 bmdDeckLinkConfigVideoInputConversionMode = /* 'vicm' */
0x7669636D, |
| 109 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 'pdif', | 106 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = /* 'pdif' */
0x70646966, |
| 110 bmdDeckLinkConfigVANCSourceLine1Mapping = 'vsl1', | 107 bmdDeckLinkConfigVANCSourceLine1Mapping = /* 'vsl1' */
0x76736C31, |
| 111 bmdDeckLinkConfigVANCSourceLine2Mapping = 'vsl2', | 108 bmdDeckLinkConfigVANCSourceLine2Mapping = /* 'vsl2' */
0x76736C32, |
| 112 bmdDeckLinkConfigVANCSourceLine3Mapping = 'vsl3', | 109 bmdDeckLinkConfigVANCSourceLine3Mapping = /* 'vsl3' */
0x76736C33, |
| 113 bmdDeckLinkConfigCapturePassThroughMode = 'cptm', | 110 bmdDeckLinkConfigCapturePassThroughMode = /* 'cptm' */
0x6370746D, |
| 114 | 111 |
| 115 /* Video Input Floats */ | 112 /* Video Input Floats */ |
| 116 | 113 |
| 117 bmdDeckLinkConfigVideoInputComponentLumaGain = 'iclg', | 114 bmdDeckLinkConfigVideoInputComponentLumaGain = /* 'iclg' */
0x69636C67, |
| 118 bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 'iccb', | 115 bmdDeckLinkConfigVideoInputComponentChromaBlueGain = /* 'iccb' */
0x69636362, |
| 119 bmdDeckLinkConfigVideoInputComponentChromaRedGain = 'iccr', | 116 bmdDeckLinkConfigVideoInputComponentChromaRedGain = /* 'iccr' */
0x69636372, |
| 120 bmdDeckLinkConfigVideoInputCompositeLumaGain = 'iilg', | 117 bmdDeckLinkConfigVideoInputCompositeLumaGain = /* 'iilg' */
0x69696C67, |
| 121 bmdDeckLinkConfigVideoInputCompositeChromaGain = 'iicg', | 118 bmdDeckLinkConfigVideoInputCompositeChromaGain = /* 'iicg' */
0x69696367, |
| 122 bmdDeckLinkConfigVideoInputSVideoLumaGain = 'islg', | 119 bmdDeckLinkConfigVideoInputSVideoLumaGain = /* 'islg' */
0x69736C67, |
| 123 bmdDeckLinkConfigVideoInputSVideoChromaGain = 'iscg', | 120 bmdDeckLinkConfigVideoInputSVideoChromaGain = /* 'iscg' */
0x69736367, |
| 124 | 121 |
| 125 /* Audio Input Integers */ | 122 /* Audio Input Integers */ |
| 126 | 123 |
| 127 bmdDeckLinkConfigAudioInputConnection = 'aicn', | 124 bmdDeckLinkConfigAudioInputConnection = /* 'aicn' */
0x6169636E, |
| 128 | 125 |
| 129 /* Audio Input Floats */ | 126 /* Audio Input Floats */ |
| 130 | 127 |
| 131 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 'ais1', | 128 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = /* 'ais1' */
0x61697331, |
| 132 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 'ais2', | 129 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = /* 'ais2' */
0x61697332, |
| 133 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 'ais3', | 130 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = /* 'ais3' */
0x61697333, |
| 134 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 'ais4', | 131 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = /* 'ais4' */
0x61697334, |
| 135 bmdDeckLinkConfigDigitalAudioInputScale = 'dais', | 132 bmdDeckLinkConfigDigitalAudioInputScale = /* 'dais' */
0x64616973, |
| 136 | 133 |
| 137 /* Audio Output Integers */ | 134 /* Audio Output Integers */ |
| 138 | 135 |
| 139 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 'aoaa', | 136 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = /* 'aoaa' */
0x616F6161, |
| 140 | 137 |
| 141 /* Audio Output Floats */ | 138 /* Audio Output Floats */ |
| 142 | 139 |
| 143 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 'aos1', | 140 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = /* 'aos1' */
0x616F7331, |
| 144 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 'aos2', | 141 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = /* 'aos2' */
0x616F7332, |
| 145 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 'aos3', | 142 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = /* 'aos3' */
0x616F7333, |
| 146 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 'aos4', | 143 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = /* 'aos4' */
0x616F7334, |
| 147 bmdDeckLinkConfigDigitalAudioOutputScale = 'daos' | 144 bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */
0x64616F73 |
| 148 }; | 145 } BMDDeckLinkConfigurationID; |
| 149 | 146 |
| 150 // Forward Declarations | 147 // Forward Declarations |
| 151 | 148 |
| 152 class IDeckLinkConfiguration; | 149 interface IDeckLinkConfiguration; |
| 153 | 150 |
| 154 /* Interface IDeckLinkConfiguration - DeckLink Configuration interface */ | 151 /* Interface IDeckLinkConfiguration - DeckLink Configuration interface */ |
| 155 | 152 |
| 156 class IDeckLinkConfiguration : public IUnknown | 153 [ |
| 154 object, |
| 155 uuid(C679A35B-610C-4D09-B748-1D0478100FC0), |
| 156 local, |
| 157 helpstring("DeckLink Configuration interface") |
| 158 ] interface IDeckLinkConfiguration : IUnknown |
| 157 { | 159 { |
| 158 public: | 160 HRESULT SetFlag([in] BMDDeckLinkConfigurationID cfgID, [in] BOOL value); |
| 159 virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */
bool value) = 0; | 161 HRESULT GetFlag([in] BMDDeckLinkConfigurationID cfgID, [out] BOOL *value); |
| 160 virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out *
/ bool *value) = 0; | 162 HRESULT SetInt([in] BMDDeckLinkConfigurationID cfgID, [in] LONGLONG value); |
| 161 virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */
int64_t value) = 0; | 163 HRESULT GetInt([in] BMDDeckLinkConfigurationID cfgID, [out] LONGLONG *value)
; |
| 162 virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */
int64_t *value) = 0; | 164 HRESULT SetFloat([in] BMDDeckLinkConfigurationID cfgID, [in] double value); |
| 163 virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in *
/ double value) = 0; | 165 HRESULT GetFloat([in] BMDDeckLinkConfigurationID cfgID, [out] double *value)
; |
| 164 virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out
*/ double *value) = 0; | 166 HRESULT SetString([in] BMDDeckLinkConfigurationID cfgID, [in] BSTR value); |
| 165 virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in
*/ CFStringRef value) = 0; | 167 HRESULT GetString([in] BMDDeckLinkConfigurationID cfgID, [out] BSTR *value); |
| 166 virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out
*/ CFStringRef *value) = 0; | 168 HRESULT WriteConfigurationToPreferences(void); |
| 167 virtual HRESULT WriteConfigurationToPreferences (void) = 0; | |
| 168 | |
| 169 protected: | |
| 170 virtual ~IDeckLinkConfiguration () {}; // call Release method to drop refere
nce count | |
| 171 }; | 169 }; |
| 172 | 170 |
| 173 /* Functions */ | 171 /* Coclasses */ |
| 174 | 172 |
| 175 extern "C" { | 173 importlib("stdole2.tlb"); |
| 176 | 174 |
| 177 | 175 |
| 178 }; | |
| 179 | |
| 180 | |
| 181 #endif /* defined(BMD_DECKLINKAPICONFIGURATION_H) */ | |
| OLD | NEW |