OLD | NEW |
(Empty) | |
| 1 /* -LICENSE-START- |
| 2 ** Copyright (c) 2014 Blackmagic Design |
| 3 ** |
| 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 |
| 6 ** this license (the "Software") to use, reproduce, display, distribute, |
| 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 |
| 9 ** do so, all subject to the following: |
| 10 ** |
| 11 ** The copyright notices in the Software and this entire statement, including |
| 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 |
| 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 |
| 16 ** a source language processor. |
| 17 ** |
| 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, |
| 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 |
| 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 |
| 24 ** DEALINGS IN THE SOFTWARE. |
| 25 ** -LICENSE-END- |
| 26 */ |
| 27 |
| 28 #ifndef BMD_DECKLINKAPICONFIGURATION_H |
| 29 #define BMD_DECKLINKAPICONFIGURATION_H |
| 30 |
| 31 |
| 32 #ifndef BMD_CONST |
| 33 #if defined(_MSC_VER) |
| 34 #define BMD_CONST __declspec(selectany) static const |
| 35 #else |
| 36 #define BMD_CONST static const |
| 37 #endif |
| 38 #endif |
| 39 |
| 40 // Type Declarations |
| 41 |
| 42 |
| 43 // Interface ID Declarations |
| 44 |
| 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}; |
| 46 |
| 47 /* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ |
| 48 |
| 49 typedef uint32_t BMDDeckLinkConfigurationID; |
| 50 enum _BMDDeckLinkConfigurationID { |
| 51 |
| 52 /* Serial port Flags */ |
| 53 |
| 54 bmdDeckLinkConfigSwapSerialRxTx = 'ssrt', |
| 55 |
| 56 /* Video Input/Output Flags */ |
| 57 |
| 58 bmdDeckLinkConfigUse1080pNotPsF = 'fpro', |
| 59 |
| 60 /* Video Input/Output Integers */ |
| 61 |
| 62 bmdDeckLinkConfigHDMI3DPackingFormat = '3dpf', |
| 63 bmdDeckLinkConfigBypass = 'byps', |
| 64 bmdDeckLinkConfigClockTimingAdjustment = 'ctad', |
| 65 |
| 66 /* Audio Input/Output Flags */ |
| 67 |
| 68 bmdDeckLinkConfigAnalogAudioConsumerLevels = 'aacl', |
| 69 |
| 70 /* Video output flags */ |
| 71 |
| 72 bmdDeckLinkConfigFieldFlickerRemoval = 'fdfr', |
| 73 bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 'to59', |
| 74 bmdDeckLinkConfig444SDIVideoOutput = '444o', |
| 75 bmdDeckLinkConfig3GBpsVideoOutput = '3gbs', |
| 76 bmdDeckLinkConfigBlackVideoOutputDuringCapture = 'bvoc', |
| 77 bmdDeckLinkConfigLowLatencyVideoOutput = 'llvo', |
| 78 |
| 79 /* Video Output Integers */ |
| 80 |
| 81 bmdDeckLinkConfigVideoOutputConnection = 'vocn', |
| 82 bmdDeckLinkConfigVideoOutputConversionMode = 'vocm', |
| 83 bmdDeckLinkConfigAnalogVideoOutputFlags = 'avof', |
| 84 bmdDeckLinkConfigReferenceInputTimingOffset = 'glot', |
| 85 bmdDeckLinkConfigVideoOutputIdleOperation = 'voio', |
| 86 bmdDeckLinkConfigDefaultVideoOutputMode = 'dvom', |
| 87 bmdDeckLinkConfigDefaultVideoOutputModeFlags = 'dvof', |
| 88 |
| 89 /* Video Output Floats */ |
| 90 |
| 91 bmdDeckLinkConfigVideoOutputComponentLumaGain = 'oclg', |
| 92 bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 'occb', |
| 93 bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 'occr', |
| 94 bmdDeckLinkConfigVideoOutputCompositeLumaGain = 'oilg', |
| 95 bmdDeckLinkConfigVideoOutputCompositeChromaGain = 'oicg', |
| 96 bmdDeckLinkConfigVideoOutputSVideoLumaGain = 'oslg', |
| 97 bmdDeckLinkConfigVideoOutputSVideoChromaGain = 'oscg', |
| 98 |
| 99 /* Video Input Flags */ |
| 100 |
| 101 bmdDeckLinkConfigVideoInputScanning = 'visc',
// Applicable to H264 Pro Recorder only |
| 102 bmdDeckLinkConfigUseDedicatedLTCInput = 'dltc',
// Use timecode from LTC input instead of SDI stream |
| 103 |
| 104 /* Video Input Integers */ |
| 105 |
| 106 bmdDeckLinkConfigVideoInputConnection = 'vicn', |
| 107 bmdDeckLinkConfigAnalogVideoInputFlags = 'avif', |
| 108 bmdDeckLinkConfigVideoInputConversionMode = 'vicm', |
| 109 bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 'pdif', |
| 110 bmdDeckLinkConfigVANCSourceLine1Mapping = 'vsl1', |
| 111 bmdDeckLinkConfigVANCSourceLine2Mapping = 'vsl2', |
| 112 bmdDeckLinkConfigVANCSourceLine3Mapping = 'vsl3', |
| 113 bmdDeckLinkConfigCapturePassThroughMode = 'cptm', |
| 114 |
| 115 /* Video Input Floats */ |
| 116 |
| 117 bmdDeckLinkConfigVideoInputComponentLumaGain = 'iclg', |
| 118 bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 'iccb', |
| 119 bmdDeckLinkConfigVideoInputComponentChromaRedGain = 'iccr', |
| 120 bmdDeckLinkConfigVideoInputCompositeLumaGain = 'iilg', |
| 121 bmdDeckLinkConfigVideoInputCompositeChromaGain = 'iicg', |
| 122 bmdDeckLinkConfigVideoInputSVideoLumaGain = 'islg', |
| 123 bmdDeckLinkConfigVideoInputSVideoChromaGain = 'iscg', |
| 124 |
| 125 /* Audio Input Integers */ |
| 126 |
| 127 bmdDeckLinkConfigAudioInputConnection = 'aicn', |
| 128 |
| 129 /* Audio Input Floats */ |
| 130 |
| 131 bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 'ais1', |
| 132 bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 'ais2', |
| 133 bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 'ais3', |
| 134 bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 'ais4', |
| 135 bmdDeckLinkConfigDigitalAudioInputScale = 'dais', |
| 136 |
| 137 /* Audio Output Integers */ |
| 138 |
| 139 bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 'aoaa', |
| 140 |
| 141 /* Audio Output Floats */ |
| 142 |
| 143 bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 'aos1', |
| 144 bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 'aos2', |
| 145 bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 'aos3', |
| 146 bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 'aos4', |
| 147 bmdDeckLinkConfigDigitalAudioOutputScale = 'daos' |
| 148 }; |
| 149 |
| 150 // Forward Declarations |
| 151 |
| 152 class IDeckLinkConfiguration; |
| 153 |
| 154 /* Interface IDeckLinkConfiguration - DeckLink Configuration interface */ |
| 155 |
| 156 class IDeckLinkConfiguration : public IUnknown |
| 157 { |
| 158 public: |
| 159 virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */
bool value) = 0; |
| 160 virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out *
/ bool *value) = 0; |
| 161 virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */
int64_t value) = 0; |
| 162 virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */
int64_t *value) = 0; |
| 163 virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in *
/ double value) = 0; |
| 164 virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out
*/ double *value) = 0; |
| 165 virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in
*/ CFStringRef value) = 0; |
| 166 virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out
*/ CFStringRef *value) = 0; |
| 167 virtual HRESULT WriteConfigurationToPreferences (void) = 0; |
| 168 |
| 169 protected: |
| 170 virtual ~IDeckLinkConfiguration () {}; // call Release method to drop refere
nce count |
| 171 }; |
| 172 |
| 173 /* Functions */ |
| 174 |
| 175 extern "C" { |
| 176 |
| 177 |
| 178 }; |
| 179 |
| 180 |
| 181 #endif /* defined(BMD_DECKLINKAPICONFIGURATION_H) */ |
OLD | NEW |