diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-04-16 15:07:42 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-04-17 18:51:28 +0300 |
commit | 159806140fd33e6ddab951c0f6f180cfbf927d38 (patch) | |
tree | da076be3baa4d987fb5935e220a3d901c926e0e7 /intern | |
parent | 28b996a9d2090efdd74115a653629ef9d7d871f7 (diff) |
Removing Blender Game Engine from Blender 2.8
Folders removed entirely:
* //extern/recastnavigation
* //intern/decklink
* //intern/moto
* //source/blender/editors/space_logic
* //source/blenderplayer
* //source/gameengine
This includes DNA data and any reference to the BGE code in Blender itself.
We are bumping the subversion.
Pending tasks:
* Tile/clamp code in image editor draw code.
* Viewport drawing code (so much of this will go away because of BI removal
that we can wait until then to remove this.
Diffstat (limited to 'intern')
56 files changed, 0 insertions, 19749 deletions
diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt index 4b3ccfc808a..582ef480cd2 100644 --- a/intern/CMakeLists.txt +++ b/intern/CMakeLists.txt @@ -36,10 +36,6 @@ add_subdirectory(glew-mx) add_subdirectory(eigen) add_subdirectory(gawain) -if(WITH_GAMEENGINE_DECKLINK) - add_subdirectory(decklink) -endif() - if(WITH_AUDASPACE) add_subdirectory(audaspace) endif() @@ -64,10 +60,6 @@ if(WITH_IK_ITASC) add_subdirectory(itasc) endif() -if(WITH_GAMEENGINE) - add_subdirectory(moto) -endif() - if(WITH_CYCLES) add_subdirectory(cycles) endif() diff --git a/intern/decklink/CMakeLists.txt b/intern/decklink/CMakeLists.txt deleted file mode 100644 index b7727cbc32a..00000000000 --- a/intern/decklink/CMakeLists.txt +++ /dev/null @@ -1,58 +0,0 @@ -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# The Original Code is Copyright (C) 2015, Blender Foundation -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): Blender Foundation. -# -# ***** END GPL LICENSE BLOCK ***** - -set(INC -) - -set(INC_SYS -) - -set(SRC - DeckLinkAPI.cpp - DeckLinkAPI.h -) - -if(WIN32) - list(APPEND SRC - win/DeckLinkAPI_h.h - win/DeckLinkAPI_i.c - ) -endif() - -if(UNIX AND NOT APPLE) - list(APPEND SRC - linux/DeckLinkAPI.h - linux/DeckLinkAPIConfiguration.h - linux/DeckLinkAPIDeckControl.h - linux/DeckLinkAPIDiscovery.h - linux/DeckLinkAPIDispatch.cpp - linux/DeckLinkAPIModes.h - linux/DeckLinkAPIVersion.h - linux/DeckLinkAPITypes.h - linux/LinuxCOM.h - ) -endif() - -blender_add_lib(bf_intern_decklink "${SRC}" "${INC}" "${INC_SYS}") diff --git a/intern/decklink/DeckLinkAPI.cpp b/intern/decklink/DeckLinkAPI.cpp deleted file mode 100644 index aff25af70eb..00000000000 --- a/intern/decklink/DeckLinkAPI.cpp +++ /dev/null @@ -1,50 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2015, Blender Foundation - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): Blender Foundation. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file decklink/DeckLinkAPI.cpp - * \ingroup decklink - */ - -#include "DeckLinkAPI.h" - -#ifdef WIN32 -IDeckLinkIterator* BMD_CreateDeckLinkIterator(void) -{ - HRESULT result; - IDeckLinkIterator* pDLIterator = NULL; - - result = CoCreateInstance(CLSID_CDeckLinkIterator, NULL, CLSCTX_ALL, IID_IDeckLinkIterator, (void**)&pDLIterator); - if (FAILED(result)) - return NULL; - return pDLIterator; -} -#else -IDeckLinkIterator* BMD_CreateDeckLinkIterator(void) -{ - return CreateDeckLinkIteratorInstance(); -} -#endif // WIN32 diff --git a/intern/decklink/DeckLinkAPI.h b/intern/decklink/DeckLinkAPI.h deleted file mode 100644 index 2a429c18c3c..00000000000 --- a/intern/decklink/DeckLinkAPI.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2015, Blender Foundation - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): Blender Foundation. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file decklink/DeckLinkAPI.h - * \ingroup decklink - */ - -#ifndef __DECKLINKAPI_H__ -#define __DECKLINKAPI_H__ - -/* Include the OS specific Declink headers */ - -#ifdef WIN32 -# include <windows.h> -# include <objbase.h> -# include <comutil.h> -# include "win/DeckLinkAPI_h.h" - typedef unsigned int dl_size_t; -#elif defined(__APPLE__) -# error "Decklink not supported in OSX" -#else -# include "linux/DeckLinkAPI.h" - /* Windows COM API uses BOOL, linux uses bool */ -# define BOOL bool - typedef uint32_t dl_size_t; -#endif - - -/* OS independent function to get the device iterator */ -IDeckLinkIterator* BMD_CreateDeckLinkIterator(void); - -#endif /* __DECKLINKAPI_H__ */ diff --git a/intern/decklink/linux/DeckLinkAPI.h b/intern/decklink/linux/DeckLinkAPI.h deleted file mode 100644 index 08bfba39994..00000000000 --- a/intern/decklink/linux/DeckLinkAPI.h +++ /dev/null @@ -1,767 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPI_H -#define BMD_DECKLINKAPI_H - - -#ifndef BMD_CONST - #if defined(_MSC_VER) - #define BMD_CONST __declspec(selectany) static const - #else - #define BMD_CONST static const - #endif -#endif - -/* DeckLink API */ - -#include <stdint.h> -#include "LinuxCOM.h" - -#include "DeckLinkAPITypes.h" -#include "DeckLinkAPIModes.h" -#include "DeckLinkAPIDiscovery.h" -#include "DeckLinkAPIConfiguration.h" -#include "DeckLinkAPIDeckControl.h" - -#define BLACKMAGIC_DECKLINK_API_MAGIC 1 - -// Type Declarations - - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkVideoOutputCallback = /* 20AA5225-1958-47CB-820B-80A8D521A6EE */ {0x20,0xAA,0x52,0x25,0x19,0x58,0x47,0xCB,0x82,0x0B,0x80,0xA8,0xD5,0x21,0xA6,0xEE}; -BMD_CONST REFIID IID_IDeckLinkInputCallback = /* DD04E5EC-7415-42AB-AE4A-E80C4DFC044A */ {0xDD,0x04,0xE5,0xEC,0x74,0x15,0x42,0xAB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A}; -BMD_CONST REFIID IID_IDeckLinkMemoryAllocator = /* B36EB6E7-9D29-4AA8-92EF-843B87A289E8 */ {0xB3,0x6E,0xB6,0xE7,0x9D,0x29,0x4A,0xA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8}; -BMD_CONST REFIID IID_IDeckLinkAudioOutputCallback = /* 403C681B-7F46-4A12-B993-2BB127084EE6 */ {0x40,0x3C,0x68,0x1B,0x7F,0x46,0x4A,0x12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6}; -BMD_CONST REFIID IID_IDeckLinkIterator = /* 50FB36CD-3063-4B73-BDBB-958087F2D8BA */ {0x50,0xFB,0x36,0xCD,0x30,0x63,0x4B,0x73,0xBD,0xBB,0x95,0x80,0x87,0xF2,0xD8,0xBA}; -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_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}; -BMD_CONST REFIID IID_IDeckLinkVideoFrame3DExtensions = /* DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7 */ {0xDA,0x0F,0x7E,0x4A,0xED,0xC7,0x48,0xA8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7}; -BMD_CONST REFIID IID_IDeckLinkVideoInputFrame = /* 05CFE374-537C-4094-9A57-680525118F44 */ {0x05,0xCF,0xE3,0x74,0x53,0x7C,0x40,0x94,0x9A,0x57,0x68,0x05,0x25,0x11,0x8F,0x44}; -BMD_CONST REFIID IID_IDeckLinkVideoFrameAncillary = /* 732E723C-D1A4-4E29-9E8E-4A88797A0004 */ {0x73,0x2E,0x72,0x3C,0xD1,0xA4,0x4E,0x29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04}; -BMD_CONST REFIID IID_IDeckLinkAudioInputPacket = /* E43D5870-2894-11DE-8C30-0800200C9A66 */ {0xE4,0x3D,0x58,0x70,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66}; -BMD_CONST REFIID IID_IDeckLinkScreenPreviewCallback = /* B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438 */ {0xB1,0xD3,0xF4,0x9A,0x85,0xFE,0x4C,0x5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38}; -BMD_CONST REFIID IID_IDeckLinkGLScreenPreviewHelper = /* 504E2209-CAC7-4C1A-9FB4-C5BB6274D22F */ {0x50,0x4E,0x22,0x09,0xCA,0xC7,0x4C,0x1A,0x9F,0xB4,0xC5,0xBB,0x62,0x74,0xD2,0x2F}; -BMD_CONST REFIID IID_IDeckLinkNotificationCallback = /* B002A1EC-070D-4288-8289-BD5D36E5FF0D */ {0xB0,0x02,0xA1,0xEC,0x07,0x0D,0x42,0x88,0x82,0x89,0xBD,0x5D,0x36,0xE5,0xFF,0x0D}; -BMD_CONST REFIID IID_IDeckLinkNotification = /* 0A1FB207-E215-441B-9B19-6FA1575946C5 */ {0x0A,0x1F,0xB2,0x07,0xE2,0x15,0x44,0x1B,0x9B,0x19,0x6F,0xA1,0x57,0x59,0x46,0xC5}; -BMD_CONST REFIID IID_IDeckLinkAttributes = /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ {0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4}; -BMD_CONST REFIID IID_IDeckLinkKeyer = /* 89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3 */ {0x89,0xAF,0xCA,0xF5,0x65,0xF8,0x42,0x1E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3}; -BMD_CONST REFIID IID_IDeckLinkVideoConversion = /* 3BBCB8A2-DA2C-42D9-B5D8-88083644E99A */ {0x3B,0xBC,0xB8,0xA2,0xDA,0x2C,0x42,0xD9,0xB5,0xD8,0x88,0x08,0x36,0x44,0xE9,0x9A}; -BMD_CONST REFIID IID_IDeckLinkDeviceNotificationCallback = /* 4997053B-0ADF-4CC8-AC70-7A50C4BE728F */ {0x49,0x97,0x05,0x3B,0x0A,0xDF,0x4C,0xC8,0xAC,0x70,0x7A,0x50,0xC4,0xBE,0x72,0x8F}; -BMD_CONST REFIID IID_IDeckLinkDiscovery = /* CDBF631C-BC76-45FA-B44D-C55059BC6101 */ {0xCD,0xBF,0x63,0x1C,0xBC,0x76,0x45,0xFA,0xB4,0x4D,0xC5,0x50,0x59,0xBC,0x61,0x01}; - -/* Enum BMDVideoOutputFlags - Flags to control the output of ancillary data along with video. */ - -typedef uint32_t BMDVideoOutputFlags; -enum _BMDVideoOutputFlags { - bmdVideoOutputFlagDefault = 0, - bmdVideoOutputVANC = 1 << 0, - bmdVideoOutputVITC = 1 << 1, - bmdVideoOutputRP188 = 1 << 2, - bmdVideoOutputDualStream3D = 1 << 4 -}; - -/* Enum BMDFrameFlags - Frame flags */ - -typedef uint32_t BMDFrameFlags; -enum _BMDFrameFlags { - bmdFrameFlagDefault = 0, - bmdFrameFlagFlipVertical = 1 << 0, - - /* Flags that are applicable only to instances of IDeckLinkVideoInputFrame */ - - bmdFrameHasNoInputSource = 1 << 31 -}; - -/* Enum BMDVideoInputFlags - Flags applicable to video input */ - -typedef uint32_t BMDVideoInputFlags; -enum _BMDVideoInputFlags { - bmdVideoInputFlagDefault = 0, - bmdVideoInputEnableFormatDetection = 1 << 0, - bmdVideoInputDualStream3D = 1 << 1 -}; - -/* Enum BMDVideoInputFormatChangedEvents - Bitmask passed to the VideoInputFormatChanged notification to identify the properties of the input signal that have changed */ - -typedef uint32_t BMDVideoInputFormatChangedEvents; -enum _BMDVideoInputFormatChangedEvents { - bmdVideoInputDisplayModeChanged = 1 << 0, - bmdVideoInputFieldDominanceChanged = 1 << 1, - bmdVideoInputColorspaceChanged = 1 << 2 -}; - -/* Enum BMDDetectedVideoInputFormatFlags - Flags passed to the VideoInputFormatChanged notification to describe the detected video input signal */ - -typedef uint32_t BMDDetectedVideoInputFormatFlags; -enum _BMDDetectedVideoInputFormatFlags { - bmdDetectedVideoInputYCbCr422 = 1 << 0, - bmdDetectedVideoInputRGB444 = 1 << 1, - bmdDetectedVideoInputDualStream3D = 1 << 2 -}; - -/* Enum BMDDeckLinkCapturePassthroughMode - Enumerates whether the video output is electrically connected to the video input or if the clean switching mode is enabled */ - -typedef uint32_t BMDDeckLinkCapturePassthroughMode; -enum _BMDDeckLinkCapturePassthroughMode { - bmdDeckLinkCapturePassthroughModeDirect = /* 'pdir' */ 0x70646972, - bmdDeckLinkCapturePassthroughModeCleanSwitch = /* 'pcln' */ 0x70636C6E -}; - -/* Enum BMDOutputFrameCompletionResult - Frame Completion Callback */ - -typedef uint32_t BMDOutputFrameCompletionResult; -enum _BMDOutputFrameCompletionResult { - bmdOutputFrameCompleted, - bmdOutputFrameDisplayedLate, - bmdOutputFrameDropped, - bmdOutputFrameFlushed -}; - -/* Enum BMDReferenceStatus - GenLock input status */ - -typedef uint32_t BMDReferenceStatus; -enum _BMDReferenceStatus { - bmdReferenceNotSupportedByHardware = 1 << 0, - bmdReferenceLocked = 1 << 1 -}; - -/* Enum BMDAudioSampleRate - Audio sample rates supported for output/input */ - -typedef uint32_t BMDAudioSampleRate; -enum _BMDAudioSampleRate { - bmdAudioSampleRate48kHz = 48000 -}; - -/* Enum BMDAudioSampleType - Audio sample sizes supported for output/input */ - -typedef uint32_t BMDAudioSampleType; -enum _BMDAudioSampleType { - bmdAudioSampleType16bitInteger = 16, - bmdAudioSampleType32bitInteger = 32 -}; - -/* Enum BMDAudioOutputStreamType - Audio output stream type */ - -typedef uint32_t BMDAudioOutputStreamType; -enum _BMDAudioOutputStreamType { - bmdAudioOutputStreamContinuous, - bmdAudioOutputStreamContinuousDontResample, - bmdAudioOutputStreamTimestamped -}; - -/* Enum BMDDisplayModeSupport - Output mode supported flags */ - -typedef uint32_t BMDDisplayModeSupport; -enum _BMDDisplayModeSupport { - bmdDisplayModeNotSupported = 0, - bmdDisplayModeSupported, - bmdDisplayModeSupportedWithConversion -}; - -/* Enum BMDTimecodeFormat - Timecode formats for frame metadata */ - -typedef uint32_t BMDTimecodeFormat; -enum _BMDTimecodeFormat { - bmdTimecodeRP188VITC1 = /* 'rpv1' */ 0x72707631, // RP188 timecode where DBB1 equals VITC1 (line 9) - bmdTimecodeRP188VITC2 = /* 'rp12' */ 0x72703132, // RP188 timecode where DBB1 equals VITC2 (line 9 for progressive or line 571 for interlaced/PsF) - bmdTimecodeRP188LTC = /* 'rplt' */ 0x72706C74, // RP188 timecode where DBB1 equals LTC (line 10) - bmdTimecodeRP188Any = /* 'rp18' */ 0x72703138, // For capture: return the first valid timecode in {VITC1, LTC ,VITC2} - For playback: set the timecode as VITC1 - bmdTimecodeVITC = /* 'vitc' */ 0x76697463, - bmdTimecodeVITCField2 = /* 'vit2' */ 0x76697432, - bmdTimecodeSerial = /* 'seri' */ 0x73657269 -}; - -/* Enum BMDAnalogVideoFlags - Analog video display flags */ - -typedef uint32_t BMDAnalogVideoFlags; -enum _BMDAnalogVideoFlags { - bmdAnalogVideoFlagCompositeSetup75 = 1 << 0, - bmdAnalogVideoFlagComponentBetacamLevels = 1 << 1 -}; - -/* Enum BMDAudioOutputAnalogAESSwitch - Audio output Analog/AESEBU switch */ - -typedef uint32_t BMDAudioOutputAnalogAESSwitch; -enum _BMDAudioOutputAnalogAESSwitch { - bmdAudioOutputSwitchAESEBU = /* 'aes ' */ 0x61657320, - bmdAudioOutputSwitchAnalog = /* 'anlg' */ 0x616E6C67 -}; - -/* Enum BMDVideoOutputConversionMode - Video/audio conversion mode */ - -typedef uint32_t BMDVideoOutputConversionMode; -enum _BMDVideoOutputConversionMode { - bmdNoVideoOutputConversion = /* 'none' */ 0x6E6F6E65, - bmdVideoOutputLetterboxDownconversion = /* 'ltbx' */ 0x6C746278, - bmdVideoOutputAnamorphicDownconversion = /* 'amph' */ 0x616D7068, - bmdVideoOutputHD720toHD1080Conversion = /* '720c' */ 0x37323063, - bmdVideoOutputHardwareLetterboxDownconversion = /* 'HWlb' */ 0x48576C62, - bmdVideoOutputHardwareAnamorphicDownconversion = /* 'HWam' */ 0x4857616D, - bmdVideoOutputHardwareCenterCutDownconversion = /* 'HWcc' */ 0x48576363, - bmdVideoOutputHardware720p1080pCrossconversion = /* 'xcap' */ 0x78636170, - bmdVideoOutputHardwareAnamorphic720pUpconversion = /* 'ua7p' */ 0x75613770, - bmdVideoOutputHardwareAnamorphic1080iUpconversion = /* 'ua1i' */ 0x75613169, - bmdVideoOutputHardwareAnamorphic149To720pUpconversion = /* 'u47p' */ 0x75343770, - bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = /* 'u41i' */ 0x75343169, - bmdVideoOutputHardwarePillarbox720pUpconversion = /* 'up7p' */ 0x75703770, - bmdVideoOutputHardwarePillarbox1080iUpconversion = /* 'up1i' */ 0x75703169 -}; - -/* Enum BMDVideoInputConversionMode - Video input conversion mode */ - -typedef uint32_t BMDVideoInputConversionMode; -enum _BMDVideoInputConversionMode { - bmdNoVideoInputConversion = /* 'none' */ 0x6E6F6E65, - bmdVideoInputLetterboxDownconversionFromHD1080 = /* '10lb' */ 0x31306C62, - bmdVideoInputAnamorphicDownconversionFromHD1080 = /* '10am' */ 0x3130616D, - bmdVideoInputLetterboxDownconversionFromHD720 = /* '72lb' */ 0x37326C62, - bmdVideoInputAnamorphicDownconversionFromHD720 = /* '72am' */ 0x3732616D, - bmdVideoInputLetterboxUpconversion = /* 'lbup' */ 0x6C627570, - bmdVideoInputAnamorphicUpconversion = /* 'amup' */ 0x616D7570 -}; - -/* Enum BMDVideo3DPackingFormat - Video 3D packing format */ - -typedef uint32_t BMDVideo3DPackingFormat; -enum _BMDVideo3DPackingFormat { - bmdVideo3DPackingSidebySideHalf = /* 'sbsh' */ 0x73627368, - bmdVideo3DPackingLinebyLine = /* 'lbyl' */ 0x6C62796C, - bmdVideo3DPackingTopAndBottom = /* 'tabo' */ 0x7461626F, - bmdVideo3DPackingFramePacking = /* 'frpk' */ 0x6672706B, - bmdVideo3DPackingLeftOnly = /* 'left' */ 0x6C656674, - bmdVideo3DPackingRightOnly = /* 'righ' */ 0x72696768 -}; - -/* Enum BMDIdleVideoOutputOperation - Video output operation when not playing video */ - -typedef uint32_t BMDIdleVideoOutputOperation; -enum _BMDIdleVideoOutputOperation { - bmdIdleVideoOutputBlack = /* 'blac' */ 0x626C6163, - bmdIdleVideoOutputLastFrame = /* 'lafa' */ 0x6C616661, - bmdIdleVideoOutputDesktop = /* 'desk' */ 0x6465736B -}; - -/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */ - -typedef uint32_t BMDDeckLinkAttributeID; -enum _BMDDeckLinkAttributeID { - - /* Flags */ - - BMDDeckLinkSupportsInternalKeying = /* 'keyi' */ 0x6B657969, - BMDDeckLinkSupportsExternalKeying = /* 'keye' */ 0x6B657965, - BMDDeckLinkSupportsHDKeying = /* 'keyh' */ 0x6B657968, - BMDDeckLinkSupportsInputFormatDetection = /* 'infd' */ 0x696E6664, - BMDDeckLinkHasReferenceInput = /* 'hrin' */ 0x6872696E, - BMDDeckLinkHasSerialPort = /* 'hspt' */ 0x68737074, - BMDDeckLinkHasAnalogVideoOutputGain = /* 'avog' */ 0x61766F67, - BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = /* 'ovog' */ 0x6F766F67, - BMDDeckLinkHasVideoInputAntiAliasingFilter = /* 'aafl' */ 0x6161666C, - BMDDeckLinkHasBypass = /* 'byps' */ 0x62797073, - BMDDeckLinkSupportsDesktopDisplay = /* 'extd' */ 0x65787464, - BMDDeckLinkSupportsClockTimingAdjustment = /* 'ctad' */ 0x63746164, - BMDDeckLinkSupportsFullDuplex = /* 'fdup' */ 0x66647570, - BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = /* 'frin' */ 0x6672696E, - BMDDeckLinkSupportsSMPTELevelAOutput = /* 'lvla' */ 0x6C766C61, - BMDDeckLinkSupportsDualLinkSDI = /* 'sdls' */ 0x73646C73, - BMDDeckLinkSupportsIdleOutput = /* 'idou' */ 0x69646F75, - - /* Integers */ - - BMDDeckLinkMaximumAudioChannels = /* 'mach' */ 0x6D616368, - BMDDeckLinkMaximumAnalogAudioChannels = /* 'aach' */ 0x61616368, - BMDDeckLinkNumberOfSubDevices = /* 'nsbd' */ 0x6E736264, - BMDDeckLinkSubDeviceIndex = /* 'subi' */ 0x73756269, - BMDDeckLinkPersistentID = /* 'peid' */ 0x70656964, - BMDDeckLinkTopologicalID = /* 'toid' */ 0x746F6964, - BMDDeckLinkVideoOutputConnections = /* 'vocn' */ 0x766F636E, - BMDDeckLinkVideoInputConnections = /* 'vicn' */ 0x7669636E, - BMDDeckLinkAudioOutputConnections = /* 'aocn' */ 0x616F636E, - BMDDeckLinkAudioInputConnections = /* 'aicn' */ 0x6169636E, - BMDDeckLinkDeviceBusyState = /* 'dbst' */ 0x64627374, - BMDDeckLinkVideoIOSupport = /* 'vios' */ 0x76696F73, // Returns a BMDVideoIOSupport bit field - - /* Floats */ - - BMDDeckLinkVideoInputGainMinimum = /* 'vigm' */ 0x7669676D, - BMDDeckLinkVideoInputGainMaximum = /* 'vigx' */ 0x76696778, - BMDDeckLinkVideoOutputGainMinimum = /* 'vogm' */ 0x766F676D, - BMDDeckLinkVideoOutputGainMaximum = /* 'vogx' */ 0x766F6778, - - /* Strings */ - - BMDDeckLinkSerialPortDeviceName = /* 'slpn' */ 0x736C706E -}; - -/* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */ - -typedef uint32_t BMDDeckLinkAPIInformationID; -enum _BMDDeckLinkAPIInformationID { - BMDDeckLinkAPIVersion = /* 'vers' */ 0x76657273 -}; - -/* Enum BMDDeviceBusyState - Current device busy state */ - -typedef uint32_t BMDDeviceBusyState; -enum _BMDDeviceBusyState { - bmdDeviceCaptureBusy = 1 << 0, - bmdDevicePlaybackBusy = 1 << 1, - bmdDeviceSerialPortBusy = 1 << 2 -}; - -/* Enum BMDVideoIOSupport - Device video input/output support */ - -typedef uint32_t BMDVideoIOSupport; -enum _BMDVideoIOSupport { - bmdDeviceSupportsCapture = 1 << 0, - bmdDeviceSupportsPlayback = 1 << 1 -}; - -/* Enum BMD3DPreviewFormat - Linked Frame preview format */ - -typedef uint32_t BMD3DPreviewFormat; -enum _BMD3DPreviewFormat { - bmd3DPreviewFormatDefault = /* 'defa' */ 0x64656661, - bmd3DPreviewFormatLeftOnly = /* 'left' */ 0x6C656674, - bmd3DPreviewFormatRightOnly = /* 'righ' */ 0x72696768, - bmd3DPreviewFormatSideBySide = /* 'side' */ 0x73696465, - bmd3DPreviewFormatTopBottom = /* 'topb' */ 0x746F7062 -}; - -/* Enum BMDNotifications - Events that can be subscribed through IDeckLinkNotification */ - -typedef uint32_t BMDNotifications; -enum _BMDNotifications { - bmdPreferencesChanged = /* 'pref' */ 0x70726566 -}; - -#if defined(__cplusplus) - -// Forward Declarations - -class IDeckLinkVideoOutputCallback; -class IDeckLinkInputCallback; -class IDeckLinkMemoryAllocator; -class IDeckLinkAudioOutputCallback; -class IDeckLinkIterator; -class IDeckLinkAPIInformation; -class IDeckLinkOutput; -class IDeckLinkInput; -class IDeckLinkVideoFrame; -class IDeckLinkMutableVideoFrame; -class IDeckLinkVideoFrame3DExtensions; -class IDeckLinkVideoInputFrame; -class IDeckLinkVideoFrameAncillary; -class IDeckLinkAudioInputPacket; -class IDeckLinkScreenPreviewCallback; -class IDeckLinkGLScreenPreviewHelper; -class IDeckLinkNotificationCallback; -class IDeckLinkNotification; -class IDeckLinkAttributes; -class IDeckLinkKeyer; -class IDeckLinkVideoConversion; -class IDeckLinkDeviceNotificationCallback; -class IDeckLinkDiscovery; - -/* Interface IDeckLinkVideoOutputCallback - Frame completion callback. */ - -class IDeckLinkVideoOutputCallback : public IUnknown -{ -public: - virtual HRESULT ScheduledFrameCompleted (/* in */ IDeckLinkVideoFrame *completedFrame, /* in */ BMDOutputFrameCompletionResult result) = 0; - virtual HRESULT ScheduledPlaybackHasStopped (void) = 0; - -protected: - virtual ~IDeckLinkVideoOutputCallback () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkInputCallback - Frame arrival callback. */ - -class IDeckLinkInputCallback : public IUnknown -{ -public: - virtual HRESULT VideoInputFormatChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - virtual HRESULT VideoInputFrameArrived (/* in */ IDeckLinkVideoInputFrame* videoFrame, /* in */ IDeckLinkAudioInputPacket* audioPacket) = 0; - -protected: - virtual ~IDeckLinkInputCallback () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkMemoryAllocator - Memory allocator for video frames. */ - -class IDeckLinkMemoryAllocator : public IUnknown -{ -public: - virtual HRESULT AllocateBuffer (/* in */ uint32_t bufferSize, /* out */ void **allocatedBuffer) = 0; - virtual HRESULT ReleaseBuffer (/* in */ void *buffer) = 0; - - virtual HRESULT Commit (void) = 0; - virtual HRESULT Decommit (void) = 0; -}; - -/* Interface IDeckLinkAudioOutputCallback - Optional callback to allow audio samples to be pulled as required. */ - -class IDeckLinkAudioOutputCallback : public IUnknown -{ -public: - virtual HRESULT RenderAudioSamples (/* in */ bool preroll) = 0; -}; - -/* Interface IDeckLinkIterator - enumerates installed DeckLink hardware */ - -class IDeckLinkIterator : public IUnknown -{ -public: - virtual HRESULT Next (/* out */ IDeckLink **deckLinkInstance) = 0; -}; - -/* Interface IDeckLinkAPIInformation - DeckLinkAPI attribute interface */ - -class IDeckLinkAPIInformation : public IUnknown -{ -public: - virtual HRESULT GetFlag (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ double *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkAPIInformationID cfgID, /* out */ const char **value) = 0; - -protected: - virtual ~IDeckLinkAPIInformation () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkOutput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkOutput : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoOutputFlags flags, /* out */ BMDDisplayModeSupport *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Output */ - - virtual HRESULT EnableVideoOutput (/* in */ BMDDisplayMode displayMode, /* in */ BMDVideoOutputFlags flags) = 0; - virtual HRESULT DisableVideoOutput (void) = 0; - - virtual HRESULT SetVideoOutputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - virtual HRESULT CreateVideoFrame (/* in */ int32_t width, /* in */ int32_t height, /* in */ int32_t rowBytes, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDFrameFlags flags, /* out */ IDeckLinkMutableVideoFrame **outFrame) = 0; - virtual HRESULT CreateAncillaryData (/* in */ BMDPixelFormat pixelFormat, /* out */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT DisplayVideoFrameSync (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT ScheduleVideoFrame (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeValue displayTime, /* in */ BMDTimeValue displayDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT SetScheduledFrameCompletionCallback (/* in */ IDeckLinkVideoOutputCallback *theCallback) = 0; - virtual HRESULT GetBufferedVideoFrameCount (/* out */ uint32_t *bufferedFrameCount) = 0; - - /* Audio Output */ - - virtual HRESULT EnableAudioOutput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount, /* in */ BMDAudioOutputStreamType streamType) = 0; - virtual HRESULT DisableAudioOutput (void) = 0; - - virtual HRESULT WriteAudioSamplesSync (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT BeginAudioPreroll (void) = 0; - virtual HRESULT EndAudioPreroll (void) = 0; - virtual HRESULT ScheduleAudioSamples (/* in */ void *buffer, /* in */ uint32_t sampleFrameCount, /* in */ BMDTimeValue streamTime, /* in */ BMDTimeScale timeScale, /* out */ uint32_t *sampleFramesWritten) = 0; - - virtual HRESULT GetBufferedAudioSampleFrameCount (/* out */ uint32_t *bufferedSampleFrameCount) = 0; - virtual HRESULT FlushBufferedAudioSamples (void) = 0; - - virtual HRESULT SetAudioCallback (/* in */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - /* Output Control */ - - virtual HRESULT StartScheduledPlayback (/* in */ BMDTimeValue playbackStartTime, /* in */ BMDTimeScale timeScale, /* in */ double playbackSpeed) = 0; - virtual HRESULT StopScheduledPlayback (/* in */ BMDTimeValue stopPlaybackAtTime, /* out */ BMDTimeValue *actualStopTime, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT IsScheduledPlaybackRunning (/* out */ bool *active) = 0; - virtual HRESULT GetScheduledStreamTime (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *streamTime, /* out */ double *playbackSpeed) = 0; - virtual HRESULT GetReferenceStatus (/* out */ BMDReferenceStatus *referenceStatus) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - virtual HRESULT GetFrameCompletionReferenceTimestamp (/* in */ IDeckLinkVideoFrame *theFrame, /* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *frameCompletionTimestamp) = 0; - -protected: - virtual ~IDeckLinkOutput () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkInput - Created by QueryInterface from IDeckLink. */ - -class IDeckLinkInput : public IUnknown -{ -public: - virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT SetScreenPreviewCallback (/* in */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - /* Video Input */ - - virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0; - virtual HRESULT DisableVideoInput (void) = 0; - virtual HRESULT GetAvailableVideoFrameCount (/* out */ uint32_t *availableFrameCount) = 0; - virtual HRESULT SetVideoInputFrameMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - /* Audio Input */ - - virtual HRESULT EnableAudioInput (/* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0; - virtual HRESULT DisableAudioInput (void) = 0; - virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0; - - /* Input Control */ - - virtual HRESULT StartStreams (void) = 0; - virtual HRESULT StopStreams (void) = 0; - virtual HRESULT PauseStreams (void) = 0; - virtual HRESULT FlushStreams (void) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkInputCallback *theCallback) = 0; - - /* Hardware Timing */ - - virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0; - -protected: - virtual ~IDeckLinkInput () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */ - -class IDeckLinkVideoFrame : public IUnknown -{ -public: - virtual long GetWidth (void) = 0; - virtual long GetHeight (void) = 0; - virtual long GetRowBytes (void) = 0; - virtual BMDPixelFormat GetPixelFormat (void) = 0; - virtual BMDFrameFlags GetFlags (void) = 0; - virtual HRESULT GetBytes (/* out */ void **buffer) = 0; - - virtual HRESULT GetTimecode (/* in */ BMDTimecodeFormat format, /* out */ IDeckLinkTimecode **timecode) = 0; - virtual HRESULT GetAncillaryData (/* out */ IDeckLinkVideoFrameAncillary **ancillary) = 0; - -protected: - virtual ~IDeckLinkVideoFrame () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkMutableVideoFrame - Created by IDeckLinkOutput::CreateVideoFrame. */ - -class IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame -{ -public: - virtual HRESULT SetFlags (/* in */ BMDFrameFlags newFlags) = 0; - - virtual HRESULT SetTimecode (/* in */ BMDTimecodeFormat format, /* in */ IDeckLinkTimecode *timecode) = 0; - virtual HRESULT SetTimecodeFromComponents (/* in */ BMDTimecodeFormat format, /* in */ uint8_t hours, /* in */ uint8_t minutes, /* in */ uint8_t seconds, /* in */ uint8_t frames, /* in */ BMDTimecodeFlags flags) = 0; - virtual HRESULT SetAncillaryData (/* in */ IDeckLinkVideoFrameAncillary *ancillary) = 0; - virtual HRESULT SetTimecodeUserBits (/* in */ BMDTimecodeFormat format, /* in */ BMDTimecodeUserBits userBits) = 0; - -protected: - virtual ~IDeckLinkMutableVideoFrame () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkVideoFrame3DExtensions - Optional interface implemented on IDeckLinkVideoFrame to support 3D frames */ - -class IDeckLinkVideoFrame3DExtensions : public IUnknown -{ -public: - virtual BMDVideo3DPackingFormat Get3DPackingFormat (void) = 0; - virtual HRESULT GetFrameForRightEye (/* out */ IDeckLinkVideoFrame* *rightEyeFrame) = 0; - -protected: - virtual ~IDeckLinkVideoFrame3DExtensions () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */ - -class IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame -{ -public: - virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration, /* in */ BMDTimeScale timeScale) = 0; - virtual HRESULT GetHardwareReferenceTimestamp (/* in */ BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0; - -protected: - virtual ~IDeckLinkVideoInputFrame () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkVideoFrameAncillary - Obtained through QueryInterface() on an IDeckLinkVideoFrame object. */ - -class IDeckLinkVideoFrameAncillary : public IUnknown -{ -public: - - virtual HRESULT GetBufferForVerticalBlankingLine (/* in */ uint32_t lineNumber, /* out */ void **buffer) = 0; - virtual BMDPixelFormat GetPixelFormat (void) = 0; - virtual BMDDisplayMode GetDisplayMode (void) = 0; - -protected: - virtual ~IDeckLinkVideoFrameAncillary () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkAudioInputPacket - Provided by the IDeckLinkInput callback. */ - -class IDeckLinkAudioInputPacket : public IUnknown -{ -public: - virtual long GetSampleFrameCount (void) = 0; - virtual HRESULT GetBytes (/* out */ void **buffer) = 0; - virtual HRESULT GetPacketTime (/* out */ BMDTimeValue *packetTime, /* in */ BMDTimeScale timeScale) = 0; - -protected: - virtual ~IDeckLinkAudioInputPacket () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkScreenPreviewCallback - Screen preview callback */ - -class IDeckLinkScreenPreviewCallback : public IUnknown -{ -public: - virtual HRESULT DrawFrame (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - -protected: - virtual ~IDeckLinkScreenPreviewCallback () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkGLScreenPreviewHelper - Created with CoCreateInstance(). */ - -class IDeckLinkGLScreenPreviewHelper : public IUnknown -{ -public: - - /* Methods must be called with OpenGL context set */ - - virtual HRESULT InitializeGL (void) = 0; - virtual HRESULT PaintGL (void) = 0; - virtual HRESULT SetFrame (/* in */ IDeckLinkVideoFrame *theFrame) = 0; - virtual HRESULT Set3DPreviewFormat (/* in */ BMD3DPreviewFormat previewFormat) = 0; - -protected: - virtual ~IDeckLinkGLScreenPreviewHelper () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkNotificationCallback - DeckLink Notification Callback Interface */ - -class IDeckLinkNotificationCallback : public IUnknown -{ -public: - virtual HRESULT Notify (/* in */ BMDNotifications topic, /* in */ uint64_t param1, /* in */ uint64_t param2) = 0; -}; - -/* Interface IDeckLinkNotification - DeckLink Notification interface */ - -class IDeckLinkNotification : public IUnknown -{ -public: - virtual HRESULT Subscribe (/* in */ BMDNotifications topic, /* in */ IDeckLinkNotificationCallback *theCallback) = 0; - virtual HRESULT Unsubscribe (/* in */ BMDNotifications topic, /* in */ IDeckLinkNotificationCallback *theCallback) = 0; -}; - -/* Interface IDeckLinkAttributes - DeckLink Attribute interface */ - -class IDeckLinkAttributes : public IUnknown -{ -public: - virtual HRESULT GetFlag (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ bool *value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ double *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ const char **value) = 0; - -protected: - virtual ~IDeckLinkAttributes () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkKeyer - DeckLink Keyer interface */ - -class IDeckLinkKeyer : public IUnknown -{ -public: - virtual HRESULT Enable (/* in */ bool isExternal) = 0; - virtual HRESULT SetLevel (/* in */ uint8_t level) = 0; - virtual HRESULT RampUp (/* in */ uint32_t numberOfFrames) = 0; - virtual HRESULT RampDown (/* in */ uint32_t numberOfFrames) = 0; - virtual HRESULT Disable (void) = 0; - -protected: - virtual ~IDeckLinkKeyer () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkVideoConversion - Created with CoCreateInstance(). */ - -class IDeckLinkVideoConversion : public IUnknown -{ -public: - virtual HRESULT ConvertFrame (/* in */ IDeckLinkVideoFrame* srcFrame, /* in */ IDeckLinkVideoFrame* dstFrame) = 0; - -protected: - virtual ~IDeckLinkVideoConversion () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkDeviceNotificationCallback - DeckLink device arrival/removal notification callbacks */ - -class IDeckLinkDeviceNotificationCallback : public IUnknown -{ -public: - virtual HRESULT DeckLinkDeviceArrived (/* in */ IDeckLink* deckLinkDevice) = 0; - virtual HRESULT DeckLinkDeviceRemoved (/* in */ IDeckLink* deckLinkDevice) = 0; - -protected: - virtual ~IDeckLinkDeviceNotificationCallback () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkDiscovery - DeckLink device discovery */ - -class IDeckLinkDiscovery : public IUnknown -{ -public: - virtual HRESULT InstallDeviceNotifications (/* in */ IDeckLinkDeviceNotificationCallback* deviceNotificationCallback) = 0; - virtual HRESULT UninstallDeviceNotifications (void) = 0; - -protected: - virtual ~IDeckLinkDiscovery () {} // call Release method to drop reference count -}; - -/* Functions */ - -extern "C" { - - IDeckLinkIterator* CreateDeckLinkIteratorInstance (void); - IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance (void); - IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance (void); - IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper (void); - IDeckLinkVideoConversion* CreateVideoConversionInstance (void); - bool IsDeckLinkAPIPresent (void); -} - - -#endif // defined(__cplusplus) -#endif /* defined(BMD_DECKLINKAPI_H) */ diff --git a/intern/decklink/linux/DeckLinkAPIConfiguration.h b/intern/decklink/linux/DeckLinkAPIConfiguration.h deleted file mode 100644 index 9d5bc9a9e1b..00000000000 --- a/intern/decklink/linux/DeckLinkAPIConfiguration.h +++ /dev/null @@ -1,192 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPICONFIGURATION_H -#define BMD_DECKLINKAPICONFIGURATION_H - - -#ifndef BMD_CONST - #if defined(_MSC_VER) - #define BMD_CONST __declspec(selectany) static const - #else - #define BMD_CONST static const - #endif -#endif - -// Type Declarations - - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkConfiguration = /* 1E69FCF6-4203-4936-8076-2A9F4CFD50CB */ {0x1E,0x69,0xFC,0xF6,0x42,0x03,0x49,0x36,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB}; - -/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */ - -typedef uint32_t BMDDeckLinkConfigurationID; -enum _BMDDeckLinkConfigurationID { - - /* Serial port Flags */ - - bmdDeckLinkConfigSwapSerialRxTx = /* 'ssrt' */ 0x73737274, - - /* Video Input/Output Flags */ - - bmdDeckLinkConfigUse1080pNotPsF = /* 'fpro' */ 0x6670726F, - - /* Video Input/Output Integers */ - - bmdDeckLinkConfigHDMI3DPackingFormat = /* '3dpf' */ 0x33647066, - bmdDeckLinkConfigBypass = /* 'byps' */ 0x62797073, - bmdDeckLinkConfigClockTimingAdjustment = /* 'ctad' */ 0x63746164, - - /* Audio Input/Output Flags */ - - bmdDeckLinkConfigAnalogAudioConsumerLevels = /* 'aacl' */ 0x6161636C, - - /* Video output flags */ - - bmdDeckLinkConfigFieldFlickerRemoval = /* 'fdfr' */ 0x66646672, - bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = /* 'to59' */ 0x746F3539, - bmdDeckLinkConfig444SDIVideoOutput = /* '444o' */ 0x3434346F, - bmdDeckLinkConfigSingleLinkVideoOutput = /* 'sglo' */ 0x73676C6F, - bmdDeckLinkConfigBlackVideoOutputDuringCapture = /* 'bvoc' */ 0x62766F63, - bmdDeckLinkConfigLowLatencyVideoOutput = /* 'llvo' */ 0x6C6C766F, - bmdDeckLinkConfigDownConversionOnAllAnalogOutput = /* 'caao' */ 0x6361616F, - bmdDeckLinkConfigSMPTELevelAOutput = /* 'smta' */ 0x736D7461, - - /* Video Output Integers */ - - bmdDeckLinkConfigVideoOutputConnection = /* 'vocn' */ 0x766F636E, - bmdDeckLinkConfigVideoOutputConversionMode = /* 'vocm' */ 0x766F636D, - bmdDeckLinkConfigAnalogVideoOutputFlags = /* 'avof' */ 0x61766F66, - bmdDeckLinkConfigReferenceInputTimingOffset = /* 'glot' */ 0x676C6F74, - bmdDeckLinkConfigVideoOutputIdleOperation = /* 'voio' */ 0x766F696F, - bmdDeckLinkConfigDefaultVideoOutputMode = /* 'dvom' */ 0x64766F6D, - bmdDeckLinkConfigDefaultVideoOutputModeFlags = /* 'dvof' */ 0x64766F66, - - /* Video Output Floats */ - - bmdDeckLinkConfigVideoOutputComponentLumaGain = /* 'oclg' */ 0x6F636C67, - bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = /* 'occb' */ 0x6F636362, - bmdDeckLinkConfigVideoOutputComponentChromaRedGain = /* 'occr' */ 0x6F636372, - bmdDeckLinkConfigVideoOutputCompositeLumaGain = /* 'oilg' */ 0x6F696C67, - bmdDeckLinkConfigVideoOutputCompositeChromaGain = /* 'oicg' */ 0x6F696367, - bmdDeckLinkConfigVideoOutputSVideoLumaGain = /* 'oslg' */ 0x6F736C67, - bmdDeckLinkConfigVideoOutputSVideoChromaGain = /* 'oscg' */ 0x6F736367, - - /* Video Input Flags */ - - bmdDeckLinkConfigVideoInputScanning = /* 'visc' */ 0x76697363, // Applicable to H264 Pro Recorder only - bmdDeckLinkConfigUseDedicatedLTCInput = /* 'dltc' */ 0x646C7463, // Use timecode from LTC input instead of SDI stream - - /* Video Input Integers */ - - bmdDeckLinkConfigVideoInputConnection = /* 'vicn' */ 0x7669636E, - bmdDeckLinkConfigAnalogVideoInputFlags = /* 'avif' */ 0x61766966, - bmdDeckLinkConfigVideoInputConversionMode = /* 'vicm' */ 0x7669636D, - bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = /* 'pdif' */ 0x70646966, - bmdDeckLinkConfigVANCSourceLine1Mapping = /* 'vsl1' */ 0x76736C31, - bmdDeckLinkConfigVANCSourceLine2Mapping = /* 'vsl2' */ 0x76736C32, - bmdDeckLinkConfigVANCSourceLine3Mapping = /* 'vsl3' */ 0x76736C33, - bmdDeckLinkConfigCapturePassThroughMode = /* 'cptm' */ 0x6370746D, - - /* Video Input Floats */ - - bmdDeckLinkConfigVideoInputComponentLumaGain = /* 'iclg' */ 0x69636C67, - bmdDeckLinkConfigVideoInputComponentChromaBlueGain = /* 'iccb' */ 0x69636362, - bmdDeckLinkConfigVideoInputComponentChromaRedGain = /* 'iccr' */ 0x69636372, - bmdDeckLinkConfigVideoInputCompositeLumaGain = /* 'iilg' */ 0x69696C67, - bmdDeckLinkConfigVideoInputCompositeChromaGain = /* 'iicg' */ 0x69696367, - bmdDeckLinkConfigVideoInputSVideoLumaGain = /* 'islg' */ 0x69736C67, - bmdDeckLinkConfigVideoInputSVideoChromaGain = /* 'iscg' */ 0x69736367, - - /* Audio Input Integers */ - - bmdDeckLinkConfigAudioInputConnection = /* 'aicn' */ 0x6169636E, - - /* Audio Input Floats */ - - bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = /* 'ais1' */ 0x61697331, - bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = /* 'ais2' */ 0x61697332, - bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = /* 'ais3' */ 0x61697333, - bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = /* 'ais4' */ 0x61697334, - bmdDeckLinkConfigDigitalAudioInputScale = /* 'dais' */ 0x64616973, - - /* Audio Output Integers */ - - bmdDeckLinkConfigAudioOutputAESAnalogSwitch = /* 'aoaa' */ 0x616F6161, - - /* Audio Output Floats */ - - bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = /* 'aos1' */ 0x616F7331, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = /* 'aos2' */ 0x616F7332, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = /* 'aos3' */ 0x616F7333, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = /* 'aos4' */ 0x616F7334, - bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */ 0x64616F73, - - /* Device Information Strings */ - - bmdDeckLinkConfigDeviceInformationLabel = /* 'dila' */ 0x64696C61, - bmdDeckLinkConfigDeviceInformationSerialNumber = /* 'disn' */ 0x6469736E, - bmdDeckLinkConfigDeviceInformationCompany = /* 'dico' */ 0x6469636F, - bmdDeckLinkConfigDeviceInformationPhone = /* 'diph' */ 0x64697068, - bmdDeckLinkConfigDeviceInformationEmail = /* 'diem' */ 0x6469656D, - bmdDeckLinkConfigDeviceInformationDate = /* 'dida' */ 0x64696461 -}; - -// Forward Declarations - -class IDeckLinkConfiguration; - -/* Interface IDeckLinkConfiguration - DeckLink Configuration interface */ - -class IDeckLinkConfiguration : public IUnknown -{ -public: - virtual HRESULT SetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ bool value) = 0; - virtual HRESULT GetFlag (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ bool *value) = 0; - virtual HRESULT SetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ int64_t value) = 0; - virtual HRESULT GetInt (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ int64_t *value) = 0; - virtual HRESULT SetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ double value) = 0; - virtual HRESULT GetFloat (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ double *value) = 0; - virtual HRESULT SetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* in */ const char *value) = 0; - virtual HRESULT GetString (/* in */ BMDDeckLinkConfigurationID cfgID, /* out */ const char **value) = 0; - virtual HRESULT WriteConfigurationToPreferences (void) = 0; - -protected: - virtual ~IDeckLinkConfiguration () {} // call Release method to drop reference count -}; - -/* Functions */ - -extern "C" { - - -} - - -#endif /* defined(BMD_DECKLINKAPICONFIGURATION_H) */ diff --git a/intern/decklink/linux/DeckLinkAPIDeckControl.h b/intern/decklink/linux/DeckLinkAPIDeckControl.h deleted file mode 100644 index b83d013129e..00000000000 --- a/intern/decklink/linux/DeckLinkAPIDeckControl.h +++ /dev/null @@ -1,215 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIDECKCONTROL_H -#define BMD_DECKLINKAPIDECKCONTROL_H - - -#ifndef BMD_CONST - #if defined(_MSC_VER) - #define BMD_CONST __declspec(selectany) static const - #else - #define BMD_CONST static const - #endif -#endif - -// Type Declarations - - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkDeckControlStatusCallback = /* 53436FFB-B434-4906-BADC-AE3060FFE8EF */ {0x53,0x43,0x6F,0xFB,0xB4,0x34,0x49,0x06,0xBA,0xDC,0xAE,0x30,0x60,0xFF,0xE8,0xEF}; -BMD_CONST REFIID IID_IDeckLinkDeckControl = /* 8E1C3ACE-19C7-4E00-8B92-D80431D958BE */ {0x8E,0x1C,0x3A,0xCE,0x19,0xC7,0x4E,0x00,0x8B,0x92,0xD8,0x04,0x31,0xD9,0x58,0xBE}; - -/* Enum BMDDeckControlMode - DeckControl mode */ - -typedef uint32_t BMDDeckControlMode; -enum _BMDDeckControlMode { - bmdDeckControlNotOpened = /* 'ntop' */ 0x6E746F70, - bmdDeckControlVTRControlMode = /* 'vtrc' */ 0x76747263, - bmdDeckControlExportMode = /* 'expm' */ 0x6578706D, - bmdDeckControlCaptureMode = /* 'capm' */ 0x6361706D -}; - -/* Enum BMDDeckControlEvent - DeckControl event */ - -typedef uint32_t BMDDeckControlEvent; -enum _BMDDeckControlEvent { - bmdDeckControlAbortedEvent = /* 'abte' */ 0x61627465, // This event is triggered when a capture or edit-to-tape operation is aborted. - - /* Export-To-Tape events */ - - bmdDeckControlPrepareForExportEvent = /* 'pfee' */ 0x70666565, // This event is triggered a few frames before reaching the in-point. IDeckLinkInput::StartScheduledPlayback() should be called at this point. - bmdDeckControlExportCompleteEvent = /* 'exce' */ 0x65786365, // This event is triggered a few frames after reaching the out-point. At this point, it is safe to stop playback. - - /* Capture events */ - - bmdDeckControlPrepareForCaptureEvent = /* 'pfce' */ 0x70666365, // This event is triggered a few frames before reaching the in-point. The serial timecode attached to IDeckLinkVideoInputFrames is now valid. - bmdDeckControlCaptureCompleteEvent = /* 'ccev' */ 0x63636576 // This event is triggered a few frames after reaching the out-point. -}; - -/* Enum BMDDeckControlVTRControlState - VTR Control state */ - -typedef uint32_t BMDDeckControlVTRControlState; -enum _BMDDeckControlVTRControlState { - bmdDeckControlNotInVTRControlMode = /* 'nvcm' */ 0x6E76636D, - bmdDeckControlVTRControlPlaying = /* 'vtrp' */ 0x76747270, - bmdDeckControlVTRControlRecording = /* 'vtrr' */ 0x76747272, - bmdDeckControlVTRControlStill = /* 'vtra' */ 0x76747261, - bmdDeckControlVTRControlShuttleForward = /* 'vtsf' */ 0x76747366, - bmdDeckControlVTRControlShuttleReverse = /* 'vtsr' */ 0x76747372, - bmdDeckControlVTRControlJogForward = /* 'vtjf' */ 0x76746A66, - bmdDeckControlVTRControlJogReverse = /* 'vtjr' */ 0x76746A72, - bmdDeckControlVTRControlStopped = /* 'vtro' */ 0x7674726F -}; - -/* Enum BMDDeckControlStatusFlags - Deck Control status flags */ - -typedef uint32_t BMDDeckControlStatusFlags; -enum _BMDDeckControlStatusFlags { - bmdDeckControlStatusDeckConnected = 1 << 0, - bmdDeckControlStatusRemoteMode = 1 << 1, - bmdDeckControlStatusRecordInhibited = 1 << 2, - bmdDeckControlStatusCassetteOut = 1 << 3 -}; - -/* Enum BMDDeckControlExportModeOpsFlags - Export mode flags */ - -typedef uint32_t BMDDeckControlExportModeOpsFlags; -enum _BMDDeckControlExportModeOpsFlags { - bmdDeckControlExportModeInsertVideo = 1 << 0, - bmdDeckControlExportModeInsertAudio1 = 1 << 1, - bmdDeckControlExportModeInsertAudio2 = 1 << 2, - bmdDeckControlExportModeInsertAudio3 = 1 << 3, - bmdDeckControlExportModeInsertAudio4 = 1 << 4, - bmdDeckControlExportModeInsertAudio5 = 1 << 5, - bmdDeckControlExportModeInsertAudio6 = 1 << 6, - bmdDeckControlExportModeInsertAudio7 = 1 << 7, - bmdDeckControlExportModeInsertAudio8 = 1 << 8, - bmdDeckControlExportModeInsertAudio9 = 1 << 9, - bmdDeckControlExportModeInsertAudio10 = 1 << 10, - bmdDeckControlExportModeInsertAudio11 = 1 << 11, - bmdDeckControlExportModeInsertAudio12 = 1 << 12, - bmdDeckControlExportModeInsertTimeCode = 1 << 13, - bmdDeckControlExportModeInsertAssemble = 1 << 14, - bmdDeckControlExportModeInsertPreview = 1 << 15, - bmdDeckControlUseManualExport = 1 << 16 -}; - -/* Enum BMDDeckControlError - Deck Control error */ - -typedef uint32_t BMDDeckControlError; -enum _BMDDeckControlError { - bmdDeckControlNoError = /* 'noer' */ 0x6E6F6572, - bmdDeckControlModeError = /* 'moer' */ 0x6D6F6572, - bmdDeckControlMissedInPointError = /* 'mier' */ 0x6D696572, - bmdDeckControlDeckTimeoutError = /* 'dter' */ 0x64746572, - bmdDeckControlCommandFailedError = /* 'cfer' */ 0x63666572, - bmdDeckControlDeviceAlreadyOpenedError = /* 'dalo' */ 0x64616C6F, - bmdDeckControlFailedToOpenDeviceError = /* 'fder' */ 0x66646572, - bmdDeckControlInLocalModeError = /* 'lmer' */ 0x6C6D6572, - bmdDeckControlEndOfTapeError = /* 'eter' */ 0x65746572, - bmdDeckControlUserAbortError = /* 'uaer' */ 0x75616572, - bmdDeckControlNoTapeInDeckError = /* 'nter' */ 0x6E746572, - bmdDeckControlNoVideoFromCardError = /* 'nvfc' */ 0x6E766663, - bmdDeckControlNoCommunicationError = /* 'ncom' */ 0x6E636F6D, - bmdDeckControlBufferTooSmallError = /* 'btsm' */ 0x6274736D, - bmdDeckControlBadChecksumError = /* 'chks' */ 0x63686B73, - bmdDeckControlUnknownError = /* 'uner' */ 0x756E6572 -}; - -// Forward Declarations - -class IDeckLinkDeckControlStatusCallback; -class IDeckLinkDeckControl; - -/* Interface IDeckLinkDeckControlStatusCallback - Deck control state change callback. */ - -class IDeckLinkDeckControlStatusCallback : public IUnknown -{ -public: - virtual HRESULT TimecodeUpdate (/* in */ BMDTimecodeBCD currentTimecode) = 0; - virtual HRESULT VTRControlStateChanged (/* in */ BMDDeckControlVTRControlState newState, /* in */ BMDDeckControlError error) = 0; - virtual HRESULT DeckControlEventReceived (/* in */ BMDDeckControlEvent event, /* in */ BMDDeckControlError error) = 0; - virtual HRESULT DeckControlStatusChanged (/* in */ BMDDeckControlStatusFlags flags, /* in */ uint32_t mask) = 0; - -protected: - virtual ~IDeckLinkDeckControlStatusCallback () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkDeckControl - Deck Control main interface */ - -class IDeckLinkDeckControl : public IUnknown -{ -public: - virtual HRESULT Open (/* in */ BMDTimeScale timeScale, /* in */ BMDTimeValue timeValue, /* in */ bool timecodeIsDropFrame, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Close (/* in */ bool standbyOn) = 0; - virtual HRESULT GetCurrentState (/* out */ BMDDeckControlMode *mode, /* out */ BMDDeckControlVTRControlState *vtrControlState, /* out */ BMDDeckControlStatusFlags *flags) = 0; - virtual HRESULT SetStandby (/* in */ bool standbyOn) = 0; - virtual HRESULT SendCommand (/* in */ uint8_t *inBuffer, /* in */ uint32_t inBufferSize, /* out */ uint8_t *outBuffer, /* out */ uint32_t *outDataSize, /* in */ uint32_t outBufferSize, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Play (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Stop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT TogglePlayStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Eject (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GoToTimecode (/* in */ BMDTimecodeBCD timecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT FastForward (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Rewind (/* in */ bool viewTape, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepForward (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StepBack (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Jog (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Shuttle (/* in */ double rate, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeString (/* out */ const char **currentTimeCode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecode (/* out */ IDeckLinkTimecode **currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetTimecodeBCD (/* out */ BMDTimecodeBCD *currentTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetPreroll (/* in */ uint32_t prerollSeconds) = 0; - virtual HRESULT GetPreroll (/* out */ uint32_t *prerollSeconds) = 0; - virtual HRESULT SetExportOffset (/* in */ int32_t exportOffsetFields) = 0; - virtual HRESULT GetExportOffset (/* out */ int32_t *exportOffsetFields) = 0; - virtual HRESULT GetManualExportOffset (/* out */ int32_t *deckManualExportOffsetFields) = 0; - virtual HRESULT SetCaptureOffset (/* in */ int32_t captureOffsetFields) = 0; - virtual HRESULT GetCaptureOffset (/* out */ int32_t *captureOffsetFields) = 0; - virtual HRESULT StartExport (/* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* in */ BMDDeckControlExportModeOpsFlags exportModeOps, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT StartCapture (/* in */ bool useVITC, /* in */ BMDTimecodeBCD inTimecode, /* in */ BMDTimecodeBCD outTimecode, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT GetDeviceID (/* out */ uint16_t *deviceId, /* out */ BMDDeckControlError *error) = 0; - virtual HRESULT Abort (void) = 0; - virtual HRESULT CrashRecordStart (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT CrashRecordStop (/* out */ BMDDeckControlError *error) = 0; - virtual HRESULT SetCallback (/* in */ IDeckLinkDeckControlStatusCallback *callback) = 0; - -protected: - virtual ~IDeckLinkDeckControl () {} // call Release method to drop reference count -}; - -/* Functions */ - -extern "C" { - - -} - - -#endif /* defined(BMD_DECKLINKAPIDECKCONTROL_H) */ diff --git a/intern/decklink/linux/DeckLinkAPIDiscovery.h b/intern/decklink/linux/DeckLinkAPIDiscovery.h deleted file mode 100644 index 424d9d54b39..00000000000 --- a/intern/decklink/linux/DeckLinkAPIDiscovery.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIDISCOVERY_H -#define BMD_DECKLINKAPIDISCOVERY_H - - -#ifndef BMD_CONST - #if defined(_MSC_VER) - #define BMD_CONST __declspec(selectany) static const - #else - #define BMD_CONST static const - #endif -#endif - -// Type Declarations - - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLink = /* C418FBDD-0587-48ED-8FE5-640F0A14AF91 */ {0xC4,0x18,0xFB,0xDD,0x05,0x87,0x48,0xED,0x8F,0xE5,0x64,0x0F,0x0A,0x14,0xAF,0x91}; - -// Forward Declarations - -class IDeckLink; - -/* Interface IDeckLink - represents a DeckLink device */ - -class IDeckLink : public IUnknown -{ -public: - virtual HRESULT GetModelName (/* out */ const char **modelName) = 0; - virtual HRESULT GetDisplayName (/* out */ const char **displayName) = 0; - -protected: - virtual ~IDeckLink () {} // call Release method to drop reference count -}; - -/* Functions */ - -extern "C" { - - -} - - -#endif /* defined(BMD_DECKLINKAPIDISCOVERY_H) */ diff --git a/intern/decklink/linux/DeckLinkAPIDispatch.cpp b/intern/decklink/linux/DeckLinkAPIDispatch.cpp deleted file mode 100644 index 3cf53f109ac..00000000000 --- a/intern/decklink/linux/DeckLinkAPIDispatch.cpp +++ /dev/null @@ -1,148 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -**/ - -#include <stdlib.h> -#include <stdio.h> -#include <pthread.h> -#include <dlfcn.h> -#include <ctype.h> - -#include "DeckLinkAPI.h" - -#define kDeckLinkAPI_Name "libDeckLinkAPI.so" -#define KDeckLinkPreviewAPI_Name "libDeckLinkPreviewAPI.so" - -typedef IDeckLinkIterator* (*CreateIteratorFunc)(void); -typedef IDeckLinkAPIInformation* (*CreateAPIInformationFunc)(void); -typedef IDeckLinkGLScreenPreviewHelper* (*CreateOpenGLScreenPreviewHelperFunc)(void); -typedef IDeckLinkVideoConversion* (*CreateVideoConversionInstanceFunc)(void); -typedef IDeckLinkDiscovery* (*CreateDeckLinkDiscoveryInstanceFunc)(void); - -static pthread_once_t gDeckLinkOnceControl = PTHREAD_ONCE_INIT; -static pthread_once_t gPreviewOnceControl = PTHREAD_ONCE_INIT; - -static bool gLoadedDeckLinkAPI = false; - -static CreateIteratorFunc gCreateIteratorFunc = NULL; -static CreateAPIInformationFunc gCreateAPIInformationFunc = NULL; -static CreateOpenGLScreenPreviewHelperFunc gCreateOpenGLPreviewFunc = NULL; -static CreateVideoConversionInstanceFunc gCreateVideoConversionFunc = NULL; -static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc = NULL; - -static void InitDeckLinkAPI (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(kDeckLinkAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - - gLoadedDeckLinkAPI = true; - - gCreateIteratorFunc = (CreateIteratorFunc)dlsym(libraryHandle, "CreateDeckLinkIteratorInstance_0002"); - if (!gCreateIteratorFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateAPIInformationFunc = (CreateAPIInformationFunc)dlsym(libraryHandle, "CreateDeckLinkAPIInformationInstance_0001"); - if (!gCreateAPIInformationFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateVideoConversionFunc = (CreateVideoConversionInstanceFunc)dlsym(libraryHandle, "CreateVideoConversionInstance_0001"); - if (!gCreateVideoConversionFunc) - fprintf(stderr, "%s\n", dlerror()); - gCreateDeckLinkDiscoveryFunc = (CreateDeckLinkDiscoveryInstanceFunc)dlsym(libraryHandle, "CreateDeckLinkDiscoveryInstance_0001"); - if (!gCreateDeckLinkDiscoveryFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -static void InitDeckLinkPreviewAPI (void) -{ - void *libraryHandle; - - libraryHandle = dlopen(KDeckLinkPreviewAPI_Name, RTLD_NOW|RTLD_GLOBAL); - if (!libraryHandle) - { - fprintf(stderr, "%s\n", dlerror()); - return; - } - gCreateOpenGLPreviewFunc = (CreateOpenGLScreenPreviewHelperFunc)dlsym(libraryHandle, "CreateOpenGLScreenPreviewHelper_0001"); - if (!gCreateOpenGLPreviewFunc) - fprintf(stderr, "%s\n", dlerror()); -} - -bool IsDeckLinkAPIPresent (void) -{ - // If the DeckLink API dynamic library was successfully loaded, return this knowledge to the caller - return gLoadedDeckLinkAPI; -} - -IDeckLinkIterator* CreateDeckLinkIteratorInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateIteratorFunc == NULL) - return NULL; - return gCreateIteratorFunc(); -} - -IDeckLinkAPIInformation* CreateDeckLinkAPIInformationInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateAPIInformationFunc == NULL) - return NULL; - return gCreateAPIInformationFunc(); -} - -IDeckLinkGLScreenPreviewHelper* CreateOpenGLScreenPreviewHelper (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - pthread_once(&gPreviewOnceControl, InitDeckLinkPreviewAPI); - - if (gCreateOpenGLPreviewFunc == NULL) - return NULL; - return gCreateOpenGLPreviewFunc(); -} - -IDeckLinkVideoConversion* CreateVideoConversionInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateVideoConversionFunc == NULL) - return NULL; - return gCreateVideoConversionFunc(); -} - -IDeckLinkDiscovery* CreateDeckLinkDiscoveryInstance (void) -{ - pthread_once(&gDeckLinkOnceControl, InitDeckLinkAPI); - - if (gCreateDeckLinkDiscoveryFunc == NULL) - return NULL; - return gCreateDeckLinkDiscoveryFunc(); -} diff --git a/intern/decklink/linux/DeckLinkAPIModes.h b/intern/decklink/linux/DeckLinkAPIModes.h deleted file mode 100644 index 394d68c3078..00000000000 --- a/intern/decklink/linux/DeckLinkAPIModes.h +++ /dev/null @@ -1,191 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPIMODES_H -#define BMD_DECKLINKAPIMODES_H - - -#ifndef BMD_CONST - #if defined(_MSC_VER) - #define BMD_CONST __declspec(selectany) static const - #else - #define BMD_CONST static const - #endif -#endif - -// Type Declarations - - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkDisplayModeIterator = /* 9C88499F-F601-4021-B80B-032E4EB41C35 */ {0x9C,0x88,0x49,0x9F,0xF6,0x01,0x40,0x21,0xB8,0x0B,0x03,0x2E,0x4E,0xB4,0x1C,0x35}; -BMD_CONST REFIID IID_IDeckLinkDisplayMode = /* 3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78 */ {0x3E,0xB2,0xC1,0xAB,0x0A,0x3D,0x45,0x23,0xA3,0xAD,0xF4,0x0D,0x7F,0xB1,0x4E,0x78}; - -/* Enum BMDDisplayMode - Video display modes */ - -typedef uint32_t BMDDisplayMode; -enum _BMDDisplayMode { - - /* SD Modes */ - - bmdModeNTSC = /* 'ntsc' */ 0x6E747363, - bmdModeNTSC2398 = /* 'nt23' */ 0x6E743233, // 3:2 pulldown - bmdModePAL = /* 'pal ' */ 0x70616C20, - bmdModeNTSCp = /* 'ntsp' */ 0x6E747370, - bmdModePALp = /* 'palp' */ 0x70616C70, - - /* HD 1080 Modes */ - - bmdModeHD1080p2398 = /* '23ps' */ 0x32337073, - bmdModeHD1080p24 = /* '24ps' */ 0x32347073, - 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. - - /* HD 720 Modes */ - - bmdModeHD720p50 = /* 'hp50' */ 0x68703530, - bmdModeHD720p5994 = /* 'hp59' */ 0x68703539, - bmdModeHD720p60 = /* 'hp60' */ 0x68703630, - - /* 2k Modes */ - - bmdMode2k2398 = /* '2k23' */ 0x326B3233, - bmdMode2k24 = /* '2k24' */ 0x326B3234, - bmdMode2k25 = /* '2k25' */ 0x326B3235, - - /* DCI Modes (output only) */ - - bmdMode2kDCI2398 = /* '2d23' */ 0x32643233, - bmdMode2kDCI24 = /* '2d24' */ 0x32643234, - bmdMode2kDCI25 = /* '2d25' */ 0x32643235, - - /* 4k Modes */ - - bmdMode4K2160p2398 = /* '4k23' */ 0x346B3233, - bmdMode4K2160p24 = /* '4k24' */ 0x346B3234, - bmdMode4K2160p25 = /* '4k25' */ 0x346B3235, - bmdMode4K2160p2997 = /* '4k29' */ 0x346B3239, - bmdMode4K2160p30 = /* '4k30' */ 0x346B3330, - bmdMode4K2160p50 = /* '4k50' */ 0x346B3530, - bmdMode4K2160p5994 = /* '4k59' */ 0x346B3539, - bmdMode4K2160p60 = /* '4k60' */ 0x346B3630, - - /* DCI Modes (output only) */ - - bmdMode4kDCI2398 = /* '4d23' */ 0x34643233, - bmdMode4kDCI24 = /* '4d24' */ 0x34643234, - bmdMode4kDCI25 = /* '4d25' */ 0x34643235, - - /* Special Modes */ - - bmdModeUnknown = /* 'iunk' */ 0x69756E6B -}; - -/* Enum BMDFieldDominance - Video field dominance */ - -typedef uint32_t BMDFieldDominance; -enum _BMDFieldDominance { - bmdUnknownFieldDominance = 0, - bmdLowerFieldFirst = /* 'lowr' */ 0x6C6F7772, - bmdUpperFieldFirst = /* 'uppr' */ 0x75707072, - bmdProgressiveFrame = /* 'prog' */ 0x70726F67, - bmdProgressiveSegmentedFrame = /* 'psf ' */ 0x70736620 -}; - -/* Enum BMDPixelFormat - Video pixel formats supported for output/input */ - -typedef uint32_t BMDPixelFormat; -enum _BMDPixelFormat { - bmdFormat8BitYUV = /* '2vuy' */ 0x32767579, - bmdFormat10BitYUV = /* 'v210' */ 0x76323130, - bmdFormat8BitARGB = 32, - bmdFormat8BitBGRA = /* 'BGRA' */ 0x42475241, - bmdFormat10BitRGB = /* 'r210' */ 0x72323130, // Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 - bmdFormat12BitRGB = /* 'R12B' */ 0x52313242, // Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component - 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) -}; - -/* Enum BMDDisplayModeFlags - Flags to describe the characteristics of an IDeckLinkDisplayMode. */ - -typedef uint32_t BMDDisplayModeFlags; -enum _BMDDisplayModeFlags { - bmdDisplayModeSupports3D = 1 << 0, - bmdDisplayModeColorspaceRec601 = 1 << 1, - bmdDisplayModeColorspaceRec709 = 1 << 2 -}; - -// Forward Declarations - -class IDeckLinkDisplayModeIterator; -class IDeckLinkDisplayMode; - -/* Interface IDeckLinkDisplayModeIterator - enumerates over supported input/output display modes. */ - -class IDeckLinkDisplayModeIterator : public IUnknown -{ -public: - virtual HRESULT Next (/* out */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0; - -protected: - virtual ~IDeckLinkDisplayModeIterator () {} // call Release method to drop reference count -}; - -/* Interface IDeckLinkDisplayMode - represents a display mode */ - -class IDeckLinkDisplayMode : public IUnknown -{ -public: - virtual HRESULT GetName (/* out */ const char **name) = 0; - virtual BMDDisplayMode GetDisplayMode (void) = 0; - virtual long GetWidth (void) = 0; - virtual long GetHeight (void) = 0; - virtual HRESULT GetFrameRate (/* out */ BMDTimeValue *frameDuration, /* out */ BMDTimeScale *timeScale) = 0; - virtual BMDFieldDominance GetFieldDominance (void) = 0; - virtual BMDDisplayModeFlags GetFlags (void) = 0; - -protected: - virtual ~IDeckLinkDisplayMode () {} // call Release method to drop reference count -}; - -/* Functions */ - -extern "C" { - - -} - - -#endif /* defined(BMD_DECKLINKAPIMODES_H) */ diff --git a/intern/decklink/linux/DeckLinkAPITypes.h b/intern/decklink/linux/DeckLinkAPITypes.h deleted file mode 100644 index 55e015f2a3c..00000000000 --- a/intern/decklink/linux/DeckLinkAPITypes.h +++ /dev/null @@ -1,110 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2014 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef BMD_DECKLINKAPITYPES_H -#define BMD_DECKLINKAPITYPES_H - - -#ifndef BMD_CONST - #if defined(_MSC_VER) - #define BMD_CONST __declspec(selectany) static const - #else - #define BMD_CONST static const - #endif -#endif - -// Type Declarations - -typedef int64_t BMDTimeValue; -typedef int64_t BMDTimeScale; -typedef uint32_t BMDTimecodeBCD; -typedef uint32_t BMDTimecodeUserBits; - -// Interface ID Declarations - -BMD_CONST REFIID IID_IDeckLinkTimecode = /* BC6CFBD3-8317-4325-AC1C-1216391E9340 */ {0xBC,0x6C,0xFB,0xD3,0x83,0x17,0x43,0x25,0xAC,0x1C,0x12,0x16,0x39,0x1E,0x93,0x40}; - -/* Enum BMDTimecodeFlags - Timecode flags */ - -typedef uint32_t BMDTimecodeFlags; -enum _BMDTimecodeFlags { - bmdTimecodeFlagDefault = 0, - bmdTimecodeIsDropFrame = 1 << 0, - bmdTimecodeFieldMark = 1 << 1 -}; - -/* Enum BMDVideoConnection - Video connection types */ - -typedef uint32_t BMDVideoConnection; -enum _BMDVideoConnection { - bmdVideoConnectionSDI = 1 << 0, - bmdVideoConnectionHDMI = 1 << 1, - bmdVideoConnectionOpticalSDI = 1 << 2, - bmdVideoConnectionComponent = 1 << 3, - bmdVideoConnectionComposite = 1 << 4, - bmdVideoConnectionSVideo = 1 << 5 -}; - -/* Enum BMDAudioConnection - Audio connection types */ - -typedef uint32_t BMDAudioConnection; -enum _BMDAudioConnection { - bmdAudioConnectionEmbedded = 1 << 0, - bmdAudioConnectionAESEBU = 1 << 1, - bmdAudioConnectionAnalog = 1 << 2, - bmdAudioConnectionAnalogXLR = 1 << 3, - bmdAudioConnectionAnalogRCA = 1 << 4 -}; - -// Forward Declarations - -class IDeckLinkTimecode; - -/* Interface IDeckLinkTimecode - Used for video frame timecode representation. */ - -class IDeckLinkTimecode : public IUnknown -{ -public: - virtual BMDTimecodeBCD GetBCD (void) = 0; - virtual HRESULT GetComponents (/* out */ uint8_t *hours, /* out */ uint8_t *minutes, /* out */ uint8_t *seconds, /* out */ uint8_t *frames) = 0; - virtual HRESULT GetString (/* out */ const char **timecode) = 0; - virtual BMDTimecodeFlags GetFlags (void) = 0; - virtual HRESULT GetTimecodeUserBits (/* out */ BMDTimecodeUserBits *userBits) = 0; - -protected: - virtual ~IDeckLinkTimecode () {} // call Release method to drop reference count -}; - -/* Functions */ - -extern "C" { - - -} - - -#endif /* defined(BMD_DECKLINKAPITYPES_H) */ diff --git a/intern/decklink/linux/DeckLinkAPIVersion.h b/intern/decklink/linux/DeckLinkAPIVersion.h deleted file mode 100644 index cfcc701c427..00000000000 --- a/intern/decklink/linux/DeckLinkAPIVersion.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -LICENSE-START- - * ** Copyright (c) 2014 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 - * ** this license (the "Software") to use, reproduce, display, distribute, - * ** execute, and transmit the Software, and to prepare derivative works of the - * ** Software, and to permit third-parties to whom the Software is furnished to - * ** do so, all subject to the following: - * ** - * ** The copyright notices in the Software and this entire statement, including - * ** the above license grant, this restriction and the following disclaimer, - * ** must be included in all copies of the Software, in whole or in part, and - * ** all derivative works of the Software, unless such copies or derivative - * ** works are solely in the form of machine-executable object code generated by - * ** a source language processor. - * ** - * ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * ** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - * ** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - * ** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - * ** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * ** DEALINGS IN THE SOFTWARE. - * ** -LICENSE-END- - * */ - -/* DeckLinkAPIVersion.h */ - -#ifndef __DeckLink_API_Version_h__ -#define __DeckLink_API_Version_h__ - -#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a040000 -#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.4" - -#endif // __DeckLink_API_Version_h__ - diff --git a/intern/decklink/linux/LinuxCOM.h b/intern/decklink/linux/LinuxCOM.h deleted file mode 100644 index ee783bbd58f..00000000000 --- a/intern/decklink/linux/LinuxCOM.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -LICENSE-START- -** Copyright (c) 2009 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 -** this license (the "Software") to use, reproduce, display, distribute, -** execute, and transmit the Software, and to prepare derivative works of the -** Software, and to permit third-parties to whom the Software is furnished to -** do so, all subject to the following: -** -** The copyright notices in the Software and this entire statement, including -** the above license grant, this restriction and the following disclaimer, -** must be included in all copies of the Software, in whole or in part, and -** all derivative works of the Software, unless such copies or derivative -** works are solely in the form of machine-executable object code generated by -** a source language processor. -** -** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -** FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -** SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -** FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -** DEALINGS IN THE SOFTWARE. -** -LICENSE-END- -*/ - -#ifndef __LINUX_COM_H_ -#define __LINUX_COM_H_ - -struct REFIID -{ - unsigned char byte0; - unsigned char byte1; - unsigned char byte2; - unsigned char byte3; - unsigned char byte4; - unsigned char byte5; - unsigned char byte6; - unsigned char byte7; - unsigned char byte8; - unsigned char byte9; - unsigned char byte10; - unsigned char byte11; - unsigned char byte12; - unsigned char byte13; - unsigned char byte14; - unsigned char byte15; -}; - -typedef REFIID CFUUIDBytes; -#define CFUUIDGetUUIDBytes(x) x - -#define _HRESULT_DEFINED -typedef int HRESULT; -typedef unsigned long ULONG; -typedef void *LPVOID; - -#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0) -#define FAILED(Status) ((HRESULT)(Status)<0) - -#define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) -#define HRESULT_CODE(hr) ((hr) & 0xFFFF) -#define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff) -#define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1) -#define SEVERITY_SUCCESS 0 -#define SEVERITY_ERROR 1 - -#define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) - -#define S_OK ((HRESULT)0x00000000L) -#define S_FALSE ((HRESULT)0x00000001L) -#define E_UNEXPECTED ((HRESULT)0x8000FFFFL) -#define E_NOTIMPL ((HRESULT)0x80000001L) -#define E_OUTOFMEMORY ((HRESULT)0x80000002L) -#define E_INVALIDARG ((HRESULT)0x80000003L) -#define E_NOINTERFACE ((HRESULT)0x80000004L) -#define E_POINTER ((HRESULT)0x80000005L) -#define E_HANDLE ((HRESULT)0x80000006L) -#define E_ABORT ((HRESULT)0x80000007L) -#define E_FAIL ((HRESULT)0x80000008L) -#define E_ACCESSDENIED ((HRESULT)0x80000009L) - -#define STDMETHODCALLTYPE - -#define IID_IUnknown (REFIID){0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46} -#define IUnknownUUID IID_IUnknown - -#ifdef __cplusplus -class IUnknown -{ - public: - virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) = 0; - virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0; - virtual ULONG STDMETHODCALLTYPE Release(void) = 0; -}; -#endif - -#endif - diff --git a/intern/decklink/win/DeckLinkAPI_h.h b/intern/decklink/win/DeckLinkAPI_h.h deleted file mode 100644 index 1bd80b6dc95..00000000000 --- a/intern/decklink/win/DeckLinkAPI_h.h +++ /dev/null @@ -1,13323 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 8.00.0603 */ -/* at Mon Apr 13 20:57:05 2015 - */ -/* Compiler settings for ..\..\include\DeckLinkAPI.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0603 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the <rpcndr.h> version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of <rpcndr.h> -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __DeckLinkAPI_h_h__ -#define __DeckLinkAPI_h_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef __IDeckLinkTimecode_FWD_DEFINED__ -#define __IDeckLinkTimecode_FWD_DEFINED__ -typedef interface IDeckLinkTimecode IDeckLinkTimecode; - -#endif /* __IDeckLinkTimecode_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayModeIterator_FWD_DEFINED__ -#define __IDeckLinkDisplayModeIterator_FWD_DEFINED__ -typedef interface IDeckLinkDisplayModeIterator IDeckLinkDisplayModeIterator; - -#endif /* __IDeckLinkDisplayModeIterator_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayMode_FWD_DEFINED__ -#define __IDeckLinkDisplayMode_FWD_DEFINED__ -typedef interface IDeckLinkDisplayMode IDeckLinkDisplayMode; - -#endif /* __IDeckLinkDisplayMode_FWD_DEFINED__ */ - - -#ifndef __IDeckLink_FWD_DEFINED__ -#define __IDeckLink_FWD_DEFINED__ -typedef interface IDeckLink IDeckLink; - -#endif /* __IDeckLink_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkConfiguration_FWD_DEFINED__ -#define __IDeckLinkConfiguration_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration IDeckLinkConfiguration; - -#endif /* __IDeckLinkConfiguration_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ -#define __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ -typedef interface IDeckLinkDeckControlStatusCallback IDeckLinkDeckControlStatusCallback; - -#endif /* __IDeckLinkDeckControlStatusCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControl_FWD_DEFINED__ -#define __IDeckLinkDeckControl_FWD_DEFINED__ -typedef interface IDeckLinkDeckControl IDeckLinkDeckControl; - -#endif /* __IDeckLinkDeckControl_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__ -#define __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__ -typedef interface IBMDStreamingDeviceNotificationCallback IBMDStreamingDeviceNotificationCallback; - -#endif /* __IBMDStreamingDeviceNotificationCallback_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingH264InputCallback_FWD_DEFINED__ -#define __IBMDStreamingH264InputCallback_FWD_DEFINED__ -typedef interface IBMDStreamingH264InputCallback IBMDStreamingH264InputCallback; - -#endif /* __IBMDStreamingH264InputCallback_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingDiscovery_FWD_DEFINED__ -#define __IBMDStreamingDiscovery_FWD_DEFINED__ -typedef interface IBMDStreamingDiscovery IBMDStreamingDiscovery; - -#endif /* __IBMDStreamingDiscovery_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingVideoEncodingMode_FWD_DEFINED__ -#define __IBMDStreamingVideoEncodingMode_FWD_DEFINED__ -typedef interface IBMDStreamingVideoEncodingMode IBMDStreamingVideoEncodingMode; - -#endif /* __IBMDStreamingVideoEncodingMode_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__ -#define __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__ -typedef interface IBMDStreamingMutableVideoEncodingMode IBMDStreamingMutableVideoEncodingMode; - -#endif /* __IBMDStreamingMutableVideoEncodingMode_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__ -#define __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__ -typedef interface IBMDStreamingVideoEncodingModePresetIterator IBMDStreamingVideoEncodingModePresetIterator; - -#endif /* __IBMDStreamingVideoEncodingModePresetIterator_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingDeviceInput_FWD_DEFINED__ -#define __IBMDStreamingDeviceInput_FWD_DEFINED__ -typedef interface IBMDStreamingDeviceInput IBMDStreamingDeviceInput; - -#endif /* __IBMDStreamingDeviceInput_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingH264NALPacket_FWD_DEFINED__ -#define __IBMDStreamingH264NALPacket_FWD_DEFINED__ -typedef interface IBMDStreamingH264NALPacket IBMDStreamingH264NALPacket; - -#endif /* __IBMDStreamingH264NALPacket_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingAudioPacket_FWD_DEFINED__ -#define __IBMDStreamingAudioPacket_FWD_DEFINED__ -typedef interface IBMDStreamingAudioPacket IBMDStreamingAudioPacket; - -#endif /* __IBMDStreamingAudioPacket_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__ -#define __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__ -typedef interface IBMDStreamingMPEG2TSPacket IBMDStreamingMPEG2TSPacket; - -#endif /* __IBMDStreamingMPEG2TSPacket_FWD_DEFINED__ */ - - -#ifndef __IBMDStreamingH264NALParser_FWD_DEFINED__ -#define __IBMDStreamingH264NALParser_FWD_DEFINED__ -typedef interface IBMDStreamingH264NALParser IBMDStreamingH264NALParser; - -#endif /* __IBMDStreamingH264NALParser_FWD_DEFINED__ */ - - -#ifndef __CBMDStreamingDiscovery_FWD_DEFINED__ -#define __CBMDStreamingDiscovery_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CBMDStreamingDiscovery CBMDStreamingDiscovery; -#else -typedef struct CBMDStreamingDiscovery CBMDStreamingDiscovery; -#endif /* __cplusplus */ - -#endif /* __CBMDStreamingDiscovery_FWD_DEFINED__ */ - - -#ifndef __CBMDStreamingH264NALParser_FWD_DEFINED__ -#define __CBMDStreamingH264NALParser_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CBMDStreamingH264NALParser CBMDStreamingH264NALParser; -#else -typedef struct CBMDStreamingH264NALParser CBMDStreamingH264NALParser; -#endif /* __cplusplus */ - -#endif /* __CBMDStreamingH264NALParser_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoOutputCallback_FWD_DEFINED__ -#define __IDeckLinkVideoOutputCallback_FWD_DEFINED__ -typedef interface IDeckLinkVideoOutputCallback IDeckLinkVideoOutputCallback; - -#endif /* __IDeckLinkVideoOutputCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_FWD_DEFINED__ -#define __IDeckLinkInputCallback_FWD_DEFINED__ -typedef interface IDeckLinkInputCallback IDeckLinkInputCallback; - -#endif /* __IDeckLinkInputCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkMemoryAllocator_FWD_DEFINED__ -#define __IDeckLinkMemoryAllocator_FWD_DEFINED__ -typedef interface IDeckLinkMemoryAllocator IDeckLinkMemoryAllocator; - -#endif /* __IDeckLinkMemoryAllocator_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkAudioOutputCallback_FWD_DEFINED__ -#define __IDeckLinkAudioOutputCallback_FWD_DEFINED__ -typedef interface IDeckLinkAudioOutputCallback IDeckLinkAudioOutputCallback; - -#endif /* __IDeckLinkAudioOutputCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkIterator_FWD_DEFINED__ -#define __IDeckLinkIterator_FWD_DEFINED__ -typedef interface IDeckLinkIterator IDeckLinkIterator; - -#endif /* __IDeckLinkIterator_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkAPIInformation_FWD_DEFINED__ -#define __IDeckLinkAPIInformation_FWD_DEFINED__ -typedef interface IDeckLinkAPIInformation IDeckLinkAPIInformation; - -#endif /* __IDeckLinkAPIInformation_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_FWD_DEFINED__ -#define __IDeckLinkOutput_FWD_DEFINED__ -typedef interface IDeckLinkOutput IDeckLinkOutput; - -#endif /* __IDeckLinkOutput_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInput_FWD_DEFINED__ -#define __IDeckLinkInput_FWD_DEFINED__ -typedef interface IDeckLinkInput IDeckLinkInput; - -#endif /* __IDeckLinkInput_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame_FWD_DEFINED__ -#define __IDeckLinkVideoFrame_FWD_DEFINED__ -typedef interface IDeckLinkVideoFrame IDeckLinkVideoFrame; - -#endif /* __IDeckLinkVideoFrame_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkMutableVideoFrame_FWD_DEFINED__ -#define __IDeckLinkMutableVideoFrame_FWD_DEFINED__ -typedef interface IDeckLinkMutableVideoFrame IDeckLinkMutableVideoFrame; - -#endif /* __IDeckLinkMutableVideoFrame_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ -#define __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ -typedef interface IDeckLinkVideoFrame3DExtensions IDeckLinkVideoFrame3DExtensions; - -#endif /* __IDeckLinkVideoFrame3DExtensions_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_FWD_DEFINED__ -#define __IDeckLinkVideoInputFrame_FWD_DEFINED__ -typedef interface IDeckLinkVideoInputFrame IDeckLinkVideoInputFrame; - -#endif /* __IDeckLinkVideoInputFrame_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ -#define __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ -typedef interface IDeckLinkVideoFrameAncillary IDeckLinkVideoFrameAncillary; - -#endif /* __IDeckLinkVideoFrameAncillary_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkAudioInputPacket_FWD_DEFINED__ -#define __IDeckLinkAudioInputPacket_FWD_DEFINED__ -typedef interface IDeckLinkAudioInputPacket IDeckLinkAudioInputPacket; - -#endif /* __IDeckLinkAudioInputPacket_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ -#define __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ -typedef interface IDeckLinkScreenPreviewCallback IDeckLinkScreenPreviewCallback; - -#endif /* __IDeckLinkScreenPreviewCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ -#define __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ -typedef interface IDeckLinkGLScreenPreviewHelper IDeckLinkGLScreenPreviewHelper; - -#endif /* __IDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ -#define __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ -typedef interface IDeckLinkDX9ScreenPreviewHelper IDeckLinkDX9ScreenPreviewHelper; - -#endif /* __IDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkNotificationCallback_FWD_DEFINED__ -#define __IDeckLinkNotificationCallback_FWD_DEFINED__ -typedef interface IDeckLinkNotificationCallback IDeckLinkNotificationCallback; - -#endif /* __IDeckLinkNotificationCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkNotification_FWD_DEFINED__ -#define __IDeckLinkNotification_FWD_DEFINED__ -typedef interface IDeckLinkNotification IDeckLinkNotification; - -#endif /* __IDeckLinkNotification_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkAttributes_FWD_DEFINED__ -#define __IDeckLinkAttributes_FWD_DEFINED__ -typedef interface IDeckLinkAttributes IDeckLinkAttributes; - -#endif /* __IDeckLinkAttributes_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkKeyer_FWD_DEFINED__ -#define __IDeckLinkKeyer_FWD_DEFINED__ -typedef interface IDeckLinkKeyer IDeckLinkKeyer; - -#endif /* __IDeckLinkKeyer_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoConversion_FWD_DEFINED__ -#define __IDeckLinkVideoConversion_FWD_DEFINED__ -typedef interface IDeckLinkVideoConversion IDeckLinkVideoConversion; - -#endif /* __IDeckLinkVideoConversion_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ -#define __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ -typedef interface IDeckLinkDeviceNotificationCallback IDeckLinkDeviceNotificationCallback; - -#endif /* __IDeckLinkDeviceNotificationCallback_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDiscovery_FWD_DEFINED__ -#define __IDeckLinkDiscovery_FWD_DEFINED__ -typedef interface IDeckLinkDiscovery IDeckLinkDiscovery; - -#endif /* __IDeckLinkDiscovery_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkIterator_FWD_DEFINED__ -#define __CDeckLinkIterator_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkIterator CDeckLinkIterator; -#else -typedef struct CDeckLinkIterator CDeckLinkIterator; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkIterator_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkAPIInformation_FWD_DEFINED__ -#define __CDeckLinkAPIInformation_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkAPIInformation CDeckLinkAPIInformation; -#else -typedef struct CDeckLinkAPIInformation CDeckLinkAPIInformation; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkAPIInformation_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ -#define __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; -#else -typedef struct CDeckLinkGLScreenPreviewHelper CDeckLinkGLScreenPreviewHelper; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkGLScreenPreviewHelper_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ -#define __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; -#else -typedef struct CDeckLinkDX9ScreenPreviewHelper CDeckLinkDX9ScreenPreviewHelper; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkDX9ScreenPreviewHelper_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkVideoConversion_FWD_DEFINED__ -#define __CDeckLinkVideoConversion_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkVideoConversion CDeckLinkVideoConversion; -#else -typedef struct CDeckLinkVideoConversion CDeckLinkVideoConversion; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkVideoConversion_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkDiscovery_FWD_DEFINED__ -#define __CDeckLinkDiscovery_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkDiscovery CDeckLinkDiscovery; -#else -typedef struct CDeckLinkDiscovery CDeckLinkDiscovery; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkDiscovery_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v10_2 IDeckLinkConfiguration_v10_2; - -#endif /* __IDeckLinkConfiguration_v10_2_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v9_9_FWD_DEFINED__ -#define __IDeckLinkOutput_v9_9_FWD_DEFINED__ -typedef interface IDeckLinkOutput_v9_9 IDeckLinkOutput_v9_9; - -#endif /* __IDeckLinkOutput_v9_9_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v9_2_FWD_DEFINED__ -#define __IDeckLinkInput_v9_2_FWD_DEFINED__ -typedef interface IDeckLinkInput_v9_2 IDeckLinkInput_v9_2; - -#endif /* __IDeckLinkInput_v9_2_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ -#define __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ -typedef interface IDeckLinkDeckControlStatusCallback_v8_1 IDeckLinkDeckControlStatusCallback_v8_1; - -#endif /* __IDeckLinkDeckControlStatusCallback_v8_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ -#define __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ -typedef interface IDeckLinkDeckControl_v8_1 IDeckLinkDeckControl_v8_1; - -#endif /* __IDeckLinkDeckControl_v8_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLink_v8_0_FWD_DEFINED__ -#define __IDeckLink_v8_0_FWD_DEFINED__ -typedef interface IDeckLink_v8_0 IDeckLink_v8_0; - -#endif /* __IDeckLink_v8_0_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkIterator_v8_0_FWD_DEFINED__ -#define __IDeckLinkIterator_v8_0_FWD_DEFINED__ -typedef interface IDeckLinkIterator_v8_0 IDeckLinkIterator_v8_0; - -#endif /* __IDeckLinkIterator_v8_0_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkIterator_v8_0_FWD_DEFINED__ -#define __CDeckLinkIterator_v8_0_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0; -#else -typedef struct CDeckLinkIterator_v8_0 CDeckLinkIterator_v8_0; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkIterator_v8_0_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ -#define __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ -typedef interface IDeckLinkDeckControl_v7_9 IDeckLinkDeckControl_v7_9; - -#endif /* __IDeckLinkDeckControl_v7_9_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ -#define __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkDisplayModeIterator_v7_6 IDeckLinkDisplayModeIterator_v7_6; - -#endif /* __IDeckLinkDisplayModeIterator_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ -#define __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkDisplayMode_v7_6 IDeckLinkDisplayMode_v7_6; - -#endif /* __IDeckLinkDisplayMode_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v7_6_FWD_DEFINED__ -#define __IDeckLinkOutput_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkOutput_v7_6 IDeckLinkOutput_v7_6; - -#endif /* __IDeckLinkOutput_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v7_6_FWD_DEFINED__ -#define __IDeckLinkInput_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkInput_v7_6 IDeckLinkInput_v7_6; - -#endif /* __IDeckLinkInput_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkTimecode_v7_6_FWD_DEFINED__ -#define __IDeckLinkTimecode_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkTimecode_v7_6 IDeckLinkTimecode_v7_6; - -#endif /* __IDeckLinkTimecode_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ -#define __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkVideoFrame_v7_6 IDeckLinkVideoFrame_v7_6; - -#endif /* __IDeckLinkVideoFrame_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ -#define __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkMutableVideoFrame_v7_6 IDeckLinkMutableVideoFrame_v7_6; - -#endif /* __IDeckLinkMutableVideoFrame_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ -#define __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkVideoInputFrame_v7_6 IDeckLinkVideoInputFrame_v7_6; - -#endif /* __IDeckLinkVideoInputFrame_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ -#define __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkScreenPreviewCallback_v7_6 IDeckLinkScreenPreviewCallback_v7_6; - -#endif /* __IDeckLinkScreenPreviewCallback_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ -#define __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkGLScreenPreviewHelper_v7_6 IDeckLinkGLScreenPreviewHelper_v7_6; - -#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ -#define __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkVideoConversion_v7_6 IDeckLinkVideoConversion_v7_6; - -#endif /* __IDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ -#define __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkConfiguration_v7_6 IDeckLinkConfiguration_v7_6; - -#endif /* __IDeckLinkConfiguration_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ -#define __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkVideoOutputCallback_v7_6 IDeckLinkVideoOutputCallback_v7_6; - -#endif /* __IDeckLinkVideoOutputCallback_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ -#define __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ -typedef interface IDeckLinkInputCallback_v7_6 IDeckLinkInputCallback_v7_6; - -#endif /* __IDeckLinkInputCallback_v7_6_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ -#define __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6; -#else -typedef struct CDeckLinkGLScreenPreviewHelper_v7_6 CDeckLinkGLScreenPreviewHelper_v7_6; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkGLScreenPreviewHelper_v7_6_FWD_DEFINED__ */ - - -#ifndef __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ -#define __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6; -#else -typedef struct CDeckLinkVideoConversion_v7_6 CDeckLinkVideoConversion_v7_6; -#endif /* __cplusplus */ - -#endif /* __CDeckLinkVideoConversion_v7_6_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ -#define __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ -typedef interface IDeckLinkInputCallback_v7_3 IDeckLinkInputCallback_v7_3; - -#endif /* __IDeckLinkInputCallback_v7_3_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v7_3_FWD_DEFINED__ -#define __IDeckLinkOutput_v7_3_FWD_DEFINED__ -typedef interface IDeckLinkOutput_v7_3 IDeckLinkOutput_v7_3; - -#endif /* __IDeckLinkOutput_v7_3_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v7_3_FWD_DEFINED__ -#define __IDeckLinkInput_v7_3_FWD_DEFINED__ -typedef interface IDeckLinkInput_v7_3 IDeckLinkInput_v7_3; - -#endif /* __IDeckLinkInput_v7_3_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ -#define __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ -typedef interface IDeckLinkVideoInputFrame_v7_3 IDeckLinkVideoInputFrame_v7_3; - -#endif /* __IDeckLinkVideoInputFrame_v7_3_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ -#define __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkDisplayModeIterator_v7_1 IDeckLinkDisplayModeIterator_v7_1; - -#endif /* __IDeckLinkDisplayModeIterator_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ -#define __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkDisplayMode_v7_1 IDeckLinkDisplayMode_v7_1; - -#endif /* __IDeckLinkDisplayMode_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ -#define __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkVideoFrame_v7_1 IDeckLinkVideoFrame_v7_1; - -#endif /* __IDeckLinkVideoFrame_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ -#define __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkVideoInputFrame_v7_1 IDeckLinkVideoInputFrame_v7_1; - -#endif /* __IDeckLinkVideoInputFrame_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ -#define __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkAudioInputPacket_v7_1 IDeckLinkAudioInputPacket_v7_1; - -#endif /* __IDeckLinkAudioInputPacket_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ -#define __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkVideoOutputCallback_v7_1 IDeckLinkVideoOutputCallback_v7_1; - -#endif /* __IDeckLinkVideoOutputCallback_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ -#define __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkInputCallback_v7_1 IDeckLinkInputCallback_v7_1; - -#endif /* __IDeckLinkInputCallback_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v7_1_FWD_DEFINED__ -#define __IDeckLinkOutput_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkOutput_v7_1 IDeckLinkOutput_v7_1; - -#endif /* __IDeckLinkOutput_v7_1_FWD_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v7_1_FWD_DEFINED__ -#define __IDeckLinkInput_v7_1_FWD_DEFINED__ -typedef interface IDeckLinkInput_v7_1 IDeckLinkInput_v7_1; - -#endif /* __IDeckLinkInput_v7_1_FWD_DEFINED__ */ - - -/* header files for imported files */ -#include "unknwn.h" - -#ifdef __cplusplus -extern "C"{ -#endif - - - -#ifndef __DeckLinkAPI_LIBRARY_DEFINED__ -#define __DeckLinkAPI_LIBRARY_DEFINED__ - -/* library DeckLinkAPI */ -/* [helpstring][version][uuid] */ - -typedef LONGLONG BMDTimeValue; - -typedef LONGLONG BMDTimeScale; - -typedef unsigned int BMDTimecodeBCD; - -typedef unsigned int BMDTimecodeUserBits; - -typedef unsigned int BMDTimecodeFlags; -#if 0 -typedef enum _BMDTimecodeFlags BMDTimecodeFlags; - -#endif -/* [v1_enum] */ -enum _BMDTimecodeFlags - { - bmdTimecodeFlagDefault = 0, - bmdTimecodeIsDropFrame = ( 1 << 0 ) , - bmdTimecodeFieldMark = ( 1 << 1 ) - } ; -typedef /* [v1_enum] */ -enum _BMDVideoConnection - { - bmdVideoConnectionSDI = ( 1 << 0 ) , - bmdVideoConnectionHDMI = ( 1 << 1 ) , - bmdVideoConnectionOpticalSDI = ( 1 << 2 ) , - bmdVideoConnectionComponent = ( 1 << 3 ) , - bmdVideoConnectionComposite = ( 1 << 4 ) , - bmdVideoConnectionSVideo = ( 1 << 5 ) - } BMDVideoConnection; - -typedef /* [v1_enum] */ -enum _BMDAudioConnection - { - bmdAudioConnectionEmbedded = ( 1 << 0 ) , - bmdAudioConnectionAESEBU = ( 1 << 1 ) , - bmdAudioConnectionAnalog = ( 1 << 2 ) , - bmdAudioConnectionAnalogXLR = ( 1 << 3 ) , - bmdAudioConnectionAnalogRCA = ( 1 << 4 ) - } BMDAudioConnection; - - -typedef unsigned int BMDDisplayModeFlags; -#if 0 -typedef enum _BMDDisplayModeFlags BMDDisplayModeFlags; - -#endif -typedef /* [v1_enum] */ -enum _BMDDisplayMode - { - bmdModeNTSC = 0x6e747363, - bmdModeNTSC2398 = 0x6e743233, - bmdModePAL = 0x70616c20, - bmdModeNTSCp = 0x6e747370, - bmdModePALp = 0x70616c70, - bmdModeHD1080p2398 = 0x32337073, - bmdModeHD1080p24 = 0x32347073, - bmdModeHD1080p25 = 0x48703235, - bmdModeHD1080p2997 = 0x48703239, - bmdModeHD1080p30 = 0x48703330, - bmdModeHD1080i50 = 0x48693530, - bmdModeHD1080i5994 = 0x48693539, - bmdModeHD1080i6000 = 0x48693630, - bmdModeHD1080p50 = 0x48703530, - bmdModeHD1080p5994 = 0x48703539, - bmdModeHD1080p6000 = 0x48703630, - bmdModeHD720p50 = 0x68703530, - bmdModeHD720p5994 = 0x68703539, - bmdModeHD720p60 = 0x68703630, - bmdMode2k2398 = 0x326b3233, - bmdMode2k24 = 0x326b3234, - bmdMode2k25 = 0x326b3235, - bmdMode2kDCI2398 = 0x32643233, - bmdMode2kDCI24 = 0x32643234, - bmdMode2kDCI25 = 0x32643235, - bmdMode4K2160p2398 = 0x346b3233, - bmdMode4K2160p24 = 0x346b3234, - bmdMode4K2160p25 = 0x346b3235, - bmdMode4K2160p2997 = 0x346b3239, - bmdMode4K2160p30 = 0x346b3330, - bmdMode4K2160p50 = 0x346b3530, - bmdMode4K2160p5994 = 0x346b3539, - bmdMode4K2160p60 = 0x346b3630, - bmdMode4kDCI2398 = 0x34643233, - bmdMode4kDCI24 = 0x34643234, - bmdMode4kDCI25 = 0x34643235, - bmdModeUnknown = 0x69756e6b - } BMDDisplayMode; - -typedef /* [v1_enum] */ -enum _BMDFieldDominance - { - bmdUnknownFieldDominance = 0, - bmdLowerFieldFirst = 0x6c6f7772, - bmdUpperFieldFirst = 0x75707072, - bmdProgressiveFrame = 0x70726f67, - bmdProgressiveSegmentedFrame = 0x70736620 - } BMDFieldDominance; - -typedef /* [v1_enum] */ -enum _BMDPixelFormat - { - bmdFormat8BitYUV = 0x32767579, - bmdFormat10BitYUV = 0x76323130, - bmdFormat8BitARGB = 32, - bmdFormat8BitBGRA = 0x42475241, - bmdFormat10BitRGB = 0x72323130, - bmdFormat12BitRGB = 0x52313242, - bmdFormat12BitRGBLE = 0x5231324c, - bmdFormat10BitRGBXLE = 0x5231306c, - bmdFormat10BitRGBX = 0x52313062 - } BMDPixelFormat; - -/* [v1_enum] */ -enum _BMDDisplayModeFlags - { - bmdDisplayModeSupports3D = ( 1 << 0 ) , - bmdDisplayModeColorspaceRec601 = ( 1 << 1 ) , - bmdDisplayModeColorspaceRec709 = ( 1 << 2 ) - } ; - - -#if 0 -#endif - -#if 0 -#endif -typedef /* [v1_enum] */ -enum _BMDDeckLinkConfigurationID - { - bmdDeckLinkConfigSwapSerialRxTx = 0x73737274, - bmdDeckLinkConfigUse1080pNotPsF = 0x6670726f, - bmdDeckLinkConfigHDMI3DPackingFormat = 0x33647066, - bmdDeckLinkConfigBypass = 0x62797073, - bmdDeckLinkConfigClockTimingAdjustment = 0x63746164, - bmdDeckLinkConfigAnalogAudioConsumerLevels = 0x6161636c, - bmdDeckLinkConfigFieldFlickerRemoval = 0x66646672, - bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 0x746f3539, - bmdDeckLinkConfig444SDIVideoOutput = 0x3434346f, - bmdDeckLinkConfigSingleLinkVideoOutput = 0x73676c6f, - bmdDeckLinkConfigBlackVideoOutputDuringCapture = 0x62766f63, - bmdDeckLinkConfigLowLatencyVideoOutput = 0x6c6c766f, - bmdDeckLinkConfigDownConversionOnAllAnalogOutput = 0x6361616f, - bmdDeckLinkConfigSMPTELevelAOutput = 0x736d7461, - bmdDeckLinkConfigVideoOutputConnection = 0x766f636e, - bmdDeckLinkConfigVideoOutputConversionMode = 0x766f636d, - bmdDeckLinkConfigAnalogVideoOutputFlags = 0x61766f66, - bmdDeckLinkConfigReferenceInputTimingOffset = 0x676c6f74, - bmdDeckLinkConfigVideoOutputIdleOperation = 0x766f696f, - bmdDeckLinkConfigDefaultVideoOutputMode = 0x64766f6d, - bmdDeckLinkConfigDefaultVideoOutputModeFlags = 0x64766f66, - bmdDeckLinkConfigVideoOutputComponentLumaGain = 0x6f636c67, - bmdDeckLinkConfigVideoOutputComponentChromaBlueGain = 0x6f636362, - bmdDeckLinkConfigVideoOutputComponentChromaRedGain = 0x6f636372, - bmdDeckLinkConfigVideoOutputCompositeLumaGain = 0x6f696c67, - bmdDeckLinkConfigVideoOutputCompositeChromaGain = 0x6f696367, - bmdDeckLinkConfigVideoOutputSVideoLumaGain = 0x6f736c67, - bmdDeckLinkConfigVideoOutputSVideoChromaGain = 0x6f736367, - bmdDeckLinkConfigVideoInputScanning = 0x76697363, - bmdDeckLinkConfigUseDedicatedLTCInput = 0x646c7463, - bmdDeckLinkConfigVideoInputConnection = 0x7669636e, - bmdDeckLinkConfigAnalogVideoInputFlags = 0x61766966, - bmdDeckLinkConfigVideoInputConversionMode = 0x7669636d, - bmdDeckLinkConfig32PulldownSequenceInitialTimecodeFrame = 0x70646966, - bmdDeckLinkConfigVANCSourceLine1Mapping = 0x76736c31, - bmdDeckLinkConfigVANCSourceLine2Mapping = 0x76736c32, - bmdDeckLinkConfigVANCSourceLine3Mapping = 0x76736c33, - bmdDeckLinkConfigCapturePassThroughMode = 0x6370746d, - bmdDeckLinkConfigVideoInputComponentLumaGain = 0x69636c67, - bmdDeckLinkConfigVideoInputComponentChromaBlueGain = 0x69636362, - bmdDeckLinkConfigVideoInputComponentChromaRedGain = 0x69636372, - bmdDeckLinkConfigVideoInputCompositeLumaGain = 0x69696c67, - bmdDeckLinkConfigVideoInputCompositeChromaGain = 0x69696367, - bmdDeckLinkConfigVideoInputSVideoLumaGain = 0x69736c67, - bmdDeckLinkConfigVideoInputSVideoChromaGain = 0x69736367, - bmdDeckLinkConfigAudioInputConnection = 0x6169636e, - bmdDeckLinkConfigAnalogAudioInputScaleChannel1 = 0x61697331, - bmdDeckLinkConfigAnalogAudioInputScaleChannel2 = 0x61697332, - bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 0x61697333, - bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 0x61697334, - bmdDeckLinkConfigDigitalAudioInputScale = 0x64616973, - bmdDeckLinkConfigAudioOutputAESAnalogSwitch = 0x616f6161, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel1 = 0x616f7331, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 0x616f7332, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 0x616f7333, - bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 0x616f7334, - bmdDeckLinkConfigDigitalAudioOutputScale = 0x64616f73, - bmdDeckLinkConfigDeviceInformationLabel = 0x64696c61, - bmdDeckLinkConfigDeviceInformationSerialNumber = 0x6469736e, - bmdDeckLinkConfigDeviceInformationCompany = 0x6469636f, - bmdDeckLinkConfigDeviceInformationPhone = 0x64697068, - bmdDeckLinkConfigDeviceInformationEmail = 0x6469656d, - bmdDeckLinkConfigDeviceInformationDate = 0x64696461 - } BMDDeckLinkConfigurationID; - - -typedef unsigned int BMDDeckControlStatusFlags; -typedef unsigned int BMDDeckControlExportModeOpsFlags; -#if 0 -typedef enum _BMDDeckControlStatusFlags BMDDeckControlStatusFlags; - -typedef enum _BMDDeckControlExportModeOpsFlags BMDDeckControlExportModeOpsFlags; - -#endif -typedef /* [v1_enum] */ -enum _BMDDeckControlMode - { - bmdDeckControlNotOpened = 0x6e746f70, - bmdDeckControlVTRControlMode = 0x76747263, - bmdDeckControlExportMode = 0x6578706d, - bmdDeckControlCaptureMode = 0x6361706d - } BMDDeckControlMode; - -typedef /* [v1_enum] */ -enum _BMDDeckControlEvent - { - bmdDeckControlAbortedEvent = 0x61627465, - bmdDeckControlPrepareForExportEvent = 0x70666565, - bmdDeckControlExportCompleteEvent = 0x65786365, - bmdDeckControlPrepareForCaptureEvent = 0x70666365, - bmdDeckControlCaptureCompleteEvent = 0x63636576 - } BMDDeckControlEvent; - -typedef /* [v1_enum] */ -enum _BMDDeckControlVTRControlState - { - bmdDeckControlNotInVTRControlMode = 0x6e76636d, - bmdDeckControlVTRControlPlaying = 0x76747270, - bmdDeckControlVTRControlRecording = 0x76747272, - bmdDeckControlVTRControlStill = 0x76747261, - bmdDeckControlVTRControlShuttleForward = 0x76747366, - bmdDeckControlVTRControlShuttleReverse = 0x76747372, - bmdDeckControlVTRControlJogForward = 0x76746a66, - bmdDeckControlVTRControlJogReverse = 0x76746a72, - bmdDeckControlVTRControlStopped = 0x7674726f - } BMDDeckControlVTRControlState; - -/* [v1_enum] */ -enum _BMDDeckControlStatusFlags - { - bmdDeckControlStatusDeckConnected = ( 1 << 0 ) , - bmdDeckControlStatusRemoteMode = ( 1 << 1 ) , - bmdDeckControlStatusRecordInhibited = ( 1 << 2 ) , - bmdDeckControlStatusCassetteOut = ( 1 << 3 ) - } ; -/* [v1_enum] */ -enum _BMDDeckControlExportModeOpsFlags - { - bmdDeckControlExportModeInsertVideo = ( 1 << 0 ) , - bmdDeckControlExportModeInsertAudio1 = ( 1 << 1 ) , - bmdDeckControlExportModeInsertAudio2 = ( 1 << 2 ) , - bmdDeckControlExportModeInsertAudio3 = ( 1 << 3 ) , - bmdDeckControlExportModeInsertAudio4 = ( 1 << 4 ) , - bmdDeckControlExportModeInsertAudio5 = ( 1 << 5 ) , - bmdDeckControlExportModeInsertAudio6 = ( 1 << 6 ) , - bmdDeckControlExportModeInsertAudio7 = ( 1 << 7 ) , - bmdDeckControlExportModeInsertAudio8 = ( 1 << 8 ) , - bmdDeckControlExportModeInsertAudio9 = ( 1 << 9 ) , - bmdDeckControlExportModeInsertAudio10 = ( 1 << 10 ) , - bmdDeckControlExportModeInsertAudio11 = ( 1 << 11 ) , - bmdDeckControlExportModeInsertAudio12 = ( 1 << 12 ) , - bmdDeckControlExportModeInsertTimeCode = ( 1 << 13 ) , - bmdDeckControlExportModeInsertAssemble = ( 1 << 14 ) , - bmdDeckControlExportModeInsertPreview = ( 1 << 15 ) , - bmdDeckControlUseManualExport = ( 1 << 16 ) - } ; -typedef /* [v1_enum] */ -enum _BMDDeckControlError - { - bmdDeckControlNoError = 0x6e6f6572, - bmdDeckControlModeError = 0x6d6f6572, - bmdDeckControlMissedInPointError = 0x6d696572, - bmdDeckControlDeckTimeoutError = 0x64746572, - bmdDeckControlCommandFailedError = 0x63666572, - bmdDeckControlDeviceAlreadyOpenedError = 0x64616c6f, - bmdDeckControlFailedToOpenDeviceError = 0x66646572, - bmdDeckControlInLocalModeError = 0x6c6d6572, - bmdDeckControlEndOfTapeError = 0x65746572, - bmdDeckControlUserAbortError = 0x75616572, - bmdDeckControlNoTapeInDeckError = 0x6e746572, - bmdDeckControlNoVideoFromCardError = 0x6e766663, - bmdDeckControlNoCommunicationError = 0x6e636f6d, - bmdDeckControlBufferTooSmallError = 0x6274736d, - bmdDeckControlBadChecksumError = 0x63686b73, - bmdDeckControlUnknownError = 0x756e6572 - } BMDDeckControlError; - - - -#if 0 -#endif -typedef /* [v1_enum] */ -enum _BMDStreamingDeviceMode - { - bmdStreamingDeviceIdle = 0x69646c65, - bmdStreamingDeviceEncoding = 0x656e636f, - bmdStreamingDeviceStopping = 0x73746f70, - bmdStreamingDeviceUnknown = 0x6d756e6b - } BMDStreamingDeviceMode; - -typedef /* [v1_enum] */ -enum _BMDStreamingEncodingFrameRate - { - bmdStreamingEncodedFrameRate50i = 0x65353069, - bmdStreamingEncodedFrameRate5994i = 0x65353969, - bmdStreamingEncodedFrameRate60i = 0x65363069, - bmdStreamingEncodedFrameRate2398p = 0x65323370, - bmdStreamingEncodedFrameRate24p = 0x65323470, - bmdStreamingEncodedFrameRate25p = 0x65323570, - bmdStreamingEncodedFrameRate2997p = 0x65323970, - bmdStreamingEncodedFrameRate30p = 0x65333070, - bmdStreamingEncodedFrameRate50p = 0x65353070, - bmdStreamingEncodedFrameRate5994p = 0x65353970, - bmdStreamingEncodedFrameRate60p = 0x65363070 - } BMDStreamingEncodingFrameRate; - -typedef /* [v1_enum] */ -enum _BMDStreamingEncodingSupport - { - bmdStreamingEncodingModeNotSupported = 0, - bmdStreamingEncodingModeSupported = ( bmdStreamingEncodingModeNotSupported + 1 ) , - bmdStreamingEncodingModeSupportedWithChanges = ( bmdStreamingEncodingModeSupported + 1 ) - } BMDStreamingEncodingSupport; - -typedef /* [v1_enum] */ -enum _BMDStreamingVideoCodec - { - bmdStreamingVideoCodecH264 = 0x48323634 - } BMDStreamingVideoCodec; - -typedef /* [v1_enum] */ -enum _BMDStreamingH264Profile - { - bmdStreamingH264ProfileHigh = 0x68696768, - bmdStreamingH264ProfileMain = 0x6d61696e, - bmdStreamingH264ProfileBaseline = 0x62617365 - } BMDStreamingH264Profile; - -typedef /* [v1_enum] */ -enum _BMDStreamingH264Level - { - bmdStreamingH264Level12 = 0x6c763132, - bmdStreamingH264Level13 = 0x6c763133, - bmdStreamingH264Level2 = 0x6c763220, - bmdStreamingH264Level21 = 0x6c763231, - bmdStreamingH264Level22 = 0x6c763232, - bmdStreamingH264Level3 = 0x6c763320, - bmdStreamingH264Level31 = 0x6c763331, - bmdStreamingH264Level32 = 0x6c763332, - bmdStreamingH264Level4 = 0x6c763420, - bmdStreamingH264Level41 = 0x6c763431, - bmdStreamingH264Level42 = 0x6c763432 - } BMDStreamingH264Level; - -typedef /* [v1_enum] */ -enum _BMDStreamingH264EntropyCoding - { - bmdStreamingH264EntropyCodingCAVLC = 0x45564c43, - bmdStreamingH264EntropyCodingCABAC = 0x45424143 - } BMDStreamingH264EntropyCoding; - -typedef /* [v1_enum] */ -enum _BMDStreamingAudioCodec - { - bmdStreamingAudioCodecAAC = 0x41414320 - } BMDStreamingAudioCodec; - -typedef /* [v1_enum] */ -enum _BMDStreamingEncodingModePropertyID - { - bmdStreamingEncodingPropertyVideoFrameRate = 0x76667274, - bmdStreamingEncodingPropertyVideoBitRateKbps = 0x76627274, - bmdStreamingEncodingPropertyH264Profile = 0x68707266, - bmdStreamingEncodingPropertyH264Level = 0x686c766c, - bmdStreamingEncodingPropertyH264EntropyCoding = 0x68656e74, - bmdStreamingEncodingPropertyH264HasBFrames = 0x68426672, - bmdStreamingEncodingPropertyAudioCodec = 0x61636463, - bmdStreamingEncodingPropertyAudioSampleRate = 0x61737274, - bmdStreamingEncodingPropertyAudioChannelCount = 0x61636863, - bmdStreamingEncodingPropertyAudioBitRateKbps = 0x61627274 - } BMDStreamingEncodingModePropertyID; - - - - - - - - - - - - -typedef unsigned int BMDFrameFlags; -typedef unsigned int BMDVideoInputFlags; -typedef unsigned int BMDVideoInputFormatChangedEvents; -typedef unsigned int BMDDetectedVideoInputFormatFlags; -typedef unsigned int BMDDeckLinkCapturePassthroughMode; -typedef unsigned int BMDAnalogVideoFlags; -typedef unsigned int BMDDeviceBusyState; -#if 0 -typedef enum _BMDFrameFlags BMDFrameFlags; - -typedef enum _BMDVideoInputFlags BMDVideoInputFlags; - -typedef enum _BMDVideoInputFormatChangedEvents BMDVideoInputFormatChangedEvents; - -typedef enum _BMDDetectedVideoInputFormatFlags BMDDetectedVideoInputFormatFlags; - -typedef enum _BMDDeckLinkCapturePassthroughMode BMDDeckLinkCapturePassthroughMode; - -typedef enum _BMDAnalogVideoFlags BMDAnalogVideoFlags; - -typedef enum _BMDDeviceBusyState BMDDeviceBusyState; - -#endif -typedef /* [v1_enum] */ -enum _BMDVideoOutputFlags - { - bmdVideoOutputFlagDefault = 0, - bmdVideoOutputVANC = ( 1 << 0 ) , - bmdVideoOutputVITC = ( 1 << 1 ) , - bmdVideoOutputRP188 = ( 1 << 2 ) , - bmdVideoOutputDualStream3D = ( 1 << 4 ) - } BMDVideoOutputFlags; - -/* [v1_enum] */ -enum _BMDFrameFlags - { - bmdFrameFlagDefault = 0, - bmdFrameFlagFlipVertical = ( 1 << 0 ) , - bmdFrameHasNoInputSource = ( 1 << 31 ) - } ; -/* [v1_enum] */ -enum _BMDVideoInputFlags - { - bmdVideoInputFlagDefault = 0, - bmdVideoInputEnableFormatDetection = ( 1 << 0 ) , - bmdVideoInputDualStream3D = ( 1 << 1 ) - } ; -/* [v1_enum] */ -enum _BMDVideoInputFormatChangedEvents - { - bmdVideoInputDisplayModeChanged = ( 1 << 0 ) , - bmdVideoInputFieldDominanceChanged = ( 1 << 1 ) , - bmdVideoInputColorspaceChanged = ( 1 << 2 ) - } ; -/* [v1_enum] */ -enum _BMDDetectedVideoInputFormatFlags - { - bmdDetectedVideoInputYCbCr422 = ( 1 << 0 ) , - bmdDetectedVideoInputRGB444 = ( 1 << 1 ) , - bmdDetectedVideoInputDualStream3D = ( 1 << 2 ) - } ; -/* [v1_enum] */ -enum _BMDDeckLinkCapturePassthroughMode - { - bmdDeckLinkCapturePassthroughModeDirect = 0x70646972, - bmdDeckLinkCapturePassthroughModeCleanSwitch = 0x70636c6e - } ; -typedef /* [v1_enum] */ -enum _BMDOutputFrameCompletionResult - { - bmdOutputFrameCompleted = 0, - bmdOutputFrameDisplayedLate = ( bmdOutputFrameCompleted + 1 ) , - bmdOutputFrameDropped = ( bmdOutputFrameDisplayedLate + 1 ) , - bmdOutputFrameFlushed = ( bmdOutputFrameDropped + 1 ) - } BMDOutputFrameCompletionResult; - -typedef /* [v1_enum] */ -enum _BMDReferenceStatus - { - bmdReferenceNotSupportedByHardware = ( 1 << 0 ) , - bmdReferenceLocked = ( 1 << 1 ) - } BMDReferenceStatus; - -typedef /* [v1_enum] */ -enum _BMDAudioSampleRate - { - bmdAudioSampleRate48kHz = 48000 - } BMDAudioSampleRate; - -typedef /* [v1_enum] */ -enum _BMDAudioSampleType - { - bmdAudioSampleType16bitInteger = 16, - bmdAudioSampleType32bitInteger = 32 - } BMDAudioSampleType; - -typedef /* [v1_enum] */ -enum _BMDAudioOutputStreamType - { - bmdAudioOutputStreamContinuous = 0, - bmdAudioOutputStreamContinuousDontResample = ( bmdAudioOutputStreamContinuous + 1 ) , - bmdAudioOutputStreamTimestamped = ( bmdAudioOutputStreamContinuousDontResample + 1 ) - } BMDAudioOutputStreamType; - -typedef /* [v1_enum] */ -enum _BMDDisplayModeSupport - { - bmdDisplayModeNotSupported = 0, - bmdDisplayModeSupported = ( bmdDisplayModeNotSupported + 1 ) , - bmdDisplayModeSupportedWithConversion = ( bmdDisplayModeSupported + 1 ) - } BMDDisplayModeSupport; - -typedef /* [v1_enum] */ -enum _BMDTimecodeFormat - { - bmdTimecodeRP188VITC1 = 0x72707631, - bmdTimecodeRP188VITC2 = 0x72703132, - bmdTimecodeRP188LTC = 0x72706c74, - bmdTimecodeRP188Any = 0x72703138, - bmdTimecodeVITC = 0x76697463, - bmdTimecodeVITCField2 = 0x76697432, - bmdTimecodeSerial = 0x73657269 - } BMDTimecodeFormat; - -/* [v1_enum] */ -enum _BMDAnalogVideoFlags - { - bmdAnalogVideoFlagCompositeSetup75 = ( 1 << 0 ) , - bmdAnalogVideoFlagComponentBetacamLevels = ( 1 << 1 ) - } ; -typedef /* [v1_enum] */ -enum _BMDAudioOutputAnalogAESSwitch - { - bmdAudioOutputSwitchAESEBU = 0x61657320, - bmdAudioOutputSwitchAnalog = 0x616e6c67 - } BMDAudioOutputAnalogAESSwitch; - -typedef /* [v1_enum] */ -enum _BMDVideoOutputConversionMode - { - bmdNoVideoOutputConversion = 0x6e6f6e65, - bmdVideoOutputLetterboxDownconversion = 0x6c746278, - bmdVideoOutputAnamorphicDownconversion = 0x616d7068, - bmdVideoOutputHD720toHD1080Conversion = 0x37323063, - bmdVideoOutputHardwareLetterboxDownconversion = 0x48576c62, - bmdVideoOutputHardwareAnamorphicDownconversion = 0x4857616d, - bmdVideoOutputHardwareCenterCutDownconversion = 0x48576363, - bmdVideoOutputHardware720p1080pCrossconversion = 0x78636170, - bmdVideoOutputHardwareAnamorphic720pUpconversion = 0x75613770, - bmdVideoOutputHardwareAnamorphic1080iUpconversion = 0x75613169, - bmdVideoOutputHardwareAnamorphic149To720pUpconversion = 0x75343770, - bmdVideoOutputHardwareAnamorphic149To1080iUpconversion = 0x75343169, - bmdVideoOutputHardwarePillarbox720pUpconversion = 0x75703770, - bmdVideoOutputHardwarePillarbox1080iUpconversion = 0x75703169 - } BMDVideoOutputConversionMode; - -typedef /* [v1_enum] */ -enum _BMDVideoInputConversionMode - { - bmdNoVideoInputConversion = 0x6e6f6e65, - bmdVideoInputLetterboxDownconversionFromHD1080 = 0x31306c62, - bmdVideoInputAnamorphicDownconversionFromHD1080 = 0x3130616d, - bmdVideoInputLetterboxDownconversionFromHD720 = 0x37326c62, - bmdVideoInputAnamorphicDownconversionFromHD720 = 0x3732616d, - bmdVideoInputLetterboxUpconversion = 0x6c627570, - bmdVideoInputAnamorphicUpconversion = 0x616d7570 - } BMDVideoInputConversionMode; - -typedef /* [v1_enum] */ -enum _BMDVideo3DPackingFormat - { - bmdVideo3DPackingSidebySideHalf = 0x73627368, - bmdVideo3DPackingLinebyLine = 0x6c62796c, - bmdVideo3DPackingTopAndBottom = 0x7461626f, - bmdVideo3DPackingFramePacking = 0x6672706b, - bmdVideo3DPackingLeftOnly = 0x6c656674, - bmdVideo3DPackingRightOnly = 0x72696768 - } BMDVideo3DPackingFormat; - -typedef /* [v1_enum] */ -enum _BMDIdleVideoOutputOperation - { - bmdIdleVideoOutputBlack = 0x626c6163, - bmdIdleVideoOutputLastFrame = 0x6c616661, - bmdIdleVideoOutputDesktop = 0x6465736b - } BMDIdleVideoOutputOperation; - -typedef /* [v1_enum] */ -enum _BMDDeckLinkAttributeID - { - BMDDeckLinkSupportsInternalKeying = 0x6b657969, - BMDDeckLinkSupportsExternalKeying = 0x6b657965, - BMDDeckLinkSupportsHDKeying = 0x6b657968, - BMDDeckLinkSupportsInputFormatDetection = 0x696e6664, - BMDDeckLinkHasReferenceInput = 0x6872696e, - BMDDeckLinkHasSerialPort = 0x68737074, - BMDDeckLinkHasAnalogVideoOutputGain = 0x61766f67, - BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 0x6f766f67, - BMDDeckLinkHasVideoInputAntiAliasingFilter = 0x6161666c, - BMDDeckLinkHasBypass = 0x62797073, - BMDDeckLinkSupportsDesktopDisplay = 0x65787464, - BMDDeckLinkSupportsClockTimingAdjustment = 0x63746164, - BMDDeckLinkSupportsFullDuplex = 0x66647570, - BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = 0x6672696e, - BMDDeckLinkSupportsSMPTELevelAOutput = 0x6c766c61, - BMDDeckLinkSupportsDualLinkSDI = 0x73646c73, - BMDDeckLinkSupportsIdleOutput = 0x69646f75, - BMDDeckLinkMaximumAudioChannels = 0x6d616368, - BMDDeckLinkMaximumAnalogAudioChannels = 0x61616368, - BMDDeckLinkNumberOfSubDevices = 0x6e736264, - BMDDeckLinkSubDeviceIndex = 0x73756269, - BMDDeckLinkPersistentID = 0x70656964, - BMDDeckLinkTopologicalID = 0x746f6964, - BMDDeckLinkVideoOutputConnections = 0x766f636e, - BMDDeckLinkVideoInputConnections = 0x7669636e, - BMDDeckLinkAudioOutputConnections = 0x616f636e, - BMDDeckLinkAudioInputConnections = 0x6169636e, - BMDDeckLinkDeviceBusyState = 0x64627374, - BMDDeckLinkVideoIOSupport = 0x76696f73, - BMDDeckLinkVideoInputGainMinimum = 0x7669676d, - BMDDeckLinkVideoInputGainMaximum = 0x76696778, - BMDDeckLinkVideoOutputGainMinimum = 0x766f676d, - BMDDeckLinkVideoOutputGainMaximum = 0x766f6778, - BMDDeckLinkSerialPortDeviceName = 0x736c706e - } BMDDeckLinkAttributeID; - -typedef /* [v1_enum] */ -enum _BMDDeckLinkAPIInformationID - { - BMDDeckLinkAPIVersion = 0x76657273 - } BMDDeckLinkAPIInformationID; - -/* [v1_enum] */ -enum _BMDDeviceBusyState - { - bmdDeviceCaptureBusy = ( 1 << 0 ) , - bmdDevicePlaybackBusy = ( 1 << 1 ) , - bmdDeviceSerialPortBusy = ( 1 << 2 ) - } ; -typedef /* [v1_enum] */ -enum _BMDVideoIOSupport - { - bmdDeviceSupportsCapture = ( 1 << 0 ) , - bmdDeviceSupportsPlayback = ( 1 << 1 ) - } BMDVideoIOSupport; - -typedef /* [v1_enum] */ -enum _BMD3DPreviewFormat - { - bmd3DPreviewFormatDefault = 0x64656661, - bmd3DPreviewFormatLeftOnly = 0x6c656674, - bmd3DPreviewFormatRightOnly = 0x72696768, - bmd3DPreviewFormatSideBySide = 0x73696465, - bmd3DPreviewFormatTopBottom = 0x746f7062 - } BMD3DPreviewFormat; - -typedef /* [v1_enum] */ -enum _BMDNotifications - { - bmdPreferencesChanged = 0x70726566 - } BMDNotifications; - - - - - - - - - - - - - - - - - - - - - - - - - -typedef /* [v1_enum] */ -enum _BMDDeckLinkConfigurationID_v10_2 - { - bmdDeckLinkConfig3GBpsVideoOutput_v10_2 = 0x33676273 - } BMDDeckLinkConfigurationID_v10_2; - -typedef /* [v1_enum] */ -enum _BMDAudioConnection_v10_2 - { - bmdAudioConnectionEmbedded_v10_2 = 0x656d6264, - bmdAudioConnectionAESEBU_v10_2 = 0x61657320, - bmdAudioConnectionAnalog_v10_2 = 0x616e6c67, - bmdAudioConnectionAnalogXLR_v10_2 = 0x61786c72, - bmdAudioConnectionAnalogRCA_v10_2 = 0x61726361 - } BMDAudioConnection_v10_2; - - -typedef /* [v1_enum] */ -enum _BMDDeckControlVTRControlState_v8_1 - { - bmdDeckControlNotInVTRControlMode_v8_1 = 0x6e76636d, - bmdDeckControlVTRControlPlaying_v8_1 = 0x76747270, - bmdDeckControlVTRControlRecording_v8_1 = 0x76747272, - bmdDeckControlVTRControlStill_v8_1 = 0x76747261, - bmdDeckControlVTRControlSeeking_v8_1 = 0x76747273, - bmdDeckControlVTRControlStopped_v8_1 = 0x7674726f - } BMDDeckControlVTRControlState_v8_1; - - - -typedef /* [v1_enum] */ -enum _BMDVideoConnection_v7_6 - { - bmdVideoConnectionSDI_v7_6 = 0x73646920, - bmdVideoConnectionHDMI_v7_6 = 0x68646d69, - bmdVideoConnectionOpticalSDI_v7_6 = 0x6f707469, - bmdVideoConnectionComponent_v7_6 = 0x63706e74, - bmdVideoConnectionComposite_v7_6 = 0x636d7374, - bmdVideoConnectionSVideo_v7_6 = 0x73766964 - } BMDVideoConnection_v7_6; - - - - - - - - - - - - - - - - - - - - - - - -EXTERN_C const IID LIBID_DeckLinkAPI; - -#ifndef __IDeckLinkTimecode_INTERFACE_DEFINED__ -#define __IDeckLinkTimecode_INTERFACE_DEFINED__ - -/* interface IDeckLinkTimecode */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkTimecode; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("BC6CFBD3-8317-4325-AC1C-1216391E9340") - IDeckLinkTimecode : public IUnknown - { - public: - virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetComponents( - /* [out] */ unsigned char *hours, - /* [out] */ unsigned char *minutes, - /* [out] */ unsigned char *seconds, - /* [out] */ unsigned char *frames) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [out] */ BSTR *timecode) = 0; - - virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeUserBits( - /* [out] */ BMDTimecodeUserBits *userBits) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkTimecodeVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkTimecode * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkTimecode * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkTimecode * This); - - BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( - IDeckLinkTimecode * This); - - HRESULT ( STDMETHODCALLTYPE *GetComponents )( - IDeckLinkTimecode * This, - /* [out] */ unsigned char *hours, - /* [out] */ unsigned char *minutes, - /* [out] */ unsigned char *seconds, - /* [out] */ unsigned char *frames); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkTimecode * This, - /* [out] */ BSTR *timecode); - - BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkTimecode * This); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeUserBits )( - IDeckLinkTimecode * This, - /* [out] */ BMDTimecodeUserBits *userBits); - - END_INTERFACE - } IDeckLinkTimecodeVtbl; - - interface IDeckLinkTimecode - { - CONST_VTBL struct IDeckLinkTimecodeVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkTimecode_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkTimecode_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkTimecode_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkTimecode_GetBCD(This) \ - ( (This)->lpVtbl -> GetBCD(This) ) - -#define IDeckLinkTimecode_GetComponents(This,hours,minutes,seconds,frames) \ - ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) - -#define IDeckLinkTimecode_GetString(This,timecode) \ - ( (This)->lpVtbl -> GetString(This,timecode) ) - -#define IDeckLinkTimecode_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkTimecode_GetTimecodeUserBits(This,userBits) \ - ( (This)->lpVtbl -> GetTimecodeUserBits(This,userBits) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkTimecode_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ -#define __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ - -/* interface IDeckLinkDisplayModeIterator */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDisplayModeIterator; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("9C88499F-F601-4021-B80B-032E4EB41C35") - IDeckLinkDisplayModeIterator : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Next( - /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDisplayModeIteratorVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDisplayModeIterator * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDisplayModeIterator * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDisplayModeIterator * This); - - HRESULT ( STDMETHODCALLTYPE *Next )( - IDeckLinkDisplayModeIterator * This, - /* [out] */ IDeckLinkDisplayMode **deckLinkDisplayMode); - - END_INTERFACE - } IDeckLinkDisplayModeIteratorVtbl; - - interface IDeckLinkDisplayModeIterator - { - CONST_VTBL struct IDeckLinkDisplayModeIteratorVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDisplayModeIterator_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDisplayModeIterator_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDisplayModeIterator_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDisplayModeIterator_Next(This,deckLinkDisplayMode) \ - ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDisplayModeIterator_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayMode_INTERFACE_DEFINED__ -#define __IDeckLinkDisplayMode_INTERFACE_DEFINED__ - -/* interface IDeckLinkDisplayMode */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDisplayMode; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3EB2C1AB-0A3D-4523-A3AD-F40D7FB14E78") - IDeckLinkDisplayMode : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetName( - /* [out] */ BSTR *name) = 0; - - virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; - - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; - - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrameRate( - /* [out] */ BMDTimeValue *frameDuration, - /* [out] */ BMDTimeScale *timeScale) = 0; - - virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0; - - virtual BMDDisplayModeFlags STDMETHODCALLTYPE GetFlags( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDisplayModeVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDisplayMode * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDisplayMode * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDisplayMode * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( - IDeckLinkDisplayMode * This, - /* [out] */ BSTR *name); - - BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( - IDeckLinkDisplayMode * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkDisplayMode * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkDisplayMode * This); - - HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( - IDeckLinkDisplayMode * This, - /* [out] */ BMDTimeValue *frameDuration, - /* [out] */ BMDTimeScale *timeScale); - - BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( - IDeckLinkDisplayMode * This); - - BMDDisplayModeFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkDisplayMode * This); - - END_INTERFACE - } IDeckLinkDisplayModeVtbl; - - interface IDeckLinkDisplayMode - { - CONST_VTBL struct IDeckLinkDisplayModeVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDisplayMode_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDisplayMode_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDisplayMode_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDisplayMode_GetName(This,name) \ - ( (This)->lpVtbl -> GetName(This,name) ) - -#define IDeckLinkDisplayMode_GetDisplayMode(This) \ - ( (This)->lpVtbl -> GetDisplayMode(This) ) - -#define IDeckLinkDisplayMode_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkDisplayMode_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkDisplayMode_GetFrameRate(This,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) - -#define IDeckLinkDisplayMode_GetFieldDominance(This) \ - ( (This)->lpVtbl -> GetFieldDominance(This) ) - -#define IDeckLinkDisplayMode_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDisplayMode_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLink_INTERFACE_DEFINED__ -#define __IDeckLink_INTERFACE_DEFINED__ - -/* interface IDeckLink */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLink; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C418FBDD-0587-48ED-8FE5-640F0A14AF91") - IDeckLink : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetModelName( - /* [out] */ BSTR *modelName) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayName( - /* [out] */ BSTR *displayName) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLink * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLink * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLink * This); - - HRESULT ( STDMETHODCALLTYPE *GetModelName )( - IDeckLink * This, - /* [out] */ BSTR *modelName); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( - IDeckLink * This, - /* [out] */ BSTR *displayName); - - END_INTERFACE - } IDeckLinkVtbl; - - interface IDeckLink - { - CONST_VTBL struct IDeckLinkVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLink_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLink_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLink_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLink_GetModelName(This,modelName) \ - ( (This)->lpVtbl -> GetModelName(This,modelName) ) - -#define IDeckLink_GetDisplayName(This,displayName) \ - ( (This)->lpVtbl -> GetDisplayName(This,displayName) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLink_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkConfiguration_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_INTERFACE_DEFINED__ - -/* interface IDeckLinkConfiguration */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkConfiguration; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("1E69FCF6-4203-4936-8076-2A9F4CFD50CB") - IDeckLinkConfiguration : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetFlag( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BOOL value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlag( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInt( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ LONGLONG value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInt( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFloat( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ double value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetString( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BSTR value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BSTR *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkConfigurationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkConfiguration * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkConfiguration * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkConfiguration * This); - - HRESULT ( STDMETHODCALLTYPE *SetFlag )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BOOL value); - - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BOOL *value); - - HRESULT ( STDMETHODCALLTYPE *SetInt )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ LONGLONG value); - - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ LONGLONG *value); - - HRESULT ( STDMETHODCALLTYPE *SetFloat )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ double value); - - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ double *value); - - HRESULT ( STDMETHODCALLTYPE *SetString )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BSTR value); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkConfiguration * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BSTR *value); - - HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( - IDeckLinkConfiguration * This); - - END_INTERFACE - } IDeckLinkConfigurationVtbl; - - interface IDeckLinkConfiguration - { - CONST_VTBL struct IDeckLinkConfigurationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkConfiguration_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkConfiguration_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkConfiguration_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkConfiguration_SetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) - -#define IDeckLinkConfiguration_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) - -#define IDeckLinkConfiguration_SetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) - -#define IDeckLinkConfiguration_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) - -#define IDeckLinkConfiguration_SetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) - -#define IDeckLinkConfiguration_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) - -#define IDeckLinkConfiguration_SetString(This,cfgID,value) \ - ( (This)->lpVtbl -> SetString(This,cfgID,value) ) - -#define IDeckLinkConfiguration_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) - -#define IDeckLinkConfiguration_WriteConfigurationToPreferences(This) \ - ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkConfiguration_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ -#define __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkDeckControlStatusCallback */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("53436FFB-B434-4906-BADC-AE3060FFE8EF") - IDeckLinkDeckControlStatusCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( - /* [in] */ BMDTimecodeBCD currentTimecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( - /* [in] */ BMDDeckControlVTRControlState newState, - /* [in] */ BMDDeckControlError error) = 0; - - virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( - /* [in] */ BMDDeckControlEvent event, - /* [in] */ BMDDeckControlError error) = 0; - - virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( - /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned int mask) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDeckControlStatusCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeckControlStatusCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeckControlStatusCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeckControlStatusCallback * This); - - HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( - IDeckLinkDeckControlStatusCallback * This, - /* [in] */ BMDTimecodeBCD currentTimecode); - - HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( - IDeckLinkDeckControlStatusCallback * This, - /* [in] */ BMDDeckControlVTRControlState newState, - /* [in] */ BMDDeckControlError error); - - HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( - IDeckLinkDeckControlStatusCallback * This, - /* [in] */ BMDDeckControlEvent event, - /* [in] */ BMDDeckControlError error); - - HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( - IDeckLinkDeckControlStatusCallback * This, - /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned int mask); - - END_INTERFACE - } IDeckLinkDeckControlStatusCallbackVtbl; - - interface IDeckLinkDeckControlStatusCallback - { - CONST_VTBL struct IDeckLinkDeckControlStatusCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDeckControlStatusCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDeckControlStatusCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDeckControlStatusCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDeckControlStatusCallback_TimecodeUpdate(This,currentTimecode) \ - ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) - -#define IDeckLinkDeckControlStatusCallback_VTRControlStateChanged(This,newState,error) \ - ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) - -#define IDeckLinkDeckControlStatusCallback_DeckControlEventReceived(This,event,error) \ - ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) - -#define IDeckLinkDeckControlStatusCallback_DeckControlStatusChanged(This,flags,mask) \ - ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDeckControlStatusCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControl_INTERFACE_DEFINED__ -#define __IDeckLinkDeckControl_INTERFACE_DEFINED__ - -/* interface IDeckLinkDeckControl */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDeckControl; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("8E1C3ACE-19C7-4E00-8B92-D80431D958BE") - IDeckLinkDeckControl : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Open( - /* [in] */ BMDTimeScale timeScale, - /* [in] */ BMDTimeValue timeValue, - /* [in] */ BOOL timecodeIsDropFrame, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Close( - /* [in] */ BOOL standbyOn) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentState( - /* [out] */ BMDDeckControlMode *mode, - /* [out] */ BMDDeckControlVTRControlState *vtrControlState, - /* [out] */ BMDDeckControlStatusFlags *flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetStandby( - /* [in] */ BOOL standbyOn) = 0; - - virtual HRESULT STDMETHODCALLTYPE SendCommand( - /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned int inBufferSize, - /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned int *outDataSize, - /* [in] */ unsigned int outBufferSize, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Play( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Stop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Eject( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GoToTimecode( - /* [in] */ BMDTimecodeBCD timecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE FastForward( - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Rewind( - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepForward( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepBack( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Jog( - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Shuttle( - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( - /* [out] */ BSTR *currentTimeCode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecode( - /* [out] */ IDeckLinkTimecode **currentTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( - /* [out] */ BMDTimecodeBCD *currentTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPreroll( - /* [in] */ unsigned int prerollSeconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPreroll( - /* [out] */ unsigned int *prerollSeconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetExportOffset( - /* [in] */ int exportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetExportOffset( - /* [out] */ int *exportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( - /* [out] */ int *deckManualExportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( - /* [in] */ int captureOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( - /* [out] */ int *captureOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartExport( - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartCapture( - /* [in] */ BOOL useVITC, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDeviceID( - /* [out] */ unsigned short *deviceId, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDeckControlVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeckControl * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeckControl * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeckControl * This); - - HRESULT ( STDMETHODCALLTYPE *Open )( - IDeckLinkDeckControl * This, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ BMDTimeValue timeValue, - /* [in] */ BOOL timecodeIsDropFrame, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Close )( - IDeckLinkDeckControl * This, - /* [in] */ BOOL standbyOn); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlMode *mode, - /* [out] */ BMDDeckControlVTRControlState *vtrControlState, - /* [out] */ BMDDeckControlStatusFlags *flags); - - HRESULT ( STDMETHODCALLTYPE *SetStandby )( - IDeckLinkDeckControl * This, - /* [in] */ BOOL standbyOn); - - HRESULT ( STDMETHODCALLTYPE *SendCommand )( - IDeckLinkDeckControl * This, - /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned int inBufferSize, - /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned int *outDataSize, - /* [in] */ unsigned int outBufferSize, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Play )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Stop )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Eject )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( - IDeckLinkDeckControl * This, - /* [in] */ BMDTimecodeBCD timecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *FastForward )( - IDeckLinkDeckControl * This, - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Rewind )( - IDeckLinkDeckControl * This, - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StepForward )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StepBack )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Jog )( - IDeckLinkDeckControl * This, - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Shuttle )( - IDeckLinkDeckControl * This, - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( - IDeckLinkDeckControl * This, - /* [out] */ BSTR *currentTimeCode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkDeckControl * This, - /* [out] */ IDeckLinkTimecode **currentTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( - IDeckLinkDeckControl * This, - /* [out] */ BMDTimecodeBCD *currentTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *SetPreroll )( - IDeckLinkDeckControl * This, - /* [in] */ unsigned int prerollSeconds); - - HRESULT ( STDMETHODCALLTYPE *GetPreroll )( - IDeckLinkDeckControl * This, - /* [out] */ unsigned int *prerollSeconds); - - HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( - IDeckLinkDeckControl * This, - /* [in] */ int exportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( - IDeckLinkDeckControl * This, - /* [out] */ int *exportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( - IDeckLinkDeckControl * This, - /* [out] */ int *deckManualExportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( - IDeckLinkDeckControl * This, - /* [in] */ int captureOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( - IDeckLinkDeckControl * This, - /* [out] */ int *captureOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *StartExport )( - IDeckLinkDeckControl * This, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StartCapture )( - IDeckLinkDeckControl * This, - /* [in] */ BOOL useVITC, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( - IDeckLinkDeckControl * This, - /* [out] */ unsigned short *deviceId, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Abort )( - IDeckLinkDeckControl * This); - - HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( - IDeckLinkDeckControl * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkDeckControl * This, - /* [in] */ IDeckLinkDeckControlStatusCallback *callback); - - END_INTERFACE - } IDeckLinkDeckControlVtbl; - - interface IDeckLinkDeckControl - { - CONST_VTBL struct IDeckLinkDeckControlVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDeckControl_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDeckControl_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDeckControl_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDeckControl_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ - ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) - -#define IDeckLinkDeckControl_Close(This,standbyOn) \ - ( (This)->lpVtbl -> Close(This,standbyOn) ) - -#define IDeckLinkDeckControl_GetCurrentState(This,mode,vtrControlState,flags) \ - ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) - -#define IDeckLinkDeckControl_SetStandby(This,standbyOn) \ - ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) - -#define IDeckLinkDeckControl_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \ - ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) - -#define IDeckLinkDeckControl_Play(This,error) \ - ( (This)->lpVtbl -> Play(This,error) ) - -#define IDeckLinkDeckControl_Stop(This,error) \ - ( (This)->lpVtbl -> Stop(This,error) ) - -#define IDeckLinkDeckControl_TogglePlayStop(This,error) \ - ( (This)->lpVtbl -> TogglePlayStop(This,error) ) - -#define IDeckLinkDeckControl_Eject(This,error) \ - ( (This)->lpVtbl -> Eject(This,error) ) - -#define IDeckLinkDeckControl_GoToTimecode(This,timecode,error) \ - ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) - -#define IDeckLinkDeckControl_FastForward(This,viewTape,error) \ - ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) - -#define IDeckLinkDeckControl_Rewind(This,viewTape,error) \ - ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) - -#define IDeckLinkDeckControl_StepForward(This,error) \ - ( (This)->lpVtbl -> StepForward(This,error) ) - -#define IDeckLinkDeckControl_StepBack(This,error) \ - ( (This)->lpVtbl -> StepBack(This,error) ) - -#define IDeckLinkDeckControl_Jog(This,rate,error) \ - ( (This)->lpVtbl -> Jog(This,rate,error) ) - -#define IDeckLinkDeckControl_Shuttle(This,rate,error) \ - ( (This)->lpVtbl -> Shuttle(This,rate,error) ) - -#define IDeckLinkDeckControl_GetTimecodeString(This,currentTimeCode,error) \ - ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) - -#define IDeckLinkDeckControl_GetTimecode(This,currentTimecode,error) \ - ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) - -#define IDeckLinkDeckControl_GetTimecodeBCD(This,currentTimecode,error) \ - ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) - -#define IDeckLinkDeckControl_SetPreroll(This,prerollSeconds) \ - ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) - -#define IDeckLinkDeckControl_GetPreroll(This,prerollSeconds) \ - ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) - -#define IDeckLinkDeckControl_SetExportOffset(This,exportOffsetFields) \ - ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) - -#define IDeckLinkDeckControl_GetExportOffset(This,exportOffsetFields) \ - ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) - -#define IDeckLinkDeckControl_GetManualExportOffset(This,deckManualExportOffsetFields) \ - ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) - -#define IDeckLinkDeckControl_SetCaptureOffset(This,captureOffsetFields) \ - ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) - -#define IDeckLinkDeckControl_GetCaptureOffset(This,captureOffsetFields) \ - ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) - -#define IDeckLinkDeckControl_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ - ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) - -#define IDeckLinkDeckControl_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ - ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) - -#define IDeckLinkDeckControl_GetDeviceID(This,deviceId,error) \ - ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) - -#define IDeckLinkDeckControl_Abort(This) \ - ( (This)->lpVtbl -> Abort(This) ) - -#define IDeckLinkDeckControl_CrashRecordStart(This,error) \ - ( (This)->lpVtbl -> CrashRecordStart(This,error) ) - -#define IDeckLinkDeckControl_CrashRecordStop(This,error) \ - ( (This)->lpVtbl -> CrashRecordStop(This,error) ) - -#define IDeckLinkDeckControl_SetCallback(This,callback) \ - ( (This)->lpVtbl -> SetCallback(This,callback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDeckControl_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ -#define __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ - -/* interface IBMDStreamingDeviceNotificationCallback */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingDeviceNotificationCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("F9531D64-3305-4B29-A387-7F74BB0D0E84") - IBMDStreamingDeviceNotificationCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE StreamingDeviceArrived( - /* [in] */ IDeckLink *device) = 0; - - virtual HRESULT STDMETHODCALLTYPE StreamingDeviceRemoved( - /* [in] */ IDeckLink *device) = 0; - - virtual HRESULT STDMETHODCALLTYPE StreamingDeviceModeChanged( - /* [in] */ IDeckLink *device, - /* [in] */ BMDStreamingDeviceMode mode) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingDeviceNotificationCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingDeviceNotificationCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingDeviceNotificationCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingDeviceNotificationCallback * This); - - HRESULT ( STDMETHODCALLTYPE *StreamingDeviceArrived )( - IBMDStreamingDeviceNotificationCallback * This, - /* [in] */ IDeckLink *device); - - HRESULT ( STDMETHODCALLTYPE *StreamingDeviceRemoved )( - IBMDStreamingDeviceNotificationCallback * This, - /* [in] */ IDeckLink *device); - - HRESULT ( STDMETHODCALLTYPE *StreamingDeviceModeChanged )( - IBMDStreamingDeviceNotificationCallback * This, - /* [in] */ IDeckLink *device, - /* [in] */ BMDStreamingDeviceMode mode); - - END_INTERFACE - } IBMDStreamingDeviceNotificationCallbackVtbl; - - interface IBMDStreamingDeviceNotificationCallback - { - CONST_VTBL struct IBMDStreamingDeviceNotificationCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingDeviceNotificationCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingDeviceNotificationCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingDeviceNotificationCallback_StreamingDeviceArrived(This,device) \ - ( (This)->lpVtbl -> StreamingDeviceArrived(This,device) ) - -#define IBMDStreamingDeviceNotificationCallback_StreamingDeviceRemoved(This,device) \ - ( (This)->lpVtbl -> StreamingDeviceRemoved(This,device) ) - -#define IBMDStreamingDeviceNotificationCallback_StreamingDeviceModeChanged(This,device,mode) \ - ( (This)->lpVtbl -> StreamingDeviceModeChanged(This,device,mode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingDeviceNotificationCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ -#define __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ - -/* interface IBMDStreamingH264InputCallback */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingH264InputCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("823C475F-55AE-46F9-890C-537CC5CEDCCA") - IBMDStreamingH264InputCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE H264NALPacketArrived( - /* [in] */ IBMDStreamingH264NALPacket *nalPacket) = 0; - - virtual HRESULT STDMETHODCALLTYPE H264AudioPacketArrived( - /* [in] */ IBMDStreamingAudioPacket *audioPacket) = 0; - - virtual HRESULT STDMETHODCALLTYPE MPEG2TSPacketArrived( - /* [in] */ IBMDStreamingMPEG2TSPacket *tsPacket) = 0; - - virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorScanningChanged( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE H264VideoInputConnectorChanged( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE H264VideoInputModeChanged( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingH264InputCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingH264InputCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingH264InputCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingH264InputCallback * This); - - HRESULT ( STDMETHODCALLTYPE *H264NALPacketArrived )( - IBMDStreamingH264InputCallback * This, - /* [in] */ IBMDStreamingH264NALPacket *nalPacket); - - HRESULT ( STDMETHODCALLTYPE *H264AudioPacketArrived )( - IBMDStreamingH264InputCallback * This, - /* [in] */ IBMDStreamingAudioPacket *audioPacket); - - HRESULT ( STDMETHODCALLTYPE *MPEG2TSPacketArrived )( - IBMDStreamingH264InputCallback * This, - /* [in] */ IBMDStreamingMPEG2TSPacket *tsPacket); - - HRESULT ( STDMETHODCALLTYPE *H264VideoInputConnectorScanningChanged )( - IBMDStreamingH264InputCallback * This); - - HRESULT ( STDMETHODCALLTYPE *H264VideoInputConnectorChanged )( - IBMDStreamingH264InputCallback * This); - - HRESULT ( STDMETHODCALLTYPE *H264VideoInputModeChanged )( - IBMDStreamingH264InputCallback * This); - - END_INTERFACE - } IBMDStreamingH264InputCallbackVtbl; - - interface IBMDStreamingH264InputCallback - { - CONST_VTBL struct IBMDStreamingH264InputCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingH264InputCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingH264InputCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingH264InputCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingH264InputCallback_H264NALPacketArrived(This,nalPacket) \ - ( (This)->lpVtbl -> H264NALPacketArrived(This,nalPacket) ) - -#define IBMDStreamingH264InputCallback_H264AudioPacketArrived(This,audioPacket) \ - ( (This)->lpVtbl -> H264AudioPacketArrived(This,audioPacket) ) - -#define IBMDStreamingH264InputCallback_MPEG2TSPacketArrived(This,tsPacket) \ - ( (This)->lpVtbl -> MPEG2TSPacketArrived(This,tsPacket) ) - -#define IBMDStreamingH264InputCallback_H264VideoInputConnectorScanningChanged(This) \ - ( (This)->lpVtbl -> H264VideoInputConnectorScanningChanged(This) ) - -#define IBMDStreamingH264InputCallback_H264VideoInputConnectorChanged(This) \ - ( (This)->lpVtbl -> H264VideoInputConnectorChanged(This) ) - -#define IBMDStreamingH264InputCallback_H264VideoInputModeChanged(This) \ - ( (This)->lpVtbl -> H264VideoInputModeChanged(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingH264InputCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingDiscovery_INTERFACE_DEFINED__ -#define __IBMDStreamingDiscovery_INTERFACE_DEFINED__ - -/* interface IBMDStreamingDiscovery */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingDiscovery; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2C837444-F989-4D87-901A-47C8A36D096D") - IBMDStreamingDiscovery : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( - /* [in] */ IBMDStreamingDeviceNotificationCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingDiscoveryVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingDiscovery * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingDiscovery * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingDiscovery * This); - - HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( - IBMDStreamingDiscovery * This, - /* [in] */ IBMDStreamingDeviceNotificationCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( - IBMDStreamingDiscovery * This); - - END_INTERFACE - } IBMDStreamingDiscoveryVtbl; - - interface IBMDStreamingDiscovery - { - CONST_VTBL struct IBMDStreamingDiscoveryVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingDiscovery_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingDiscovery_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingDiscovery_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingDiscovery_InstallDeviceNotifications(This,theCallback) \ - ( (This)->lpVtbl -> InstallDeviceNotifications(This,theCallback) ) - -#define IBMDStreamingDiscovery_UninstallDeviceNotifications(This) \ - ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingDiscovery_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ -#define __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ - -/* interface IBMDStreamingVideoEncodingMode */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingVideoEncodingMode; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("1AB8035B-CD13-458D-B6DF-5E8F7C2141D9") - IBMDStreamingVideoEncodingMode : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetName( - /* [out] */ BSTR *name) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetPresetID( void) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetSourcePositionX( void) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetSourcePositionY( void) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetSourceWidth( void) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetSourceHeight( void) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetDestWidth( void) = 0; - - virtual unsigned int STDMETHODCALLTYPE GetDestHeight( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlag( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInt( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ BSTR *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateMutableVideoEncodingMode( - /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingVideoEncodingModeVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingVideoEncodingMode * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingVideoEncodingMode * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingVideoEncodingMode * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( - IBMDStreamingVideoEncodingMode * This, - /* [out] */ BSTR *name); - - unsigned int ( STDMETHODCALLTYPE *GetPresetID )( - IBMDStreamingVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourcePositionX )( - IBMDStreamingVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourcePositionY )( - IBMDStreamingVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourceWidth )( - IBMDStreamingVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourceHeight )( - IBMDStreamingVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetDestWidth )( - IBMDStreamingVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetDestHeight )( - IBMDStreamingVideoEncodingMode * This); - - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IBMDStreamingVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ BOOL *value); - - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IBMDStreamingVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ LONGLONG *value); - - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IBMDStreamingVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ double *value); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IBMDStreamingVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ BSTR *value); - - HRESULT ( STDMETHODCALLTYPE *CreateMutableVideoEncodingMode )( - IBMDStreamingVideoEncodingMode * This, - /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode); - - END_INTERFACE - } IBMDStreamingVideoEncodingModeVtbl; - - interface IBMDStreamingVideoEncodingMode - { - CONST_VTBL struct IBMDStreamingVideoEncodingModeVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingVideoEncodingMode_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingVideoEncodingMode_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingVideoEncodingMode_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingVideoEncodingMode_GetName(This,name) \ - ( (This)->lpVtbl -> GetName(This,name) ) - -#define IBMDStreamingVideoEncodingMode_GetPresetID(This) \ - ( (This)->lpVtbl -> GetPresetID(This) ) - -#define IBMDStreamingVideoEncodingMode_GetSourcePositionX(This) \ - ( (This)->lpVtbl -> GetSourcePositionX(This) ) - -#define IBMDStreamingVideoEncodingMode_GetSourcePositionY(This) \ - ( (This)->lpVtbl -> GetSourcePositionY(This) ) - -#define IBMDStreamingVideoEncodingMode_GetSourceWidth(This) \ - ( (This)->lpVtbl -> GetSourceWidth(This) ) - -#define IBMDStreamingVideoEncodingMode_GetSourceHeight(This) \ - ( (This)->lpVtbl -> GetSourceHeight(This) ) - -#define IBMDStreamingVideoEncodingMode_GetDestWidth(This) \ - ( (This)->lpVtbl -> GetDestWidth(This) ) - -#define IBMDStreamingVideoEncodingMode_GetDestHeight(This) \ - ( (This)->lpVtbl -> GetDestHeight(This) ) - -#define IBMDStreamingVideoEncodingMode_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) - -#define IBMDStreamingVideoEncodingMode_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) - -#define IBMDStreamingVideoEncodingMode_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) - -#define IBMDStreamingVideoEncodingMode_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) - -#define IBMDStreamingVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) \ - ( (This)->lpVtbl -> CreateMutableVideoEncodingMode(This,newEncodingMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingVideoEncodingMode_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ -#define __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ - -/* interface IBMDStreamingMutableVideoEncodingMode */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingMutableVideoEncodingMode; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("19BF7D90-1E0A-400D-B2C6-FFC4E78AD49D") - IBMDStreamingMutableVideoEncodingMode : public IBMDStreamingVideoEncodingMode - { - public: - virtual HRESULT STDMETHODCALLTYPE SetSourceRect( - /* [in] */ unsigned int posX, - /* [in] */ unsigned int posY, - /* [in] */ unsigned int width, - /* [in] */ unsigned int height) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDestSize( - /* [in] */ unsigned int width, - /* [in] */ unsigned int height) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFlag( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ BOOL value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInt( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ LONGLONG value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFloat( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ double value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetString( - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ BSTR value) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingMutableVideoEncodingModeVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingMutableVideoEncodingMode * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingMutableVideoEncodingMode * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [out] */ BSTR *name); - - unsigned int ( STDMETHODCALLTYPE *GetPresetID )( - IBMDStreamingMutableVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourcePositionX )( - IBMDStreamingMutableVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourcePositionY )( - IBMDStreamingMutableVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourceWidth )( - IBMDStreamingMutableVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetSourceHeight )( - IBMDStreamingMutableVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetDestWidth )( - IBMDStreamingMutableVideoEncodingMode * This); - - unsigned int ( STDMETHODCALLTYPE *GetDestHeight )( - IBMDStreamingMutableVideoEncodingMode * This); - - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ BOOL *value); - - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ LONGLONG *value); - - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ double *value); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [out] */ BSTR *value); - - HRESULT ( STDMETHODCALLTYPE *CreateMutableVideoEncodingMode )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [out] */ IBMDStreamingMutableVideoEncodingMode **newEncodingMode); - - HRESULT ( STDMETHODCALLTYPE *SetSourceRect )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ unsigned int posX, - /* [in] */ unsigned int posY, - /* [in] */ unsigned int width, - /* [in] */ unsigned int height); - - HRESULT ( STDMETHODCALLTYPE *SetDestSize )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ unsigned int width, - /* [in] */ unsigned int height); - - HRESULT ( STDMETHODCALLTYPE *SetFlag )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ BOOL value); - - HRESULT ( STDMETHODCALLTYPE *SetInt )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ LONGLONG value); - - HRESULT ( STDMETHODCALLTYPE *SetFloat )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ double value); - - HRESULT ( STDMETHODCALLTYPE *SetString )( - IBMDStreamingMutableVideoEncodingMode * This, - /* [in] */ BMDStreamingEncodingModePropertyID cfgID, - /* [in] */ BSTR value); - - END_INTERFACE - } IBMDStreamingMutableVideoEncodingModeVtbl; - - interface IBMDStreamingMutableVideoEncodingMode - { - CONST_VTBL struct IBMDStreamingMutableVideoEncodingModeVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingMutableVideoEncodingMode_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingMutableVideoEncodingMode_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingMutableVideoEncodingMode_GetName(This,name) \ - ( (This)->lpVtbl -> GetName(This,name) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetPresetID(This) \ - ( (This)->lpVtbl -> GetPresetID(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionX(This) \ - ( (This)->lpVtbl -> GetSourcePositionX(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetSourcePositionY(This) \ - ( (This)->lpVtbl -> GetSourcePositionY(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetSourceWidth(This) \ - ( (This)->lpVtbl -> GetSourceWidth(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetSourceHeight(This) \ - ( (This)->lpVtbl -> GetSourceHeight(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetDestWidth(This) \ - ( (This)->lpVtbl -> GetDestWidth(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetDestHeight(This) \ - ( (This)->lpVtbl -> GetDestHeight(This) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_CreateMutableVideoEncodingMode(This,newEncodingMode) \ - ( (This)->lpVtbl -> CreateMutableVideoEncodingMode(This,newEncodingMode) ) - - -#define IBMDStreamingMutableVideoEncodingMode_SetSourceRect(This,posX,posY,width,height) \ - ( (This)->lpVtbl -> SetSourceRect(This,posX,posY,width,height) ) - -#define IBMDStreamingMutableVideoEncodingMode_SetDestSize(This,width,height) \ - ( (This)->lpVtbl -> SetDestSize(This,width,height) ) - -#define IBMDStreamingMutableVideoEncodingMode_SetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_SetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_SetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) - -#define IBMDStreamingMutableVideoEncodingMode_SetString(This,cfgID,value) \ - ( (This)->lpVtbl -> SetString(This,cfgID,value) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingMutableVideoEncodingMode_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ -#define __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ - -/* interface IBMDStreamingVideoEncodingModePresetIterator */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingVideoEncodingModePresetIterator; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("7AC731A3-C950-4AD0-804A-8377AA51C6C4") - IBMDStreamingVideoEncodingModePresetIterator : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Next( - /* [out] */ IBMDStreamingVideoEncodingMode **videoEncodingMode) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingVideoEncodingModePresetIteratorVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingVideoEncodingModePresetIterator * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingVideoEncodingModePresetIterator * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingVideoEncodingModePresetIterator * This); - - HRESULT ( STDMETHODCALLTYPE *Next )( - IBMDStreamingVideoEncodingModePresetIterator * This, - /* [out] */ IBMDStreamingVideoEncodingMode **videoEncodingMode); - - END_INTERFACE - } IBMDStreamingVideoEncodingModePresetIteratorVtbl; - - interface IBMDStreamingVideoEncodingModePresetIterator - { - CONST_VTBL struct IBMDStreamingVideoEncodingModePresetIteratorVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingVideoEncodingModePresetIterator_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingVideoEncodingModePresetIterator_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingVideoEncodingModePresetIterator_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingVideoEncodingModePresetIterator_Next(This,videoEncodingMode) \ - ( (This)->lpVtbl -> Next(This,videoEncodingMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingVideoEncodingModePresetIterator_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ -#define __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ - -/* interface IBMDStreamingDeviceInput */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingDeviceInput; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("24B6B6EC-1727-44BB-9818-34FF086ACF98") - IBMDStreamingDeviceInput : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoInputMode( - /* [in] */ BMDDisplayMode inputMode, - /* [out] */ BOOL *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVideoInputModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoInputMode( - /* [in] */ BMDDisplayMode inputMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentDetectedVideoInputMode( - /* [out] */ BMDDisplayMode *detectedMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingMode( - /* [out] */ IBMDStreamingVideoEncodingMode **encodingMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVideoEncodingModePresetIterator( - /* [in] */ BMDDisplayMode inputMode, - /* [out] */ IBMDStreamingVideoEncodingModePresetIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoEncodingMode( - /* [in] */ BMDDisplayMode inputMode, - /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode, - /* [out] */ BMDStreamingEncodingSupport *result, - /* [out] */ IBMDStreamingVideoEncodingMode **changedEncodingMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoEncodingMode( - /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartCapture( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopCapture( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IUnknown *theCallback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingDeviceInputVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingDeviceInput * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingDeviceInput * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingDeviceInput * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoInputMode )( - IBMDStreamingDeviceInput * This, - /* [in] */ BMDDisplayMode inputMode, - /* [out] */ BOOL *result); - - HRESULT ( STDMETHODCALLTYPE *GetVideoInputModeIterator )( - IBMDStreamingDeviceInput * This, - /* [out] */ IDeckLinkDisplayModeIterator **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetVideoInputMode )( - IBMDStreamingDeviceInput * This, - /* [in] */ BMDDisplayMode inputMode); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentDetectedVideoInputMode )( - IBMDStreamingDeviceInput * This, - /* [out] */ BMDDisplayMode *detectedMode); - - HRESULT ( STDMETHODCALLTYPE *GetVideoEncodingMode )( - IBMDStreamingDeviceInput * This, - /* [out] */ IBMDStreamingVideoEncodingMode **encodingMode); - - HRESULT ( STDMETHODCALLTYPE *GetVideoEncodingModePresetIterator )( - IBMDStreamingDeviceInput * This, - /* [in] */ BMDDisplayMode inputMode, - /* [out] */ IBMDStreamingVideoEncodingModePresetIterator **iterator); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoEncodingMode )( - IBMDStreamingDeviceInput * This, - /* [in] */ BMDDisplayMode inputMode, - /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode, - /* [out] */ BMDStreamingEncodingSupport *result, - /* [out] */ IBMDStreamingVideoEncodingMode **changedEncodingMode); - - HRESULT ( STDMETHODCALLTYPE *SetVideoEncodingMode )( - IBMDStreamingDeviceInput * This, - /* [in] */ IBMDStreamingVideoEncodingMode *encodingMode); - - HRESULT ( STDMETHODCALLTYPE *StartCapture )( - IBMDStreamingDeviceInput * This); - - HRESULT ( STDMETHODCALLTYPE *StopCapture )( - IBMDStreamingDeviceInput * This); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IBMDStreamingDeviceInput * This, - /* [in] */ IUnknown *theCallback); - - END_INTERFACE - } IBMDStreamingDeviceInputVtbl; - - interface IBMDStreamingDeviceInput - { - CONST_VTBL struct IBMDStreamingDeviceInputVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingDeviceInput_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingDeviceInput_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingDeviceInput_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingDeviceInput_DoesSupportVideoInputMode(This,inputMode,result) \ - ( (This)->lpVtbl -> DoesSupportVideoInputMode(This,inputMode,result) ) - -#define IBMDStreamingDeviceInput_GetVideoInputModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetVideoInputModeIterator(This,iterator) ) - -#define IBMDStreamingDeviceInput_SetVideoInputMode(This,inputMode) \ - ( (This)->lpVtbl -> SetVideoInputMode(This,inputMode) ) - -#define IBMDStreamingDeviceInput_GetCurrentDetectedVideoInputMode(This,detectedMode) \ - ( (This)->lpVtbl -> GetCurrentDetectedVideoInputMode(This,detectedMode) ) - -#define IBMDStreamingDeviceInput_GetVideoEncodingMode(This,encodingMode) \ - ( (This)->lpVtbl -> GetVideoEncodingMode(This,encodingMode) ) - -#define IBMDStreamingDeviceInput_GetVideoEncodingModePresetIterator(This,inputMode,iterator) \ - ( (This)->lpVtbl -> GetVideoEncodingModePresetIterator(This,inputMode,iterator) ) - -#define IBMDStreamingDeviceInput_DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) \ - ( (This)->lpVtbl -> DoesSupportVideoEncodingMode(This,inputMode,encodingMode,result,changedEncodingMode) ) - -#define IBMDStreamingDeviceInput_SetVideoEncodingMode(This,encodingMode) \ - ( (This)->lpVtbl -> SetVideoEncodingMode(This,encodingMode) ) - -#define IBMDStreamingDeviceInput_StartCapture(This) \ - ( (This)->lpVtbl -> StartCapture(This) ) - -#define IBMDStreamingDeviceInput_StopCapture(This) \ - ( (This)->lpVtbl -> StopCapture(This) ) - -#define IBMDStreamingDeviceInput_SetCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetCallback(This,theCallback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingDeviceInput_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ -#define __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ - -/* interface IBMDStreamingH264NALPacket */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingH264NALPacket; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E260E955-14BE-4395-9775-9F02CC0A9D89") - IBMDStreamingH264NALPacket : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytesWithSizePrefix( - /* [out] */ void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayTime( - /* [in] */ ULONGLONG requestedTimeScale, - /* [out] */ ULONGLONG *displayTime) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( - /* [out] */ unsigned int *packetIndex) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingH264NALPacketVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingH264NALPacket * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingH264NALPacket * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingH264NALPacket * This); - - long ( STDMETHODCALLTYPE *GetPayloadSize )( - IBMDStreamingH264NALPacket * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IBMDStreamingH264NALPacket * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetBytesWithSizePrefix )( - IBMDStreamingH264NALPacket * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayTime )( - IBMDStreamingH264NALPacket * This, - /* [in] */ ULONGLONG requestedTimeScale, - /* [out] */ ULONGLONG *displayTime); - - HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( - IBMDStreamingH264NALPacket * This, - /* [out] */ unsigned int *packetIndex); - - END_INTERFACE - } IBMDStreamingH264NALPacketVtbl; - - interface IBMDStreamingH264NALPacket - { - CONST_VTBL struct IBMDStreamingH264NALPacketVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingH264NALPacket_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingH264NALPacket_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingH264NALPacket_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingH264NALPacket_GetPayloadSize(This) \ - ( (This)->lpVtbl -> GetPayloadSize(This) ) - -#define IBMDStreamingH264NALPacket_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IBMDStreamingH264NALPacket_GetBytesWithSizePrefix(This,buffer) \ - ( (This)->lpVtbl -> GetBytesWithSizePrefix(This,buffer) ) - -#define IBMDStreamingH264NALPacket_GetDisplayTime(This,requestedTimeScale,displayTime) \ - ( (This)->lpVtbl -> GetDisplayTime(This,requestedTimeScale,displayTime) ) - -#define IBMDStreamingH264NALPacket_GetPacketIndex(This,packetIndex) \ - ( (This)->lpVtbl -> GetPacketIndex(This,packetIndex) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingH264NALPacket_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ -#define __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ - -/* interface IBMDStreamingAudioPacket */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingAudioPacket; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("D9EB5902-1AD2-43F4-9E2C-3CFA50B5EE19") - IBMDStreamingAudioPacket : public IUnknown - { - public: - virtual BMDStreamingAudioCodec STDMETHODCALLTYPE GetCodec( void) = 0; - - virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPlayTime( - /* [in] */ ULONGLONG requestedTimeScale, - /* [out] */ ULONGLONG *playTime) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPacketIndex( - /* [out] */ unsigned int *packetIndex) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingAudioPacketVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingAudioPacket * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingAudioPacket * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingAudioPacket * This); - - BMDStreamingAudioCodec ( STDMETHODCALLTYPE *GetCodec )( - IBMDStreamingAudioPacket * This); - - long ( STDMETHODCALLTYPE *GetPayloadSize )( - IBMDStreamingAudioPacket * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IBMDStreamingAudioPacket * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetPlayTime )( - IBMDStreamingAudioPacket * This, - /* [in] */ ULONGLONG requestedTimeScale, - /* [out] */ ULONGLONG *playTime); - - HRESULT ( STDMETHODCALLTYPE *GetPacketIndex )( - IBMDStreamingAudioPacket * This, - /* [out] */ unsigned int *packetIndex); - - END_INTERFACE - } IBMDStreamingAudioPacketVtbl; - - interface IBMDStreamingAudioPacket - { - CONST_VTBL struct IBMDStreamingAudioPacketVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingAudioPacket_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingAudioPacket_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingAudioPacket_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingAudioPacket_GetCodec(This) \ - ( (This)->lpVtbl -> GetCodec(This) ) - -#define IBMDStreamingAudioPacket_GetPayloadSize(This) \ - ( (This)->lpVtbl -> GetPayloadSize(This) ) - -#define IBMDStreamingAudioPacket_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IBMDStreamingAudioPacket_GetPlayTime(This,requestedTimeScale,playTime) \ - ( (This)->lpVtbl -> GetPlayTime(This,requestedTimeScale,playTime) ) - -#define IBMDStreamingAudioPacket_GetPacketIndex(This,packetIndex) \ - ( (This)->lpVtbl -> GetPacketIndex(This,packetIndex) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingAudioPacket_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ -#define __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ - -/* interface IBMDStreamingMPEG2TSPacket */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingMPEG2TSPacket; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("91810D1C-4FB3-4AAA-AE56-FA301D3DFA4C") - IBMDStreamingMPEG2TSPacket : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetPayloadSize( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingMPEG2TSPacketVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingMPEG2TSPacket * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingMPEG2TSPacket * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingMPEG2TSPacket * This); - - long ( STDMETHODCALLTYPE *GetPayloadSize )( - IBMDStreamingMPEG2TSPacket * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IBMDStreamingMPEG2TSPacket * This, - /* [out] */ void **buffer); - - END_INTERFACE - } IBMDStreamingMPEG2TSPacketVtbl; - - interface IBMDStreamingMPEG2TSPacket - { - CONST_VTBL struct IBMDStreamingMPEG2TSPacketVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingMPEG2TSPacket_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingMPEG2TSPacket_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingMPEG2TSPacket_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingMPEG2TSPacket_GetPayloadSize(This) \ - ( (This)->lpVtbl -> GetPayloadSize(This) ) - -#define IBMDStreamingMPEG2TSPacket_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingMPEG2TSPacket_INTERFACE_DEFINED__ */ - - -#ifndef __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ -#define __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ - -/* interface IBMDStreamingH264NALParser */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IBMDStreamingH264NALParser; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("5867F18C-5BFA-4CCC-B2A7-9DFD140417D2") - IBMDStreamingH264NALParser : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE IsNALSequenceParameterSet( - /* [in] */ IBMDStreamingH264NALPacket *nal) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsNALPictureParameterSet( - /* [in] */ IBMDStreamingH264NALPacket *nal) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetProfileAndLevelFromSPS( - /* [in] */ IBMDStreamingH264NALPacket *nal, - /* [out] */ unsigned int *profileIdc, - /* [out] */ unsigned int *profileCompatability, - /* [out] */ unsigned int *levelIdc) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IBMDStreamingH264NALParserVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IBMDStreamingH264NALParser * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IBMDStreamingH264NALParser * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IBMDStreamingH264NALParser * This); - - HRESULT ( STDMETHODCALLTYPE *IsNALSequenceParameterSet )( - IBMDStreamingH264NALParser * This, - /* [in] */ IBMDStreamingH264NALPacket *nal); - - HRESULT ( STDMETHODCALLTYPE *IsNALPictureParameterSet )( - IBMDStreamingH264NALParser * This, - /* [in] */ IBMDStreamingH264NALPacket *nal); - - HRESULT ( STDMETHODCALLTYPE *GetProfileAndLevelFromSPS )( - IBMDStreamingH264NALParser * This, - /* [in] */ IBMDStreamingH264NALPacket *nal, - /* [out] */ unsigned int *profileIdc, - /* [out] */ unsigned int *profileCompatability, - /* [out] */ unsigned int *levelIdc); - - END_INTERFACE - } IBMDStreamingH264NALParserVtbl; - - interface IBMDStreamingH264NALParser - { - CONST_VTBL struct IBMDStreamingH264NALParserVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IBMDStreamingH264NALParser_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IBMDStreamingH264NALParser_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IBMDStreamingH264NALParser_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IBMDStreamingH264NALParser_IsNALSequenceParameterSet(This,nal) \ - ( (This)->lpVtbl -> IsNALSequenceParameterSet(This,nal) ) - -#define IBMDStreamingH264NALParser_IsNALPictureParameterSet(This,nal) \ - ( (This)->lpVtbl -> IsNALPictureParameterSet(This,nal) ) - -#define IBMDStreamingH264NALParser_GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) \ - ( (This)->lpVtbl -> GetProfileAndLevelFromSPS(This,nal,profileIdc,profileCompatability,levelIdc) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IBMDStreamingH264NALParser_INTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_CBMDStreamingDiscovery; - -#ifdef __cplusplus - -class DECLSPEC_UUID("0CAA31F6-8A26-40B0-86A4-BF58DCCA710C") -CBMDStreamingDiscovery; -#endif - -EXTERN_C const CLSID CLSID_CBMDStreamingH264NALParser; - -#ifdef __cplusplus - -class DECLSPEC_UUID("7753EFBD-951C-407C-97A5-23C737B73B52") -CBMDStreamingH264NALParser; -#endif - -#ifndef __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ -#define __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoOutputCallback */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoOutputCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("20AA5225-1958-47CB-820B-80A8D521A6EE") - IDeckLinkVideoOutputCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( - /* [in] */ IDeckLinkVideoFrame *completedFrame, - /* [in] */ BMDOutputFrameCompletionResult result) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoOutputCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoOutputCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoOutputCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoOutputCallback * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( - IDeckLinkVideoOutputCallback * This, - /* [in] */ IDeckLinkVideoFrame *completedFrame, - /* [in] */ BMDOutputFrameCompletionResult result); - - HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( - IDeckLinkVideoOutputCallback * This); - - END_INTERFACE - } IDeckLinkVideoOutputCallbackVtbl; - - interface IDeckLinkVideoOutputCallback - { - CONST_VTBL struct IDeckLinkVideoOutputCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoOutputCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoOutputCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoOutputCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoOutputCallback_ScheduledFrameCompleted(This,completedFrame,result) \ - ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) - -#define IDeckLinkVideoOutputCallback_ScheduledPlaybackHasStopped(This) \ - ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoOutputCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_INTERFACE_DEFINED__ -#define __IDeckLinkInputCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkInputCallback */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInputCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("DD04E5EC-7415-42AB-AE4A-E80C4DFC044A") - IDeckLinkInputCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( - /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, - /* [in] */ IDeckLinkDisplayMode *newDisplayMode, - /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( - /* [in] */ IDeckLinkVideoInputFrame *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInputCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInputCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInputCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInputCallback * This); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( - IDeckLinkInputCallback * This, - /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, - /* [in] */ IDeckLinkDisplayMode *newDisplayMode, - /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( - IDeckLinkInputCallback * This, - /* [in] */ IDeckLinkVideoInputFrame *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket *audioPacket); - - END_INTERFACE - } IDeckLinkInputCallbackVtbl; - - interface IDeckLinkInputCallback - { - CONST_VTBL struct IDeckLinkInputCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInputCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInputCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInputCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInputCallback_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ - ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) - -#define IDeckLinkInputCallback_VideoInputFrameArrived(This,videoFrame,audioPacket) \ - ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInputCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ -#define __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ - -/* interface IDeckLinkMemoryAllocator */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkMemoryAllocator; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("B36EB6E7-9D29-4AA8-92EF-843B87A289E8") - IDeckLinkMemoryAllocator : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE AllocateBuffer( - /* [in] */ unsigned int bufferSize, - /* [out] */ void **allocatedBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( - /* [in] */ void *buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkMemoryAllocatorVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkMemoryAllocator * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkMemoryAllocator * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkMemoryAllocator * This); - - HRESULT ( STDMETHODCALLTYPE *AllocateBuffer )( - IDeckLinkMemoryAllocator * This, - /* [in] */ unsigned int bufferSize, - /* [out] */ void **allocatedBuffer); - - HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( - IDeckLinkMemoryAllocator * This, - /* [in] */ void *buffer); - - HRESULT ( STDMETHODCALLTYPE *Commit )( - IDeckLinkMemoryAllocator * This); - - HRESULT ( STDMETHODCALLTYPE *Decommit )( - IDeckLinkMemoryAllocator * This); - - END_INTERFACE - } IDeckLinkMemoryAllocatorVtbl; - - interface IDeckLinkMemoryAllocator - { - CONST_VTBL struct IDeckLinkMemoryAllocatorVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkMemoryAllocator_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkMemoryAllocator_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkMemoryAllocator_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkMemoryAllocator_AllocateBuffer(This,bufferSize,allocatedBuffer) \ - ( (This)->lpVtbl -> AllocateBuffer(This,bufferSize,allocatedBuffer) ) - -#define IDeckLinkMemoryAllocator_ReleaseBuffer(This,buffer) \ - ( (This)->lpVtbl -> ReleaseBuffer(This,buffer) ) - -#define IDeckLinkMemoryAllocator_Commit(This) \ - ( (This)->lpVtbl -> Commit(This) ) - -#define IDeckLinkMemoryAllocator_Decommit(This) \ - ( (This)->lpVtbl -> Decommit(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkMemoryAllocator_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ -#define __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkAudioOutputCallback */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkAudioOutputCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("403C681B-7F46-4A12-B993-2BB127084EE6") - IDeckLinkAudioOutputCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE RenderAudioSamples( - /* [in] */ BOOL preroll) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkAudioOutputCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAudioOutputCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAudioOutputCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAudioOutputCallback * This); - - HRESULT ( STDMETHODCALLTYPE *RenderAudioSamples )( - IDeckLinkAudioOutputCallback * This, - /* [in] */ BOOL preroll); - - END_INTERFACE - } IDeckLinkAudioOutputCallbackVtbl; - - interface IDeckLinkAudioOutputCallback - { - CONST_VTBL struct IDeckLinkAudioOutputCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkAudioOutputCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkAudioOutputCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkAudioOutputCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkAudioOutputCallback_RenderAudioSamples(This,preroll) \ - ( (This)->lpVtbl -> RenderAudioSamples(This,preroll) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkAudioOutputCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkIterator_INTERFACE_DEFINED__ -#define __IDeckLinkIterator_INTERFACE_DEFINED__ - -/* interface IDeckLinkIterator */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkIterator; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("50FB36CD-3063-4B73-BDBB-958087F2D8BA") - IDeckLinkIterator : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Next( - /* [out] */ IDeckLink **deckLinkInstance) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkIteratorVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkIterator * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkIterator * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkIterator * This); - - HRESULT ( STDMETHODCALLTYPE *Next )( - IDeckLinkIterator * This, - /* [out] */ IDeckLink **deckLinkInstance); - - END_INTERFACE - } IDeckLinkIteratorVtbl; - - interface IDeckLinkIterator - { - CONST_VTBL struct IDeckLinkIteratorVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkIterator_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkIterator_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkIterator_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkIterator_Next(This,deckLinkInstance) \ - ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkIterator_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkAPIInformation_INTERFACE_DEFINED__ -#define __IDeckLinkAPIInformation_INTERFACE_DEFINED__ - -/* interface IDeckLinkAPIInformation */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkAPIInformation; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("7BEA3C68-730D-4322-AF34-8A7152B532A4") - IDeckLinkAPIInformation : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetFlag( - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInt( - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ BSTR *value) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkAPIInformationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAPIInformation * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAPIInformation * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAPIInformation * This); - - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IDeckLinkAPIInformation * This, - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ BOOL *value); - - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IDeckLinkAPIInformation * This, - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ LONGLONG *value); - - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IDeckLinkAPIInformation * This, - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ double *value); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkAPIInformation * This, - /* [in] */ BMDDeckLinkAPIInformationID cfgID, - /* [out] */ BSTR *value); - - END_INTERFACE - } IDeckLinkAPIInformationVtbl; - - interface IDeckLinkAPIInformation - { - CONST_VTBL struct IDeckLinkAPIInformationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkAPIInformation_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkAPIInformation_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkAPIInformation_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkAPIInformation_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) - -#define IDeckLinkAPIInformation_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) - -#define IDeckLinkAPIInformation_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) - -#define IDeckLinkAPIInformation_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkAPIInformation_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_INTERFACE_DEFINED__ -#define __IDeckLinkOutput_INTERFACE_DEFINED__ - -/* interface IDeckLinkOutput */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkOutput; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564") - IDeckLinkOutput : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoOutputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDVideoOutputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( - /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - /* [in] */ int width, - /* [in] */ int height, - /* [in] */ int rowBytes, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( - /* [in] */ BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame, - /* [in] */ BMDTimeValue displayTime, - /* [in] */ BMDTimeValue displayDuration, - /* [in] */ BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( - /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned int *bufferedFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount, - /* [in] */ BMDAudioOutputStreamType streamType) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [in] */ BMDTimeValue streamTime, - /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( - /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( - /* [in] */ BMDTimeValue playbackStartTime, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ double playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( - /* [in] */ BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - /* [in] */ BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( - /* [out] */ BOOL *active) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *streamTime, - /* [out] */ double *playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( - /* [out] */ BMDReferenceStatus *referenceStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrameCompletionReferenceTimestamp( - /* [in] */ IDeckLinkVideoFrame *theFrame, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *frameCompletionTimestamp) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkOutputVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkOutput * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkOutput * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkOutput * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkOutput * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoOutputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkOutput * This, - /* [out] */ IDeckLinkDisplayModeIterator **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( - IDeckLinkOutput * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDVideoOutputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( - IDeckLinkOutput * This); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - - HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( - IDeckLinkOutput * This, - /* [in] */ int width, - /* [in] */ int height, - /* [in] */ int rowBytes, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame **outFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( - IDeckLinkOutput * This, - /* [in] */ BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); - - HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); - - HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkVideoFrame *theFrame, - /* [in] */ BMDTimeValue displayTime, - /* [in] */ BMDTimeValue displayDuration, - /* [in] */ BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkVideoOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( - IDeckLinkOutput * This, - /* [out] */ unsigned int *bufferedFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( - IDeckLinkOutput * This, - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount, - /* [in] */ BMDAudioOutputStreamType streamType); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( - IDeckLinkOutput * This); - - HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( - IDeckLinkOutput * This, - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( - IDeckLinkOutput * This); - - HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( - IDeckLinkOutput * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( - IDeckLinkOutput * This, - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [in] */ BMDTimeValue streamTime, - /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( - IDeckLinkOutput * This, - /* [out] */ unsigned int *bufferedSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( - IDeckLinkOutput * This); - - HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkAudioOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( - IDeckLinkOutput * This, - /* [in] */ BMDTimeValue playbackStartTime, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ double playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( - IDeckLinkOutput * This, - /* [in] */ BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - /* [in] */ BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( - IDeckLinkOutput * This, - /* [out] */ BOOL *active); - - HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( - IDeckLinkOutput * This, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *streamTime, - /* [out] */ double *playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( - IDeckLinkOutput * This, - /* [out] */ BMDReferenceStatus *referenceStatus); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkOutput * This, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame); - - HRESULT ( STDMETHODCALLTYPE *GetFrameCompletionReferenceTimestamp )( - IDeckLinkOutput * This, - /* [in] */ IDeckLinkVideoFrame *theFrame, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *frameCompletionTimestamp); - - END_INTERFACE - } IDeckLinkOutputVtbl; - - interface IDeckLinkOutput - { - CONST_VTBL struct IDeckLinkOutputVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkOutput_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkOutput_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkOutput_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkOutput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) - -#define IDeckLinkOutput_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkOutput_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkOutput_EnableVideoOutput(This,displayMode,flags) \ - ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) - -#define IDeckLinkOutput_DisableVideoOutput(This) \ - ( (This)->lpVtbl -> DisableVideoOutput(This) ) - -#define IDeckLinkOutput_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ - ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) - -#define IDeckLinkOutput_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ - ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) - -#define IDeckLinkOutput_CreateAncillaryData(This,pixelFormat,outBuffer) \ - ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) - -#define IDeckLinkOutput_DisplayVideoFrameSync(This,theFrame) \ - ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) - -#define IDeckLinkOutput_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ - ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) - -#define IDeckLinkOutput_SetScheduledFrameCompletionCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) - -#define IDeckLinkOutput_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ - ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) - -#define IDeckLinkOutput_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ - ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) - -#define IDeckLinkOutput_DisableAudioOutput(This) \ - ( (This)->lpVtbl -> DisableAudioOutput(This) ) - -#define IDeckLinkOutput_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ - ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) - -#define IDeckLinkOutput_BeginAudioPreroll(This) \ - ( (This)->lpVtbl -> BeginAudioPreroll(This) ) - -#define IDeckLinkOutput_EndAudioPreroll(This) \ - ( (This)->lpVtbl -> EndAudioPreroll(This) ) - -#define IDeckLinkOutput_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ - ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) - -#define IDeckLinkOutput_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ - ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) - -#define IDeckLinkOutput_FlushBufferedAudioSamples(This) \ - ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) - -#define IDeckLinkOutput_SetAudioCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) - -#define IDeckLinkOutput_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ - ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) - -#define IDeckLinkOutput_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ - ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) - -#define IDeckLinkOutput_IsScheduledPlaybackRunning(This,active) \ - ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) - -#define IDeckLinkOutput_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ - ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) - -#define IDeckLinkOutput_GetReferenceStatus(This,referenceStatus) \ - ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) - -#define IDeckLinkOutput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) - -#define IDeckLinkOutput_GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) \ - ( (This)->lpVtbl -> GetFrameCompletionReferenceTimestamp(This,theFrame,desiredTimeScale,frameCompletionTimestamp) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkOutput_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInput_INTERFACE_DEFINED__ -#define __IDeckLinkInput_INTERFACE_DEFINED__ - -/* interface IDeckLinkInput */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInput; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("AF22762B-DFAC-4846-AA79-FA8883560995") - IDeckLinkInput : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned int *availableFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoInputFrameMemoryAllocator( - /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned int *availableSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkInputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInputVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInput * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInput * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkInput * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkInput * This, - /* [out] */ IDeckLinkDisplayModeIterator **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkInput * This, - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( - IDeckLinkInput * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( - IDeckLinkInput * This, - /* [out] */ unsigned int *availableFrameCount); - - HRESULT ( STDMETHODCALLTYPE *SetVideoInputFrameMemoryAllocator )( - IDeckLinkInput * This, - /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( - IDeckLinkInput * This, - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( - IDeckLinkInput * This, - /* [out] */ unsigned int *availableSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *StartStreams )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *StopStreams )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *PauseStreams )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *FlushStreams )( - IDeckLinkInput * This); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkInput * This, - /* [in] */ IDeckLinkInputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkInput * This, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame); - - END_INTERFACE - } IDeckLinkInputVtbl; - - interface IDeckLinkInput - { - CONST_VTBL struct IDeckLinkInputVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInput_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInput_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInput_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInput_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) - -#define IDeckLinkInput_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkInput_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkInput_EnableVideoInput(This,displayMode,pixelFormat,flags) \ - ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) - -#define IDeckLinkInput_DisableVideoInput(This) \ - ( (This)->lpVtbl -> DisableVideoInput(This) ) - -#define IDeckLinkInput_GetAvailableVideoFrameCount(This,availableFrameCount) \ - ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) - -#define IDeckLinkInput_SetVideoInputFrameMemoryAllocator(This,theAllocator) \ - ( (This)->lpVtbl -> SetVideoInputFrameMemoryAllocator(This,theAllocator) ) - -#define IDeckLinkInput_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ - ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) - -#define IDeckLinkInput_DisableAudioInput(This) \ - ( (This)->lpVtbl -> DisableAudioInput(This) ) - -#define IDeckLinkInput_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ - ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) - -#define IDeckLinkInput_StartStreams(This) \ - ( (This)->lpVtbl -> StartStreams(This) ) - -#define IDeckLinkInput_StopStreams(This) \ - ( (This)->lpVtbl -> StopStreams(This) ) - -#define IDeckLinkInput_PauseStreams(This) \ - ( (This)->lpVtbl -> PauseStreams(This) ) - -#define IDeckLinkInput_FlushStreams(This) \ - ( (This)->lpVtbl -> FlushStreams(This) ) - -#define IDeckLinkInput_SetCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetCallback(This,theCallback) ) - -#define IDeckLinkInput_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInput_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrame_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoFrame */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoFrame; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3F716FE0-F023-4111-BE5D-EF4414C05B17") - IDeckLinkVideoFrame : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; - - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; - - virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; - - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; - - virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecode( - /* [in] */ BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode **timecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoFrameVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoFrame * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoFrame * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoFrame * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoFrame * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoFrame * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoFrame * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoFrame * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkVideoFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkVideoFrame * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - END_INTERFACE - } IDeckLinkVideoFrameVtbl; - - interface IDeckLinkVideoFrame - { - CONST_VTBL struct IDeckLinkVideoFrameVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoFrame_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoFrame_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoFrame_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoFrame_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoFrame_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoFrame_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkVideoFrame_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkVideoFrame_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoFrame_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ -#define __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ - -/* interface IDeckLinkMutableVideoFrame */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkMutableVideoFrame; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("69E2639F-40DA-4E19-B6F2-20ACE815C390") - IDeckLinkMutableVideoFrame : public IDeckLinkVideoFrame - { - public: - virtual HRESULT STDMETHODCALLTYPE SetFlags( - /* [in] */ BMDFrameFlags newFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTimecode( - /* [in] */ BMDTimecodeFormat format, - /* [in] */ IDeckLinkTimecode *timecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( - /* [in] */ BMDTimecodeFormat format, - /* [in] */ unsigned char hours, - /* [in] */ unsigned char minutes, - /* [in] */ unsigned char seconds, - /* [in] */ unsigned char frames, - /* [in] */ BMDTimecodeFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( - /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTimecodeUserBits( - /* [in] */ BMDTimecodeFormat format, - /* [in] */ BMDTimecodeUserBits userBits) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkMutableVideoFrameVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkMutableVideoFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkMutableVideoFrame * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkMutableVideoFrame * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkMutableVideoFrame * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkMutableVideoFrame * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkMutableVideoFrame * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkMutableVideoFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkMutableVideoFrame * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkMutableVideoFrame * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - HRESULT ( STDMETHODCALLTYPE *SetFlags )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ BMDFrameFlags newFlags); - - HRESULT ( STDMETHODCALLTYPE *SetTimecode )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [in] */ IDeckLinkTimecode *timecode); - - HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [in] */ unsigned char hours, - /* [in] */ unsigned char minutes, - /* [in] */ unsigned char seconds, - /* [in] */ unsigned char frames, - /* [in] */ BMDTimecodeFlags flags); - - HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ IDeckLinkVideoFrameAncillary *ancillary); - - HRESULT ( STDMETHODCALLTYPE *SetTimecodeUserBits )( - IDeckLinkMutableVideoFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [in] */ BMDTimecodeUserBits userBits); - - END_INTERFACE - } IDeckLinkMutableVideoFrameVtbl; - - interface IDeckLinkMutableVideoFrame - { - CONST_VTBL struct IDeckLinkMutableVideoFrameVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkMutableVideoFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkMutableVideoFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkMutableVideoFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkMutableVideoFrame_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkMutableVideoFrame_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkMutableVideoFrame_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkMutableVideoFrame_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkMutableVideoFrame_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkMutableVideoFrame_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkMutableVideoFrame_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkMutableVideoFrame_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - - -#define IDeckLinkMutableVideoFrame_SetFlags(This,newFlags) \ - ( (This)->lpVtbl -> SetFlags(This,newFlags) ) - -#define IDeckLinkMutableVideoFrame_SetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) - -#define IDeckLinkMutableVideoFrame_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \ - ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) - -#define IDeckLinkMutableVideoFrame_SetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) - -#define IDeckLinkMutableVideoFrame_SetTimecodeUserBits(This,format,userBits) \ - ( (This)->lpVtbl -> SetTimecodeUserBits(This,format,userBits) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkMutableVideoFrame_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoFrame3DExtensions */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoFrame3DExtensions; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7") - IDeckLinkVideoFrame3DExtensions : public IUnknown - { - public: - virtual BMDVideo3DPackingFormat STDMETHODCALLTYPE Get3DPackingFormat( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrameForRightEye( - /* [out] */ IDeckLinkVideoFrame **rightEyeFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoFrame3DExtensionsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoFrame3DExtensions * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoFrame3DExtensions * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoFrame3DExtensions * This); - - BMDVideo3DPackingFormat ( STDMETHODCALLTYPE *Get3DPackingFormat )( - IDeckLinkVideoFrame3DExtensions * This); - - HRESULT ( STDMETHODCALLTYPE *GetFrameForRightEye )( - IDeckLinkVideoFrame3DExtensions * This, - /* [out] */ IDeckLinkVideoFrame **rightEyeFrame); - - END_INTERFACE - } IDeckLinkVideoFrame3DExtensionsVtbl; - - interface IDeckLinkVideoFrame3DExtensions - { - CONST_VTBL struct IDeckLinkVideoFrame3DExtensionsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoFrame3DExtensions_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoFrame3DExtensions_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoFrame3DExtensions_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoFrame3DExtensions_Get3DPackingFormat(This) \ - ( (This)->lpVtbl -> Get3DPackingFormat(This) ) - -#define IDeckLinkVideoFrame3DExtensions_GetFrameForRightEye(This,rightEyeFrame) \ - ( (This)->lpVtbl -> GetFrameForRightEye(This,rightEyeFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoFrame3DExtensions_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ -#define __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoInputFrame */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoInputFrame; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("05CFE374-537C-4094-9A57-680525118F44") - IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame - { - public: - virtual HRESULT STDMETHODCALLTYPE GetStreamTime( - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration, - /* [in] */ BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( - /* [in] */ BMDTimeScale timeScale, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoInputFrameVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoInputFrame * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoInputFrame * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoInputFrame * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoInputFrame * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoInputFrame * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoInputFrame * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoInputFrame * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoInputFrame * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoInputFrame * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkVideoInputFrame * This, - /* [in] */ BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkVideoInputFrame * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( - IDeckLinkVideoInputFrame * This, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration, - /* [in] */ BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( - IDeckLinkVideoInputFrame * This, - /* [in] */ BMDTimeScale timeScale, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration); - - END_INTERFACE - } IDeckLinkVideoInputFrameVtbl; - - interface IDeckLinkVideoInputFrame - { - CONST_VTBL struct IDeckLinkVideoInputFrameVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoInputFrame_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoInputFrame_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoInputFrame_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoInputFrame_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoInputFrame_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoInputFrame_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoInputFrame_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoInputFrame_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoInputFrame_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkVideoInputFrame_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkVideoInputFrame_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - - -#define IDeckLinkVideoInputFrame_GetStreamTime(This,frameTime,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) - -#define IDeckLinkVideoInputFrame_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ - ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoInputFrame_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoFrameAncillary */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoFrameAncillary; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("732E723C-D1A4-4E29-9E8E-4A88797A0004") - IDeckLinkVideoFrameAncillary : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetBufferForVerticalBlankingLine( - /* [in] */ unsigned int lineNumber, - /* [out] */ void **buffer) = 0; - - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; - - virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoFrameAncillaryVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoFrameAncillary * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoFrameAncillary * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoFrameAncillary * This); - - HRESULT ( STDMETHODCALLTYPE *GetBufferForVerticalBlankingLine )( - IDeckLinkVideoFrameAncillary * This, - /* [in] */ unsigned int lineNumber, - /* [out] */ void **buffer); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoFrameAncillary * This); - - BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( - IDeckLinkVideoFrameAncillary * This); - - END_INTERFACE - } IDeckLinkVideoFrameAncillaryVtbl; - - interface IDeckLinkVideoFrameAncillary - { - CONST_VTBL struct IDeckLinkVideoFrameAncillaryVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoFrameAncillary_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoFrameAncillary_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoFrameAncillary_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoFrameAncillary_GetBufferForVerticalBlankingLine(This,lineNumber,buffer) \ - ( (This)->lpVtbl -> GetBufferForVerticalBlankingLine(This,lineNumber,buffer) ) - -#define IDeckLinkVideoFrameAncillary_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoFrameAncillary_GetDisplayMode(This) \ - ( (This)->lpVtbl -> GetDisplayMode(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoFrameAncillary_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ -#define __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ - -/* interface IDeckLinkAudioInputPacket */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkAudioInputPacket; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E43D5870-2894-11DE-8C30-0800200C9A66") - IDeckLinkAudioInputPacket : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetSampleFrameCount( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPacketTime( - /* [out] */ BMDTimeValue *packetTime, - /* [in] */ BMDTimeScale timeScale) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkAudioInputPacketVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAudioInputPacket * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAudioInputPacket * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAudioInputPacket * This); - - long ( STDMETHODCALLTYPE *GetSampleFrameCount )( - IDeckLinkAudioInputPacket * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkAudioInputPacket * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetPacketTime )( - IDeckLinkAudioInputPacket * This, - /* [out] */ BMDTimeValue *packetTime, - /* [in] */ BMDTimeScale timeScale); - - END_INTERFACE - } IDeckLinkAudioInputPacketVtbl; - - interface IDeckLinkAudioInputPacket - { - CONST_VTBL struct IDeckLinkAudioInputPacketVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkAudioInputPacket_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkAudioInputPacket_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkAudioInputPacket_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkAudioInputPacket_GetSampleFrameCount(This) \ - ( (This)->lpVtbl -> GetSampleFrameCount(This) ) - -#define IDeckLinkAudioInputPacket_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkAudioInputPacket_GetPacketTime(This,packetTime,timeScale) \ - ( (This)->lpVtbl -> GetPacketTime(This,packetTime,timeScale) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkAudioInputPacket_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ -#define __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkScreenPreviewCallback */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438") - IDeckLinkScreenPreviewCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DrawFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkScreenPreviewCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkScreenPreviewCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkScreenPreviewCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkScreenPreviewCallback * This); - - HRESULT ( STDMETHODCALLTYPE *DrawFrame )( - IDeckLinkScreenPreviewCallback * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); - - END_INTERFACE - } IDeckLinkScreenPreviewCallbackVtbl; - - interface IDeckLinkScreenPreviewCallback - { - CONST_VTBL struct IDeckLinkScreenPreviewCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkScreenPreviewCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkScreenPreviewCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkScreenPreviewCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkScreenPreviewCallback_DrawFrame(This,theFrame) \ - ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkScreenPreviewCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ -#define __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ - -/* interface IDeckLinkGLScreenPreviewHelper */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("504E2209-CAC7-4C1A-9FB4-C5BB6274D22F") - IDeckLinkGLScreenPreviewHelper : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( - /* [in] */ BMD3DPreviewFormat previewFormat) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkGLScreenPreviewHelperVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkGLScreenPreviewHelper * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkGLScreenPreviewHelper * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkGLScreenPreviewHelper * This); - - HRESULT ( STDMETHODCALLTYPE *InitializeGL )( - IDeckLinkGLScreenPreviewHelper * This); - - HRESULT ( STDMETHODCALLTYPE *PaintGL )( - IDeckLinkGLScreenPreviewHelper * This); - - HRESULT ( STDMETHODCALLTYPE *SetFrame )( - IDeckLinkGLScreenPreviewHelper * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); - - HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( - IDeckLinkGLScreenPreviewHelper * This, - /* [in] */ BMD3DPreviewFormat previewFormat); - - END_INTERFACE - } IDeckLinkGLScreenPreviewHelperVtbl; - - interface IDeckLinkGLScreenPreviewHelper - { - CONST_VTBL struct IDeckLinkGLScreenPreviewHelperVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkGLScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkGLScreenPreviewHelper_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkGLScreenPreviewHelper_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkGLScreenPreviewHelper_InitializeGL(This) \ - ( (This)->lpVtbl -> InitializeGL(This) ) - -#define IDeckLinkGLScreenPreviewHelper_PaintGL(This) \ - ( (This)->lpVtbl -> PaintGL(This) ) - -#define IDeckLinkGLScreenPreviewHelper_SetFrame(This,theFrame) \ - ( (This)->lpVtbl -> SetFrame(This,theFrame) ) - -#define IDeckLinkGLScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ - ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkGLScreenPreviewHelper_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ -#define __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ - -/* interface IDeckLinkDX9ScreenPreviewHelper */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDX9ScreenPreviewHelper; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2094B522-D1A1-40C0-9AC7-1C012218EF02") - IDeckLinkDX9ScreenPreviewHelper : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Initialize( - /* [in] */ void *device) = 0; - - virtual HRESULT STDMETHODCALLTYPE Render( - /* [in] */ RECT *rc) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE Set3DPreviewFormat( - /* [in] */ BMD3DPreviewFormat previewFormat) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDX9ScreenPreviewHelperVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDX9ScreenPreviewHelper * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDX9ScreenPreviewHelper * This); - - HRESULT ( STDMETHODCALLTYPE *Initialize )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ void *device); - - HRESULT ( STDMETHODCALLTYPE *Render )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ RECT *rc); - - HRESULT ( STDMETHODCALLTYPE *SetFrame )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); - - HRESULT ( STDMETHODCALLTYPE *Set3DPreviewFormat )( - IDeckLinkDX9ScreenPreviewHelper * This, - /* [in] */ BMD3DPreviewFormat previewFormat); - - END_INTERFACE - } IDeckLinkDX9ScreenPreviewHelperVtbl; - - interface IDeckLinkDX9ScreenPreviewHelper - { - CONST_VTBL struct IDeckLinkDX9ScreenPreviewHelperVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDX9ScreenPreviewHelper_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDX9ScreenPreviewHelper_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDX9ScreenPreviewHelper_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDX9ScreenPreviewHelper_Initialize(This,device) \ - ( (This)->lpVtbl -> Initialize(This,device) ) - -#define IDeckLinkDX9ScreenPreviewHelper_Render(This,rc) \ - ( (This)->lpVtbl -> Render(This,rc) ) - -#define IDeckLinkDX9ScreenPreviewHelper_SetFrame(This,theFrame) \ - ( (This)->lpVtbl -> SetFrame(This,theFrame) ) - -#define IDeckLinkDX9ScreenPreviewHelper_Set3DPreviewFormat(This,previewFormat) \ - ( (This)->lpVtbl -> Set3DPreviewFormat(This,previewFormat) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDX9ScreenPreviewHelper_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ -#define __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkNotificationCallback */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkNotificationCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("b002a1ec-070d-4288-8289-bd5d36e5ff0d") - IDeckLinkNotificationCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Notify( - /* [in] */ BMDNotifications topic, - /* [in] */ ULONGLONG param1, - /* [in] */ ULONGLONG param2) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkNotificationCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkNotificationCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkNotificationCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkNotificationCallback * This); - - HRESULT ( STDMETHODCALLTYPE *Notify )( - IDeckLinkNotificationCallback * This, - /* [in] */ BMDNotifications topic, - /* [in] */ ULONGLONG param1, - /* [in] */ ULONGLONG param2); - - END_INTERFACE - } IDeckLinkNotificationCallbackVtbl; - - interface IDeckLinkNotificationCallback - { - CONST_VTBL struct IDeckLinkNotificationCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkNotificationCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkNotificationCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkNotificationCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkNotificationCallback_Notify(This,topic,param1,param2) \ - ( (This)->lpVtbl -> Notify(This,topic,param1,param2) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkNotificationCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkNotification_INTERFACE_DEFINED__ -#define __IDeckLinkNotification_INTERFACE_DEFINED__ - -/* interface IDeckLinkNotification */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkNotification; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("0a1fb207-e215-441b-9b19-6fa1575946c5") - IDeckLinkNotification : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Subscribe( - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE Unsubscribe( - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkNotificationVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkNotification * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkNotification * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkNotification * This); - - HRESULT ( STDMETHODCALLTYPE *Subscribe )( - IDeckLinkNotification * This, - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *Unsubscribe )( - IDeckLinkNotification * This, - /* [in] */ BMDNotifications topic, - /* [in] */ IDeckLinkNotificationCallback *theCallback); - - END_INTERFACE - } IDeckLinkNotificationVtbl; - - interface IDeckLinkNotification - { - CONST_VTBL struct IDeckLinkNotificationVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkNotification_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkNotification_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkNotification_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkNotification_Subscribe(This,topic,theCallback) \ - ( (This)->lpVtbl -> Subscribe(This,topic,theCallback) ) - -#define IDeckLinkNotification_Unsubscribe(This,topic,theCallback) \ - ( (This)->lpVtbl -> Unsubscribe(This,topic,theCallback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkNotification_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkAttributes_INTERFACE_DEFINED__ -#define __IDeckLinkAttributes_INTERFACE_DEFINED__ - -/* interface IDeckLinkAttributes */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkAttributes; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("ABC11843-D966-44CB-96E2-A1CB5D3135C4") - IDeckLinkAttributes : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetFlag( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInt( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BSTR *value) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkAttributesVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAttributes * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAttributes * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAttributes * This); - - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BOOL *value); - - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ LONGLONG *value); - - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ double *value); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkAttributes * This, - /* [in] */ BMDDeckLinkAttributeID cfgID, - /* [out] */ BSTR *value); - - END_INTERFACE - } IDeckLinkAttributesVtbl; - - interface IDeckLinkAttributes - { - CONST_VTBL struct IDeckLinkAttributesVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkAttributes_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkAttributes_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkAttributes_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkAttributes_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) - -#define IDeckLinkAttributes_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) - -#define IDeckLinkAttributes_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) - -#define IDeckLinkAttributes_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkAttributes_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkKeyer_INTERFACE_DEFINED__ -#define __IDeckLinkKeyer_INTERFACE_DEFINED__ - -/* interface IDeckLinkKeyer */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkKeyer; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3") - IDeckLinkKeyer : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Enable( - /* [in] */ BOOL isExternal) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetLevel( - /* [in] */ unsigned char level) = 0; - - virtual HRESULT STDMETHODCALLTYPE RampUp( - /* [in] */ unsigned int numberOfFrames) = 0; - - virtual HRESULT STDMETHODCALLTYPE RampDown( - /* [in] */ unsigned int numberOfFrames) = 0; - - virtual HRESULT STDMETHODCALLTYPE Disable( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkKeyerVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkKeyer * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkKeyer * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkKeyer * This); - - HRESULT ( STDMETHODCALLTYPE *Enable )( - IDeckLinkKeyer * This, - /* [in] */ BOOL isExternal); - - HRESULT ( STDMETHODCALLTYPE *SetLevel )( - IDeckLinkKeyer * This, - /* [in] */ unsigned char level); - - HRESULT ( STDMETHODCALLTYPE *RampUp )( - IDeckLinkKeyer * This, - /* [in] */ unsigned int numberOfFrames); - - HRESULT ( STDMETHODCALLTYPE *RampDown )( - IDeckLinkKeyer * This, - /* [in] */ unsigned int numberOfFrames); - - HRESULT ( STDMETHODCALLTYPE *Disable )( - IDeckLinkKeyer * This); - - END_INTERFACE - } IDeckLinkKeyerVtbl; - - interface IDeckLinkKeyer - { - CONST_VTBL struct IDeckLinkKeyerVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkKeyer_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkKeyer_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkKeyer_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkKeyer_Enable(This,isExternal) \ - ( (This)->lpVtbl -> Enable(This,isExternal) ) - -#define IDeckLinkKeyer_SetLevel(This,level) \ - ( (This)->lpVtbl -> SetLevel(This,level) ) - -#define IDeckLinkKeyer_RampUp(This,numberOfFrames) \ - ( (This)->lpVtbl -> RampUp(This,numberOfFrames) ) - -#define IDeckLinkKeyer_RampDown(This,numberOfFrames) \ - ( (This)->lpVtbl -> RampDown(This,numberOfFrames) ) - -#define IDeckLinkKeyer_Disable(This) \ - ( (This)->lpVtbl -> Disable(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkKeyer_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoConversion_INTERFACE_DEFINED__ -#define __IDeckLinkVideoConversion_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoConversion */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoConversion; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3BBCB8A2-DA2C-42D9-B5D8-88083644E99A") - IDeckLinkVideoConversion : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE ConvertFrame( - /* [in] */ IDeckLinkVideoFrame *srcFrame, - /* [in] */ IDeckLinkVideoFrame *dstFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoConversionVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoConversion * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoConversion * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoConversion * This); - - HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( - IDeckLinkVideoConversion * This, - /* [in] */ IDeckLinkVideoFrame *srcFrame, - /* [in] */ IDeckLinkVideoFrame *dstFrame); - - END_INTERFACE - } IDeckLinkVideoConversionVtbl; - - interface IDeckLinkVideoConversion - { - CONST_VTBL struct IDeckLinkVideoConversionVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoConversion_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoConversion_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoConversion_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoConversion_ConvertFrame(This,srcFrame,dstFrame) \ - ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoConversion_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ -#define __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ - -/* interface IDeckLinkDeviceNotificationCallback */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDeviceNotificationCallback; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("4997053B-0ADF-4CC8-AC70-7A50C4BE728F") - IDeckLinkDeviceNotificationCallback : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceArrived( - /* [in] */ IDeckLink *deckLinkDevice) = 0; - - virtual HRESULT STDMETHODCALLTYPE DeckLinkDeviceRemoved( - /* [in] */ IDeckLink *deckLinkDevice) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDeviceNotificationCallbackVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeviceNotificationCallback * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeviceNotificationCallback * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeviceNotificationCallback * This); - - HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceArrived )( - IDeckLinkDeviceNotificationCallback * This, - /* [in] */ IDeckLink *deckLinkDevice); - - HRESULT ( STDMETHODCALLTYPE *DeckLinkDeviceRemoved )( - IDeckLinkDeviceNotificationCallback * This, - /* [in] */ IDeckLink *deckLinkDevice); - - END_INTERFACE - } IDeckLinkDeviceNotificationCallbackVtbl; - - interface IDeckLinkDeviceNotificationCallback - { - CONST_VTBL struct IDeckLinkDeviceNotificationCallbackVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDeviceNotificationCallback_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDeviceNotificationCallback_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDeviceNotificationCallback_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceArrived(This,deckLinkDevice) \ - ( (This)->lpVtbl -> DeckLinkDeviceArrived(This,deckLinkDevice) ) - -#define IDeckLinkDeviceNotificationCallback_DeckLinkDeviceRemoved(This,deckLinkDevice) \ - ( (This)->lpVtbl -> DeckLinkDeviceRemoved(This,deckLinkDevice) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDeviceNotificationCallback_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDiscovery_INTERFACE_DEFINED__ -#define __IDeckLinkDiscovery_INTERFACE_DEFINED__ - -/* interface IDeckLinkDiscovery */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDiscovery; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("CDBF631C-BC76-45FA-B44D-C55059BC6101") - IDeckLinkDiscovery : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE InstallDeviceNotifications( - /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE UninstallDeviceNotifications( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDiscoveryVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDiscovery * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDiscovery * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDiscovery * This); - - HRESULT ( STDMETHODCALLTYPE *InstallDeviceNotifications )( - IDeckLinkDiscovery * This, - /* [in] */ IDeckLinkDeviceNotificationCallback *deviceNotificationCallback); - - HRESULT ( STDMETHODCALLTYPE *UninstallDeviceNotifications )( - IDeckLinkDiscovery * This); - - END_INTERFACE - } IDeckLinkDiscoveryVtbl; - - interface IDeckLinkDiscovery - { - CONST_VTBL struct IDeckLinkDiscoveryVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDiscovery_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDiscovery_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDiscovery_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDiscovery_InstallDeviceNotifications(This,deviceNotificationCallback) \ - ( (This)->lpVtbl -> InstallDeviceNotifications(This,deviceNotificationCallback) ) - -#define IDeckLinkDiscovery_UninstallDeviceNotifications(This) \ - ( (This)->lpVtbl -> UninstallDeviceNotifications(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDiscovery_INTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_CDeckLinkIterator; - -#ifdef __cplusplus - -class DECLSPEC_UUID("1F2E109A-8F4F-49E4-9203-135595CB6FA5") -CDeckLinkIterator; -#endif - -EXTERN_C const CLSID CLSID_CDeckLinkAPIInformation; - -#ifdef __cplusplus - -class DECLSPEC_UUID("263CA19F-ED09-482E-9F9D-84005783A237") -CDeckLinkAPIInformation; -#endif - -EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper; - -#ifdef __cplusplus - -class DECLSPEC_UUID("F63E77C7-B655-4A4A-9AD0-3CA85D394343") -CDeckLinkGLScreenPreviewHelper; -#endif - -EXTERN_C const CLSID CLSID_CDeckLinkDX9ScreenPreviewHelper; - -#ifdef __cplusplus - -class DECLSPEC_UUID("CC010023-E01D-4525-9D59-80C8AB3DC7A0") -CDeckLinkDX9ScreenPreviewHelper; -#endif - -EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion; - -#ifdef __cplusplus - -class DECLSPEC_UUID("7DBBBB11-5B7B-467D-AEA4-CEA468FD368C") -CDeckLinkVideoConversion; -#endif - -EXTERN_C const CLSID CLSID_CDeckLinkDiscovery; - -#ifdef __cplusplus - -class DECLSPEC_UUID("1073A05C-D885-47E9-B3C6-129B3F9F648B") -CDeckLinkDiscovery; -#endif - -#ifndef __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ - -/* interface IDeckLinkConfiguration_v10_2 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkConfiguration_v10_2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C679A35B-610C-4D09-B748-1D0478100FC0") - IDeckLinkConfiguration_v10_2 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE SetFlag( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BOOL value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFlag( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BOOL *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetInt( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ LONGLONG value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetInt( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ LONGLONG *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFloat( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ double value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFloat( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ double *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetString( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BSTR value) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BSTR *value) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkConfiguration_v10_2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkConfiguration_v10_2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkConfiguration_v10_2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetFlag )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BOOL value); - - HRESULT ( STDMETHODCALLTYPE *GetFlag )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BOOL *value); - - HRESULT ( STDMETHODCALLTYPE *SetInt )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ LONGLONG value); - - HRESULT ( STDMETHODCALLTYPE *GetInt )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ LONGLONG *value); - - HRESULT ( STDMETHODCALLTYPE *SetFloat )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ double value); - - HRESULT ( STDMETHODCALLTYPE *GetFloat )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ double *value); - - HRESULT ( STDMETHODCALLTYPE *SetString )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [in] */ BSTR value); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkConfiguration_v10_2 * This, - /* [in] */ BMDDeckLinkConfigurationID cfgID, - /* [out] */ BSTR *value); - - HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( - IDeckLinkConfiguration_v10_2 * This); - - END_INTERFACE - } IDeckLinkConfiguration_v10_2Vtbl; - - interface IDeckLinkConfiguration_v10_2 - { - CONST_VTBL struct IDeckLinkConfiguration_v10_2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkConfiguration_v10_2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkConfiguration_v10_2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkConfiguration_v10_2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkConfiguration_v10_2_SetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> SetFlag(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_GetFlag(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFlag(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_SetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> SetInt(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_GetInt(This,cfgID,value) \ - ( (This)->lpVtbl -> GetInt(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_SetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> SetFloat(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_GetFloat(This,cfgID,value) \ - ( (This)->lpVtbl -> GetFloat(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_SetString(This,cfgID,value) \ - ( (This)->lpVtbl -> SetString(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_GetString(This,cfgID,value) \ - ( (This)->lpVtbl -> GetString(This,cfgID,value) ) - -#define IDeckLinkConfiguration_v10_2_WriteConfigurationToPreferences(This) \ - ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkConfiguration_v10_2_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ -#define __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ - -/* interface IDeckLinkOutput_v9_9 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkOutput_v9_9; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("A3EF0963-0862-44ED-92A9-EE89ABF431C7") - IDeckLinkOutput_v9_9 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoOutputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDVideoOutputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( - /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - /* [in] */ int width, - /* [in] */ int height, - /* [in] */ int rowBytes, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame **outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( - /* [in] */ BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( - /* [in] */ IDeckLinkVideoFrame *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( - /* [in] */ IDeckLinkVideoFrame *theFrame, - /* [in] */ BMDTimeValue displayTime, - /* [in] */ BMDTimeValue displayDuration, - /* [in] */ BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( - /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned int *bufferedFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount, - /* [in] */ BMDAudioOutputStreamType streamType) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [in] */ BMDTimeValue streamTime, - /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( - /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( - /* [in] */ BMDTimeValue playbackStartTime, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ double playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( - /* [in] */ BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - /* [in] */ BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( - /* [out] */ BOOL *active) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *streamTime, - /* [out] */ double *playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetReferenceStatus( - /* [out] */ BMDReferenceStatus *referenceStatus) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkOutput_v9_9Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkOutput_v9_9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkOutput_v9_9 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoOutputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkOutput_v9_9 * This, - /* [out] */ IDeckLinkDisplayModeIterator **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDVideoOutputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( - IDeckLinkOutput_v9_9 * This); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - - HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ int width, - /* [in] */ int height, - /* [in] */ int rowBytes, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame **outFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); - - HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ IDeckLinkVideoFrame *theFrame); - - HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ IDeckLinkVideoFrame *theFrame, - /* [in] */ BMDTimeValue displayTime, - /* [in] */ BMDTimeValue displayDuration, - /* [in] */ BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ IDeckLinkVideoOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( - IDeckLinkOutput_v9_9 * This, - /* [out] */ unsigned int *bufferedFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount, - /* [in] */ BMDAudioOutputStreamType streamType); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( - IDeckLinkOutput_v9_9 * This); - - HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( - IDeckLinkOutput_v9_9 * This); - - HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( - IDeckLinkOutput_v9_9 * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ void *buffer, - /* [in] */ unsigned int sampleFrameCount, - /* [in] */ BMDTimeValue streamTime, - /* [in] */ BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( - IDeckLinkOutput_v9_9 * This, - /* [out] */ unsigned int *bufferedSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( - IDeckLinkOutput_v9_9 * This); - - HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ IDeckLinkAudioOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDTimeValue playbackStartTime, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ double playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - /* [in] */ BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( - IDeckLinkOutput_v9_9 * This, - /* [out] */ BOOL *active); - - HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *streamTime, - /* [out] */ double *playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *GetReferenceStatus )( - IDeckLinkOutput_v9_9 * This, - /* [out] */ BMDReferenceStatus *referenceStatus); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkOutput_v9_9 * This, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame); - - END_INTERFACE - } IDeckLinkOutput_v9_9Vtbl; - - interface IDeckLinkOutput_v9_9 - { - CONST_VTBL struct IDeckLinkOutput_v9_9Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkOutput_v9_9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkOutput_v9_9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkOutput_v9_9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkOutput_v9_9_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) - -#define IDeckLinkOutput_v9_9_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkOutput_v9_9_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkOutput_v9_9_EnableVideoOutput(This,displayMode,flags) \ - ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) - -#define IDeckLinkOutput_v9_9_DisableVideoOutput(This) \ - ( (This)->lpVtbl -> DisableVideoOutput(This) ) - -#define IDeckLinkOutput_v9_9_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ - ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) - -#define IDeckLinkOutput_v9_9_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ - ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) - -#define IDeckLinkOutput_v9_9_CreateAncillaryData(This,pixelFormat,outBuffer) \ - ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) - -#define IDeckLinkOutput_v9_9_DisplayVideoFrameSync(This,theFrame) \ - ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) - -#define IDeckLinkOutput_v9_9_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ - ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) - -#define IDeckLinkOutput_v9_9_SetScheduledFrameCompletionCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) - -#define IDeckLinkOutput_v9_9_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ - ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) - -#define IDeckLinkOutput_v9_9_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ - ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) - -#define IDeckLinkOutput_v9_9_DisableAudioOutput(This) \ - ( (This)->lpVtbl -> DisableAudioOutput(This) ) - -#define IDeckLinkOutput_v9_9_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ - ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) - -#define IDeckLinkOutput_v9_9_BeginAudioPreroll(This) \ - ( (This)->lpVtbl -> BeginAudioPreroll(This) ) - -#define IDeckLinkOutput_v9_9_EndAudioPreroll(This) \ - ( (This)->lpVtbl -> EndAudioPreroll(This) ) - -#define IDeckLinkOutput_v9_9_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ - ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) - -#define IDeckLinkOutput_v9_9_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ - ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) - -#define IDeckLinkOutput_v9_9_FlushBufferedAudioSamples(This) \ - ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) - -#define IDeckLinkOutput_v9_9_SetAudioCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) - -#define IDeckLinkOutput_v9_9_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ - ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) - -#define IDeckLinkOutput_v9_9_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ - ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) - -#define IDeckLinkOutput_v9_9_IsScheduledPlaybackRunning(This,active) \ - ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) - -#define IDeckLinkOutput_v9_9_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ - ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) - -#define IDeckLinkOutput_v9_9_GetReferenceStatus(This,referenceStatus) \ - ( (This)->lpVtbl -> GetReferenceStatus(This,referenceStatus) ) - -#define IDeckLinkOutput_v9_9_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkOutput_v9_9_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ -#define __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ - -/* interface IDeckLinkInput_v9_2 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInput_v9_2; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("6D40EF78-28B9-4E21-990D-95BB7750A04F") - IDeckLinkInput_v9_2 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned int *availableFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned int *availableSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkInputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInput_v9_2Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInput_v9_2 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInput_v9_2 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkInput_v9_2 * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags, - /* [out] */ BMDDisplayModeSupport *result, - /* [out] */ IDeckLinkDisplayMode **resultDisplayMode); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkInput_v9_2 * This, - /* [out] */ IDeckLinkDisplayModeIterator **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkInput_v9_2 * This, - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( - IDeckLinkInput_v9_2 * This, - /* [in] */ BMDDisplayMode displayMode, - /* [in] */ BMDPixelFormat pixelFormat, - /* [in] */ BMDVideoInputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( - IDeckLinkInput_v9_2 * This, - /* [out] */ unsigned int *availableFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( - IDeckLinkInput_v9_2 * This, - /* [in] */ BMDAudioSampleRate sampleRate, - /* [in] */ BMDAudioSampleType sampleType, - /* [in] */ unsigned int channelCount); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( - IDeckLinkInput_v9_2 * This, - /* [out] */ unsigned int *availableSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *StartStreams )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *StopStreams )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *PauseStreams )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *FlushStreams )( - IDeckLinkInput_v9_2 * This); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkInput_v9_2 * This, - /* [in] */ IDeckLinkInputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkInput_v9_2 * This, - /* [in] */ BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame); - - END_INTERFACE - } IDeckLinkInput_v9_2Vtbl; - - interface IDeckLinkInput_v9_2 - { - CONST_VTBL struct IDeckLinkInput_v9_2Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInput_v9_2_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInput_v9_2_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInput_v9_2_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInput_v9_2_DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,flags,result,resultDisplayMode) ) - -#define IDeckLinkInput_v9_2_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkInput_v9_2_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkInput_v9_2_EnableVideoInput(This,displayMode,pixelFormat,flags) \ - ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) - -#define IDeckLinkInput_v9_2_DisableVideoInput(This) \ - ( (This)->lpVtbl -> DisableVideoInput(This) ) - -#define IDeckLinkInput_v9_2_GetAvailableVideoFrameCount(This,availableFrameCount) \ - ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) - -#define IDeckLinkInput_v9_2_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ - ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) - -#define IDeckLinkInput_v9_2_DisableAudioInput(This) \ - ( (This)->lpVtbl -> DisableAudioInput(This) ) - -#define IDeckLinkInput_v9_2_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ - ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) - -#define IDeckLinkInput_v9_2_StartStreams(This) \ - ( (This)->lpVtbl -> StartStreams(This) ) - -#define IDeckLinkInput_v9_2_StopStreams(This) \ - ( (This)->lpVtbl -> StopStreams(This) ) - -#define IDeckLinkInput_v9_2_PauseStreams(This) \ - ( (This)->lpVtbl -> PauseStreams(This) ) - -#define IDeckLinkInput_v9_2_FlushStreams(This) \ - ( (This)->lpVtbl -> FlushStreams(This) ) - -#define IDeckLinkInput_v9_2_SetCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetCallback(This,theCallback) ) - -#define IDeckLinkInput_v9_2_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInput_v9_2_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ -#define __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkDeckControlStatusCallback_v8_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDeckControlStatusCallback_v8_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E5F693C1-4283-4716-B18F-C1431521955B") - IDeckLinkDeckControlStatusCallback_v8_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE TimecodeUpdate( - /* [in] */ BMDTimecodeBCD currentTimecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE VTRControlStateChanged( - /* [in] */ BMDDeckControlVTRControlState_v8_1 newState, - /* [in] */ BMDDeckControlError error) = 0; - - virtual HRESULT STDMETHODCALLTYPE DeckControlEventReceived( - /* [in] */ BMDDeckControlEvent event, - /* [in] */ BMDDeckControlError error) = 0; - - virtual HRESULT STDMETHODCALLTYPE DeckControlStatusChanged( - /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned int mask) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeckControlStatusCallback_v8_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeckControlStatusCallback_v8_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeckControlStatusCallback_v8_1 * This); - - HRESULT ( STDMETHODCALLTYPE *TimecodeUpdate )( - IDeckLinkDeckControlStatusCallback_v8_1 * This, - /* [in] */ BMDTimecodeBCD currentTimecode); - - HRESULT ( STDMETHODCALLTYPE *VTRControlStateChanged )( - IDeckLinkDeckControlStatusCallback_v8_1 * This, - /* [in] */ BMDDeckControlVTRControlState_v8_1 newState, - /* [in] */ BMDDeckControlError error); - - HRESULT ( STDMETHODCALLTYPE *DeckControlEventReceived )( - IDeckLinkDeckControlStatusCallback_v8_1 * This, - /* [in] */ BMDDeckControlEvent event, - /* [in] */ BMDDeckControlError error); - - HRESULT ( STDMETHODCALLTYPE *DeckControlStatusChanged )( - IDeckLinkDeckControlStatusCallback_v8_1 * This, - /* [in] */ BMDDeckControlStatusFlags flags, - /* [in] */ unsigned int mask); - - END_INTERFACE - } IDeckLinkDeckControlStatusCallback_v8_1Vtbl; - - interface IDeckLinkDeckControlStatusCallback_v8_1 - { - CONST_VTBL struct IDeckLinkDeckControlStatusCallback_v8_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDeckControlStatusCallback_v8_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDeckControlStatusCallback_v8_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDeckControlStatusCallback_v8_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDeckControlStatusCallback_v8_1_TimecodeUpdate(This,currentTimecode) \ - ( (This)->lpVtbl -> TimecodeUpdate(This,currentTimecode) ) - -#define IDeckLinkDeckControlStatusCallback_v8_1_VTRControlStateChanged(This,newState,error) \ - ( (This)->lpVtbl -> VTRControlStateChanged(This,newState,error) ) - -#define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlEventReceived(This,event,error) \ - ( (This)->lpVtbl -> DeckControlEventReceived(This,event,error) ) - -#define IDeckLinkDeckControlStatusCallback_v8_1_DeckControlStatusChanged(This,flags,mask) \ - ( (This)->lpVtbl -> DeckControlStatusChanged(This,flags,mask) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDeckControlStatusCallback_v8_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ -#define __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkDeckControl_v8_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDeckControl_v8_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("522A9E39-0F3C-4742-94EE-D80DE335DA1D") - IDeckLinkDeckControl_v8_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Open( - /* [in] */ BMDTimeScale timeScale, - /* [in] */ BMDTimeValue timeValue, - /* [in] */ BOOL timecodeIsDropFrame, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Close( - /* [in] */ BOOL standbyOn) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentState( - /* [out] */ BMDDeckControlMode *mode, - /* [out] */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, - /* [out] */ BMDDeckControlStatusFlags *flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetStandby( - /* [in] */ BOOL standbyOn) = 0; - - virtual HRESULT STDMETHODCALLTYPE SendCommand( - /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned int inBufferSize, - /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned int *outDataSize, - /* [in] */ unsigned int outBufferSize, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Play( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Stop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Eject( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GoToTimecode( - /* [in] */ BMDTimecodeBCD timecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE FastForward( - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Rewind( - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepForward( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepBack( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Jog( - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Shuttle( - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( - /* [out] */ BSTR *currentTimeCode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecode( - /* [out] */ IDeckLinkTimecode **currentTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( - /* [out] */ BMDTimecodeBCD *currentTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPreroll( - /* [in] */ unsigned int prerollSeconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPreroll( - /* [out] */ unsigned int *prerollSeconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetExportOffset( - /* [in] */ int exportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetExportOffset( - /* [out] */ int *exportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( - /* [out] */ int *deckManualExportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( - /* [in] */ int captureOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( - /* [out] */ int *captureOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartExport( - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartCapture( - /* [in] */ BOOL useVITC, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDeviceID( - /* [out] */ unsigned short *deviceId, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkDeckControlStatusCallback_v8_1 *callback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDeckControl_v8_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeckControl_v8_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeckControl_v8_1 * This); - - HRESULT ( STDMETHODCALLTYPE *Open )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ BMDTimeValue timeValue, - /* [in] */ BOOL timecodeIsDropFrame, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Close )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BOOL standbyOn); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlMode *mode, - /* [out] */ BMDDeckControlVTRControlState_v8_1 *vtrControlState, - /* [out] */ BMDDeckControlStatusFlags *flags); - - HRESULT ( STDMETHODCALLTYPE *SetStandby )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BOOL standbyOn); - - HRESULT ( STDMETHODCALLTYPE *SendCommand )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ unsigned char *inBuffer, - /* [in] */ unsigned int inBufferSize, - /* [out] */ unsigned char *outBuffer, - /* [out] */ unsigned int *outDataSize, - /* [in] */ unsigned int outBufferSize, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Play )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Stop )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Eject )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BMDTimecodeBCD timecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *FastForward )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Rewind )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StepForward )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StepBack )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Jog )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Shuttle )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BSTR *currentTimeCode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ IDeckLinkTimecode **currentTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDTimecodeBCD *currentTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *SetPreroll )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ unsigned int prerollSeconds); - - HRESULT ( STDMETHODCALLTYPE *GetPreroll )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ unsigned int *prerollSeconds); - - HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ int exportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ int *exportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ int *deckManualExportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ int captureOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ int *captureOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *StartExport )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StartCapture )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ BOOL useVITC, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ unsigned short *deviceId, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Abort )( - IDeckLinkDeckControl_v8_1 * This); - - HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( - IDeckLinkDeckControl_v8_1 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkDeckControl_v8_1 * This, - /* [in] */ IDeckLinkDeckControlStatusCallback_v8_1 *callback); - - END_INTERFACE - } IDeckLinkDeckControl_v8_1Vtbl; - - interface IDeckLinkDeckControl_v8_1 - { - CONST_VTBL struct IDeckLinkDeckControl_v8_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDeckControl_v8_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDeckControl_v8_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDeckControl_v8_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDeckControl_v8_1_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ - ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) - -#define IDeckLinkDeckControl_v8_1_Close(This,standbyOn) \ - ( (This)->lpVtbl -> Close(This,standbyOn) ) - -#define IDeckLinkDeckControl_v8_1_GetCurrentState(This,mode,vtrControlState,flags) \ - ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) - -#define IDeckLinkDeckControl_v8_1_SetStandby(This,standbyOn) \ - ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) - -#define IDeckLinkDeckControl_v8_1_SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) \ - ( (This)->lpVtbl -> SendCommand(This,inBuffer,inBufferSize,outBuffer,outDataSize,outBufferSize,error) ) - -#define IDeckLinkDeckControl_v8_1_Play(This,error) \ - ( (This)->lpVtbl -> Play(This,error) ) - -#define IDeckLinkDeckControl_v8_1_Stop(This,error) \ - ( (This)->lpVtbl -> Stop(This,error) ) - -#define IDeckLinkDeckControl_v8_1_TogglePlayStop(This,error) \ - ( (This)->lpVtbl -> TogglePlayStop(This,error) ) - -#define IDeckLinkDeckControl_v8_1_Eject(This,error) \ - ( (This)->lpVtbl -> Eject(This,error) ) - -#define IDeckLinkDeckControl_v8_1_GoToTimecode(This,timecode,error) \ - ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) - -#define IDeckLinkDeckControl_v8_1_FastForward(This,viewTape,error) \ - ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) - -#define IDeckLinkDeckControl_v8_1_Rewind(This,viewTape,error) \ - ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) - -#define IDeckLinkDeckControl_v8_1_StepForward(This,error) \ - ( (This)->lpVtbl -> StepForward(This,error) ) - -#define IDeckLinkDeckControl_v8_1_StepBack(This,error) \ - ( (This)->lpVtbl -> StepBack(This,error) ) - -#define IDeckLinkDeckControl_v8_1_Jog(This,rate,error) \ - ( (This)->lpVtbl -> Jog(This,rate,error) ) - -#define IDeckLinkDeckControl_v8_1_Shuttle(This,rate,error) \ - ( (This)->lpVtbl -> Shuttle(This,rate,error) ) - -#define IDeckLinkDeckControl_v8_1_GetTimecodeString(This,currentTimeCode,error) \ - ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) - -#define IDeckLinkDeckControl_v8_1_GetTimecode(This,currentTimecode,error) \ - ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) - -#define IDeckLinkDeckControl_v8_1_GetTimecodeBCD(This,currentTimecode,error) \ - ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) - -#define IDeckLinkDeckControl_v8_1_SetPreroll(This,prerollSeconds) \ - ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) - -#define IDeckLinkDeckControl_v8_1_GetPreroll(This,prerollSeconds) \ - ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) - -#define IDeckLinkDeckControl_v8_1_SetExportOffset(This,exportOffsetFields) \ - ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) - -#define IDeckLinkDeckControl_v8_1_GetExportOffset(This,exportOffsetFields) \ - ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) - -#define IDeckLinkDeckControl_v8_1_GetManualExportOffset(This,deckManualExportOffsetFields) \ - ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) - -#define IDeckLinkDeckControl_v8_1_SetCaptureOffset(This,captureOffsetFields) \ - ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) - -#define IDeckLinkDeckControl_v8_1_GetCaptureOffset(This,captureOffsetFields) \ - ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) - -#define IDeckLinkDeckControl_v8_1_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ - ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) - -#define IDeckLinkDeckControl_v8_1_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ - ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) - -#define IDeckLinkDeckControl_v8_1_GetDeviceID(This,deviceId,error) \ - ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) - -#define IDeckLinkDeckControl_v8_1_Abort(This) \ - ( (This)->lpVtbl -> Abort(This) ) - -#define IDeckLinkDeckControl_v8_1_CrashRecordStart(This,error) \ - ( (This)->lpVtbl -> CrashRecordStart(This,error) ) - -#define IDeckLinkDeckControl_v8_1_CrashRecordStop(This,error) \ - ( (This)->lpVtbl -> CrashRecordStop(This,error) ) - -#define IDeckLinkDeckControl_v8_1_SetCallback(This,callback) \ - ( (This)->lpVtbl -> SetCallback(This,callback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDeckControl_v8_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLink_v8_0_INTERFACE_DEFINED__ -#define __IDeckLink_v8_0_INTERFACE_DEFINED__ - -/* interface IDeckLink_v8_0 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLink_v8_0; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("62BFF75D-6569-4E55-8D4D-66AA03829ABC") - IDeckLink_v8_0 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetModelName( - /* [out] */ BSTR *modelName) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLink_v8_0Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLink_v8_0 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLink_v8_0 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLink_v8_0 * This); - - HRESULT ( STDMETHODCALLTYPE *GetModelName )( - IDeckLink_v8_0 * This, - /* [out] */ BSTR *modelName); - - END_INTERFACE - } IDeckLink_v8_0Vtbl; - - interface IDeckLink_v8_0 - { - CONST_VTBL struct IDeckLink_v8_0Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLink_v8_0_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLink_v8_0_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLink_v8_0_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLink_v8_0_GetModelName(This,modelName) \ - ( (This)->lpVtbl -> GetModelName(This,modelName) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLink_v8_0_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ -#define __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ - -/* interface IDeckLinkIterator_v8_0 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkIterator_v8_0; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("74E936FC-CC28-4A67-81A0-1E94E52D4E69") - IDeckLinkIterator_v8_0 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Next( - /* [out] */ IDeckLink_v8_0 **deckLinkInstance) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkIterator_v8_0Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkIterator_v8_0 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkIterator_v8_0 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkIterator_v8_0 * This); - - HRESULT ( STDMETHODCALLTYPE *Next )( - IDeckLinkIterator_v8_0 * This, - /* [out] */ IDeckLink_v8_0 **deckLinkInstance); - - END_INTERFACE - } IDeckLinkIterator_v8_0Vtbl; - - interface IDeckLinkIterator_v8_0 - { - CONST_VTBL struct IDeckLinkIterator_v8_0Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkIterator_v8_0_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkIterator_v8_0_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkIterator_v8_0_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkIterator_v8_0_Next(This,deckLinkInstance) \ - ( (This)->lpVtbl -> Next(This,deckLinkInstance) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkIterator_v8_0_INTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_CDeckLinkIterator_v8_0; - -#ifdef __cplusplus - -class DECLSPEC_UUID("D9EDA3B3-2887-41FA-B724-017CF1EB1D37") -CDeckLinkIterator_v8_0; -#endif - -#ifndef __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ -#define __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ - -/* interface IDeckLinkDeckControl_v7_9 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDeckControl_v7_9; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("A4D81043-0619-42B7-8ED6-602D29041DF7") - IDeckLinkDeckControl_v7_9 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Open( - /* [in] */ BMDTimeScale timeScale, - /* [in] */ BMDTimeValue timeValue, - /* [in] */ BOOL timecodeIsDropFrame, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Close( - /* [in] */ BOOL standbyOn) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentState( - /* [out] */ BMDDeckControlMode *mode, - /* [out] */ BMDDeckControlVTRControlState *vtrControlState, - /* [out] */ BMDDeckControlStatusFlags *flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetStandby( - /* [in] */ BOOL standbyOn) = 0; - - virtual HRESULT STDMETHODCALLTYPE Play( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Stop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE TogglePlayStop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Eject( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GoToTimecode( - /* [in] */ BMDTimecodeBCD timecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE FastForward( - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Rewind( - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepForward( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StepBack( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Jog( - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Shuttle( - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeString( - /* [out] */ BSTR *currentTimeCode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecode( - /* [out] */ IDeckLinkTimecode **currentTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecodeBCD( - /* [out] */ BMDTimecodeBCD *currentTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPreroll( - /* [in] */ unsigned int prerollSeconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPreroll( - /* [out] */ unsigned int *prerollSeconds) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetExportOffset( - /* [in] */ int exportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetExportOffset( - /* [out] */ int *exportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetManualExportOffset( - /* [out] */ int *deckManualExportOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCaptureOffset( - /* [in] */ int captureOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCaptureOffset( - /* [out] */ int *captureOffsetFields) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartExport( - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartCapture( - /* [in] */ BOOL useVITC, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDeviceID( - /* [out] */ unsigned short *deviceId, - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE CrashRecordStart( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE CrashRecordStop( - /* [out] */ BMDDeckControlError *error) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkDeckControlStatusCallback *callback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDeckControl_v7_9Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDeckControl_v7_9 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDeckControl_v7_9 * This); - - HRESULT ( STDMETHODCALLTYPE *Open )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BMDTimeScale timeScale, - /* [in] */ BMDTimeValue timeValue, - /* [in] */ BOOL timecodeIsDropFrame, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Close )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BOOL standbyOn); - - HRESULT ( STDMETHODCALLTYPE *GetCurrentState )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlMode *mode, - /* [out] */ BMDDeckControlVTRControlState *vtrControlState, - /* [out] */ BMDDeckControlStatusFlags *flags); - - HRESULT ( STDMETHODCALLTYPE *SetStandby )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BOOL standbyOn); - - HRESULT ( STDMETHODCALLTYPE *Play )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Stop )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *TogglePlayStop )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Eject )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GoToTimecode )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BMDTimecodeBCD timecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *FastForward )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Rewind )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BOOL viewTape, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StepForward )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StepBack )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Jog )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Shuttle )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ double rate, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeString )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BSTR *currentTimeCode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ IDeckLinkTimecode **currentTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetTimecodeBCD )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDTimecodeBCD *currentTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *SetPreroll )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ unsigned int prerollSeconds); - - HRESULT ( STDMETHODCALLTYPE *GetPreroll )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ unsigned int *prerollSeconds); - - HRESULT ( STDMETHODCALLTYPE *SetExportOffset )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ int exportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetExportOffset )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ int *exportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetManualExportOffset )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ int *deckManualExportOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *SetCaptureOffset )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ int captureOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *GetCaptureOffset )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ int *captureOffsetFields); - - HRESULT ( STDMETHODCALLTYPE *StartExport )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [in] */ BMDDeckControlExportModeOpsFlags exportModeOps, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *StartCapture )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ BOOL useVITC, - /* [in] */ BMDTimecodeBCD inTimecode, - /* [in] */ BMDTimecodeBCD outTimecode, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *GetDeviceID )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ unsigned short *deviceId, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *Abort )( - IDeckLinkDeckControl_v7_9 * This); - - HRESULT ( STDMETHODCALLTYPE *CrashRecordStart )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *CrashRecordStop )( - IDeckLinkDeckControl_v7_9 * This, - /* [out] */ BMDDeckControlError *error); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkDeckControl_v7_9 * This, - /* [in] */ IDeckLinkDeckControlStatusCallback *callback); - - END_INTERFACE - } IDeckLinkDeckControl_v7_9Vtbl; - - interface IDeckLinkDeckControl_v7_9 - { - CONST_VTBL struct IDeckLinkDeckControl_v7_9Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDeckControl_v7_9_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDeckControl_v7_9_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDeckControl_v7_9_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDeckControl_v7_9_Open(This,timeScale,timeValue,timecodeIsDropFrame,error) \ - ( (This)->lpVtbl -> Open(This,timeScale,timeValue,timecodeIsDropFrame,error) ) - -#define IDeckLinkDeckControl_v7_9_Close(This,standbyOn) \ - ( (This)->lpVtbl -> Close(This,standbyOn) ) - -#define IDeckLinkDeckControl_v7_9_GetCurrentState(This,mode,vtrControlState,flags) \ - ( (This)->lpVtbl -> GetCurrentState(This,mode,vtrControlState,flags) ) - -#define IDeckLinkDeckControl_v7_9_SetStandby(This,standbyOn) \ - ( (This)->lpVtbl -> SetStandby(This,standbyOn) ) - -#define IDeckLinkDeckControl_v7_9_Play(This,error) \ - ( (This)->lpVtbl -> Play(This,error) ) - -#define IDeckLinkDeckControl_v7_9_Stop(This,error) \ - ( (This)->lpVtbl -> Stop(This,error) ) - -#define IDeckLinkDeckControl_v7_9_TogglePlayStop(This,error) \ - ( (This)->lpVtbl -> TogglePlayStop(This,error) ) - -#define IDeckLinkDeckControl_v7_9_Eject(This,error) \ - ( (This)->lpVtbl -> Eject(This,error) ) - -#define IDeckLinkDeckControl_v7_9_GoToTimecode(This,timecode,error) \ - ( (This)->lpVtbl -> GoToTimecode(This,timecode,error) ) - -#define IDeckLinkDeckControl_v7_9_FastForward(This,viewTape,error) \ - ( (This)->lpVtbl -> FastForward(This,viewTape,error) ) - -#define IDeckLinkDeckControl_v7_9_Rewind(This,viewTape,error) \ - ( (This)->lpVtbl -> Rewind(This,viewTape,error) ) - -#define IDeckLinkDeckControl_v7_9_StepForward(This,error) \ - ( (This)->lpVtbl -> StepForward(This,error) ) - -#define IDeckLinkDeckControl_v7_9_StepBack(This,error) \ - ( (This)->lpVtbl -> StepBack(This,error) ) - -#define IDeckLinkDeckControl_v7_9_Jog(This,rate,error) \ - ( (This)->lpVtbl -> Jog(This,rate,error) ) - -#define IDeckLinkDeckControl_v7_9_Shuttle(This,rate,error) \ - ( (This)->lpVtbl -> Shuttle(This,rate,error) ) - -#define IDeckLinkDeckControl_v7_9_GetTimecodeString(This,currentTimeCode,error) \ - ( (This)->lpVtbl -> GetTimecodeString(This,currentTimeCode,error) ) - -#define IDeckLinkDeckControl_v7_9_GetTimecode(This,currentTimecode,error) \ - ( (This)->lpVtbl -> GetTimecode(This,currentTimecode,error) ) - -#define IDeckLinkDeckControl_v7_9_GetTimecodeBCD(This,currentTimecode,error) \ - ( (This)->lpVtbl -> GetTimecodeBCD(This,currentTimecode,error) ) - -#define IDeckLinkDeckControl_v7_9_SetPreroll(This,prerollSeconds) \ - ( (This)->lpVtbl -> SetPreroll(This,prerollSeconds) ) - -#define IDeckLinkDeckControl_v7_9_GetPreroll(This,prerollSeconds) \ - ( (This)->lpVtbl -> GetPreroll(This,prerollSeconds) ) - -#define IDeckLinkDeckControl_v7_9_SetExportOffset(This,exportOffsetFields) \ - ( (This)->lpVtbl -> SetExportOffset(This,exportOffsetFields) ) - -#define IDeckLinkDeckControl_v7_9_GetExportOffset(This,exportOffsetFields) \ - ( (This)->lpVtbl -> GetExportOffset(This,exportOffsetFields) ) - -#define IDeckLinkDeckControl_v7_9_GetManualExportOffset(This,deckManualExportOffsetFields) \ - ( (This)->lpVtbl -> GetManualExportOffset(This,deckManualExportOffsetFields) ) - -#define IDeckLinkDeckControl_v7_9_SetCaptureOffset(This,captureOffsetFields) \ - ( (This)->lpVtbl -> SetCaptureOffset(This,captureOffsetFields) ) - -#define IDeckLinkDeckControl_v7_9_GetCaptureOffset(This,captureOffsetFields) \ - ( (This)->lpVtbl -> GetCaptureOffset(This,captureOffsetFields) ) - -#define IDeckLinkDeckControl_v7_9_StartExport(This,inTimecode,outTimecode,exportModeOps,error) \ - ( (This)->lpVtbl -> StartExport(This,inTimecode,outTimecode,exportModeOps,error) ) - -#define IDeckLinkDeckControl_v7_9_StartCapture(This,useVITC,inTimecode,outTimecode,error) \ - ( (This)->lpVtbl -> StartCapture(This,useVITC,inTimecode,outTimecode,error) ) - -#define IDeckLinkDeckControl_v7_9_GetDeviceID(This,deviceId,error) \ - ( (This)->lpVtbl -> GetDeviceID(This,deviceId,error) ) - -#define IDeckLinkDeckControl_v7_9_Abort(This) \ - ( (This)->lpVtbl -> Abort(This) ) - -#define IDeckLinkDeckControl_v7_9_CrashRecordStart(This,error) \ - ( (This)->lpVtbl -> CrashRecordStart(This,error) ) - -#define IDeckLinkDeckControl_v7_9_CrashRecordStop(This,error) \ - ( (This)->lpVtbl -> CrashRecordStop(This,error) ) - -#define IDeckLinkDeckControl_v7_9_SetCallback(This,callback) \ - ( (This)->lpVtbl -> SetCallback(This,callback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDeckControl_v7_9_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkDisplayModeIterator_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("455D741F-1779-4800-86F5-0B5D13D79751") - IDeckLinkDisplayModeIterator_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Next( - /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDisplayModeIterator_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDisplayModeIterator_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDisplayModeIterator_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDisplayModeIterator_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *Next )( - IDeckLinkDisplayModeIterator_v7_6 * This, - /* [out] */ IDeckLinkDisplayMode_v7_6 **deckLinkDisplayMode); - - END_INTERFACE - } IDeckLinkDisplayModeIterator_v7_6Vtbl; - - interface IDeckLinkDisplayModeIterator_v7_6 - { - CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDisplayModeIterator_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDisplayModeIterator_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDisplayModeIterator_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDisplayModeIterator_v7_6_Next(This,deckLinkDisplayMode) \ - ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDisplayModeIterator_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkDisplayMode_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("87451E84-2B7E-439E-A629-4393EA4A8550") - IDeckLinkDisplayMode_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetName( - /* [out] */ BSTR *name) = 0; - - virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; - - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; - - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrameRate( - /* [out] */ BMDTimeValue *frameDuration, - /* [out] */ BMDTimeScale *timeScale) = 0; - - virtual BMDFieldDominance STDMETHODCALLTYPE GetFieldDominance( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDisplayMode_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDisplayMode_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDisplayMode_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDisplayMode_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( - IDeckLinkDisplayMode_v7_6 * This, - /* [out] */ BSTR *name); - - BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( - IDeckLinkDisplayMode_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkDisplayMode_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkDisplayMode_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( - IDeckLinkDisplayMode_v7_6 * This, - /* [out] */ BMDTimeValue *frameDuration, - /* [out] */ BMDTimeScale *timeScale); - - BMDFieldDominance ( STDMETHODCALLTYPE *GetFieldDominance )( - IDeckLinkDisplayMode_v7_6 * This); - - END_INTERFACE - } IDeckLinkDisplayMode_v7_6Vtbl; - - interface IDeckLinkDisplayMode_v7_6 - { - CONST_VTBL struct IDeckLinkDisplayMode_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDisplayMode_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDisplayMode_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDisplayMode_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDisplayMode_v7_6_GetName(This,name) \ - ( (This)->lpVtbl -> GetName(This,name) ) - -#define IDeckLinkDisplayMode_v7_6_GetDisplayMode(This) \ - ( (This)->lpVtbl -> GetDisplayMode(This) ) - -#define IDeckLinkDisplayMode_v7_6_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkDisplayMode_v7_6_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkDisplayMode_v7_6_GetFrameRate(This,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) - -#define IDeckLinkDisplayMode_v7_6_GetFieldDominance(This) \ - ( (This)->lpVtbl -> GetFieldDominance(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDisplayMode_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkOutput_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkOutput_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("29228142-EB8C-4141-A621-F74026450955") - IDeckLinkOutput_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( - BMDDisplayMode displayMode, - BMDVideoOutputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( - /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( - BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( - /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned int *bufferedFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount, - BMDAudioOutputStreamType streamType) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( - /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( - BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( - /* [out] */ BOOL *active) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetScheduledStreamTime( - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *streamTime, - /* [out] */ double *playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkOutput_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkOutput_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkOutput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkOutput_v7_6 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkOutput_v7_6 * This, - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( - IDeckLinkOutput_v7_6 * This, - BMDDisplayMode displayMode, - BMDVideoOutputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( - IDeckLinkOutput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - - HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( - IDeckLinkOutput_v7_6 * This, - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( - IDeckLinkOutput_v7_6 * This, - BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); - - HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); - - HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ IDeckLinkVideoOutputCallback_v7_6 *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( - IDeckLinkOutput_v7_6 * This, - /* [out] */ unsigned int *bufferedFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( - IDeckLinkOutput_v7_6 * This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount, - BMDAudioOutputStreamType streamType); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( - IDeckLinkOutput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( - IDeckLinkOutput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( - IDeckLinkOutput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( - IDeckLinkOutput_v7_6 * This, - /* [out] */ unsigned int *bufferedSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( - IDeckLinkOutput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( - IDeckLinkOutput_v7_6 * This, - /* [in] */ IDeckLinkAudioOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( - IDeckLinkOutput_v7_6 * This, - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( - IDeckLinkOutput_v7_6 * This, - BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( - IDeckLinkOutput_v7_6 * This, - /* [out] */ BOOL *active); - - HRESULT ( STDMETHODCALLTYPE *GetScheduledStreamTime )( - IDeckLinkOutput_v7_6 * This, - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *streamTime, - /* [out] */ double *playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkOutput_v7_6 * This, - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame); - - END_INTERFACE - } IDeckLinkOutput_v7_6Vtbl; - - interface IDeckLinkOutput_v7_6 - { - CONST_VTBL struct IDeckLinkOutput_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkOutput_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkOutput_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkOutput_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkOutput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) - -#define IDeckLinkOutput_v7_6_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkOutput_v7_6_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkOutput_v7_6_EnableVideoOutput(This,displayMode,flags) \ - ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) - -#define IDeckLinkOutput_v7_6_DisableVideoOutput(This) \ - ( (This)->lpVtbl -> DisableVideoOutput(This) ) - -#define IDeckLinkOutput_v7_6_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ - ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) - -#define IDeckLinkOutput_v7_6_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ - ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) - -#define IDeckLinkOutput_v7_6_CreateAncillaryData(This,pixelFormat,outBuffer) \ - ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) - -#define IDeckLinkOutput_v7_6_DisplayVideoFrameSync(This,theFrame) \ - ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) - -#define IDeckLinkOutput_v7_6_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ - ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) - -#define IDeckLinkOutput_v7_6_SetScheduledFrameCompletionCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) - -#define IDeckLinkOutput_v7_6_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ - ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) - -#define IDeckLinkOutput_v7_6_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ - ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) - -#define IDeckLinkOutput_v7_6_DisableAudioOutput(This) \ - ( (This)->lpVtbl -> DisableAudioOutput(This) ) - -#define IDeckLinkOutput_v7_6_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ - ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) - -#define IDeckLinkOutput_v7_6_BeginAudioPreroll(This) \ - ( (This)->lpVtbl -> BeginAudioPreroll(This) ) - -#define IDeckLinkOutput_v7_6_EndAudioPreroll(This) \ - ( (This)->lpVtbl -> EndAudioPreroll(This) ) - -#define IDeckLinkOutput_v7_6_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ - ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) - -#define IDeckLinkOutput_v7_6_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ - ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) - -#define IDeckLinkOutput_v7_6_FlushBufferedAudioSamples(This) \ - ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) - -#define IDeckLinkOutput_v7_6_SetAudioCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) - -#define IDeckLinkOutput_v7_6_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ - ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) - -#define IDeckLinkOutput_v7_6_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ - ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) - -#define IDeckLinkOutput_v7_6_IsScheduledPlaybackRunning(This,active) \ - ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) - -#define IDeckLinkOutput_v7_6_GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) \ - ( (This)->lpVtbl -> GetScheduledStreamTime(This,desiredTimeScale,streamTime,playbackSpeed) ) - -#define IDeckLinkOutput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkOutput_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkInput_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInput_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("300C135A-9F43-48E2-9906-6D7911D93CF1") - IDeckLinkInput_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned int *availableFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned int *availableSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInput_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInput_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInput_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkInput_v7_6 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkInput_v7_6 * This, - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkInput_v7_6 * This, - /* [in] */ IDeckLinkScreenPreviewCallback_v7_6 *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( - IDeckLinkInput_v7_6 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( - IDeckLinkInput_v7_6 * This, - /* [out] */ unsigned int *availableFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( - IDeckLinkInput_v7_6 * This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( - IDeckLinkInput_v7_6 * This, - /* [out] */ unsigned int *availableSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *StartStreams )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *StopStreams )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *PauseStreams )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *FlushStreams )( - IDeckLinkInput_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkInput_v7_6 * This, - /* [in] */ IDeckLinkInputCallback_v7_6 *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkInput_v7_6 * This, - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *hardwareTime, - /* [out] */ BMDTimeValue *timeInFrame, - /* [out] */ BMDTimeValue *ticksPerFrame); - - END_INTERFACE - } IDeckLinkInput_v7_6Vtbl; - - interface IDeckLinkInput_v7_6 - { - CONST_VTBL struct IDeckLinkInput_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInput_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInput_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInput_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInput_v7_6_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) - -#define IDeckLinkInput_v7_6_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkInput_v7_6_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkInput_v7_6_EnableVideoInput(This,displayMode,pixelFormat,flags) \ - ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) - -#define IDeckLinkInput_v7_6_DisableVideoInput(This) \ - ( (This)->lpVtbl -> DisableVideoInput(This) ) - -#define IDeckLinkInput_v7_6_GetAvailableVideoFrameCount(This,availableFrameCount) \ - ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) - -#define IDeckLinkInput_v7_6_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ - ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) - -#define IDeckLinkInput_v7_6_DisableAudioInput(This) \ - ( (This)->lpVtbl -> DisableAudioInput(This) ) - -#define IDeckLinkInput_v7_6_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ - ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) - -#define IDeckLinkInput_v7_6_StartStreams(This) \ - ( (This)->lpVtbl -> StartStreams(This) ) - -#define IDeckLinkInput_v7_6_StopStreams(This) \ - ( (This)->lpVtbl -> StopStreams(This) ) - -#define IDeckLinkInput_v7_6_PauseStreams(This) \ - ( (This)->lpVtbl -> PauseStreams(This) ) - -#define IDeckLinkInput_v7_6_FlushStreams(This) \ - ( (This)->lpVtbl -> FlushStreams(This) ) - -#define IDeckLinkInput_v7_6_SetCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetCallback(This,theCallback) ) - -#define IDeckLinkInput_v7_6_GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,hardwareTime,timeInFrame,ticksPerFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInput_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkTimecode_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkTimecode_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("EFB9BCA6-A521-44F7-BD69-2332F24D9EE6") - IDeckLinkTimecode_v7_6 : public IUnknown - { - public: - virtual BMDTimecodeBCD STDMETHODCALLTYPE GetBCD( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetComponents( - /* [out] */ unsigned char *hours, - /* [out] */ unsigned char *minutes, - /* [out] */ unsigned char *seconds, - /* [out] */ unsigned char *frames) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetString( - /* [out] */ BSTR *timecode) = 0; - - virtual BMDTimecodeFlags STDMETHODCALLTYPE GetFlags( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkTimecode_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkTimecode_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkTimecode_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkTimecode_v7_6 * This); - - BMDTimecodeBCD ( STDMETHODCALLTYPE *GetBCD )( - IDeckLinkTimecode_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetComponents )( - IDeckLinkTimecode_v7_6 * This, - /* [out] */ unsigned char *hours, - /* [out] */ unsigned char *minutes, - /* [out] */ unsigned char *seconds, - /* [out] */ unsigned char *frames); - - HRESULT ( STDMETHODCALLTYPE *GetString )( - IDeckLinkTimecode_v7_6 * This, - /* [out] */ BSTR *timecode); - - BMDTimecodeFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkTimecode_v7_6 * This); - - END_INTERFACE - } IDeckLinkTimecode_v7_6Vtbl; - - interface IDeckLinkTimecode_v7_6 - { - CONST_VTBL struct IDeckLinkTimecode_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkTimecode_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkTimecode_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkTimecode_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkTimecode_v7_6_GetBCD(This) \ - ( (This)->lpVtbl -> GetBCD(This) ) - -#define IDeckLinkTimecode_v7_6_GetComponents(This,hours,minutes,seconds,frames) \ - ( (This)->lpVtbl -> GetComponents(This,hours,minutes,seconds,frames) ) - -#define IDeckLinkTimecode_v7_6_GetString(This,timecode) \ - ( (This)->lpVtbl -> GetString(This,timecode) ) - -#define IDeckLinkTimecode_v7_6_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkTimecode_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoFrame_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("A8D8238E-6B18-4196-99E1-5AF717B83D32") - IDeckLinkVideoFrame_v7_6 : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; - - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; - - virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; - - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; - - virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - /* [out] */ void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTimecode( - BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode_v7_6 **timecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAncillaryData( - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoFrame_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoFrame_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoFrame_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoFrame_v7_6 * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoFrame_v7_6 * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoFrame_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoFrame_v7_6 * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkVideoFrame_v7_6 * This, - BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode_v7_6 **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkVideoFrame_v7_6 * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - END_INTERFACE - } IDeckLinkVideoFrame_v7_6Vtbl; - - interface IDeckLinkVideoFrame_v7_6 - { - CONST_VTBL struct IDeckLinkVideoFrame_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoFrame_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoFrame_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoFrame_v7_6_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoFrame_v7_6_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoFrame_v7_6_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoFrame_v7_6_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoFrame_v7_6_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoFrame_v7_6_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkVideoFrame_v7_6_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkVideoFrame_v7_6_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoFrame_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkMutableVideoFrame_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkMutableVideoFrame_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("46FCEE00-B4E6-43D0-91C0-023A7FCEB34F") - IDeckLinkMutableVideoFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 - { - public: - virtual HRESULT STDMETHODCALLTYPE SetFlags( - BMDFrameFlags newFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTimecode( - BMDTimecodeFormat format, - /* [in] */ IDeckLinkTimecode_v7_6 *timecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTimecodeFromComponents( - BMDTimecodeFormat format, - unsigned char hours, - unsigned char minutes, - unsigned char seconds, - unsigned char frames, - BMDTimecodeFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAncillaryData( - /* [in] */ IDeckLinkVideoFrameAncillary *ancillary) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkMutableVideoFrame_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkMutableVideoFrame_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkMutableVideoFrame_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkMutableVideoFrame_v7_6 * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkMutableVideoFrame_v7_6 * This, - BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode_v7_6 **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkMutableVideoFrame_v7_6 * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - HRESULT ( STDMETHODCALLTYPE *SetFlags )( - IDeckLinkMutableVideoFrame_v7_6 * This, - BMDFrameFlags newFlags); - - HRESULT ( STDMETHODCALLTYPE *SetTimecode )( - IDeckLinkMutableVideoFrame_v7_6 * This, - BMDTimecodeFormat format, - /* [in] */ IDeckLinkTimecode_v7_6 *timecode); - - HRESULT ( STDMETHODCALLTYPE *SetTimecodeFromComponents )( - IDeckLinkMutableVideoFrame_v7_6 * This, - BMDTimecodeFormat format, - unsigned char hours, - unsigned char minutes, - unsigned char seconds, - unsigned char frames, - BMDTimecodeFlags flags); - - HRESULT ( STDMETHODCALLTYPE *SetAncillaryData )( - IDeckLinkMutableVideoFrame_v7_6 * This, - /* [in] */ IDeckLinkVideoFrameAncillary *ancillary); - - END_INTERFACE - } IDeckLinkMutableVideoFrame_v7_6Vtbl; - - interface IDeckLinkMutableVideoFrame_v7_6 - { - CONST_VTBL struct IDeckLinkMutableVideoFrame_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkMutableVideoFrame_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkMutableVideoFrame_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkMutableVideoFrame_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkMutableVideoFrame_v7_6_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkMutableVideoFrame_v7_6_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - - -#define IDeckLinkMutableVideoFrame_v7_6_SetFlags(This,newFlags) \ - ( (This)->lpVtbl -> SetFlags(This,newFlags) ) - -#define IDeckLinkMutableVideoFrame_v7_6_SetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> SetTimecode(This,format,timecode) ) - -#define IDeckLinkMutableVideoFrame_v7_6_SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) \ - ( (This)->lpVtbl -> SetTimecodeFromComponents(This,format,hours,minutes,seconds,frames,flags) ) - -#define IDeckLinkMutableVideoFrame_v7_6_SetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> SetAncillaryData(This,ancillary) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkMutableVideoFrame_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoInputFrame_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("9A74FA41-AE9F-47AC-8CF4-01F42DD59965") - IDeckLinkVideoInputFrame_v7_6 : public IDeckLinkVideoFrame_v7_6 - { - public: - virtual HRESULT STDMETHODCALLTYPE GetStreamTime( - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceTimestamp( - BMDTimeScale timeScale, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoInputFrame_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoInputFrame_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoInputFrame_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoInputFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoInputFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoInputFrame_v7_6 * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoInputFrame_v7_6 * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoInputFrame_v7_6 * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoInputFrame_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoInputFrame_v7_6 * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkVideoInputFrame_v7_6 * This, - BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode_v7_6 **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkVideoInputFrame_v7_6 * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( - IDeckLinkVideoInputFrame_v7_6 * This, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceTimestamp )( - IDeckLinkVideoInputFrame_v7_6 * This, - BMDTimeScale timeScale, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration); - - END_INTERFACE - } IDeckLinkVideoInputFrame_v7_6Vtbl; - - interface IDeckLinkVideoInputFrame_v7_6 - { - CONST_VTBL struct IDeckLinkVideoInputFrame_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoInputFrame_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoInputFrame_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoInputFrame_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoInputFrame_v7_6_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - - -#define IDeckLinkVideoInputFrame_v7_6_GetStreamTime(This,frameTime,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) - -#define IDeckLinkVideoInputFrame_v7_6_GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) \ - ( (This)->lpVtbl -> GetHardwareReferenceTimestamp(This,timeScale,frameTime,frameDuration) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoInputFrame_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkScreenPreviewCallback_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkScreenPreviewCallback_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("373F499D-4B4D-4518-AD22-6354E5A5825E") - IDeckLinkScreenPreviewCallback_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DrawFrame( - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkScreenPreviewCallback_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkScreenPreviewCallback_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkScreenPreviewCallback_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkScreenPreviewCallback_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *DrawFrame )( - IDeckLinkScreenPreviewCallback_v7_6 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); - - END_INTERFACE - } IDeckLinkScreenPreviewCallback_v7_6Vtbl; - - interface IDeckLinkScreenPreviewCallback_v7_6 - { - CONST_VTBL struct IDeckLinkScreenPreviewCallback_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkScreenPreviewCallback_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkScreenPreviewCallback_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkScreenPreviewCallback_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkScreenPreviewCallback_v7_6_DrawFrame(This,theFrame) \ - ( (This)->lpVtbl -> DrawFrame(This,theFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkScreenPreviewCallback_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkGLScreenPreviewHelper_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkGLScreenPreviewHelper_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("BA575CD9-A15E-497B-B2C2-F9AFE7BE4EBA") - IDeckLinkGLScreenPreviewHelper_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE InitializeGL( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PaintGL( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFrame( - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkGLScreenPreviewHelper_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkGLScreenPreviewHelper_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkGLScreenPreviewHelper_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *InitializeGL )( - IDeckLinkGLScreenPreviewHelper_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *PaintGL )( - IDeckLinkGLScreenPreviewHelper_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetFrame )( - IDeckLinkGLScreenPreviewHelper_v7_6 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); - - END_INTERFACE - } IDeckLinkGLScreenPreviewHelper_v7_6Vtbl; - - interface IDeckLinkGLScreenPreviewHelper_v7_6 - { - CONST_VTBL struct IDeckLinkGLScreenPreviewHelper_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkGLScreenPreviewHelper_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkGLScreenPreviewHelper_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkGLScreenPreviewHelper_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkGLScreenPreviewHelper_v7_6_InitializeGL(This) \ - ( (This)->lpVtbl -> InitializeGL(This) ) - -#define IDeckLinkGLScreenPreviewHelper_v7_6_PaintGL(This) \ - ( (This)->lpVtbl -> PaintGL(This) ) - -#define IDeckLinkGLScreenPreviewHelper_v7_6_SetFrame(This,theFrame) \ - ( (This)->lpVtbl -> SetFrame(This,theFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkGLScreenPreviewHelper_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoConversion_v7_6 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoConversion_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("3EB504C9-F97D-40FE-A158-D407D48CB53B") - IDeckLinkVideoConversion_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE ConvertFrame( - /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame, - /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoConversion_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoConversion_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoConversion_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoConversion_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *ConvertFrame )( - IDeckLinkVideoConversion_v7_6 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *srcFrame, - /* [in] */ IDeckLinkVideoFrame_v7_6 *dstFrame); - - END_INTERFACE - } IDeckLinkVideoConversion_v7_6Vtbl; - - interface IDeckLinkVideoConversion_v7_6 - { - CONST_VTBL struct IDeckLinkVideoConversion_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoConversion_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoConversion_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoConversion_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoConversion_v7_6_ConvertFrame(This,srcFrame,dstFrame) \ - ( (This)->lpVtbl -> ConvertFrame(This,srcFrame,dstFrame) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoConversion_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkConfiguration_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkConfiguration_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("B8EAD569-B764-47F0-A73F-AE40DF6CBF10") - IDeckLinkConfiguration_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetConfigurationValidator( - /* [out] */ IDeckLinkConfiguration_v7_6 **configObject) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteConfigurationToPreferences( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFormat( - /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsVideoOutputActive( - /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection, - /* [out] */ BOOL *active) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoOutputFlags( - /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoOutputFlags( - /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableFieldFlickerRemovalWhenPaused( - /* [in] */ BOOL enable) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsEnabledFieldFlickerRemovalWhenPaused( - /* [out] */ BOOL *enabled) = 0; - - virtual HRESULT STDMETHODCALLTYPE Set444And3GBpsVideoOutput( - /* [in] */ BOOL enable444VideoOutput, - /* [in] */ BOOL enable3GbsOutput) = 0; - - virtual HRESULT STDMETHODCALLTYPE Get444And3GBpsVideoOutput( - /* [out] */ BOOL *is444VideoOutputEnabled, - /* [out] */ BOOL *threeGbsOutputEnabled) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputConversionMode( - /* [in] */ BMDVideoOutputConversionMode conversionMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVideoOutputConversionMode( - /* [out] */ BMDVideoOutputConversionMode *conversionMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE Set_HD1080p24_to_HD1080i5994_Conversion( - /* [in] */ BOOL enable) = 0; - - virtual HRESULT STDMETHODCALLTYPE Get_HD1080p24_to_HD1080i5994_Conversion( - /* [out] */ BOOL *enabled) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoInputFormat( - /* [in] */ BMDVideoConnection_v7_6 videoInputFormat) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVideoInputFormat( - /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAnalogVideoInputFlags( - /* [in] */ BMDAnalogVideoFlags analogVideoFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAnalogVideoInputFlags( - /* [out] */ BMDAnalogVideoFlags *analogVideoFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoInputConversionMode( - /* [in] */ BMDVideoInputConversionMode conversionMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVideoInputConversionMode( - /* [out] */ BMDVideoInputConversionMode *conversionMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetBlackVideoOutputDuringCapture( - /* [in] */ BOOL blackOutInCapture) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBlackVideoOutputDuringCapture( - /* [out] */ BOOL *blackOutInCapture) = 0; - - virtual HRESULT STDMETHODCALLTYPE Set32PulldownSequenceInitialTimecodeFrame( - /* [in] */ unsigned int aFrameTimecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE Get32PulldownSequenceInitialTimecodeFrame( - /* [out] */ unsigned int *aFrameTimecode) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVancSourceLineMapping( - /* [in] */ unsigned int activeLine1VANCsource, - /* [in] */ unsigned int activeLine2VANCsource, - /* [in] */ unsigned int activeLine3VANCsource) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetVancSourceLineMapping( - /* [out] */ unsigned int *activeLine1VANCsource, - /* [out] */ unsigned int *activeLine2VANCsource, - /* [out] */ unsigned int *activeLine3VANCsource) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioInputFormat( - /* [in] */ BMDAudioConnection_v10_2 audioInputFormat) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAudioInputFormat( - /* [out] */ BMDAudioConnection_v10_2 *audioInputFormat) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkConfiguration_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkConfiguration_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkConfiguration_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *GetConfigurationValidator )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ IDeckLinkConfiguration_v7_6 **configObject); - - HRESULT ( STDMETHODCALLTYPE *WriteConfigurationToPreferences )( - IDeckLinkConfiguration_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFormat )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection); - - HRESULT ( STDMETHODCALLTYPE *IsVideoOutputActive )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDVideoConnection_v7_6 videoOutputConnection, - /* [out] */ BOOL *active); - - HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoOutputFlags )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDAnalogVideoFlags analogVideoFlags); - - HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoOutputFlags )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BMDAnalogVideoFlags *analogVideoFlags); - - HRESULT ( STDMETHODCALLTYPE *EnableFieldFlickerRemovalWhenPaused )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BOOL enable); - - HRESULT ( STDMETHODCALLTYPE *IsEnabledFieldFlickerRemovalWhenPaused )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BOOL *enabled); - - HRESULT ( STDMETHODCALLTYPE *Set444And3GBpsVideoOutput )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BOOL enable444VideoOutput, - /* [in] */ BOOL enable3GbsOutput); - - HRESULT ( STDMETHODCALLTYPE *Get444And3GBpsVideoOutput )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BOOL *is444VideoOutputEnabled, - /* [out] */ BOOL *threeGbsOutputEnabled); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputConversionMode )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDVideoOutputConversionMode conversionMode); - - HRESULT ( STDMETHODCALLTYPE *GetVideoOutputConversionMode )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BMDVideoOutputConversionMode *conversionMode); - - HRESULT ( STDMETHODCALLTYPE *Set_HD1080p24_to_HD1080i5994_Conversion )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BOOL enable); - - HRESULT ( STDMETHODCALLTYPE *Get_HD1080p24_to_HD1080i5994_Conversion )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BOOL *enabled); - - HRESULT ( STDMETHODCALLTYPE *SetVideoInputFormat )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDVideoConnection_v7_6 videoInputFormat); - - HRESULT ( STDMETHODCALLTYPE *GetVideoInputFormat )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BMDVideoConnection_v7_6 *videoInputFormat); - - HRESULT ( STDMETHODCALLTYPE *SetAnalogVideoInputFlags )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDAnalogVideoFlags analogVideoFlags); - - HRESULT ( STDMETHODCALLTYPE *GetAnalogVideoInputFlags )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BMDAnalogVideoFlags *analogVideoFlags); - - HRESULT ( STDMETHODCALLTYPE *SetVideoInputConversionMode )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDVideoInputConversionMode conversionMode); - - HRESULT ( STDMETHODCALLTYPE *GetVideoInputConversionMode )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BMDVideoInputConversionMode *conversionMode); - - HRESULT ( STDMETHODCALLTYPE *SetBlackVideoOutputDuringCapture )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BOOL blackOutInCapture); - - HRESULT ( STDMETHODCALLTYPE *GetBlackVideoOutputDuringCapture )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BOOL *blackOutInCapture); - - HRESULT ( STDMETHODCALLTYPE *Set32PulldownSequenceInitialTimecodeFrame )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ unsigned int aFrameTimecode); - - HRESULT ( STDMETHODCALLTYPE *Get32PulldownSequenceInitialTimecodeFrame )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ unsigned int *aFrameTimecode); - - HRESULT ( STDMETHODCALLTYPE *SetVancSourceLineMapping )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ unsigned int activeLine1VANCsource, - /* [in] */ unsigned int activeLine2VANCsource, - /* [in] */ unsigned int activeLine3VANCsource); - - HRESULT ( STDMETHODCALLTYPE *GetVancSourceLineMapping )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ unsigned int *activeLine1VANCsource, - /* [out] */ unsigned int *activeLine2VANCsource, - /* [out] */ unsigned int *activeLine3VANCsource); - - HRESULT ( STDMETHODCALLTYPE *SetAudioInputFormat )( - IDeckLinkConfiguration_v7_6 * This, - /* [in] */ BMDAudioConnection_v10_2 audioInputFormat); - - HRESULT ( STDMETHODCALLTYPE *GetAudioInputFormat )( - IDeckLinkConfiguration_v7_6 * This, - /* [out] */ BMDAudioConnection_v10_2 *audioInputFormat); - - END_INTERFACE - } IDeckLinkConfiguration_v7_6Vtbl; - - interface IDeckLinkConfiguration_v7_6 - { - CONST_VTBL struct IDeckLinkConfiguration_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkConfiguration_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkConfiguration_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkConfiguration_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkConfiguration_v7_6_GetConfigurationValidator(This,configObject) \ - ( (This)->lpVtbl -> GetConfigurationValidator(This,configObject) ) - -#define IDeckLinkConfiguration_v7_6_WriteConfigurationToPreferences(This) \ - ( (This)->lpVtbl -> WriteConfigurationToPreferences(This) ) - -#define IDeckLinkConfiguration_v7_6_SetVideoOutputFormat(This,videoOutputConnection) \ - ( (This)->lpVtbl -> SetVideoOutputFormat(This,videoOutputConnection) ) - -#define IDeckLinkConfiguration_v7_6_IsVideoOutputActive(This,videoOutputConnection,active) \ - ( (This)->lpVtbl -> IsVideoOutputActive(This,videoOutputConnection,active) ) - -#define IDeckLinkConfiguration_v7_6_SetAnalogVideoOutputFlags(This,analogVideoFlags) \ - ( (This)->lpVtbl -> SetAnalogVideoOutputFlags(This,analogVideoFlags) ) - -#define IDeckLinkConfiguration_v7_6_GetAnalogVideoOutputFlags(This,analogVideoFlags) \ - ( (This)->lpVtbl -> GetAnalogVideoOutputFlags(This,analogVideoFlags) ) - -#define IDeckLinkConfiguration_v7_6_EnableFieldFlickerRemovalWhenPaused(This,enable) \ - ( (This)->lpVtbl -> EnableFieldFlickerRemovalWhenPaused(This,enable) ) - -#define IDeckLinkConfiguration_v7_6_IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) \ - ( (This)->lpVtbl -> IsEnabledFieldFlickerRemovalWhenPaused(This,enabled) ) - -#define IDeckLinkConfiguration_v7_6_Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) \ - ( (This)->lpVtbl -> Set444And3GBpsVideoOutput(This,enable444VideoOutput,enable3GbsOutput) ) - -#define IDeckLinkConfiguration_v7_6_Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) \ - ( (This)->lpVtbl -> Get444And3GBpsVideoOutput(This,is444VideoOutputEnabled,threeGbsOutputEnabled) ) - -#define IDeckLinkConfiguration_v7_6_SetVideoOutputConversionMode(This,conversionMode) \ - ( (This)->lpVtbl -> SetVideoOutputConversionMode(This,conversionMode) ) - -#define IDeckLinkConfiguration_v7_6_GetVideoOutputConversionMode(This,conversionMode) \ - ( (This)->lpVtbl -> GetVideoOutputConversionMode(This,conversionMode) ) - -#define IDeckLinkConfiguration_v7_6_Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) \ - ( (This)->lpVtbl -> Set_HD1080p24_to_HD1080i5994_Conversion(This,enable) ) - -#define IDeckLinkConfiguration_v7_6_Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) \ - ( (This)->lpVtbl -> Get_HD1080p24_to_HD1080i5994_Conversion(This,enabled) ) - -#define IDeckLinkConfiguration_v7_6_SetVideoInputFormat(This,videoInputFormat) \ - ( (This)->lpVtbl -> SetVideoInputFormat(This,videoInputFormat) ) - -#define IDeckLinkConfiguration_v7_6_GetVideoInputFormat(This,videoInputFormat) \ - ( (This)->lpVtbl -> GetVideoInputFormat(This,videoInputFormat) ) - -#define IDeckLinkConfiguration_v7_6_SetAnalogVideoInputFlags(This,analogVideoFlags) \ - ( (This)->lpVtbl -> SetAnalogVideoInputFlags(This,analogVideoFlags) ) - -#define IDeckLinkConfiguration_v7_6_GetAnalogVideoInputFlags(This,analogVideoFlags) \ - ( (This)->lpVtbl -> GetAnalogVideoInputFlags(This,analogVideoFlags) ) - -#define IDeckLinkConfiguration_v7_6_SetVideoInputConversionMode(This,conversionMode) \ - ( (This)->lpVtbl -> SetVideoInputConversionMode(This,conversionMode) ) - -#define IDeckLinkConfiguration_v7_6_GetVideoInputConversionMode(This,conversionMode) \ - ( (This)->lpVtbl -> GetVideoInputConversionMode(This,conversionMode) ) - -#define IDeckLinkConfiguration_v7_6_SetBlackVideoOutputDuringCapture(This,blackOutInCapture) \ - ( (This)->lpVtbl -> SetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) - -#define IDeckLinkConfiguration_v7_6_GetBlackVideoOutputDuringCapture(This,blackOutInCapture) \ - ( (This)->lpVtbl -> GetBlackVideoOutputDuringCapture(This,blackOutInCapture) ) - -#define IDeckLinkConfiguration_v7_6_Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \ - ( (This)->lpVtbl -> Set32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) - -#define IDeckLinkConfiguration_v7_6_Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) \ - ( (This)->lpVtbl -> Get32PulldownSequenceInitialTimecodeFrame(This,aFrameTimecode) ) - -#define IDeckLinkConfiguration_v7_6_SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \ - ( (This)->lpVtbl -> SetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) - -#define IDeckLinkConfiguration_v7_6_GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) \ - ( (This)->lpVtbl -> GetVancSourceLineMapping(This,activeLine1VANCsource,activeLine2VANCsource,activeLine3VANCsource) ) - -#define IDeckLinkConfiguration_v7_6_SetAudioInputFormat(This,audioInputFormat) \ - ( (This)->lpVtbl -> SetAudioInputFormat(This,audioInputFormat) ) - -#define IDeckLinkConfiguration_v7_6_GetAudioInputFormat(This,audioInputFormat) \ - ( (This)->lpVtbl -> GetAudioInputFormat(This,audioInputFormat) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkConfiguration_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoOutputCallback_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("E763A626-4A3C-49D1-BF13-E7AD3692AE52") - IDeckLinkVideoOutputCallback_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( - /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame, - /* [in] */ BMDOutputFrameCompletionResult result) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped( void) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoOutputCallback_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoOutputCallback_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoOutputCallback_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoOutputCallback_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( - IDeckLinkVideoOutputCallback_v7_6 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *completedFrame, - /* [in] */ BMDOutputFrameCompletionResult result); - - HRESULT ( STDMETHODCALLTYPE *ScheduledPlaybackHasStopped )( - IDeckLinkVideoOutputCallback_v7_6 * This); - - END_INTERFACE - } IDeckLinkVideoOutputCallback_v7_6Vtbl; - - interface IDeckLinkVideoOutputCallback_v7_6 - { - CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoOutputCallback_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoOutputCallback_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoOutputCallback_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoOutputCallback_v7_6_ScheduledFrameCompleted(This,completedFrame,result) \ - ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) - -#define IDeckLinkVideoOutputCallback_v7_6_ScheduledPlaybackHasStopped(This) \ - ( (This)->lpVtbl -> ScheduledPlaybackHasStopped(This) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoOutputCallback_v7_6_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ -#define __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ - -/* interface IDeckLinkInputCallback_v7_6 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInputCallback_v7_6; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("31D28EE7-88B6-4CB1-897A-CDBF79A26414") - IDeckLinkInputCallback_v7_6 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( - /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, - /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, - /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( - /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInputCallback_v7_6Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInputCallback_v7_6 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInputCallback_v7_6 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInputCallback_v7_6 * This); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( - IDeckLinkInputCallback_v7_6 * This, - /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, - /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, - /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( - IDeckLinkInputCallback_v7_6 * This, - /* [in] */ IDeckLinkVideoInputFrame_v7_6 *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket *audioPacket); - - END_INTERFACE - } IDeckLinkInputCallback_v7_6Vtbl; - - interface IDeckLinkInputCallback_v7_6 - { - CONST_VTBL struct IDeckLinkInputCallback_v7_6Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInputCallback_v7_6_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInputCallback_v7_6_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInputCallback_v7_6_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInputCallback_v7_6_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ - ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) - -#define IDeckLinkInputCallback_v7_6_VideoInputFrameArrived(This,videoFrame,audioPacket) \ - ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInputCallback_v7_6_INTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_CDeckLinkGLScreenPreviewHelper_v7_6; - -#ifdef __cplusplus - -class DECLSPEC_UUID("D398CEE7-4434-4CA3-9BA6-5AE34556B905") -CDeckLinkGLScreenPreviewHelper_v7_6; -#endif - -EXTERN_C const CLSID CLSID_CDeckLinkVideoConversion_v7_6; - -#ifdef __cplusplus - -class DECLSPEC_UUID("FFA84F77-73BE-4FB7-B03E-B5E44B9F759B") -CDeckLinkVideoConversion_v7_6; -#endif - -#ifndef __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ -#define __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ - -/* interface IDeckLinkInputCallback_v7_3 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInputCallback_v7_3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FD6F311D-4D00-444B-9ED4-1F25B5730AD0") - IDeckLinkInputCallback_v7_3 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged( - /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, - /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, - /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( - /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket *audioPacket) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInputCallback_v7_3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInputCallback_v7_3 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInputCallback_v7_3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInputCallback_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFormatChanged )( - IDeckLinkInputCallback_v7_3 * This, - /* [in] */ BMDVideoInputFormatChangedEvents notificationEvents, - /* [in] */ IDeckLinkDisplayMode_v7_6 *newDisplayMode, - /* [in] */ BMDDetectedVideoInputFormatFlags detectedSignalFlags); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( - IDeckLinkInputCallback_v7_3 * This, - /* [in] */ IDeckLinkVideoInputFrame_v7_3 *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket *audioPacket); - - END_INTERFACE - } IDeckLinkInputCallback_v7_3Vtbl; - - interface IDeckLinkInputCallback_v7_3 - { - CONST_VTBL struct IDeckLinkInputCallback_v7_3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInputCallback_v7_3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInputCallback_v7_3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInputCallback_v7_3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInputCallback_v7_3_VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) \ - ( (This)->lpVtbl -> VideoInputFormatChanged(This,notificationEvents,newDisplayMode,detectedSignalFlags) ) - -#define IDeckLinkInputCallback_v7_3_VideoInputFrameArrived(This,videoFrame,audioPacket) \ - ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInputCallback_v7_3_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ -#define __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ - -/* interface IDeckLinkOutput_v7_3 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkOutput_v7_3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("271C65E3-C323-4344-A30F-D908BCB20AA3") - IDeckLinkOutput_v7_3 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( - BMDDisplayMode displayMode, - BMDVideoOutputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( - /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateAncillaryData( - BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( - /* [in] */ IDeckLinkVideoOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedVideoFrameCount( - /* [out] */ unsigned int *bufferedFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount, - BMDAudioOutputStreamType streamType) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned int *bufferedSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( - /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( - BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsScheduledPlaybackRunning( - /* [out] */ BOOL *active) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkOutput_v7_3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkOutput_v7_3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkOutput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkOutput_v7_3 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkOutput_v7_3 * This, - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( - IDeckLinkOutput_v7_3 * This, - BMDDisplayMode displayMode, - BMDVideoOutputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( - IDeckLinkOutput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - - HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( - IDeckLinkOutput_v7_3 * This, - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - /* [out] */ IDeckLinkMutableVideoFrame_v7_6 **outFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateAncillaryData )( - IDeckLinkOutput_v7_3 * This, - BMDPixelFormat pixelFormat, - /* [out] */ IDeckLinkVideoFrameAncillary **outBuffer); - - HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame); - - HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ IDeckLinkVideoFrame_v7_6 *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ IDeckLinkVideoOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedVideoFrameCount )( - IDeckLinkOutput_v7_3 * This, - /* [out] */ unsigned int *bufferedFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( - IDeckLinkOutput_v7_3 * This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount, - BMDAudioOutputStreamType streamType); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( - IDeckLinkOutput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( - IDeckLinkOutput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( - IDeckLinkOutput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( - IDeckLinkOutput_v7_3 * This, - /* [out] */ unsigned int *bufferedSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( - IDeckLinkOutput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( - IDeckLinkOutput_v7_3 * This, - /* [in] */ IDeckLinkAudioOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( - IDeckLinkOutput_v7_3 * This, - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( - IDeckLinkOutput_v7_3 * This, - BMDTimeValue stopPlaybackAtTime, - /* [out] */ BMDTimeValue *actualStopTime, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *IsScheduledPlaybackRunning )( - IDeckLinkOutput_v7_3 * This, - /* [out] */ BOOL *active); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkOutput_v7_3 * This, - BMDTimeScale desiredTimeScale, - /* [out] */ BMDTimeValue *elapsedTimeSinceSchedulerBegan); - - END_INTERFACE - } IDeckLinkOutput_v7_3Vtbl; - - interface IDeckLinkOutput_v7_3 - { - CONST_VTBL struct IDeckLinkOutput_v7_3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkOutput_v7_3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkOutput_v7_3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkOutput_v7_3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkOutput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) - -#define IDeckLinkOutput_v7_3_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkOutput_v7_3_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkOutput_v7_3_EnableVideoOutput(This,displayMode,flags) \ - ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode,flags) ) - -#define IDeckLinkOutput_v7_3_DisableVideoOutput(This) \ - ( (This)->lpVtbl -> DisableVideoOutput(This) ) - -#define IDeckLinkOutput_v7_3_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ - ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) - -#define IDeckLinkOutput_v7_3_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ - ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) - -#define IDeckLinkOutput_v7_3_CreateAncillaryData(This,pixelFormat,outBuffer) \ - ( (This)->lpVtbl -> CreateAncillaryData(This,pixelFormat,outBuffer) ) - -#define IDeckLinkOutput_v7_3_DisplayVideoFrameSync(This,theFrame) \ - ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) - -#define IDeckLinkOutput_v7_3_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ - ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) - -#define IDeckLinkOutput_v7_3_SetScheduledFrameCompletionCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) - -#define IDeckLinkOutput_v7_3_GetBufferedVideoFrameCount(This,bufferedFrameCount) \ - ( (This)->lpVtbl -> GetBufferedVideoFrameCount(This,bufferedFrameCount) ) - -#define IDeckLinkOutput_v7_3_EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) \ - ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount,streamType) ) - -#define IDeckLinkOutput_v7_3_DisableAudioOutput(This) \ - ( (This)->lpVtbl -> DisableAudioOutput(This) ) - -#define IDeckLinkOutput_v7_3_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ - ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) - -#define IDeckLinkOutput_v7_3_BeginAudioPreroll(This) \ - ( (This)->lpVtbl -> BeginAudioPreroll(This) ) - -#define IDeckLinkOutput_v7_3_EndAudioPreroll(This) \ - ( (This)->lpVtbl -> EndAudioPreroll(This) ) - -#define IDeckLinkOutput_v7_3_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ - ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) - -#define IDeckLinkOutput_v7_3_GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) \ - ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleFrameCount) ) - -#define IDeckLinkOutput_v7_3_FlushBufferedAudioSamples(This) \ - ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) - -#define IDeckLinkOutput_v7_3_SetAudioCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) - -#define IDeckLinkOutput_v7_3_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ - ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) - -#define IDeckLinkOutput_v7_3_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ - ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) - -#define IDeckLinkOutput_v7_3_IsScheduledPlaybackRunning(This,active) \ - ( (This)->lpVtbl -> IsScheduledPlaybackRunning(This,active) ) - -#define IDeckLinkOutput_v7_3_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkOutput_v7_3_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ -#define __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ - -/* interface IDeckLinkInput_v7_3 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInput_v7_3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("4973F012-9925-458C-871C-18774CDBBECB") - IDeckLinkInput_v7_3 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScreenPreviewCallback( - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableVideoFrameCount( - /* [out] */ unsigned int *availableFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAvailableAudioSampleFrameCount( - /* [out] */ unsigned int *availableSampleFrameCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInput_v7_3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInput_v7_3 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInput_v7_3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkInput_v7_3 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkInput_v7_3 * This, - /* [out] */ IDeckLinkDisplayModeIterator_v7_6 **iterator); - - HRESULT ( STDMETHODCALLTYPE *SetScreenPreviewCallback )( - IDeckLinkInput_v7_3 * This, - /* [in] */ IDeckLinkScreenPreviewCallback *previewCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( - IDeckLinkInput_v7_3 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableVideoFrameCount )( - IDeckLinkInput_v7_3 * This, - /* [out] */ unsigned int *availableFrameCount); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( - IDeckLinkInput_v7_3 * This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetAvailableAudioSampleFrameCount )( - IDeckLinkInput_v7_3 * This, - /* [out] */ unsigned int *availableSampleFrameCount); - - HRESULT ( STDMETHODCALLTYPE *StartStreams )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *StopStreams )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *PauseStreams )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *FlushStreams )( - IDeckLinkInput_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkInput_v7_3 * This, - /* [in] */ IDeckLinkInputCallback_v7_3 *theCallback); - - END_INTERFACE - } IDeckLinkInput_v7_3Vtbl; - - interface IDeckLinkInput_v7_3 - { - CONST_VTBL struct IDeckLinkInput_v7_3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInput_v7_3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInput_v7_3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInput_v7_3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInput_v7_3_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) - -#define IDeckLinkInput_v7_3_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkInput_v7_3_SetScreenPreviewCallback(This,previewCallback) \ - ( (This)->lpVtbl -> SetScreenPreviewCallback(This,previewCallback) ) - -#define IDeckLinkInput_v7_3_EnableVideoInput(This,displayMode,pixelFormat,flags) \ - ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) - -#define IDeckLinkInput_v7_3_DisableVideoInput(This) \ - ( (This)->lpVtbl -> DisableVideoInput(This) ) - -#define IDeckLinkInput_v7_3_GetAvailableVideoFrameCount(This,availableFrameCount) \ - ( (This)->lpVtbl -> GetAvailableVideoFrameCount(This,availableFrameCount) ) - -#define IDeckLinkInput_v7_3_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ - ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) - -#define IDeckLinkInput_v7_3_DisableAudioInput(This) \ - ( (This)->lpVtbl -> DisableAudioInput(This) ) - -#define IDeckLinkInput_v7_3_GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) \ - ( (This)->lpVtbl -> GetAvailableAudioSampleFrameCount(This,availableSampleFrameCount) ) - -#define IDeckLinkInput_v7_3_StartStreams(This) \ - ( (This)->lpVtbl -> StartStreams(This) ) - -#define IDeckLinkInput_v7_3_StopStreams(This) \ - ( (This)->lpVtbl -> StopStreams(This) ) - -#define IDeckLinkInput_v7_3_PauseStreams(This) \ - ( (This)->lpVtbl -> PauseStreams(This) ) - -#define IDeckLinkInput_v7_3_FlushStreams(This) \ - ( (This)->lpVtbl -> FlushStreams(This) ) - -#define IDeckLinkInput_v7_3_SetCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetCallback(This,theCallback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInput_v7_3_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ -#define __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoInputFrame_v7_3 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_3; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("CF317790-2894-11DE-8C30-0800200C9A66") - IDeckLinkVideoInputFrame_v7_3 : public IDeckLinkVideoFrame_v7_6 - { - public: - virtual HRESULT STDMETHODCALLTYPE GetStreamTime( - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration, - BMDTimeScale timeScale) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoInputFrame_v7_3Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoInputFrame_v7_3 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoInputFrame_v7_3 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoInputFrame_v7_3 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoInputFrame_v7_3 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoInputFrame_v7_3 * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoInputFrame_v7_3 * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoInputFrame_v7_3 * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoInputFrame_v7_3 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoInputFrame_v7_3 * This, - /* [out] */ void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetTimecode )( - IDeckLinkVideoInputFrame_v7_3 * This, - BMDTimecodeFormat format, - /* [out] */ IDeckLinkTimecode_v7_6 **timecode); - - HRESULT ( STDMETHODCALLTYPE *GetAncillaryData )( - IDeckLinkVideoInputFrame_v7_3 * This, - /* [out] */ IDeckLinkVideoFrameAncillary **ancillary); - - HRESULT ( STDMETHODCALLTYPE *GetStreamTime )( - IDeckLinkVideoInputFrame_v7_3 * This, - /* [out] */ BMDTimeValue *frameTime, - /* [out] */ BMDTimeValue *frameDuration, - BMDTimeScale timeScale); - - END_INTERFACE - } IDeckLinkVideoInputFrame_v7_3Vtbl; - - interface IDeckLinkVideoInputFrame_v7_3 - { - CONST_VTBL struct IDeckLinkVideoInputFrame_v7_3Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoInputFrame_v7_3_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoInputFrame_v7_3_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoInputFrame_v7_3_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoInputFrame_v7_3_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetTimecode(This,format,timecode) \ - ( (This)->lpVtbl -> GetTimecode(This,format,timecode) ) - -#define IDeckLinkVideoInputFrame_v7_3_GetAncillaryData(This,ancillary) \ - ( (This)->lpVtbl -> GetAncillaryData(This,ancillary) ) - - -#define IDeckLinkVideoInputFrame_v7_3_GetStreamTime(This,frameTime,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetStreamTime(This,frameTime,frameDuration,timeScale) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoInputFrame_v7_3_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkDisplayModeIterator_v7_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDisplayModeIterator_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("B28131B6-59AC-4857-B5AC-CD75D5883E2F") - IDeckLinkDisplayModeIterator_v7_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE Next( - /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDisplayModeIterator_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDisplayModeIterator_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDisplayModeIterator_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDisplayModeIterator_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *Next )( - IDeckLinkDisplayModeIterator_v7_1 * This, - /* [out] */ IDeckLinkDisplayMode_v7_1 **deckLinkDisplayMode); - - END_INTERFACE - } IDeckLinkDisplayModeIterator_v7_1Vtbl; - - interface IDeckLinkDisplayModeIterator_v7_1 - { - CONST_VTBL struct IDeckLinkDisplayModeIterator_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDisplayModeIterator_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDisplayModeIterator_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDisplayModeIterator_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDisplayModeIterator_v7_1_Next(This,deckLinkDisplayMode) \ - ( (This)->lpVtbl -> Next(This,deckLinkDisplayMode) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDisplayModeIterator_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkDisplayMode_v7_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkDisplayMode_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("AF0CD6D5-8376-435E-8433-54F9DD530AC3") - IDeckLinkDisplayMode_v7_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE GetName( - /* [out] */ BSTR *name) = 0; - - virtual BMDDisplayMode STDMETHODCALLTYPE GetDisplayMode( void) = 0; - - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; - - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFrameRate( - /* [out] */ BMDTimeValue *frameDuration, - /* [out] */ BMDTimeScale *timeScale) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkDisplayMode_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkDisplayMode_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkDisplayMode_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkDisplayMode_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *GetName )( - IDeckLinkDisplayMode_v7_1 * This, - /* [out] */ BSTR *name); - - BMDDisplayMode ( STDMETHODCALLTYPE *GetDisplayMode )( - IDeckLinkDisplayMode_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkDisplayMode_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkDisplayMode_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *GetFrameRate )( - IDeckLinkDisplayMode_v7_1 * This, - /* [out] */ BMDTimeValue *frameDuration, - /* [out] */ BMDTimeScale *timeScale); - - END_INTERFACE - } IDeckLinkDisplayMode_v7_1Vtbl; - - interface IDeckLinkDisplayMode_v7_1 - { - CONST_VTBL struct IDeckLinkDisplayMode_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkDisplayMode_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkDisplayMode_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkDisplayMode_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkDisplayMode_v7_1_GetName(This,name) \ - ( (This)->lpVtbl -> GetName(This,name) ) - -#define IDeckLinkDisplayMode_v7_1_GetDisplayMode(This) \ - ( (This)->lpVtbl -> GetDisplayMode(This) ) - -#define IDeckLinkDisplayMode_v7_1_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkDisplayMode_v7_1_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkDisplayMode_v7_1_GetFrameRate(This,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetFrameRate(This,frameDuration,timeScale) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkDisplayMode_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoFrame_v7_1 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoFrame_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("333F3A10-8C2D-43CF-B79D-46560FEEA1CE") - IDeckLinkVideoFrame_v7_1 : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetWidth( void) = 0; - - virtual long STDMETHODCALLTYPE GetHeight( void) = 0; - - virtual long STDMETHODCALLTYPE GetRowBytes( void) = 0; - - virtual BMDPixelFormat STDMETHODCALLTYPE GetPixelFormat( void) = 0; - - virtual BMDFrameFlags STDMETHODCALLTYPE GetFlags( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - void **buffer) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoFrame_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoFrame_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoFrame_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoFrame_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoFrame_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoFrame_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoFrame_v7_1 * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoFrame_v7_1 * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoFrame_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoFrame_v7_1 * This, - void **buffer); - - END_INTERFACE - } IDeckLinkVideoFrame_v7_1Vtbl; - - interface IDeckLinkVideoFrame_v7_1 - { - CONST_VTBL struct IDeckLinkVideoFrame_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoFrame_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoFrame_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoFrame_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoFrame_v7_1_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoFrame_v7_1_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoFrame_v7_1_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoFrame_v7_1_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoFrame_v7_1_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoFrame_v7_1_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoFrame_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoInputFrame_v7_1 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoInputFrame_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C8B41D95-8848-40EE-9B37-6E3417FB114B") - IDeckLinkVideoInputFrame_v7_1 : public IDeckLinkVideoFrame_v7_1 - { - public: - virtual HRESULT STDMETHODCALLTYPE GetFrameTime( - BMDTimeValue *frameTime, - BMDTimeValue *frameDuration, - BMDTimeScale timeScale) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoInputFrame_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoInputFrame_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoInputFrame_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoInputFrame_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetWidth )( - IDeckLinkVideoInputFrame_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetHeight )( - IDeckLinkVideoInputFrame_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetRowBytes )( - IDeckLinkVideoInputFrame_v7_1 * This); - - BMDPixelFormat ( STDMETHODCALLTYPE *GetPixelFormat )( - IDeckLinkVideoInputFrame_v7_1 * This); - - BMDFrameFlags ( STDMETHODCALLTYPE *GetFlags )( - IDeckLinkVideoInputFrame_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkVideoInputFrame_v7_1 * This, - void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetFrameTime )( - IDeckLinkVideoInputFrame_v7_1 * This, - BMDTimeValue *frameTime, - BMDTimeValue *frameDuration, - BMDTimeScale timeScale); - - END_INTERFACE - } IDeckLinkVideoInputFrame_v7_1Vtbl; - - interface IDeckLinkVideoInputFrame_v7_1 - { - CONST_VTBL struct IDeckLinkVideoInputFrame_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoInputFrame_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoInputFrame_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoInputFrame_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoInputFrame_v7_1_GetWidth(This) \ - ( (This)->lpVtbl -> GetWidth(This) ) - -#define IDeckLinkVideoInputFrame_v7_1_GetHeight(This) \ - ( (This)->lpVtbl -> GetHeight(This) ) - -#define IDeckLinkVideoInputFrame_v7_1_GetRowBytes(This) \ - ( (This)->lpVtbl -> GetRowBytes(This) ) - -#define IDeckLinkVideoInputFrame_v7_1_GetPixelFormat(This) \ - ( (This)->lpVtbl -> GetPixelFormat(This) ) - -#define IDeckLinkVideoInputFrame_v7_1_GetFlags(This) \ - ( (This)->lpVtbl -> GetFlags(This) ) - -#define IDeckLinkVideoInputFrame_v7_1_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - - -#define IDeckLinkVideoInputFrame_v7_1_GetFrameTime(This,frameTime,frameDuration,timeScale) \ - ( (This)->lpVtbl -> GetFrameTime(This,frameTime,frameDuration,timeScale) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoInputFrame_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkAudioInputPacket_v7_1 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkAudioInputPacket_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("C86DE4F6-A29F-42E3-AB3A-1363E29F0788") - IDeckLinkAudioInputPacket_v7_1 : public IUnknown - { - public: - virtual long STDMETHODCALLTYPE GetSampleCount( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBytes( - void **buffer) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetAudioPacketTime( - BMDTimeValue *packetTime, - BMDTimeScale timeScale) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkAudioInputPacket_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkAudioInputPacket_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkAudioInputPacket_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkAudioInputPacket_v7_1 * This); - - long ( STDMETHODCALLTYPE *GetSampleCount )( - IDeckLinkAudioInputPacket_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *GetBytes )( - IDeckLinkAudioInputPacket_v7_1 * This, - void **buffer); - - HRESULT ( STDMETHODCALLTYPE *GetAudioPacketTime )( - IDeckLinkAudioInputPacket_v7_1 * This, - BMDTimeValue *packetTime, - BMDTimeScale timeScale); - - END_INTERFACE - } IDeckLinkAudioInputPacket_v7_1Vtbl; - - interface IDeckLinkAudioInputPacket_v7_1 - { - CONST_VTBL struct IDeckLinkAudioInputPacket_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkAudioInputPacket_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkAudioInputPacket_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkAudioInputPacket_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkAudioInputPacket_v7_1_GetSampleCount(This) \ - ( (This)->lpVtbl -> GetSampleCount(This) ) - -#define IDeckLinkAudioInputPacket_v7_1_GetBytes(This,buffer) \ - ( (This)->lpVtbl -> GetBytes(This,buffer) ) - -#define IDeckLinkAudioInputPacket_v7_1_GetAudioPacketTime(This,packetTime,timeScale) \ - ( (This)->lpVtbl -> GetAudioPacketTime(This,packetTime,timeScale) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkAudioInputPacket_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkVideoOutputCallback_v7_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkVideoOutputCallback_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("EBD01AFA-E4B0-49C6-A01D-EDB9D1B55FD9") - IDeckLinkVideoOutputCallback_v7_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted( - /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame, - /* [in] */ BMDOutputFrameCompletionResult result) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkVideoOutputCallback_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkVideoOutputCallback_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkVideoOutputCallback_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkVideoOutputCallback_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduledFrameCompleted )( - IDeckLinkVideoOutputCallback_v7_1 * This, - /* [in] */ IDeckLinkVideoFrame_v7_1 *completedFrame, - /* [in] */ BMDOutputFrameCompletionResult result); - - END_INTERFACE - } IDeckLinkVideoOutputCallback_v7_1Vtbl; - - interface IDeckLinkVideoOutputCallback_v7_1 - { - CONST_VTBL struct IDeckLinkVideoOutputCallback_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkVideoOutputCallback_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkVideoOutputCallback_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkVideoOutputCallback_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkVideoOutputCallback_v7_1_ScheduledFrameCompleted(This,completedFrame,result) \ - ( (This)->lpVtbl -> ScheduledFrameCompleted(This,completedFrame,result) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkVideoOutputCallback_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkInputCallback_v7_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInputCallback_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("7F94F328-5ED4-4E9F-9729-76A86BDC99CC") - IDeckLinkInputCallback_v7_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived( - /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInputCallback_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInputCallback_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInputCallback_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInputCallback_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *VideoInputFrameArrived )( - IDeckLinkInputCallback_v7_1 * This, - /* [in] */ IDeckLinkVideoInputFrame_v7_1 *videoFrame, - /* [in] */ IDeckLinkAudioInputPacket_v7_1 *audioPacket); - - END_INTERFACE - } IDeckLinkInputCallback_v7_1Vtbl; - - interface IDeckLinkInputCallback_v7_1 - { - CONST_VTBL struct IDeckLinkInputCallback_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInputCallback_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInputCallback_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInputCallback_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInputCallback_v7_1_VideoInputFrameArrived(This,videoFrame,audioPacket) \ - ( (This)->lpVtbl -> VideoInputFrameArrived(This,videoFrame,audioPacket) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInputCallback_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkOutput_v7_1 */ -/* [helpstring][local][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkOutput_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("AE5B3E9B-4E1E-4535-B6E8-480FF52F6CE5") - IDeckLinkOutput_v7_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoOutput( - BMDDisplayMode displayMode) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetVideoOutputFrameMemoryAllocator( - /* [in] */ IDeckLinkMemoryAllocator *theAllocator) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrame( - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - IDeckLinkVideoFrame_v7_1 **outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateVideoFrameFromBuffer( - void *buffer, - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - IDeckLinkVideoFrame_v7_1 **outFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisplayVideoFrameSync( - IDeckLinkVideoFrame_v7_1 *theFrame) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleVideoFrame( - IDeckLinkVideoFrame_v7_1 *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetScheduledFrameCompletionCallback( - /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioOutput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioOutput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE WriteAudioSamplesSync( - void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE BeginAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndAudioPreroll( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ScheduleAudioSamples( - void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned int *bufferedSampleCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE FlushBufferedAudioSamples( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetAudioCallback( - /* [in] */ IDeckLinkAudioOutputCallback *theCallback) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartScheduledPlayback( - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopScheduledPlayback( - BMDTimeValue stopPlaybackAtTime, - BMDTimeValue *actualStopTime, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetHardwareReferenceClock( - BMDTimeScale desiredTimeScale, - BMDTimeValue *elapsedTimeSinceSchedulerBegan) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkOutput_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkOutput_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkOutput_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkOutput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkOutput_v7_1 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkOutput_v7_1 * This, - /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoOutput )( - IDeckLinkOutput_v7_1 * This, - BMDDisplayMode displayMode); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoOutput )( - IDeckLinkOutput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *SetVideoOutputFrameMemoryAllocator )( - IDeckLinkOutput_v7_1 * This, - /* [in] */ IDeckLinkMemoryAllocator *theAllocator); - - HRESULT ( STDMETHODCALLTYPE *CreateVideoFrame )( - IDeckLinkOutput_v7_1 * This, - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - IDeckLinkVideoFrame_v7_1 **outFrame); - - HRESULT ( STDMETHODCALLTYPE *CreateVideoFrameFromBuffer )( - IDeckLinkOutput_v7_1 * This, - void *buffer, - int width, - int height, - int rowBytes, - BMDPixelFormat pixelFormat, - BMDFrameFlags flags, - IDeckLinkVideoFrame_v7_1 **outFrame); - - HRESULT ( STDMETHODCALLTYPE *DisplayVideoFrameSync )( - IDeckLinkOutput_v7_1 * This, - IDeckLinkVideoFrame_v7_1 *theFrame); - - HRESULT ( STDMETHODCALLTYPE *ScheduleVideoFrame )( - IDeckLinkOutput_v7_1 * This, - IDeckLinkVideoFrame_v7_1 *theFrame, - BMDTimeValue displayTime, - BMDTimeValue displayDuration, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *SetScheduledFrameCompletionCallback )( - IDeckLinkOutput_v7_1 * This, - /* [in] */ IDeckLinkVideoOutputCallback_v7_1 *theCallback); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioOutput )( - IDeckLinkOutput_v7_1 * This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioOutput )( - IDeckLinkOutput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *WriteAudioSamplesSync )( - IDeckLinkOutput_v7_1 * This, - void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *BeginAudioPreroll )( - IDeckLinkOutput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *EndAudioPreroll )( - IDeckLinkOutput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *ScheduleAudioSamples )( - IDeckLinkOutput_v7_1 * This, - void *buffer, - unsigned int sampleFrameCount, - BMDTimeValue streamTime, - BMDTimeScale timeScale, - /* [out] */ unsigned int *sampleFramesWritten); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( - IDeckLinkOutput_v7_1 * This, - /* [out] */ unsigned int *bufferedSampleCount); - - HRESULT ( STDMETHODCALLTYPE *FlushBufferedAudioSamples )( - IDeckLinkOutput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *SetAudioCallback )( - IDeckLinkOutput_v7_1 * This, - /* [in] */ IDeckLinkAudioOutputCallback *theCallback); - - HRESULT ( STDMETHODCALLTYPE *StartScheduledPlayback )( - IDeckLinkOutput_v7_1 * This, - BMDTimeValue playbackStartTime, - BMDTimeScale timeScale, - double playbackSpeed); - - HRESULT ( STDMETHODCALLTYPE *StopScheduledPlayback )( - IDeckLinkOutput_v7_1 * This, - BMDTimeValue stopPlaybackAtTime, - BMDTimeValue *actualStopTime, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *GetHardwareReferenceClock )( - IDeckLinkOutput_v7_1 * This, - BMDTimeScale desiredTimeScale, - BMDTimeValue *elapsedTimeSinceSchedulerBegan); - - END_INTERFACE - } IDeckLinkOutput_v7_1Vtbl; - - interface IDeckLinkOutput_v7_1 - { - CONST_VTBL struct IDeckLinkOutput_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkOutput_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkOutput_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkOutput_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkOutput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) - -#define IDeckLinkOutput_v7_1_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkOutput_v7_1_EnableVideoOutput(This,displayMode) \ - ( (This)->lpVtbl -> EnableVideoOutput(This,displayMode) ) - -#define IDeckLinkOutput_v7_1_DisableVideoOutput(This) \ - ( (This)->lpVtbl -> DisableVideoOutput(This) ) - -#define IDeckLinkOutput_v7_1_SetVideoOutputFrameMemoryAllocator(This,theAllocator) \ - ( (This)->lpVtbl -> SetVideoOutputFrameMemoryAllocator(This,theAllocator) ) - -#define IDeckLinkOutput_v7_1_CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) \ - ( (This)->lpVtbl -> CreateVideoFrame(This,width,height,rowBytes,pixelFormat,flags,outFrame) ) - -#define IDeckLinkOutput_v7_1_CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) \ - ( (This)->lpVtbl -> CreateVideoFrameFromBuffer(This,buffer,width,height,rowBytes,pixelFormat,flags,outFrame) ) - -#define IDeckLinkOutput_v7_1_DisplayVideoFrameSync(This,theFrame) \ - ( (This)->lpVtbl -> DisplayVideoFrameSync(This,theFrame) ) - -#define IDeckLinkOutput_v7_1_ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) \ - ( (This)->lpVtbl -> ScheduleVideoFrame(This,theFrame,displayTime,displayDuration,timeScale) ) - -#define IDeckLinkOutput_v7_1_SetScheduledFrameCompletionCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetScheduledFrameCompletionCallback(This,theCallback) ) - -#define IDeckLinkOutput_v7_1_EnableAudioOutput(This,sampleRate,sampleType,channelCount) \ - ( (This)->lpVtbl -> EnableAudioOutput(This,sampleRate,sampleType,channelCount) ) - -#define IDeckLinkOutput_v7_1_DisableAudioOutput(This) \ - ( (This)->lpVtbl -> DisableAudioOutput(This) ) - -#define IDeckLinkOutput_v7_1_WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) \ - ( (This)->lpVtbl -> WriteAudioSamplesSync(This,buffer,sampleFrameCount,sampleFramesWritten) ) - -#define IDeckLinkOutput_v7_1_BeginAudioPreroll(This) \ - ( (This)->lpVtbl -> BeginAudioPreroll(This) ) - -#define IDeckLinkOutput_v7_1_EndAudioPreroll(This) \ - ( (This)->lpVtbl -> EndAudioPreroll(This) ) - -#define IDeckLinkOutput_v7_1_ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) \ - ( (This)->lpVtbl -> ScheduleAudioSamples(This,buffer,sampleFrameCount,streamTime,timeScale,sampleFramesWritten) ) - -#define IDeckLinkOutput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \ - ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) - -#define IDeckLinkOutput_v7_1_FlushBufferedAudioSamples(This) \ - ( (This)->lpVtbl -> FlushBufferedAudioSamples(This) ) - -#define IDeckLinkOutput_v7_1_SetAudioCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetAudioCallback(This,theCallback) ) - -#define IDeckLinkOutput_v7_1_StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) \ - ( (This)->lpVtbl -> StartScheduledPlayback(This,playbackStartTime,timeScale,playbackSpeed) ) - -#define IDeckLinkOutput_v7_1_StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) \ - ( (This)->lpVtbl -> StopScheduledPlayback(This,stopPlaybackAtTime,actualStopTime,timeScale) ) - -#define IDeckLinkOutput_v7_1_GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) \ - ( (This)->lpVtbl -> GetHardwareReferenceClock(This,desiredTimeScale,elapsedTimeSinceSchedulerBegan) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkOutput_v7_1_INTERFACE_DEFINED__ */ - - -#ifndef __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ -#define __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ - -/* interface IDeckLinkInput_v7_1 */ -/* [helpstring][uuid][object] */ - - -EXTERN_C const IID IID_IDeckLinkInput_v7_1; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("2B54EDEF-5B32-429F-BA11-BB990596EACD") - IDeckLinkInput_v7_1 : public IUnknown - { - public: - virtual HRESULT STDMETHODCALLTYPE DoesSupportVideoMode( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetDisplayModeIterator( - /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableVideoInput( - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableVideoInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnableAudioInput( - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE DisableAudioInput( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReadAudioSamples( - void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesRead, - /* [out] */ BMDTimeValue *audioPacketTime, - BMDTimeScale timeScale) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetBufferedAudioSampleFrameCount( - /* [out] */ unsigned int *bufferedSampleCount) = 0; - - virtual HRESULT STDMETHODCALLTYPE StartStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE StopStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE PauseStreams( void) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetCallback( - /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback) = 0; - - }; - - -#else /* C style interface */ - - typedef struct IDeckLinkInput_v7_1Vtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - IDeckLinkInput_v7_1 * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - _COM_Outptr_ void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - IDeckLinkInput_v7_1 * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - IDeckLinkInput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *DoesSupportVideoMode )( - IDeckLinkInput_v7_1 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - /* [out] */ BMDDisplayModeSupport *result); - - HRESULT ( STDMETHODCALLTYPE *GetDisplayModeIterator )( - IDeckLinkInput_v7_1 * This, - /* [out] */ IDeckLinkDisplayModeIterator_v7_1 **iterator); - - HRESULT ( STDMETHODCALLTYPE *EnableVideoInput )( - IDeckLinkInput_v7_1 * This, - BMDDisplayMode displayMode, - BMDPixelFormat pixelFormat, - BMDVideoInputFlags flags); - - HRESULT ( STDMETHODCALLTYPE *DisableVideoInput )( - IDeckLinkInput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *EnableAudioInput )( - IDeckLinkInput_v7_1 * This, - BMDAudioSampleRate sampleRate, - BMDAudioSampleType sampleType, - unsigned int channelCount); - - HRESULT ( STDMETHODCALLTYPE *DisableAudioInput )( - IDeckLinkInput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *ReadAudioSamples )( - IDeckLinkInput_v7_1 * This, - void *buffer, - unsigned int sampleFrameCount, - /* [out] */ unsigned int *sampleFramesRead, - /* [out] */ BMDTimeValue *audioPacketTime, - BMDTimeScale timeScale); - - HRESULT ( STDMETHODCALLTYPE *GetBufferedAudioSampleFrameCount )( - IDeckLinkInput_v7_1 * This, - /* [out] */ unsigned int *bufferedSampleCount); - - HRESULT ( STDMETHODCALLTYPE *StartStreams )( - IDeckLinkInput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *StopStreams )( - IDeckLinkInput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *PauseStreams )( - IDeckLinkInput_v7_1 * This); - - HRESULT ( STDMETHODCALLTYPE *SetCallback )( - IDeckLinkInput_v7_1 * This, - /* [in] */ IDeckLinkInputCallback_v7_1 *theCallback); - - END_INTERFACE - } IDeckLinkInput_v7_1Vtbl; - - interface IDeckLinkInput_v7_1 - { - CONST_VTBL struct IDeckLinkInput_v7_1Vtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define IDeckLinkInput_v7_1_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define IDeckLinkInput_v7_1_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define IDeckLinkInput_v7_1_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define IDeckLinkInput_v7_1_DoesSupportVideoMode(This,displayMode,pixelFormat,result) \ - ( (This)->lpVtbl -> DoesSupportVideoMode(This,displayMode,pixelFormat,result) ) - -#define IDeckLinkInput_v7_1_GetDisplayModeIterator(This,iterator) \ - ( (This)->lpVtbl -> GetDisplayModeIterator(This,iterator) ) - -#define IDeckLinkInput_v7_1_EnableVideoInput(This,displayMode,pixelFormat,flags) \ - ( (This)->lpVtbl -> EnableVideoInput(This,displayMode,pixelFormat,flags) ) - -#define IDeckLinkInput_v7_1_DisableVideoInput(This) \ - ( (This)->lpVtbl -> DisableVideoInput(This) ) - -#define IDeckLinkInput_v7_1_EnableAudioInput(This,sampleRate,sampleType,channelCount) \ - ( (This)->lpVtbl -> EnableAudioInput(This,sampleRate,sampleType,channelCount) ) - -#define IDeckLinkInput_v7_1_DisableAudioInput(This) \ - ( (This)->lpVtbl -> DisableAudioInput(This) ) - -#define IDeckLinkInput_v7_1_ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) \ - ( (This)->lpVtbl -> ReadAudioSamples(This,buffer,sampleFrameCount,sampleFramesRead,audioPacketTime,timeScale) ) - -#define IDeckLinkInput_v7_1_GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) \ - ( (This)->lpVtbl -> GetBufferedAudioSampleFrameCount(This,bufferedSampleCount) ) - -#define IDeckLinkInput_v7_1_StartStreams(This) \ - ( (This)->lpVtbl -> StartStreams(This) ) - -#define IDeckLinkInput_v7_1_StopStreams(This) \ - ( (This)->lpVtbl -> StopStreams(This) ) - -#define IDeckLinkInput_v7_1_PauseStreams(This) \ - ( (This)->lpVtbl -> PauseStreams(This) ) - -#define IDeckLinkInput_v7_1_SetCallback(This,theCallback) \ - ( (This)->lpVtbl -> SetCallback(This,theCallback) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - - - -#endif /* __IDeckLinkInput_v7_1_INTERFACE_DEFINED__ */ - -#endif /* __DeckLinkAPI_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/intern/decklink/win/DeckLinkAPI_i.c b/intern/decklink/win/DeckLinkAPI_i.c deleted file mode 100644 index a13d486aae8..00000000000 --- a/intern/decklink/win/DeckLinkAPI_i.c +++ /dev/null @@ -1,343 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */ - -/* link this file in with the server and any clients */ - - - /* File created by MIDL compiler version 8.00.0603 */ -/* at Mon Apr 13 20:57:05 2015 - */ -/* Compiler settings for ..\..\include\DeckLinkAPI.idl: - Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0603 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - -#include <rpc.h> -#include <rpcndr.h> - -#ifdef _MIDL_USE_GUIDDEF_ - -#ifndef INITGUID -#define INITGUID -#include <guiddef.h> -#undef INITGUID -#else -#include <guiddef.h> -#endif - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) - -#else // !_MIDL_USE_GUIDDEF_ - -#ifndef __IID_DEFINED__ -#define __IID_DEFINED__ - -typedef struct _IID -{ - unsigned long x; - unsigned short s1; - unsigned short s2; - unsigned char c[8]; -} IID; - -#endif // __IID_DEFINED__ - -#ifndef CLSID_DEFINED -#define CLSID_DEFINED -typedef IID CLSID; -#endif // CLSID_DEFINED - -#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \ - const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} - -#endif !_MIDL_USE_GUIDDEF_ - -MIDL_DEFINE_GUID(IID, LIBID_DeckLinkAPI,0xD864517A,0xEDD5,0x466D,0x86,0x7D,0xC8,0x19,0xF1,0xC0,0x52,0xBB); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode,0xBC6CFBD3,0x8317,0x4325,0xAC,0x1C,0x12,0x16,0x39,0x1E,0x93,0x40); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator,0x9C88499F,0xF601,0x4021,0xB8,0x0B,0x03,0x2E,0x4E,0xB4,0x1C,0x35); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode,0x3EB2C1AB,0x0A3D,0x4523,0xA3,0xAD,0xF4,0x0D,0x7F,0xB1,0x4E,0x78); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLink,0xC418FBDD,0x0587,0x48ED,0x8F,0xE5,0x64,0x0F,0x0A,0x14,0xAF,0x91); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration,0x1E69FCF6,0x4203,0x4936,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControlStatusCallback,0x53436FFB,0xB434,0x4906,0xBA,0xDC,0xAE,0x30,0x60,0xFF,0xE8,0xEF); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControl,0x8E1C3ACE,0x19C7,0x4E00,0x8B,0x92,0xD8,0x04,0x31,0xD9,0x58,0xBE); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingDeviceNotificationCallback,0xF9531D64,0x3305,0x4B29,0xA3,0x87,0x7F,0x74,0xBB,0x0D,0x0E,0x84); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingH264InputCallback,0x823C475F,0x55AE,0x46F9,0x89,0x0C,0x53,0x7C,0xC5,0xCE,0xDC,0xCA); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingDiscovery,0x2C837444,0xF989,0x4D87,0x90,0x1A,0x47,0xC8,0xA3,0x6D,0x09,0x6D); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingVideoEncodingMode,0x1AB8035B,0xCD13,0x458D,0xB6,0xDF,0x5E,0x8F,0x7C,0x21,0x41,0xD9); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingMutableVideoEncodingMode,0x19BF7D90,0x1E0A,0x400D,0xB2,0xC6,0xFF,0xC4,0xE7,0x8A,0xD4,0x9D); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingVideoEncodingModePresetIterator,0x7AC731A3,0xC950,0x4AD0,0x80,0x4A,0x83,0x77,0xAA,0x51,0xC6,0xC4); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingDeviceInput,0x24B6B6EC,0x1727,0x44BB,0x98,0x18,0x34,0xFF,0x08,0x6A,0xCF,0x98); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingH264NALPacket,0xE260E955,0x14BE,0x4395,0x97,0x75,0x9F,0x02,0xCC,0x0A,0x9D,0x89); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingAudioPacket,0xD9EB5902,0x1AD2,0x43F4,0x9E,0x2C,0x3C,0xFA,0x50,0xB5,0xEE,0x19); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingMPEG2TSPacket,0x91810D1C,0x4FB3,0x4AAA,0xAE,0x56,0xFA,0x30,0x1D,0x3D,0xFA,0x4C); - - -MIDL_DEFINE_GUID(IID, IID_IBMDStreamingH264NALParser,0x5867F18C,0x5BFA,0x4CCC,0xB2,0xA7,0x9D,0xFD,0x14,0x04,0x17,0xD2); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CBMDStreamingDiscovery,0x0CAA31F6,0x8A26,0x40B0,0x86,0xA4,0xBF,0x58,0xDC,0xCA,0x71,0x0C); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CBMDStreamingH264NALParser,0x7753EFBD,0x951C,0x407C,0x97,0xA5,0x23,0xC7,0x37,0xB7,0x3B,0x52); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback,0x20AA5225,0x1958,0x47CB,0x82,0x0B,0x80,0xA8,0xD5,0x21,0xA6,0xEE); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback,0xDD04E5EC,0x7415,0x42AB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkMemoryAllocator,0xB36EB6E7,0x9D29,0x4AA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioOutputCallback,0x403C681B,0x7F46,0x4A12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkIterator,0x50FB36CD,0x3063,0x4B73,0xBD,0xBB,0x95,0x80,0x87,0xF2,0xD8,0xBA); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkAPIInformation,0x7BEA3C68,0x730D,0x4322,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput,0xCC5C8A6E,0x3F2F,0x4B3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput,0xAF22762B,0xDFAC,0x4846,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame,0x3F716FE0,0xF023,0x4111,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame,0x69E2639F,0x40DA,0x4E19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame3DExtensions,0xDA0F7E4A,0xEDC7,0x48A8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame,0x05CFE374,0x537C,0x4094,0x9A,0x57,0x68,0x05,0x25,0x11,0x8F,0x44); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrameAncillary,0x732E723C,0xD1A4,0x4E29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket,0xE43D5870,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback,0xB1D3F49A,0x85FE,0x4C5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper,0x504E2209,0xCAC7,0x4C1A,0x9F,0xB4,0xC5,0xBB,0x62,0x74,0xD2,0x2F); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDX9ScreenPreviewHelper,0x2094B522,0xD1A1,0x40C0,0x9A,0xC7,0x1C,0x01,0x22,0x18,0xEF,0x02); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkNotificationCallback,0xb002a1ec,0x070d,0x4288,0x82,0x89,0xbd,0x5d,0x36,0xe5,0xff,0x0d); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkNotification,0x0a1fb207,0xe215,0x441b,0x9b,0x19,0x6f,0xa1,0x57,0x59,0x46,0xc5); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkAttributes,0xABC11843,0xD966,0x44CB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkKeyer,0x89AFCAF5,0x65F8,0x421E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion,0x3BBCB8A2,0xDA2C,0x42D9,0xB5,0xD8,0x88,0x08,0x36,0x44,0xE9,0x9A); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeviceNotificationCallback,0x4997053B,0x0ADF,0x4CC8,0xAC,0x70,0x7A,0x50,0xC4,0xBE,0x72,0x8F); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDiscovery,0xCDBF631C,0xBC76,0x45FA,0xB4,0x4D,0xC5,0x50,0x59,0xBC,0x61,0x01); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator,0x1F2E109A,0x8F4F,0x49E4,0x92,0x03,0x13,0x55,0x95,0xCB,0x6F,0xA5); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkAPIInformation,0x263CA19F,0xED09,0x482E,0x9F,0x9D,0x84,0x00,0x57,0x83,0xA2,0x37); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper,0xF63E77C7,0xB655,0x4A4A,0x9A,0xD0,0x3C,0xA8,0x5D,0x39,0x43,0x43); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDX9ScreenPreviewHelper,0xCC010023,0xE01D,0x4525,0x9D,0x59,0x80,0xC8,0xAB,0x3D,0xC7,0xA0); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion,0x7DBBBB11,0x5B7B,0x467D,0xAE,0xA4,0xCE,0xA4,0x68,0xFD,0x36,0x8C); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkDiscovery,0x1073A05C,0xD885,0x47E9,0xB3,0xC6,0x12,0x9B,0x3F,0x9F,0x64,0x8B); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v10_2,0xC679A35B,0x610C,0x4D09,0xB7,0x48,0x1D,0x04,0x78,0x10,0x0F,0xC0); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v9_9,0xA3EF0963,0x0862,0x44ED,0x92,0xA9,0xEE,0x89,0xAB,0xF4,0x31,0xC7); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v9_2,0x6D40EF78,0x28B9,0x4E21,0x99,0x0D,0x95,0xBB,0x77,0x50,0xA0,0x4F); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControlStatusCallback_v8_1,0xE5F693C1,0x4283,0x4716,0xB1,0x8F,0xC1,0x43,0x15,0x21,0x95,0x5B); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControl_v8_1,0x522A9E39,0x0F3C,0x4742,0x94,0xEE,0xD8,0x0D,0xE3,0x35,0xDA,0x1D); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLink_v8_0,0x62BFF75D,0x6569,0x4E55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkIterator_v8_0,0x74E936FC,0xCC28,0x4A67,0x81,0xA0,0x1E,0x94,0xE5,0x2D,0x4E,0x69); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator_v8_0,0xD9EDA3B3,0x2887,0x41FA,0xB7,0x24,0x01,0x7C,0xF1,0xEB,0x1D,0x37); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControl_v7_9,0xA4D81043,0x0619,0x42B7,0x8E,0xD6,0x60,0x2D,0x29,0x04,0x1D,0xF7); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_6,0x455D741F,0x1779,0x4800,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_6,0x87451E84,0x2B7E,0x439E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_6,0x29228142,0xEB8C,0x4141,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_6,0x300C135A,0x9F43,0x48E2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode_v7_6,0xEFB9BCA6,0xA521,0x44F7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_6,0xA8D8238E,0x6B18,0x4196,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame_v7_6,0x46FCEE00,0xB4E6,0x43D0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_6,0x9A74FA41,0xAE9F,0x47AC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback_v7_6,0x373F499D,0x4B4D,0x4518,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper_v7_6,0xBA575CD9,0xA15E,0x497B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion_v7_6,0x3EB504C9,0xF97D,0x40FE,0xA1,0x58,0xD4,0x07,0xD4,0x8C,0xB5,0x3B); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v7_6,0xB8EAD569,0xB764,0x47F0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_6,0xE763A626,0x4A3C,0x49D1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_6,0x31D28EE7,0x88B6,0x4CB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper_v7_6,0xD398CEE7,0x4434,0x4CA3,0x9B,0xA6,0x5A,0xE3,0x45,0x56,0xB9,0x05); - - -MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion_v7_6,0xFFA84F77,0x73BE,0x4FB7,0xB0,0x3E,0xB5,0xE4,0x4B,0x9F,0x75,0x9B); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_3,0xFD6F311D,0x4D00,0x444B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_3,0x271C65E3,0xC323,0x4344,0xA3,0x0F,0xD9,0x08,0xBC,0xB2,0x0A,0xA3); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_3,0x4973F012,0x9925,0x458C,0x87,0x1C,0x18,0x77,0x4C,0xDB,0xBE,0xCB); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_3,0xCF317790,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_1,0xB28131B6,0x59AC,0x4857,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_1,0xAF0CD6D5,0x8376,0x435E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_1,0x333F3A10,0x8C2D,0x43CF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_1,0xC8B41D95,0x8848,0x40EE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket_v7_1,0xC86DE4F6,0xA29F,0x42E3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_1,0xEBD01AFA,0xE4B0,0x49C6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_1,0x7F94F328,0x5ED4,0x4E9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_1,0xAE5B3E9B,0x4E1E,0x4535,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5); - - -MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_1,0x2B54EDEF,0x5B32,0x429F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD); - -#undef MIDL_DEFINE_GUID - -#ifdef __cplusplus -} -#endif - - - diff --git a/intern/moto/CMakeLists.txt b/intern/moto/CMakeLists.txt deleted file mode 100644 index d17181c6809..00000000000 --- a/intern/moto/CMakeLists.txt +++ /dev/null @@ -1,77 +0,0 @@ -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# The Original Code is Copyright (C) 2006, Blender Foundation -# All rights reserved. -# -# The Original Code is: all of this file. -# -# Contributor(s): Jacques Beaurain. -# -# ***** END GPL LICENSE BLOCK ***** - -set(INC - include -) - -set(INC_SYS - -) - -set(SRC - intern/MT_Assert.cpp - intern/MT_CmMatrix4x4.cpp - intern/MT_Matrix3x3.cpp - intern/MT_Matrix4x4.cpp - intern/MT_Point3.cpp - intern/MT_Quaternion.cpp - intern/MT_Transform.cpp - intern/MT_Vector2.cpp - intern/MT_Vector3.cpp - intern/MT_Vector4.cpp - intern/MT_random.cpp - - include/MT_CmMatrix4x4.h - include/MT_Matrix3x3.h - include/MT_Matrix4x4.h - include/MT_MinMax.h - include/MT_Optimize.h - include/MT_Point2.h - include/MT_Point3.h - include/MT_Quaternion.h - include/MT_Scalar.h - include/MT_Stream.h - include/MT_Transform.h - include/MT_Tuple2.h - include/MT_Tuple3.h - include/MT_Tuple4.h - include/MT_Vector2.h - include/MT_Vector3.h - include/MT_Vector4.h - include/MT_assert.h - include/MT_random.h - - include/MT_Matrix3x3.inl - include/MT_Matrix4x4.inl - include/MT_Point2.inl - include/MT_Point3.inl - include/MT_Quaternion.inl - include/MT_Vector2.inl - include/MT_Vector3.inl - include/MT_Vector4.inl -) - -blender_add_lib(bf_intern_moto "${SRC}" "${INC}" "${INC_SYS}") diff --git a/intern/moto/include/MT_CmMatrix4x4.h b/intern/moto/include/MT_CmMatrix4x4.h deleted file mode 100644 index 53fdd41fb28..00000000000 --- a/intern/moto/include/MT_CmMatrix4x4.h +++ /dev/null @@ -1,148 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_CmMatrix4x4.h - * \ingroup moto - */ - - -#ifndef INCLUDED_MT_CmMatrix4x4 -#define INCLUDED_MT_CmMatrix4x4 - -/** - * A 4x4 matrix. This is an OpenGl style matrix (column major) meaning - * that the vector {m[0][0],m[0][1],m[0][2],m[0][3]} is the first column of - * the matrix , the same as what you get if you transform {1,0,0,0}. - * This makes it easy to transform stuff to OpenGl. Please note that the - * the other MoTo matrices are row major. - * - * This class should be deprecated in favour of the more consistent - * MT_Matrix4x4. Please do not start using this class. - */ - -#include "MT_Scalar.h" - -class MT_Point3; -class MT_Vector3; - -class MT_CmMatrix4x4 -{ - -public : - - MT_CmMatrix4x4( - const MT_Scalar value[4][4] - ); - - MT_CmMatrix4x4( - ); - - - MT_CmMatrix4x4( - const MT_Scalar value[16] - ); - - MT_CmMatrix4x4( - const MT_CmMatrix4x4 & other - ); - - MT_CmMatrix4x4( - const MT_Point3& orig, - const MT_Vector3& dir, - const MT_Vector3 up - ); - - void - Identity( - ); - - void - SetMatrix( - const MT_CmMatrix4x4 & other - ); - - MT_Scalar* - getPointer( - ); - - const - MT_Scalar* - getPointer( - ) const; - - void - setElem( - int pos, - MT_Scalar newvalue - ); - - MT_Vector3 - GetRight( - ) const; - - MT_Vector3 - GetUp( - ) const; - - MT_Vector3 - GetDir( - ) const; - - MT_Point3 - GetPos( - ) const; - - void - SetPos( - const MT_Vector3 & v - ); - - MT_Scalar& - operator ( - ) (int row,int col) { return m_V[col][row]; } - - static - MT_CmMatrix4x4 - Perspective( - MT_Scalar inLeft, - MT_Scalar inRight, - MT_Scalar inBottom, - MT_Scalar inTop, - MT_Scalar inNear, - MT_Scalar inFar - ); - -protected: - union - { - MT_Scalar m_V[4][4]; - MT_Scalar m_Vflat[16]; - }; -}; - -#endif //MT_CmMatrix4x4 - diff --git a/intern/moto/include/MT_Matrix3x3.h b/intern/moto/include/MT_Matrix3x3.h deleted file mode 100644 index 6f965f59069..00000000000 --- a/intern/moto/include/MT_Matrix3x3.h +++ /dev/null @@ -1,276 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Matrix3x3.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_MATRIX3X3_H -#define MT_MATRIX3X3_H - -#include <MT_assert.h> - -#include "MT_Vector3.h" -#include "MT_Quaternion.h" - -class MT_Matrix3x3 { -public: - MT_Matrix3x3() {} - MT_Matrix3x3(const float *m) { setValue(m); } - MT_Matrix3x3(const double *m) { setValue(m); } - MT_Matrix3x3(const MT_Quaternion& q) { setRotation(q); } - - MT_Matrix3x3(const MT_Quaternion& q, const MT_Vector3& s) { - setRotation(q); - scale(s[0], s[1], s[2]); - } - - MT_Matrix3x3(const MT_Vector3& euler) { setEuler(euler); } - MT_Matrix3x3(const MT_Vector3& euler, const MT_Vector3& s) { - setEuler(euler); - scale(s[0], s[1], s[2]); - } - - MT_Matrix3x3(MT_Scalar xx, MT_Scalar xy, MT_Scalar xz, - MT_Scalar yx, MT_Scalar yy, MT_Scalar yz, - MT_Scalar zx, MT_Scalar zy, MT_Scalar zz) { - setValue(xx, xy, xz, - yx, yy, yz, - zx, zy, zz); - } - - MT_Vector3& operator[](int i) { return m_el[i]; } - const MT_Vector3& operator[](int i) const { return m_el[i]; } - - MT_Vector3 getColumn(int i) const { - return MT_Vector3(m_el[0][i], m_el[1][i], m_el[2][i]); - } - - void setColumn(int i, const MT_Vector3& v) { - m_el[0][i] = v[0]; - m_el[1][i] = v[1]; - m_el[2][i] = v[2]; - } - - void setRow(int i, const MT_Vector3& v) { - m_el[i][0] = v[0]; - m_el[i][1] = v[1]; - m_el[i][2] = v[2]; - } - - void setValue(const float *m) { - m_el[0][0] = *m++; m_el[1][0] = *m++; m_el[2][0] = *m++; m++; - m_el[0][1] = *m++; m_el[1][1] = *m++; m_el[2][1] = *m++; m++; - m_el[0][2] = *m++; m_el[1][2] = *m++; m_el[2][2] = *m; - } - - void setValue(const double *m) { - m_el[0][0] = *m++; m_el[1][0] = *m++; m_el[2][0] = *m++; m++; - m_el[0][1] = *m++; m_el[1][1] = *m++; m_el[2][1] = *m++; m++; - m_el[0][2] = *m++; m_el[1][2] = *m++; m_el[2][2] = *m; - } - - void setValue3x3(const float *m) { - m_el[0][0] = *m++; m_el[1][0] = *m++; m_el[2][0] = *m++; - m_el[0][1] = *m++; m_el[1][1] = *m++; m_el[2][1] = *m++; - m_el[0][2] = *m++; m_el[1][2] = *m++; m_el[2][2] = *m; - } - - void setValue3x3(const double *m) { - m_el[0][0] = *m++; m_el[1][0] = *m++; m_el[2][0] = *m++; - m_el[0][1] = *m++; m_el[1][1] = *m++; m_el[2][1] = *m++; - m_el[0][2] = *m++; m_el[1][2] = *m++; m_el[2][2] = *m; - } - - void setValue(MT_Scalar xx, MT_Scalar xy, MT_Scalar xz, - MT_Scalar yx, MT_Scalar yy, MT_Scalar yz, - MT_Scalar zx, MT_Scalar zy, MT_Scalar zz) { - m_el[0][0] = xx; m_el[0][1] = xy; m_el[0][2] = xz; - m_el[1][0] = yx; m_el[1][1] = yy; m_el[1][2] = yz; - m_el[2][0] = zx; m_el[2][1] = zy; m_el[2][2] = zz; - } - - void setRotation(const MT_Quaternion& q) { - MT_Scalar d = q.length2(); - MT_assert(!MT_fuzzyZero2(d)); - MT_Scalar s = MT_Scalar(2.0f) / d; - MT_Scalar xs = q[0] * s, ys = q[1] * s, zs = q[2] * s; - MT_Scalar wx = q[3] * xs, wy = q[3] * ys, wz = q[3] * zs; - MT_Scalar xx = q[0] * xs, xy = q[0] * ys, xz = q[0] * zs; - MT_Scalar yy = q[1] * ys, yz = q[1] * zs, zz = q[2] * zs; - setValue(MT_Scalar(1.0f) - (yy + zz), xy - wz , xz + wy, - xy + wz , MT_Scalar(1.0f) - (xx + zz), yz - wx, - xz - wy , yz + wx, MT_Scalar(1.0f) - (xx + yy)); - } - - /** - * setEuler - * @param euler a const reference to a MT_Vector3 of euler angles - * These angles are used to produce a rotation matrix. The euler - * angles are applied in ZYX order. I.e a vector is first rotated - * about X then Y and then Z - **/ - - void setEuler(const MT_Vector3& euler) { - MT_Scalar ci = cosf(euler[0]); - MT_Scalar cj = cosf(euler[1]); - MT_Scalar ch = cosf(euler[2]); - MT_Scalar si = sinf(euler[0]); - MT_Scalar sj = sinf(euler[1]); - MT_Scalar sh = sinf(euler[2]); - MT_Scalar cc = ci * ch; - MT_Scalar cs = ci * sh; - MT_Scalar sc = si * ch; - MT_Scalar ss = si * sh; - - setValue(cj * ch, sj * sc - cs, sj * cc + ss, - cj * sh, sj * ss + cc, sj * cs - sc, - -sj, cj * si, cj * ci); - } - - void getEuler(MT_Scalar& yaw, MT_Scalar& pitch, MT_Scalar& roll) const - { - if (m_el[2][0] != -1.0f && m_el[2][0] != 1.0f) { - pitch = MT_Scalar(-asinf(m_el[2][0])); - yaw = MT_Scalar(atan2f(m_el[2][1] / cosf(pitch), m_el[2][2] / cosf(pitch))); - roll = MT_Scalar(atan2f(m_el[1][0] / cosf(pitch), m_el[0][0] / cosf(pitch))); - } - else { - roll = MT_Scalar(0); - if (m_el[2][0] == -1.0f) { - pitch = (float)MT_PI / 2.0f; - yaw = MT_Scalar(atan2f(m_el[0][1], m_el[0][2])); - } - else { - pitch = (float)-MT_PI / 2.0f; - yaw = MT_Scalar(atan2f(m_el[0][1], m_el[0][2])); - } - } - } - - void scale(MT_Scalar x, MT_Scalar y, MT_Scalar z) { - m_el[0][0] *= x; m_el[0][1] *= y; m_el[0][2] *= z; - m_el[1][0] *= x; m_el[1][1] *= y; m_el[1][2] *= z; - m_el[2][0] *= x; m_el[2][1] *= y; m_el[2][2] *= z; - } - - MT_Matrix3x3 scaled(MT_Scalar x, MT_Scalar y, MT_Scalar z) const { - return MT_Matrix3x3(m_el[0][0] * x, m_el[0][1] * y, m_el[0][2] * z, - m_el[1][0] * x, m_el[1][1] * y, m_el[1][2] * z, - m_el[2][0] * x, m_el[2][1] * y, m_el[2][2] * z); - } - - void setIdentity() { - setValue(MT_Scalar(1.0f), MT_Scalar(0.0f), MT_Scalar(0.0f), - MT_Scalar(0.0f), MT_Scalar(1.0f), MT_Scalar(0.0f), - MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(1.0f)); - } - - void getValue(float *m) const { - *m++ = (float) m_el[0][0]; *m++ = (float) m_el[1][0]; *m++ = (float) m_el[2][0]; *m++ = (float) 0.0f; - *m++ = (float) m_el[0][1]; *m++ = (float) m_el[1][1]; *m++ = (float) m_el[2][1]; *m++ = (float) 0.0f; - *m++ = (float) m_el[0][2]; *m++ = (float) m_el[1][2]; *m++ = (float) m_el[2][2]; *m = (float) 0.0f; - } - - void getValue(double *m) const { - *m++ = m_el[0][0]; *m++ = m_el[1][0]; *m++ = m_el[2][0]; *m++ = 0.0; - *m++ = m_el[0][1]; *m++ = m_el[1][1]; *m++ = m_el[2][1]; *m++ = 0.0; - *m++ = m_el[0][2]; *m++ = m_el[1][2]; *m++ = m_el[2][2]; *m = 0.0; - } - - void getValue3x3(float *m) const { - *m++ = (float) m_el[0][0]; *m++ = (float) m_el[1][0]; *m++ = (float) m_el[2][0]; - *m++ = (float) m_el[0][1]; *m++ = (float) m_el[1][1]; *m++ = (float) m_el[2][1]; - *m++ = (float) m_el[0][2]; *m++ = (float) m_el[1][2]; *m++ = (float) m_el[2][2]; - } - - void getValue3x3(double *m) const { - *m++ = m_el[0][0]; *m++ = m_el[1][0]; *m++ = m_el[2][0]; - *m++ = m_el[0][1]; *m++ = m_el[1][1]; *m++ = m_el[2][1]; - *m++ = m_el[0][2]; *m++ = m_el[1][2]; *m++ = m_el[2][2]; - } - - MT_Quaternion getRotation() const; - - MT_Matrix3x3& operator*=(const MT_Matrix3x3& m); - - MT_Scalar tdot(int c, const MT_Vector3& v) const { - return m_el[0][c] * v[0] + m_el[1][c] * v[1] + m_el[2][c] * v[2]; - } - - MT_Scalar cofac(int r1, int c1, int r2, int c2) const { - return m_el[r1][c1] * m_el[r2][c2] - m_el[r1][c2] * m_el[r2][c1]; - } - - MT_Scalar determinant() const; - MT_Matrix3x3 adjoint() const; - - MT_Matrix3x3 absolute() const; - - MT_Matrix3x3 transposed() const; - void transpose(); - - MT_Matrix3x3 inverse() const; - void invert(); - -protected: - - MT_Vector3 m_el[3]; -}; - -MT_Vector3 operator*(const MT_Matrix3x3& m, const MT_Vector3& v); -MT_Vector3 operator*(const MT_Vector3& v, const MT_Matrix3x3& m); -MT_Matrix3x3 operator*(const MT_Matrix3x3& m1, const MT_Matrix3x3& m2); - -MT_Matrix3x3 MT_multTransposeLeft(const MT_Matrix3x3& m1, const MT_Matrix3x3& m2); -MT_Matrix3x3 MT_multTransposeRight(const MT_Matrix3x3& m1, const MT_Matrix3x3& m2); - -inline MT_OStream& operator<<(MT_OStream& os, const MT_Matrix3x3& m) { - return os << m[0] << GEN_endl << m[1] << GEN_endl << m[2] << GEN_endl; -} - -#ifdef GEN_INLINED -#include "MT_Matrix3x3.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Matrix3x3.inl b/intern/moto/include/MT_Matrix3x3.inl deleted file mode 100644 index 614e4f93a81..00000000000 --- a/intern/moto/include/MT_Matrix3x3.inl +++ /dev/null @@ -1,128 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Quaternion MT_Matrix3x3::getRotation() const { - static int next[3] = { 1, 2, 0 }; - - MT_Quaternion result; - - MT_Scalar trace = m_el[0][0] + m_el[1][1] + m_el[2][2]; - - if (trace > 0.0f) - { - MT_Scalar s = sqrtf(trace + MT_Scalar(1.0f)); - result[3] = s * MT_Scalar(0.5f); - s = MT_Scalar(0.5f) / s; - - result[0] = (m_el[2][1] - m_el[1][2]) * s; - result[1] = (m_el[0][2] - m_el[2][0]) * s; - result[2] = (m_el[1][0] - m_el[0][1]) * s; - } - else - { - int i = 0; - if (m_el[1][1] > m_el[0][0]) - i = 1; - if (m_el[2][2] > m_el[i][i]) - i = 2; - - int j = next[i]; - int k = next[j]; - - MT_Scalar s = sqrtf(m_el[i][i] - m_el[j][j] - m_el[k][k] + MT_Scalar(1.0f)); - - result[i] = s * MT_Scalar(0.5f); - - s = MT_Scalar(0.5f) / s; - - result[3] = (m_el[k][j] - m_el[j][k]) * s; - result[j] = (m_el[j][i] + m_el[i][j]) * s; - result[k] = (m_el[k][i] + m_el[i][k]) * s; - } - return result; -} - -GEN_INLINE MT_Matrix3x3& MT_Matrix3x3::operator*=(const MT_Matrix3x3& m) { - setValue(m.tdot(0, m_el[0]), m.tdot(1, m_el[0]), m.tdot(2, m_el[0]), - m.tdot(0, m_el[1]), m.tdot(1, m_el[1]), m.tdot(2, m_el[1]), - m.tdot(0, m_el[2]), m.tdot(1, m_el[2]), m.tdot(2, m_el[2])); - return *this; -} - -GEN_INLINE MT_Scalar MT_Matrix3x3::determinant() const { - return MT_triple((*this)[0], (*this)[1], (*this)[2]); -} - -GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::absolute() const { - return - MT_Matrix3x3(MT_abs(m_el[0][0]), MT_abs(m_el[0][1]), MT_abs(m_el[0][2]), - MT_abs(m_el[1][0]), MT_abs(m_el[1][1]), MT_abs(m_el[1][2]), - MT_abs(m_el[2][0]), MT_abs(m_el[2][1]), MT_abs(m_el[2][2])); -} - -GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::transposed() const { - return MT_Matrix3x3(m_el[0][0], m_el[1][0], m_el[2][0], - m_el[0][1], m_el[1][1], m_el[2][1], - m_el[0][2], m_el[1][2], m_el[2][2]); -} - -GEN_INLINE void MT_Matrix3x3::transpose() { - *this = transposed(); -} - -GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::adjoint() const { - return - MT_Matrix3x3(cofac(1, 1, 2, 2), cofac(0, 2, 2, 1), cofac(0, 1, 1, 2), - cofac(1, 2, 2, 0), cofac(0, 0, 2, 2), cofac(0, 2, 1, 0), - cofac(1, 0, 2, 1), cofac(0, 1, 2, 0), cofac(0, 0, 1, 1)); -} - -GEN_INLINE MT_Matrix3x3 MT_Matrix3x3::inverse() const { - MT_Vector3 co(cofac(1, 1, 2, 2), cofac(1, 2, 2, 0), cofac(1, 0, 2, 1)); - MT_Scalar det = MT_dot((*this)[0], co); - MT_assert(!MT_fuzzyZero2(det)); - MT_Scalar s = MT_Scalar(1.0f) / det; - return - MT_Matrix3x3(co[0] * s, cofac(0, 2, 2, 1) * s, cofac(0, 1, 1, 2) * s, - co[1] * s, cofac(0, 0, 2, 2) * s, cofac(0, 2, 1, 0) * s, - co[2] * s, cofac(0, 1, 2, 0) * s, cofac(0, 0, 1, 1) * s); -} - -GEN_INLINE void MT_Matrix3x3::invert() { - *this = inverse(); -} - -GEN_INLINE MT_Vector3 operator*(const MT_Matrix3x3& m, const MT_Vector3& v) { - return MT_Vector3(MT_dot(m[0], v), MT_dot(m[1], v), MT_dot(m[2], v)); -} - -GEN_INLINE MT_Vector3 operator*(const MT_Vector3& v, const MT_Matrix3x3& m) { - return MT_Vector3(m.tdot(0, v), m.tdot(1, v), m.tdot(2, v)); -} - -GEN_INLINE MT_Matrix3x3 operator*(const MT_Matrix3x3& m1, const MT_Matrix3x3& m2) { - return - MT_Matrix3x3(m2.tdot(0, m1[0]), m2.tdot(1, m1[0]), m2.tdot(2, m1[0]), - m2.tdot(0, m1[1]), m2.tdot(1, m1[1]), m2.tdot(2, m1[1]), - m2.tdot(0, m1[2]), m2.tdot(1, m1[2]), m2.tdot(2, m1[2])); -} - -GEN_INLINE MT_Matrix3x3 MT_multTransposeLeft(const MT_Matrix3x3& m1, const MT_Matrix3x3& m2) { - return MT_Matrix3x3( - m1[0][0] * m2[0][0] + m1[1][0] * m2[1][0] + m1[2][0] * m2[2][0], - m1[0][0] * m2[0][1] + m1[1][0] * m2[1][1] + m1[2][0] * m2[2][1], - m1[0][0] * m2[0][2] + m1[1][0] * m2[1][2] + m1[2][0] * m2[2][2], - m1[0][1] * m2[0][0] + m1[1][1] * m2[1][0] + m1[2][1] * m2[2][0], - m1[0][1] * m2[0][1] + m1[1][1] * m2[1][1] + m1[2][1] * m2[2][1], - m1[0][1] * m2[0][2] + m1[1][1] * m2[1][2] + m1[2][1] * m2[2][2], - m1[0][2] * m2[0][0] + m1[1][2] * m2[1][0] + m1[2][2] * m2[2][0], - m1[0][2] * m2[0][1] + m1[1][2] * m2[1][1] + m1[2][2] * m2[2][1], - m1[0][2] * m2[0][2] + m1[1][2] * m2[1][2] + m1[2][2] * m2[2][2]); -} - -GEN_INLINE MT_Matrix3x3 MT_multTransposeRight(const MT_Matrix3x3& m1, const MT_Matrix3x3& m2) { - return - MT_Matrix3x3(m1[0].dot(m2[0]), m1[0].dot(m2[1]), m1[0].dot(m2[2]), - m1[1].dot(m2[0]), m1[1].dot(m2[1]), m1[1].dot(m2[2]), - m1[2].dot(m2[0]), m1[2].dot(m2[1]), m1[2].dot(m2[2])); - -} diff --git a/intern/moto/include/MT_Matrix4x4.h b/intern/moto/include/MT_Matrix4x4.h deleted file mode 100644 index 2ecac81ea6f..00000000000 --- a/intern/moto/include/MT_Matrix4x4.h +++ /dev/null @@ -1,262 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Matrix4x4.h - * \ingroup moto - */ - - -/** - - * Copyright (C) 2001 NaN Technologies B.V. - * A 4x4 matrix compatible with other stuff. - */ - -#ifndef MT_MATRIX4X4_H -#define MT_MATRIX4X4_H - -#include <MT_assert.h> - -#include "MT_Vector4.h" -#include "MT_Transform.h" - -// Row-major 4x4 matrix - -class MT_Matrix4x4 { -public: - /** - * Empty contructor. - */ - MT_Matrix4x4() {} - /** - * Initialize all fields with the values pointed at by m. A - * contigous block of 16 values is read. */ - MT_Matrix4x4(const float *m) { setValue(m); } - /** - * Initialize all fields with the values pointed at by m. A - * contigous block of 16 values is read. */ - MT_Matrix4x4(const double *m) { setValue(m); } - - /** - * Initialise with these 16 explicit values. - */ - MT_Matrix4x4(MT_Scalar xx, MT_Scalar xy, MT_Scalar xz, MT_Scalar xw, - MT_Scalar yx, MT_Scalar yy, MT_Scalar yz, MT_Scalar yw, - MT_Scalar zx, MT_Scalar zy, MT_Scalar zz, MT_Scalar zw, - MT_Scalar wx, MT_Scalar wy, MT_Scalar wz, MT_Scalar ww) { - setValue(xx, xy, xz, xw, - yx, yy, yz, yw, - zx, zy, zz, zw, - wx, wy, wz, ww); - } - - /** - * Initialize from an MT_Transform. - */ - MT_Matrix4x4(const MT_Transform &t) { - - const MT_Matrix3x3 &basis = t.getBasis(); - const MT_Vector3 &origin = t.getOrigin(); - - setValue( - basis[0][0],basis[0][1],basis[0][2],origin[0], - basis[1][0],basis[1][1],basis[1][2],origin[1], - basis[2][0],basis[2][1],basis[2][2],origin[2], - MT_Scalar(0.0f),MT_Scalar(0.0f),MT_Scalar(0.0f),MT_Scalar(1.0f) - ); - } - - /** - * Get the i-th row. - */ - MT_Vector4& operator[](int i) { return m_el[i]; } - /** - * Get the i-th row. - */ - const MT_Vector4& operator[](int i) const { return m_el[i]; } - - /** - * Set the matrix to the values pointer at by m. A contiguous - * block of 16 values is copied. */ - void setValue(const float *m) { - m_el[0][0] = *m++; m_el[1][0] = *m++; m_el[2][0] = *m++; m_el[3][0] = *m++; - m_el[0][1] = *m++; m_el[1][1] = *m++; m_el[2][1] = *m++; m_el[3][1] = *m++; - m_el[0][2] = *m++; m_el[1][2] = *m++; m_el[2][2] = *m++; m_el[3][2] = *m++; - m_el[0][3] = *m++; m_el[1][3] = *m++; m_el[2][3] = *m++; m_el[3][3] = *m; - } - - /** - * Set the matrix to the values pointer at by m. A contiguous - * block of 16 values is copied. - */ - void setValue(const double *m) { - m_el[0][0] = *m++; m_el[1][0] = *m++; m_el[2][0] = *m++; m_el[3][0] = *m++; - m_el[0][1] = *m++; m_el[1][1] = *m++; m_el[2][1] = *m++; m_el[3][1] = *m++; - m_el[0][2] = *m++; m_el[1][2] = *m++; m_el[2][2] = *m++; m_el[3][2] = *m++; - m_el[0][3] = *m++; m_el[1][3] = *m++; m_el[2][3] = *m++; m_el[3][3] = *m; - } - - /** - * Set the matrix to these 16 explicit values. - */ - void setValue(MT_Scalar xx, MT_Scalar xy, MT_Scalar xz, MT_Scalar xw, - MT_Scalar yx, MT_Scalar yy, MT_Scalar yz, MT_Scalar yw, - MT_Scalar zx, MT_Scalar zy, MT_Scalar zz, MT_Scalar zw, - MT_Scalar wx, MT_Scalar wy, MT_Scalar wz, MT_Scalar ww) { - m_el[0][0] = xx; m_el[0][1] = xy; m_el[0][2] = xz; m_el[0][3] = xw; - m_el[1][0] = yx; m_el[1][1] = yy; m_el[1][2] = yz; m_el[1][3] = yw; - m_el[2][0] = zx; m_el[2][1] = zy; m_el[2][2] = zz; m_el[2][3] = zw; - m_el[3][0] = wx; m_el[3][1] = wy; m_el[3][2] = wz; m_el[3][3] = ww; - } - - /** - * Scale the columns of this matrix with x, y, z, w respectively. - */ - void scale(MT_Scalar x, MT_Scalar y, MT_Scalar z, MT_Scalar w) { - m_el[0][0] *= x; m_el[0][1] *= y; m_el[0][2] *= z; m_el[0][3] *= w; - m_el[1][0] *= x; m_el[1][1] *= y; m_el[1][2] *= z; m_el[1][3] *= w; - m_el[2][0] *= x; m_el[2][1] *= y; m_el[2][2] *= z; m_el[2][3] *= w; - m_el[3][0] *= x; m_el[3][1] *= y; m_el[3][2] *= z; m_el[3][3] *= w; - } - - /** - * Scale the rows of this matrix with x, y, z, w respectively. - */ - void tscale(MT_Scalar x, MT_Scalar y, MT_Scalar z, MT_Scalar w) { - m_el[0][0] *= x; m_el[1][0] *= y; m_el[2][0] *= z; m_el[3][0] *= w; - m_el[0][1] *= x; m_el[1][1] *= y; m_el[2][1] *= z; m_el[3][1] *= w; - m_el[0][2] *= x; m_el[1][2] *= y; m_el[2][2] *= z; m_el[3][2] *= w; - m_el[0][3] *= x; m_el[1][3] *= y; m_el[2][3] *= z; m_el[3][3] *= w; - } - - /** - * Return a column-scaled version of this matrix. - */ - MT_Matrix4x4 scaled(MT_Scalar x, MT_Scalar y, MT_Scalar z, MT_Scalar w) const { - return MT_Matrix4x4(m_el[0][0] * x, m_el[0][1] * y, m_el[0][2] * z, m_el[0][3] * w, - m_el[1][0] * x, m_el[1][1] * y, m_el[1][2] * z, m_el[1][3] * w, - m_el[2][0] * x, m_el[2][1] * y, m_el[2][2] * z, m_el[2][3] * w, - m_el[3][0] * x, m_el[3][1] * y, m_el[3][2] * z, m_el[3][3] * w); - } - - /** - * Set this matrix to I. - */ - void setIdentity() { - setValue(MT_Scalar(1.0f), MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(0.0f), - MT_Scalar(0.0f), MT_Scalar(1.0f), MT_Scalar(0.0f), MT_Scalar(0.0f), - MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(1.0f), MT_Scalar(0.0f), - MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(1.0f)); - } - - /** - * Read the element from row i, column j. - */ - float getElement(int i, int j) { - return (float) m_el[i][j]; - } - - /** - * Copy the contents to a contiguous block of 16 floats. - */ - void getValue(float *m) const { - *m++ = (float) m_el[0][0]; *m++ = (float) m_el[1][0]; *m++ = (float) m_el[2][0]; *m++ = (float) m_el[3][0]; - *m++ = (float) m_el[0][1]; *m++ = (float) m_el[1][1]; *m++ = (float) m_el[2][1]; *m++ = (float) m_el[3][1]; - *m++ = (float) m_el[0][2]; *m++ = (float) m_el[1][2]; *m++ = (float) m_el[2][2]; *m++ = (float) m_el[3][2]; - *m++ = (float) m_el[0][3]; *m++ = (float) m_el[1][3]; *m++ = (float) m_el[2][3]; *m = (float) m_el[3][3]; - } - - /** - * Copy the contents to a contiguous block of 16 doubles. - */ - void getValue(double *m) const { - *m++ = m_el[0][0]; *m++ = m_el[1][0]; *m++ = m_el[2][0]; *m++ = m_el[3][0]; - *m++ = m_el[0][1]; *m++ = m_el[1][1]; *m++ = m_el[2][1]; *m++ = m_el[3][1]; - *m++ = m_el[0][2]; *m++ = m_el[1][2]; *m++ = m_el[2][2]; *m++ = m_el[3][2]; - *m++ = m_el[0][3]; *m++ = m_el[1][3]; *m++ = m_el[2][3]; *m = m_el[3][3]; - } - - /** - * Left-multiply this matrix with the argument. - */ - MT_Matrix4x4& operator*=(const MT_Matrix4x4& m); - - /** - * Left-multiply column c with row vector c. - */ - MT_Scalar tdot(int c, const MT_Vector4& v) const { - return m_el[0][c] * v[0] - + m_el[1][c] * v[1] - + m_el[2][c] * v[2] - + m_el[3][c] * v[3]; - } - - /* I'll postpone this for now... - nzc*/ -/* MT_Scalar determinant() const; */ -/* MT_Matrix4x4 adjoint() const; */ -/* MT_Matrix4x4 inverse() const; */ - - MT_Matrix4x4 absolute() const; - - MT_Matrix4x4 transposed() const; - void transpose(); - - MT_Matrix4x4 inverse() const; - void invert(); - -protected: - /** - * Access with [row index][column index] - */ - MT_Vector4 m_el[4]; -}; - -/* These multiplicators do exactly what you ask from them: they - * multiply in the indicated order. */ -MT_Vector4 operator*(const MT_Matrix4x4& m, const MT_Vector4& v); -MT_Vector4 operator*(const MT_Vector4& v, const MT_Matrix4x4& m); -MT_Matrix4x4 operator*(const MT_Matrix4x4& m1, const MT_Matrix4x4& m2); - -/* MT_Matrix4x4 MT_multTransposeLeft(const MT_Matrix4x4& m1, const MT_Matrix4x4& m2); */ -/* MT_Matrix4x4 MT_multTransposeRight(const MT_Matrix4x4& m1, const MT_Matrix4x4& m2); */ - -inline MT_OStream& operator<<(MT_OStream& os, const MT_Matrix4x4& m) { - return os << m[0] << GEN_endl - << m[1] << GEN_endl - << m[2] << GEN_endl - << m[3] << GEN_endl; - - - -} - -#ifdef GEN_INLINED -#include "MT_Matrix4x4.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Matrix4x4.inl b/intern/moto/include/MT_Matrix4x4.inl deleted file mode 100644 index fb72af1f9bf..00000000000 --- a/intern/moto/include/MT_Matrix4x4.inl +++ /dev/null @@ -1,108 +0,0 @@ -#include "MT_Optimize.h" - -/* - * This is a supposedly faster inverter than the cofactor - * computation. It uses an LU decomposition sort of thing. */ -GEN_INLINE void MT_Matrix4x4::invert() { - /* normalize row 0 */ - - int i,j,k; - - for (i=1; i < 4; i++) m_el[0][i] /= m_el[0][0]; - for (i=1; i < 4; i++) { - for (j=i; j < 4; j++) { // do a column of L - MT_Scalar sum = 0.0f; - for (k = 0; k < i; k++) - sum += m_el[j][k] * m_el[k][i]; - m_el[j][i] -= sum; - } - if (i == 3) continue; - for (j=i+1; j < 4; j++) { // do a row of U - MT_Scalar sum = 0.0f; - for (k = 0; k < i; k++) - sum += m_el[i][k]*m_el[k][j]; - m_el[i][j] = - (m_el[i][j]-sum) / m_el[i][i]; - } - } - for (i = 0; i < 4; i++ ) // invert L - for (j = i; j < 4; j++ ) { - MT_Scalar x = 1.0f; - if ( i != j ) { - x = 0.0f; - for (k = i; k < j; k++ ) - x -= m_el[j][k]*m_el[k][i]; - } - m_el[j][i] = x / m_el[j][j]; - } - for (i = 0; i < 4; i++ ) // invert U - for (j = i; j < 4; j++ ) { - if ( i == j ) continue; - MT_Scalar sum = 0.0f; - for (k = i; k < j; k++ ) - sum += m_el[k][j]*( (i==k) ? 1.0f : m_el[i][k] ); - m_el[i][j] = -sum; - } - for (i = 0; i < 4; i++ ) // final inversion - for (j = 0; j < 4; j++ ) { - MT_Scalar sum = 0.0f; - for (k = ((i>j)?i:j); k < 4; k++ ) - sum += ((j==k)?1.0f:m_el[j][k])*m_el[k][i]; - m_el[j][i] = sum; - } -} - -GEN_INLINE MT_Matrix4x4 MT_Matrix4x4::inverse() const -{ - MT_Matrix4x4 invmat = *this; - - invmat.invert(); - - return invmat; -} - -GEN_INLINE MT_Matrix4x4& MT_Matrix4x4::operator*=(const MT_Matrix4x4& m) -{ - setValue(m.tdot(0, m_el[0]), m.tdot(1, m_el[0]), m.tdot(2, m_el[0]), m.tdot(3, m_el[0]), - m.tdot(0, m_el[1]), m.tdot(1, m_el[1]), m.tdot(2, m_el[1]), m.tdot(3, m_el[1]), - m.tdot(0, m_el[2]), m.tdot(1, m_el[2]), m.tdot(2, m_el[2]), m.tdot(3, m_el[2]), - m.tdot(0, m_el[3]), m.tdot(1, m_el[3]), m.tdot(2, m_el[3]), m.tdot(3, m_el[3])); - return *this; - -} - -GEN_INLINE MT_Vector4 operator*(const MT_Matrix4x4& m, const MT_Vector4& v) { - return MT_Vector4(MT_dot(m[0], v), MT_dot(m[1], v), MT_dot(m[2], v), MT_dot(m[3], v)); -} - -GEN_INLINE MT_Vector4 operator*(const MT_Vector4& v, const MT_Matrix4x4& m) { - return MT_Vector4(m.tdot(0, v), m.tdot(1, v), m.tdot(2, v), m.tdot(3, v)); -} - -GEN_INLINE MT_Matrix4x4 operator*(const MT_Matrix4x4& m1, const MT_Matrix4x4& m2) { - return - MT_Matrix4x4(m2.tdot(0, m1[0]), m2.tdot(1, m1[0]), m2.tdot(2, m1[0]), m2.tdot(3, m1[0]), - m2.tdot(0, m1[1]), m2.tdot(1, m1[1]), m2.tdot(2, m1[1]), m2.tdot(3, m1[1]), - m2.tdot(0, m1[2]), m2.tdot(1, m1[2]), m2.tdot(2, m1[2]), m2.tdot(3, m1[2]), - m2.tdot(0, m1[3]), m2.tdot(1, m1[3]), m2.tdot(2, m1[3]), m2.tdot(3, m1[3])); -} - - -GEN_INLINE MT_Matrix4x4 MT_Matrix4x4::transposed() const { - return MT_Matrix4x4(m_el[0][0], m_el[1][0], m_el[2][0], m_el[3][0], - m_el[0][1], m_el[1][1], m_el[2][1], m_el[3][1], - m_el[0][2], m_el[1][2], m_el[2][2], m_el[3][2], - m_el[0][3], m_el[1][3], m_el[2][3], m_el[3][3]); -} - -GEN_INLINE void MT_Matrix4x4::transpose() { - *this = transposed(); -} - -GEN_INLINE MT_Matrix4x4 MT_Matrix4x4::absolute() const { - return - MT_Matrix4x4(MT_abs(m_el[0][0]), MT_abs(m_el[0][1]), MT_abs(m_el[0][2]), MT_abs(m_el[0][3]), - MT_abs(m_el[1][0]), MT_abs(m_el[1][1]), MT_abs(m_el[1][2]), MT_abs(m_el[1][3]), - MT_abs(m_el[2][0]), MT_abs(m_el[2][1]), MT_abs(m_el[2][2]), MT_abs(m_el[2][3]), - MT_abs(m_el[3][0]), MT_abs(m_el[3][1]), MT_abs(m_el[3][2]), MT_abs(m_el[3][3])); -} diff --git a/intern/moto/include/MT_MinMax.h b/intern/moto/include/MT_MinMax.h deleted file mode 100644 index 42e689f45a4..00000000000 --- a/intern/moto/include/MT_MinMax.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_MinMax.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_MINMAX_H -#define MT_MINMAX_H - -template <class T> -inline const T& MT_min(const T& a, const T& b) { - return b < a ? b : a; -} - -template <class T> -inline const T& MT_max(const T& a, const T& b) { - return a < b ? b : a; -} - -template <class T> -inline void MT_set_min(T& a, const T& b) { - if (a > b) a = b; -} - -template <class T> -inline void MT_set_max(T& a, const T& b) { - if (a < b) a = b; -} - -#endif - diff --git a/intern/moto/include/MT_Optimize.h b/intern/moto/include/MT_Optimize.h deleted file mode 100644 index e16bab1ecf9..00000000000 --- a/intern/moto/include/MT_Optimize.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Optimize.h - * \ingroup moto - */ - - -#ifndef GEN_OPTIMIZE_H -#define GEN_OPTIMIZE_H - -#ifdef GEN_INLINED -#define GEN_INLINE inline -#else -#define GEN_INLINE -#endif - -#endif - diff --git a/intern/moto/include/MT_Point2.h b/intern/moto/include/MT_Point2.h deleted file mode 100644 index 587379b21f4..00000000000 --- a/intern/moto/include/MT_Point2.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Point2.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_POINT2_H -#define MT_POINT2_H - -#include "MT_Vector2.h" - -class MT_Point2 : public MT_Vector2 { -public: - MT_Point2() {} - MT_Point2(const float *v2) : MT_Vector2(v2) {} - MT_Point2(const double *v2) : MT_Vector2(v2) {} - MT_Point2(MT_Scalar x2, MT_Scalar y2) : MT_Vector2(x2, y2) {} - - MT_Point2& operator+=(const MT_Vector2& v); - MT_Point2& operator-=(const MT_Vector2& v); - MT_Point2& operator=(const MT_Vector2& v); - - MT_Scalar distance(const MT_Point2& p) const; - MT_Scalar distance2(const MT_Point2& p) const; - - MT_Point2 lerp(const MT_Point2& p, MT_Scalar t) const; -}; - -MT_Point2 operator+(const MT_Point2& p, const MT_Vector2& v); -MT_Point2 operator-(const MT_Point2& p, const MT_Vector2& v); -MT_Vector2 operator-(const MT_Point2& p1, const MT_Point2& p2); - -MT_Scalar MT_distance(const MT_Point2& p1, const MT_Point2& p2); -MT_Scalar MT_distance2(const MT_Point2& p1, const MT_Point2& p2); - -MT_Point2 MT_lerp(const MT_Point2& p1, const MT_Point2& p2, MT_Scalar t); - -#ifdef GEN_INLINED -#include "MT_Point2.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Point2.inl b/intern/moto/include/MT_Point2.inl deleted file mode 100644 index ec09a3260e2..00000000000 --- a/intern/moto/include/MT_Point2.inl +++ /dev/null @@ -1,54 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Point2& MT_Point2::operator+=(const MT_Vector2& v) { - m_co[0] += v[0]; m_co[1] += v[1]; - return *this; -} - -GEN_INLINE MT_Point2& MT_Point2::operator-=(const MT_Vector2& v) { - m_co[0] -= v[0]; m_co[1] -= v[1]; - return *this; -} - -GEN_INLINE MT_Point2& MT_Point2::operator=(const MT_Vector2& v) { - m_co[0] = v[0]; m_co[1] = v[1]; - return *this; -} - -GEN_INLINE MT_Scalar MT_Point2::distance(const MT_Point2& p) const { - return (p - *this).length(); -} - -GEN_INLINE MT_Scalar MT_Point2::distance2(const MT_Point2& p) const { - return (p - *this).length2(); -} - -GEN_INLINE MT_Point2 MT_Point2::lerp(const MT_Point2& p, MT_Scalar t) const { - return MT_Point2(m_co[0] + (p[0] - m_co[0]) * t, - m_co[1] + (p[1] - m_co[1]) * t); -} - -GEN_INLINE MT_Point2 operator+(const MT_Point2& p, const MT_Vector2& v) { - return MT_Point2(p[0] + v[0], p[1] + v[1]); -} - -GEN_INLINE MT_Point2 operator-(const MT_Point2& p, const MT_Vector2& v) { - return MT_Point2(p[0] - v[0], p[1] - v[1]); -} - -GEN_INLINE MT_Vector2 operator-(const MT_Point2& p1, const MT_Point2& p2) { - return MT_Vector2(p1[0] - p2[0], p1[1] - p2[1]); -} - -GEN_INLINE MT_Scalar MT_distance(const MT_Point2& p1, const MT_Point2& p2) { - return p1.distance(p2); -} - -GEN_INLINE MT_Scalar MT_distance2(const MT_Point2& p1, const MT_Point2& p2) { - return p1.distance2(p2); -} - -GEN_INLINE MT_Point2 MT_lerp(const MT_Point2& p1, const MT_Point2& p2, MT_Scalar t) { - return p1.lerp(p2, t); -} - diff --git a/intern/moto/include/MT_Point3.h b/intern/moto/include/MT_Point3.h deleted file mode 100644 index f19b2e2f324..00000000000 --- a/intern/moto/include/MT_Point3.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Point3.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_POINT_H -#define MT_POINT_H - -#include "MT_Vector3.h" - -class MT_Point3 : public MT_Vector3 { -public: - MT_Point3() {} - MT_Point3(const float *v) : MT_Vector3(v) {} - MT_Point3(const double *v) : MT_Vector3(v) {} - MT_Point3(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz) : MT_Vector3(xx, yy, zz) {} - - MT_Point3& operator+=(const MT_Vector3& v); - MT_Point3& operator-=(const MT_Vector3& v); - MT_Point3& operator=(const MT_Vector3& v); - MT_Point3& operator=(const MT_Point3& v); - - MT_Scalar distance(const MT_Point3& p) const; - MT_Scalar distance2(const MT_Point3& p) const; - - MT_Point3 lerp(const MT_Point3& p, MT_Scalar t) const; -}; - -MT_Point3 operator+(const MT_Point3& p, const MT_Vector3& v); -MT_Point3 operator-(const MT_Point3& p, const MT_Vector3& v); -MT_Vector3 operator-(const MT_Point3& p1, const MT_Point3& p2); - -MT_Scalar MT_distance(const MT_Point3& p1, const MT_Point3& p2); -MT_Scalar MT_distance2(const MT_Point3& p1, const MT_Point3& p2); - -MT_Point3 MT_lerp(const MT_Point3& p1, const MT_Point3& p2, MT_Scalar t); - -#ifdef GEN_INLINED -#include "MT_Point3.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Point3.inl b/intern/moto/include/MT_Point3.inl deleted file mode 100644 index 081a8195694..00000000000 --- a/intern/moto/include/MT_Point3.inl +++ /dev/null @@ -1,59 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Point3& MT_Point3::operator+=(const MT_Vector3& v) { - m_co[0] += v[0]; m_co[1] += v[1]; m_co[2] += v[2]; - return *this; -} - -GEN_INLINE MT_Point3& MT_Point3::operator-=(const MT_Vector3& v) { - m_co[0] -= v[0]; m_co[1] -= v[1]; m_co[2] -= v[2]; - return *this; -} - -GEN_INLINE MT_Point3& MT_Point3::operator=(const MT_Vector3& v) { - m_co[0] = v[0]; m_co[1] = v[1]; m_co[2] = v[2]; - return *this; -} - -GEN_INLINE MT_Point3& MT_Point3::operator=(const MT_Point3& v) { - m_co[0] = v[0]; m_co[1] = v[1]; m_co[2] = v[2]; - return *this; -} - -GEN_INLINE MT_Scalar MT_Point3::distance(const MT_Point3& p) const { - return (p - *this).length(); -} - -GEN_INLINE MT_Scalar MT_Point3::distance2(const MT_Point3& p) const { - return (p - *this).length2(); -} - -GEN_INLINE MT_Point3 MT_Point3::lerp(const MT_Point3& p, MT_Scalar t) const { - return MT_Point3(m_co[0] + (p[0] - m_co[0]) * t, - m_co[1] + (p[1] - m_co[1]) * t, - m_co[2] + (p[2] - m_co[2]) * t); -} - -GEN_INLINE MT_Point3 operator+(const MT_Point3& p, const MT_Vector3& v) { - return MT_Point3(p[0] + v[0], p[1] + v[1], p[2] + v[2]); -} - -GEN_INLINE MT_Point3 operator-(const MT_Point3& p, const MT_Vector3& v) { - return MT_Point3(p[0] - v[0], p[1] - v[1], p[2] - v[2]); -} - -GEN_INLINE MT_Vector3 operator-(const MT_Point3& p1, const MT_Point3& p2) { - return MT_Vector3(p1[0] - p2[0], p1[1] - p2[1], p1[2] - p2[2]); -} - -GEN_INLINE MT_Scalar MT_distance(const MT_Point3& p1, const MT_Point3& p2) { - return p1.distance(p2); -} - -GEN_INLINE MT_Scalar MT_distance2(const MT_Point3& p1, const MT_Point3& p2) { - return p1.distance2(p2); -} - -GEN_INLINE MT_Point3 MT_lerp(const MT_Point3& p1, const MT_Point3& p2, MT_Scalar t) { - return p1.lerp(p2, t); -} diff --git a/intern/moto/include/MT_Quaternion.h b/intern/moto/include/MT_Quaternion.h deleted file mode 100644 index 6aabb1f2ed4..00000000000 --- a/intern/moto/include/MT_Quaternion.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Quaternion.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_QUATERNION_H -#define MT_QUATERNION_H - -#include <MT_assert.h> - -#include "MT_Vector3.h" -#include "MT_Vector4.h" - -class MT_Quaternion : public MT_Vector4 { -public: - MT_Quaternion() {} - MT_Quaternion(const MT_Vector4& v) : MT_Vector4(v) {} - MT_Quaternion(const float v[4]) : MT_Vector4(v) {} - MT_Quaternion(const double v[4]) : MT_Vector4(v) {} - MT_Quaternion(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) : - MT_Vector4(xx, yy, zz, ww) {} - MT_Quaternion(const MT_Vector3& axis, MT_Scalar mt_angle) { - setRotation(axis, mt_angle); - } - MT_Quaternion(MT_Scalar yaw, MT_Scalar pitch, MT_Scalar roll) { - setEuler(yaw, pitch, roll); - } - - void setRotation(const MT_Vector3& axis, MT_Scalar mt_angle) { - MT_Scalar d = axis.length(); - MT_assert(!MT_fuzzyZero(d)); - MT_Scalar s = sinf(mt_angle * MT_Scalar(0.5f)) / d; - setValue(axis[0] * s, axis[1] * s, axis[2] * s, - cosf(mt_angle * MT_Scalar(0.5f))); - } - - void setEuler(MT_Scalar yaw, MT_Scalar pitch, MT_Scalar roll) { - MT_Scalar cosYaw = cosf(yaw * MT_Scalar(0.5f)); - MT_Scalar sinYaw = sinf(yaw * MT_Scalar(0.5f)); - MT_Scalar cosPitch = cosf(pitch * MT_Scalar(0.5f)); - MT_Scalar sinPitch = sinf(pitch * MT_Scalar(0.5f)); - MT_Scalar cosRoll = cosf(roll * MT_Scalar(0.5f)); - MT_Scalar sinRoll = sinf(roll * MT_Scalar(0.5f)); - setValue(cosRoll * sinPitch * cosYaw + sinRoll * cosPitch * sinYaw, - cosRoll * cosPitch * sinYaw - sinRoll * sinPitch * cosYaw, - sinRoll * cosPitch * cosYaw - cosRoll * sinPitch * sinYaw, - cosRoll * cosPitch * cosYaw + sinRoll * sinPitch * sinYaw); - } - - MT_Quaternion& operator*=(const MT_Quaternion& q); - - void conjugate(); - MT_Quaternion conjugate() const; - - void invert(); - MT_Quaternion inverse() const; - - MT_Scalar angle(const MT_Quaternion& q) const; - MT_Quaternion slerp(const MT_Quaternion& q, const MT_Scalar& t) const; - - static MT_Quaternion random(); -}; - -MT_Quaternion operator*(const MT_Quaternion& q1, const MT_Quaternion& q2); -MT_Quaternion operator*(const MT_Quaternion& q, const MT_Vector3& w); -MT_Quaternion operator*(const MT_Vector3& w, const MT_Quaternion& q); - -#ifdef GEN_INLINED -#include "MT_Quaternion.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Quaternion.inl b/intern/moto/include/MT_Quaternion.inl deleted file mode 100644 index 8fe71b7b214..00000000000 --- a/intern/moto/include/MT_Quaternion.inl +++ /dev/null @@ -1,100 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Quaternion& MT_Quaternion::operator*=(const MT_Quaternion& q) { - setValue(m_co[3] * q[0] + m_co[0] * q[3] + m_co[1] * q[2] - m_co[2] * q[1], - m_co[3] * q[1] + m_co[1] * q[3] + m_co[2] * q[0] - m_co[0] * q[2], - m_co[3] * q[2] + m_co[2] * q[3] + m_co[0] * q[1] - m_co[1] * q[0], - m_co[3] * q[3] - m_co[0] * q[0] - m_co[1] * q[1] - m_co[2] * q[2]); - return *this; -} - -GEN_INLINE void MT_Quaternion::conjugate() { - m_co[0] = -m_co[0]; m_co[1] = -m_co[1]; m_co[2] = -m_co[2]; -} - -GEN_INLINE MT_Quaternion MT_Quaternion::conjugate() const { - return MT_Quaternion(-m_co[0], -m_co[1], -m_co[2], m_co[3]); -} - -GEN_INLINE void MT_Quaternion::invert() { - conjugate(); - *this /= length2(); -} - -GEN_INLINE MT_Quaternion MT_Quaternion::inverse() const { - return conjugate() / length2(); -} - -// From: "Uniform Random Rotations", Ken Shoemake, Graphics Gems III, -// pg. 124-132 -GEN_INLINE MT_Quaternion MT_Quaternion::random() { - MT_Scalar x0 = MT_random(); - MT_Scalar r1 = sqrtf(MT_Scalar(1.0f) - x0), r2 = sqrtf(x0); - MT_Scalar t1 = (float)MT_2_PI * MT_random(), t2 = (float)MT_2_PI * MT_random(); - MT_Scalar c1 = cosf(t1), s1 = sinf(t1); - MT_Scalar c2 = cosf(t2), s2 = sinf(t2); - return MT_Quaternion(s1 * r1, c1 * r1, s2 * r2, c2 * r2); -} - -GEN_INLINE MT_Quaternion operator*(const MT_Quaternion& q1, - const MT_Quaternion& q2) { - return MT_Quaternion(q1[3] * q2[0] + q1[0] * q2[3] + q1[1] * q2[2] - q1[2] * q2[1], - q1[3] * q2[1] + q1[1] * q2[3] + q1[2] * q2[0] - q1[0] * q2[2], - q1[3] * q2[2] + q1[2] * q2[3] + q1[0] * q2[1] - q1[1] * q2[0], - q1[3] * q2[3] - q1[0] * q2[0] - q1[1] * q2[1] - q1[2] * q2[2]); -} - -GEN_INLINE MT_Quaternion operator*(const MT_Quaternion& q, const MT_Vector3& w) -{ - return MT_Quaternion( q[3] * w[0] + q[1] * w[2] - q[2] * w[1], - q[3] * w[1] + q[2] * w[0] - q[0] * w[2], - q[3] * w[2] + q[0] * w[1] - q[1] * w[0], - -q[0] * w[0] - q[1] * w[1] - q[2] * w[2]); -} - -GEN_INLINE MT_Quaternion operator*(const MT_Vector3& w, const MT_Quaternion& q) -{ - return MT_Quaternion( w[0] * q[3] + w[1] * q[2] - w[2] * q[1], - w[1] * q[3] + w[2] * q[0] - w[0] * q[2], - w[2] * q[3] + w[0] * q[1] - w[1] * q[0], - -w[0] * q[0] - w[1] * q[1] - w[2] * q[2]); -} - -GEN_INLINE MT_Scalar MT_Quaternion::angle(const MT_Quaternion& q) const -{ - MT_Scalar s = sqrtf(length2() * q.length2()); - assert(s != MT_Scalar(0.0f)); - - s = dot(q) / s; - - s = MT_clamp(s, -1.0f, 1.0f); - - return acosf(s); -} - -GEN_INLINE MT_Quaternion MT_Quaternion::slerp(const MT_Quaternion& q, const MT_Scalar& t) const -{ - MT_Scalar d, s0, s1; - MT_Scalar s = dot(q); - bool neg = (s < 0.0f); - - if (neg) - s = -s; - if ((1.0f - s) > 0.0001f) - { - MT_Scalar theta = acosf(s); - d = MT_Scalar(1.0f) / sinf(theta); - s0 = sinf((MT_Scalar(1.0f) - t) * theta); - s1 = sinf(t * theta); - } - else - { - d = MT_Scalar(1.0f); - s0 = MT_Scalar(1.0f) - t; - s1 = t; - } - if (neg) - s1 = -s1; - return d*(*this * s0 + q * s1); -} - diff --git a/intern/moto/include/MT_Scalar.h b/intern/moto/include/MT_Scalar.h deleted file mode 100644 index 94723f4d7ec..00000000000 --- a/intern/moto/include/MT_Scalar.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Scalar.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_SCALAR_H -#define MT_SCALAR_H - -#include <math.h> -#include <float.h> - -#include "MT_random.h" - -typedef float MT_Scalar; - - -const MT_Scalar MT_DEGS_PER_RAD(57.29577951308232286465); -const MT_Scalar MT_RADS_PER_DEG(0.01745329251994329547); -const MT_Scalar MT_PI(3.14159265358979323846); -const MT_Scalar MT_2_PI(6.28318530717958623200); -const MT_Scalar MT_EPSILON(1.0e-10); -const MT_Scalar MT_EPSILON2(1.0e-20); -const MT_Scalar MT_INFINITY(1.0e38); - -inline int MT_sign(MT_Scalar x) { - return x < 0.0f ? -1 : x > 0.0f ? 1 : 0; -} - -inline MT_Scalar MT_abs(MT_Scalar x) { return fabs(x); } - -inline bool MT_fuzzyZero(MT_Scalar x) { return MT_abs(x) < (float)MT_EPSILON; } -inline bool MT_fuzzyZero2(MT_Scalar x) { return MT_abs(x) < (float)MT_EPSILON2; } - -inline MT_Scalar MT_radians(MT_Scalar x) { - return x * (float)MT_RADS_PER_DEG; -} - -inline MT_Scalar MT_degrees(MT_Scalar x) { - return x * (float)MT_DEGS_PER_RAD; -} - -inline MT_Scalar MT_random() { - return MT_Scalar(MT_rand()) / MT_Scalar(MT_RAND_MAX); -} - -inline MT_Scalar MT_clamp(const MT_Scalar x, const MT_Scalar min, const MT_Scalar max) -{ - if (x < min) - return min; - else if (x > max) - return max; - return x; -} -#endif - diff --git a/intern/moto/include/MT_Stream.h b/intern/moto/include/MT_Stream.h deleted file mode 100644 index 42861e6c099..00000000000 --- a/intern/moto/include/MT_Stream.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Stream.h - * \ingroup moto - */ - - -#ifndef GEN_STREAM_H -#define GEN_STREAM_H - -#ifdef __CUSTOM_STREAM - -class MT_OStream -{ -public: - inline MT_OStream& operator<<(double); - inline MT_OStream& operator<<(int); - inline MT_OStream& operator<<(char*); -}; - -const char GEN_endl = '\n'; - -#else - -#include <iostream> - -typedef std::ostream MT_OStream; - -inline MT_OStream& GEN_endl(MT_OStream& os) { return std::endl(os); } - -#endif - -#endif - diff --git a/intern/moto/include/MT_Transform.h b/intern/moto/include/MT_Transform.h deleted file mode 100644 index 9c23482925c..00000000000 --- a/intern/moto/include/MT_Transform.h +++ /dev/null @@ -1,190 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Transform.h - * \ingroup moto - */ - - -/* - - MoTo - 3D Motion Toolkit - Copyright (C) 2000 Gino van den Bergen <gino@acm.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#ifndef MT_TRANSFORM_H -#define MT_TRANSFORM_H - -#include "MT_Point3.h" -#include "MT_Matrix3x3.h" - -class MT_Transform { -public: - MT_Transform() {} - MT_Transform(const float *m) { setValue(m); } - MT_Transform(const double *m) { setValue(m); } - MT_Transform(const MT_Point3& p, const MT_Quaternion& q) - : m_type(IDENTITY) - { - setOrigin(p); - setRotation(q); - } - - MT_Transform(const MT_Point3& p, const MT_Matrix3x3& m) - : m_type(IDENTITY) - { - setOrigin(p); - setBasis(m); - } - - static MT_Transform Identity() - { - MT_Transform t; - t.setIdentity(); - return t; - } - - - MT_Point3 operator()(const MT_Point3& p) const { - return MT_Point3(MT_dot(m_basis[0], p) + m_origin[0], - MT_dot(m_basis[1], p) + m_origin[1], - MT_dot(m_basis[2], p) + m_origin[2]); - } - - MT_Vector3 operator()(const MT_Vector3& p) const { - return MT_Vector3(MT_dot(m_basis[0], p) + m_origin[0], - MT_dot(m_basis[1], p) + m_origin[1], - MT_dot(m_basis[2], p) + m_origin[2]); - } - - MT_Point3 operator*(const MT_Point3& p) const { - return (*this)(p); - } - - MT_Vector3 operator*(const MT_Vector3& p) const { - return (*this)(p); - } - - - MT_Matrix3x3& getBasis() { return m_basis; } - const MT_Matrix3x3& getBasis() const { return m_basis; } - MT_Point3& getOrigin() { return m_origin; } - const MT_Point3& getOrigin() const { return m_origin; } - MT_Quaternion getRotation() const { return m_basis.getRotation(); } - - void setValue(const float *m); - void setValue(const double *m); - - void setOrigin(const MT_Point3& origin) { - m_origin = origin; - m_type |= TRANSLATION; - } - - void setBasis(const MT_Matrix3x3& basis) { - m_basis = basis; - m_type |= LINEAR; - } - - void setRotation(const MT_Quaternion& q) { - m_basis.setRotation(q); - m_type &= ~SCALING; - m_type |= ROTATION; - } - - void getValue(float *m) const; - void getValue(double *m) const; - - void setIdentity(); - - MT_Transform& operator*=(const MT_Transform& t); - - /** - * Translate the origin of the transform according to the vector. - * @param v The vector to translate over. The vector is specified - * in the coordinate system of the transform itself. - */ - void translate(const MT_Vector3& v); - void rotate(const MT_Quaternion& q); - void scale(MT_Scalar x, MT_Scalar y, MT_Scalar z); - - void invert(const MT_Transform& t); - void mult(const MT_Transform& t1, const MT_Transform& t2); - void multInverseLeft(const MT_Transform& t1, const MT_Transform& t2); - -private: - enum { - IDENTITY = 0x00, - TRANSLATION = 0x01, - ROTATION = 0x02, - RIGID = TRANSLATION | ROTATION, - SCALING = 0x04, - LINEAR = ROTATION | SCALING, - AFFINE = TRANSLATION | LINEAR - }; - - MT_Transform(const MT_Matrix3x3& basis, const MT_Point3& origin, - unsigned int type) { - setValue(basis, origin, type); - } - - void setValue(const MT_Matrix3x3& basis, const MT_Point3& origin, - unsigned int type) { - m_basis = basis; - m_origin = origin; - m_type = type; - } - - friend MT_Transform operator*(const MT_Transform& t1, const MT_Transform& t2); - - MT_Matrix3x3 m_basis; - MT_Point3 m_origin; - unsigned int m_type; -}; - -inline MT_Transform operator*(const MT_Transform& t1, const MT_Transform& t2) { - return MT_Transform(t1.m_basis * t2.m_basis, - t1(t2.m_origin), - t1.m_type | t2.m_type); -} - -#endif - diff --git a/intern/moto/include/MT_Tuple2.h b/intern/moto/include/MT_Tuple2.h deleted file mode 100644 index 465b31a6781..00000000000 --- a/intern/moto/include/MT_Tuple2.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Tuple2.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_Tuple2_H -#define MT_Tuple2_H - -#include "MT_Stream.h" -#include "MT_Scalar.h" - -class MT_Tuple2 { -public: - MT_Tuple2() {} - MT_Tuple2(const float *vv) { setValue(vv); } - MT_Tuple2(const double *vv) { setValue(vv); } - MT_Tuple2(MT_Scalar xx, MT_Scalar yy) { setValue(xx, yy); } - - MT_Scalar& operator[](int i) { return m_co[i]; } - const MT_Scalar& operator[](int i) const { return m_co[i]; } - - MT_Scalar& x() { return m_co[0]; } - const MT_Scalar& x() const { return m_co[0]; } - - MT_Scalar& y() { return m_co[1]; } - const MT_Scalar& y() const { return m_co[1]; } - - MT_Scalar& u() { return m_co[0]; } - const MT_Scalar& u() const { return m_co[0]; } - - MT_Scalar& v() { return m_co[1]; } - const MT_Scalar& v() const { return m_co[1]; } - - MT_Scalar *getValue() { return m_co; } - const MT_Scalar *getValue() const { return m_co; } - - void getValue(float *vv) const { - vv[0] = (float) m_co[0]; vv[1] = (float) m_co[1]; - } - - void getValue(double *vv) const { - vv[0] = m_co[0]; vv[1] = m_co[1]; - } - - void setValue(const float *vv) { - m_co[0] = vv[0]; m_co[1] = vv[1]; - } - - void setValue(const double *vv) { - m_co[0] = vv[0]; m_co[1] = vv[1]; - } - - void setValue(MT_Scalar xx, MT_Scalar yy) { - m_co[0] = xx; m_co[1] = yy; - } - -protected: - MT_Scalar m_co[2]; -}; - -inline bool operator==(const MT_Tuple2& t1, const MT_Tuple2& t2) { - return t1[0] == t2[0] && t1[1] == t2[1]; -} - -inline MT_OStream& operator<<(MT_OStream& os, const MT_Tuple2& t) { - return os << t[0] << ' ' << t[1]; -} - -#endif - diff --git a/intern/moto/include/MT_Tuple3.h b/intern/moto/include/MT_Tuple3.h deleted file mode 100644 index ddd8ed724ca..00000000000 --- a/intern/moto/include/MT_Tuple3.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Tuple3.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_TUPLE3_H -#define MT_TUPLE3_H - -#include "MT_Stream.h" -#include "MT_Scalar.h" - -class MT_Tuple3 { -public: - MT_Tuple3() {} - MT_Tuple3(const float *v) { setValue(v); } - MT_Tuple3(const double *v) { setValue(v); } - MT_Tuple3(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz) { setValue(xx, yy, zz); } - - MT_Scalar& operator[](int i) { return m_co[i]; } - const MT_Scalar& operator[](int i) const { return m_co[i]; } - - MT_Scalar& x() { return m_co[0]; } - const MT_Scalar& x() const { return m_co[0]; } - - MT_Scalar& y() { return m_co[1]; } - const MT_Scalar& y() const { return m_co[1]; } - - MT_Scalar& z() { return m_co[2]; } - const MT_Scalar& z() const { return m_co[2]; } - - MT_Scalar *getValue() { return m_co; } - const MT_Scalar *getValue() const { return m_co; } - - void getValue(float *v) const { - v[0] = float(m_co[0]); - v[1] = float(m_co[1]); - v[2] = float(m_co[2]); - } - - void getValue(double *v) const { - v[0] = double(m_co[0]); - v[1] = double(m_co[1]); - v[2] = double(m_co[2]); - } - - void setValue(const float *v) { - m_co[0] = MT_Scalar(v[0]); - m_co[1] = MT_Scalar(v[1]); - m_co[2] = MT_Scalar(v[2]); - } - - void setValue(const double *v) { - m_co[0] = MT_Scalar(v[0]); - m_co[1] = MT_Scalar(v[1]); - m_co[2] = MT_Scalar(v[2]); - } - - void setValue(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz) { - m_co[0] = xx; m_co[1] = yy; m_co[2] = zz; - } - -protected: - MT_Scalar m_co[3]; -}; - -inline bool operator==(const MT_Tuple3& t1, const MT_Tuple3& t2) { - return t1[0] == t2[0] && t1[1] == t2[1] && t1[2] == t2[2]; -} - -inline MT_OStream& operator<<(MT_OStream& os, const MT_Tuple3& t) { - return os << t[0] << ' ' << t[1] << ' ' << t[2]; -} - -#endif - diff --git a/intern/moto/include/MT_Tuple4.h b/intern/moto/include/MT_Tuple4.h deleted file mode 100644 index aa3b60f1c9b..00000000000 --- a/intern/moto/include/MT_Tuple4.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Tuple4.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_TUPLE4_H -#define MT_TUPLE4_H - -#include "MT_Stream.h" -#include "MT_Scalar.h" - -class MT_Tuple4 { -public: - MT_Tuple4() {} - MT_Tuple4(const float *v) { setValue(v); } - MT_Tuple4(const double *v) { setValue(v); } - MT_Tuple4(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) { - setValue(xx, yy, zz, ww); - } - - MT_Scalar& operator[](int i) { return m_co[i]; } - const MT_Scalar& operator[](int i) const { return m_co[i]; } - - MT_Scalar& x() { return m_co[0]; } - const MT_Scalar& x() const { return m_co[0]; } - - MT_Scalar& y() { return m_co[1]; } - const MT_Scalar& y() const { return m_co[1]; } - - MT_Scalar& z() { return m_co[2]; } - const MT_Scalar& z() const { return m_co[2]; } - - MT_Scalar& w() { return m_co[3]; } - const MT_Scalar& w() const { return m_co[3]; } - - MT_Scalar *getValue() { return m_co; } - const MT_Scalar *getValue() const { return m_co; } - - - void getValue(float *v) const { - v[0] = float(m_co[0]); - v[1] = float(m_co[1]); - v[2] = float(m_co[2]); - v[3] = float(m_co[3]); - } - - void getValue(double *v) const { - v[0] = double(m_co[0]); - v[1] = double(m_co[1]); - v[2] = double(m_co[2]); - v[3] = double(m_co[3]); - } - - void setValue(const float *v) { - m_co[0] = MT_Scalar(v[0]); - m_co[1] = MT_Scalar(v[1]); - m_co[2] = MT_Scalar(v[2]); - m_co[3] = MT_Scalar(v[3]); - } - - void setValue(const double *v) { - m_co[0] = MT_Scalar(v[0]); - m_co[1] = MT_Scalar(v[1]); - m_co[2] = MT_Scalar(v[2]); - m_co[3] = MT_Scalar(v[3]); - } - - void setValue(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) { - m_co[0] = xx; m_co[1] = yy; m_co[2] = zz; m_co[3] = ww; - } - -protected: - MT_Scalar m_co[4]; -}; - -inline bool operator==(const MT_Tuple4& t1, const MT_Tuple4& t2) { - return t1[0] == t2[0] && t1[1] == t2[1] && t1[2] == t2[2] && t1[3] == t2[3]; -} - -inline MT_OStream& operator<<(MT_OStream& os, const MT_Tuple4& t) { - return os << t[0] << ' ' << t[1] << ' ' << t[2] << ' ' << t[3]; -} - -#endif - diff --git a/intern/moto/include/MT_Vector2.h b/intern/moto/include/MT_Vector2.h deleted file mode 100644 index 8b8f2478ce3..00000000000 --- a/intern/moto/include/MT_Vector2.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Vector2.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_VECTOR2_H -#define MT_VECTOR2_H - -#include <MT_assert.h> -#include "MT_Tuple2.h" - -class MT_Vector2 : public MT_Tuple2 { -public: - MT_Vector2() {} - MT_Vector2(const float *v2) : MT_Tuple2(v2) {} - MT_Vector2(const double *v2) : MT_Tuple2(v2) {} - MT_Vector2(MT_Scalar xx, MT_Scalar yy) : MT_Tuple2(xx, yy) {} - - MT_Vector2& operator+=(const MT_Vector2& v); - MT_Vector2& operator-=(const MT_Vector2& v); - MT_Vector2& operator*=(MT_Scalar s); - MT_Vector2& operator/=(MT_Scalar s); - - MT_Scalar dot(const MT_Vector2& v) const; - - MT_Scalar length2() const; - MT_Scalar length() const; - - MT_Vector2 absolute() const; - - void normalize(); - MT_Vector2 normalized() const; - - void scale(MT_Scalar x, MT_Scalar y); - MT_Vector2 scaled(MT_Scalar x, MT_Scalar y) const; - - bool fuzzyZero() const; - - MT_Scalar angle(const MT_Vector2& v) const; - MT_Vector2 cross(const MT_Vector2& v) const; - MT_Scalar triple(const MT_Vector2& v1, const MT_Vector2& v2) const; - - int closestAxis() const; - - static MT_Vector2 random(); -}; - -MT_Vector2 operator+(const MT_Vector2& v1, const MT_Vector2& v2); -MT_Vector2 operator-(const MT_Vector2& v1, const MT_Vector2& v2); -MT_Vector2 operator-(const MT_Vector2& v); -MT_Vector2 operator*(const MT_Vector2& v, MT_Scalar s); -MT_Vector2 operator*(MT_Scalar s, const MT_Vector2& v); -MT_Vector2 operator/(const MT_Vector2& v, MT_Scalar s); - -MT_Scalar MT_dot(const MT_Vector2& v1, const MT_Vector2& v2); - -MT_Scalar MT_length2(const MT_Vector2& v); -MT_Scalar MT_length(const MT_Vector2& v); - -bool MT_fuzzyZero(const MT_Vector2& v); -bool MT_fuzzyEqual(const MT_Vector2& v1, const MT_Vector2& v2); - -MT_Scalar MT_angle(const MT_Vector2& v1, const MT_Vector2& v2); -MT_Vector2 MT_cross(const MT_Vector2& v1, const MT_Vector2& v2); -MT_Scalar MT_triple(const MT_Vector2& v1, const MT_Vector2& v2, - const MT_Vector2& v3); - -#ifdef GEN_INLINED -#include "MT_Vector2.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Vector2.inl b/intern/moto/include/MT_Vector2.inl deleted file mode 100644 index ed16025e733..00000000000 --- a/intern/moto/include/MT_Vector2.inl +++ /dev/null @@ -1,89 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Vector2& MT_Vector2::operator+=(const MT_Vector2& vv) { - m_co[0] += vv[0]; m_co[1] += vv[1]; - return *this; -} - -GEN_INLINE MT_Vector2& MT_Vector2::operator-=(const MT_Vector2& vv) { - m_co[0] -= vv[0]; m_co[1] -= vv[1]; - return *this; -} - -GEN_INLINE MT_Vector2& MT_Vector2::operator*=(MT_Scalar s) { - m_co[0] *= s; m_co[1] *= s; - return *this; -} - -GEN_INLINE MT_Vector2& MT_Vector2::operator/=(MT_Scalar s) { - MT_assert(!MT_fuzzyZero(s)); - return *this *= 1.0f / s; -} - -GEN_INLINE MT_Vector2 operator+(const MT_Vector2& v1, const MT_Vector2& v2) { - return MT_Vector2(v1[0] + v2[0], v1[1] + v2[1]); -} - -GEN_INLINE MT_Vector2 operator-(const MT_Vector2& v1, const MT_Vector2& v2) { - return MT_Vector2(v1[0] - v2[0], v1[1] - v2[1]); -} - -GEN_INLINE MT_Vector2 operator-(const MT_Vector2& v) { - return MT_Vector2(-v[0], -v[1]); -} - -GEN_INLINE MT_Vector2 operator*(const MT_Vector2& v, MT_Scalar s) { - return MT_Vector2(v[0] * s, v[1] * s); -} - -GEN_INLINE MT_Vector2 operator*(MT_Scalar s, const MT_Vector2& v) { return v * s; } - -GEN_INLINE MT_Vector2 operator/(const MT_Vector2& v, MT_Scalar s) { - MT_assert(!MT_fuzzyZero(s)); - return v * (1.0f / s); -} - -GEN_INLINE MT_Scalar MT_Vector2::dot(const MT_Vector2& vv) const { - return m_co[0] * vv[0] + m_co[1] * vv[1]; -} - -GEN_INLINE MT_Scalar MT_Vector2::length2() const { return dot(*this); } -GEN_INLINE MT_Scalar MT_Vector2::length() const { return sqrtf(length2()); } - -GEN_INLINE MT_Vector2 MT_Vector2::absolute() const { - return MT_Vector2(MT_abs(m_co[0]), MT_abs(m_co[1])); -} - -GEN_INLINE bool MT_Vector2::fuzzyZero() const { return MT_fuzzyZero2(length2()); } - -GEN_INLINE void MT_Vector2::normalize() { *this /= length(); } -GEN_INLINE MT_Vector2 MT_Vector2::normalized() const { return *this / length(); } - -GEN_INLINE void MT_Vector2::scale(MT_Scalar xx, MT_Scalar yy) { - m_co[0] *= xx; m_co[1] *= yy; -} - -GEN_INLINE MT_Vector2 MT_Vector2::scaled(MT_Scalar xx, MT_Scalar yy) const { - return MT_Vector2(m_co[0] * xx, m_co[1] * yy); -} - -GEN_INLINE MT_Scalar MT_Vector2::angle(const MT_Vector2& vv) const { - MT_Scalar s = sqrtf(length2() * vv.length2()); - MT_assert(!MT_fuzzyZero(s)); - return acosf(dot(vv) / s); -} - - -GEN_INLINE MT_Scalar MT_dot(const MT_Vector2& v1, const MT_Vector2& v2) { - return v1.dot(v2); -} - -GEN_INLINE MT_Scalar MT_length2(const MT_Vector2& v) { return v.length2(); } -GEN_INLINE MT_Scalar MT_length(const MT_Vector2& v) { return v.length(); } - -GEN_INLINE bool MT_fuzzyZero(const MT_Vector2& v) { return v.fuzzyZero(); } -GEN_INLINE bool MT_fuzzyEqual(const MT_Vector2& v1, const MT_Vector2& v2) { - return MT_fuzzyZero(v1 - v2); -} - -GEN_INLINE MT_Scalar MT_angle(const MT_Vector2& v1, const MT_Vector2& v2) { return v1.angle(v2); } diff --git a/intern/moto/include/MT_Vector3.h b/intern/moto/include/MT_Vector3.h deleted file mode 100644 index 545ca1fad0b..00000000000 --- a/intern/moto/include/MT_Vector3.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Vector3.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_VECTOR3_H -#define MT_VECTOR3_H - -#include <MT_assert.h> -#include "MT_Tuple3.h" - -class MT_Vector3 : public MT_Tuple3 { -public: - MT_Vector3() {} - MT_Vector3(const float *v) : MT_Tuple3(v) {} - MT_Vector3(const double *v) : MT_Tuple3(v) {} - MT_Vector3(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz) : MT_Tuple3(xx, yy, zz) {} - - MT_Vector3& operator+=(const MT_Vector3& v); - MT_Vector3& operator-=(const MT_Vector3& v); - MT_Vector3& operator*=(MT_Scalar s); - MT_Vector3& operator/=(MT_Scalar s); - - MT_Scalar dot(const MT_Vector3& v) const; - - MT_Scalar length2() const; - MT_Scalar length() const; - - MT_Vector3 absolute() const; - - void noiseGate(MT_Scalar threshold); - - void normalize(); - MT_Vector3 normalized() const; - MT_Vector3 safe_normalized() const; - MT_Vector3 safe_normalized_vec(MT_Vector3 vecnormalized) const; - - void scale(MT_Scalar x, MT_Scalar y, MT_Scalar z); - MT_Vector3 scaled(MT_Scalar x, MT_Scalar y, MT_Scalar z) const; - - bool fuzzyZero() const; - - MT_Scalar angle(const MT_Vector3& v) const; - MT_Vector3 cross(const MT_Vector3& v) const; - MT_Scalar triple(const MT_Vector3& v1, const MT_Vector3& v2) const; - - int closestAxis() const; - - static MT_Vector3 random(); -}; - -MT_Vector3 operator+(const MT_Vector3& v1, const MT_Vector3& v2); -MT_Vector3 operator-(const MT_Vector3& v1, const MT_Vector3& v2); -MT_Vector3 operator-(const MT_Vector3& v); -MT_Vector3 operator*(const MT_Vector3& v, MT_Scalar s); -MT_Vector3 operator*(MT_Scalar s, const MT_Vector3& v); -MT_Vector3 operator/(const MT_Vector3& v, MT_Scalar s); - -MT_Vector3 operator*(const MT_Vector3& v1, const MT_Vector3& v2); - -MT_Scalar MT_dot(const MT_Vector3& v1, const MT_Vector3& v2); - -MT_Scalar MT_length2(const MT_Vector3& v); -MT_Scalar MT_length(const MT_Vector3& v); - -bool MT_fuzzyZero(const MT_Vector3& v); -bool MT_fuzzyEqual(const MT_Vector3& v1, const MT_Vector3& v2); - -MT_Scalar MT_angle(const MT_Vector3& v1, const MT_Vector3& v2); -MT_Vector3 MT_cross(const MT_Vector3& v1, const MT_Vector3& v2); -MT_Scalar MT_triple(const MT_Vector3& v1, const MT_Vector3& v2, - const MT_Vector3& v3); - -#ifdef GEN_INLINED -#include "MT_Vector3.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Vector3.inl b/intern/moto/include/MT_Vector3.inl deleted file mode 100644 index 7994bf7c55c..00000000000 --- a/intern/moto/include/MT_Vector3.inl +++ /dev/null @@ -1,141 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Vector3& MT_Vector3::operator+=(const MT_Vector3& v) { - m_co[0] += v[0]; m_co[1] += v[1]; m_co[2] += v[2]; - return *this; -} - -GEN_INLINE MT_Vector3& MT_Vector3::operator-=(const MT_Vector3& v) { - m_co[0] -= v[0]; m_co[1] -= v[1]; m_co[2] -= v[2]; - return *this; -} - -GEN_INLINE MT_Vector3& MT_Vector3::operator*=(MT_Scalar s) { - m_co[0] *= s; m_co[1] *= s; m_co[2] *= s; - return *this; -} - -GEN_INLINE MT_Vector3& MT_Vector3::operator/=(MT_Scalar s) { - MT_assert(!MT_fuzzyZero(s)); - return *this *= MT_Scalar(1.0f) / s; -} - -GEN_INLINE MT_Vector3 operator+(const MT_Vector3& v1, const MT_Vector3& v2) { - return MT_Vector3(v1[0] + v2[0], v1[1] + v2[1], v1[2] + v2[2]); -} - -GEN_INLINE MT_Vector3 operator-(const MT_Vector3& v1, const MT_Vector3& v2) { - return MT_Vector3(v1[0] - v2[0], v1[1] - v2[1], v1[2] - v2[2]); -} - -GEN_INLINE MT_Vector3 operator-(const MT_Vector3& v) { - return MT_Vector3(-v[0], -v[1], -v[2]); -} - -GEN_INLINE MT_Vector3 operator*(const MT_Vector3& v, MT_Scalar s) { - return MT_Vector3(v[0] * s, v[1] * s, v[2] * s); -} - -GEN_INLINE MT_Vector3 operator*(MT_Scalar s, const MT_Vector3& v) { return v * s; } - -GEN_INLINE MT_Vector3 operator/(const MT_Vector3& v, MT_Scalar s) { - MT_assert(!MT_fuzzyZero(s)); - return v * (MT_Scalar(1.0f) / s); -} - -GEN_INLINE MT_Vector3 operator*(const MT_Vector3& v1, const MT_Vector3& v2) { - return MT_Vector3(v1[0] * v2[0], v1[1] * v2[1], v1[2] * v2[2]); -} - -GEN_INLINE MT_Scalar MT_Vector3::dot(const MT_Vector3& v) const { - return m_co[0] * v[0] + m_co[1] * v[1] + m_co[2] * v[2]; -} - -GEN_INLINE MT_Scalar MT_Vector3::length2() const { return dot(*this); } -GEN_INLINE MT_Scalar MT_Vector3::length() const { return sqrtf(length2()); } - -GEN_INLINE MT_Vector3 MT_Vector3::absolute() const { - return MT_Vector3(MT_abs(m_co[0]), MT_abs(m_co[1]), MT_abs(m_co[2])); -} - -GEN_INLINE bool MT_Vector3::fuzzyZero() const { - return MT_fuzzyZero(length2()); -} - -GEN_INLINE void MT_Vector3::noiseGate(MT_Scalar threshold) { - if (length2() < threshold) { - setValue(MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(0.0f)); - } -} - -GEN_INLINE void MT_Vector3::normalize() { *this /= length(); } -GEN_INLINE MT_Vector3 MT_Vector3::normalized() const { return *this / length(); } -GEN_INLINE MT_Vector3 MT_Vector3::safe_normalized() const { - MT_Scalar len = length(); - return MT_fuzzyZero(len) ? - MT_Vector3(MT_Scalar(1.0f), MT_Scalar(0.0f), MT_Scalar(0.0f)) : - *this / len; -} - -GEN_INLINE MT_Vector3 MT_Vector3::safe_normalized_vec(MT_Vector3 vecnormalized) const { - MT_Scalar len = length(); - return MT_fuzzyZero(len) ? - vecnormalized : - *this / len; -} - -GEN_INLINE void MT_Vector3::scale(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz) { - m_co[0] *= xx; m_co[1] *= yy; m_co[2] *= zz; -} - -GEN_INLINE MT_Vector3 MT_Vector3::scaled(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz) const { - return MT_Vector3(m_co[0] * xx, m_co[1] * yy, m_co[2] * zz); -} - -GEN_INLINE MT_Scalar MT_Vector3::angle(const MT_Vector3& v) const { - MT_Scalar s = sqrtf(length2() * v.length2()); - MT_assert(!MT_fuzzyZero(s)); - return acosf(dot(v) / s); -} - -GEN_INLINE MT_Vector3 MT_Vector3::cross(const MT_Vector3& v) const { - return MT_Vector3(m_co[1] * v[2] - m_co[2] * v[1], - m_co[2] * v[0] - m_co[0] * v[2], - m_co[0] * v[1] - m_co[1] * v[0]); -} - -GEN_INLINE MT_Scalar MT_Vector3::triple(const MT_Vector3& v1, const MT_Vector3& v2) const { - return m_co[0] * (v1[1] * v2[2] - v1[2] * v2[1]) + - m_co[1] * (v1[2] * v2[0] - v1[0] * v2[2]) + - m_co[2] * (v1[0] * v2[1] - v1[1] * v2[0]); -} - -GEN_INLINE int MT_Vector3::closestAxis() const { - MT_Vector3 a = absolute(); - return a[0] < a[1] ? (a[1] < a[2] ? 2 : 1) : (a[0] < a[2] ? 2 : 0); -} - -GEN_INLINE MT_Vector3 MT_Vector3::random() { - MT_Scalar z = MT_Scalar(2.0f) * MT_random() - MT_Scalar(1.0f); - MT_Scalar r = sqrtf(MT_Scalar(1.0f) - z * z); - MT_Scalar t = (float)MT_2_PI * MT_random(); - return MT_Vector3(r * cosf(t), r * sinf(t), z); -} - -GEN_INLINE MT_Scalar MT_dot(const MT_Vector3& v1, const MT_Vector3& v2) { - return v1.dot(v2); -} - -GEN_INLINE MT_Scalar MT_length2(const MT_Vector3& v) { return v.length2(); } -GEN_INLINE MT_Scalar MT_length(const MT_Vector3& v) { return v.length(); } - -GEN_INLINE bool MT_fuzzyZero(const MT_Vector3& v) { return v.fuzzyZero(); } -GEN_INLINE bool MT_fuzzyEqual(const MT_Vector3& v1, const MT_Vector3& v2) { - return MT_fuzzyZero(v1 - v2); -} - -GEN_INLINE MT_Scalar MT_angle(const MT_Vector3& v1, const MT_Vector3& v2) { return v1.angle(v2); } -GEN_INLINE MT_Vector3 MT_cross(const MT_Vector3& v1, const MT_Vector3& v2) { return v1.cross(v2); } -GEN_INLINE MT_Scalar MT_triple(const MT_Vector3& v1, const MT_Vector3& v2, const MT_Vector3& v3) { - return v1.triple(v2, v3); -} diff --git a/intern/moto/include/MT_Vector4.h b/intern/moto/include/MT_Vector4.h deleted file mode 100644 index 440bf9b84f1..00000000000 --- a/intern/moto/include/MT_Vector4.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_Vector4.h - * \ingroup moto - */ - - -/* - - * Copyright (c) 2000 Gino van den Bergen <gino@acm.org> - * - * Permission to use, copy, modify, distribute and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation. Gino van den Bergen makes no - * representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied warranty. - * - */ - -#ifndef MT_VECTOR4_H -#define MT_VECTOR4_H - -#include <MT_assert.h> - -#include "MT_Tuple4.h" - -class MT_Vector4 : public MT_Tuple4 { -public: - MT_Vector4() {} - MT_Vector4(const float *v) : MT_Tuple4(v) {} - MT_Vector4(const double *v) : MT_Tuple4(v) {} - MT_Vector4(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) : - MT_Tuple4(xx, yy, zz, ww) {} - - MT_Vector4& operator+=(const MT_Vector4& v); - MT_Vector4& operator-=(const MT_Vector4& v); - MT_Vector4& operator*=(MT_Scalar s); - MT_Vector4& operator/=(MT_Scalar s); - - MT_Scalar dot(const MT_Vector4& v) const; - - MT_Scalar length2() const; - MT_Scalar length() const; - - MT_Vector4 absolute() const; - - void normalize(); - MT_Vector4 normalized() const; - - void scale(MT_Scalar x, MT_Scalar y, MT_Scalar z, MT_Scalar w); - MT_Vector4 scaled(MT_Scalar x, MT_Scalar y, MT_Scalar z, MT_Scalar w) const; - - bool fuzzyZero() const; -}; - -MT_Vector4 operator+(const MT_Vector4& v1, const MT_Vector4& v2); -MT_Vector4 operator-(const MT_Vector4& v1, const MT_Vector4& v2); -MT_Vector4 operator-(const MT_Vector4& v); -MT_Vector4 operator*(const MT_Vector4& v, MT_Scalar s); -MT_Vector4 operator*(MT_Scalar s, const MT_Vector4& v); -MT_Vector4 operator/(const MT_Vector4& v, MT_Scalar s); - -MT_Scalar MT_dot(const MT_Vector4& v1, const MT_Vector4& v2); - -MT_Scalar MT_length2(const MT_Vector4& v); -MT_Scalar MT_length(const MT_Vector4& v); - -bool MT_fuzzyZero(const MT_Vector4& v); -bool MT_fuzzyEqual(const MT_Vector4& v1, const MT_Vector4& v2); - -#ifdef GEN_INLINED -#include "MT_Vector4.inl" -#endif - -#endif - diff --git a/intern/moto/include/MT_Vector4.inl b/intern/moto/include/MT_Vector4.inl deleted file mode 100644 index 5b6e6766416..00000000000 --- a/intern/moto/include/MT_Vector4.inl +++ /dev/null @@ -1,80 +0,0 @@ -#include "MT_Optimize.h" - -GEN_INLINE MT_Vector4& MT_Vector4::operator+=(const MT_Vector4& v) { - m_co[0] += v[0]; m_co[1] += v[1]; m_co[2] += v[2]; m_co[3] += v[3]; - return *this; -} - -GEN_INLINE MT_Vector4& MT_Vector4::operator-=(const MT_Vector4& v) { - m_co[0] -= v[0]; m_co[1] -= v[1]; m_co[2] -= v[2]; m_co[3] -= v[3]; - return *this; -} - -GEN_INLINE MT_Vector4& MT_Vector4::operator*=(MT_Scalar s) { - m_co[0] *= s; m_co[1] *= s; m_co[2] *= s; m_co[3] *= s; - return *this; -} - -GEN_INLINE MT_Vector4& MT_Vector4::operator/=(MT_Scalar s) { - MT_assert(!MT_fuzzyZero(s)); - return *this *= MT_Scalar(1.0f) / s; -} - -GEN_INLINE MT_Vector4 operator+(const MT_Vector4& v1, const MT_Vector4& v2) { - return MT_Vector4(v1[0] + v2[0], v1[1] + v2[1], v1[2] + v2[2], v1[3] + v2[3]); -} - -GEN_INLINE MT_Vector4 operator-(const MT_Vector4& v1, const MT_Vector4& v2) { - return MT_Vector4(v1[0] - v2[0], v1[1] - v2[1], v1[2] - v2[2], v1[3] - v2[3]); -} - -GEN_INLINE MT_Vector4 operator-(const MT_Vector4& v) { - return MT_Vector4(-v[0], -v[1], -v[2], -v[3]); -} - -GEN_INLINE MT_Vector4 operator*(const MT_Vector4& v, MT_Scalar s) { - return MT_Vector4(v[0] * s, v[1] * s, v[2] * s, v[3] * s); -} - -GEN_INLINE MT_Vector4 operator*(MT_Scalar s, const MT_Vector4& v) { return v * s; } - -GEN_INLINE MT_Vector4 operator/(const MT_Vector4& v, MT_Scalar s) { - MT_assert(!MT_fuzzyZero(s)); - return v * (MT_Scalar(1.0f) / s); -} - -GEN_INLINE MT_Scalar MT_Vector4::dot(const MT_Vector4& v) const { - return m_co[0] * v[0] + m_co[1] * v[1] + m_co[2] * v[2] + m_co[3] * v[3]; -} - -GEN_INLINE MT_Scalar MT_Vector4::length2() const { return MT_dot(*this, *this); } -GEN_INLINE MT_Scalar MT_Vector4::length() const { return sqrtf(length2()); } - -GEN_INLINE MT_Vector4 MT_Vector4::absolute() const { - return MT_Vector4(MT_abs(m_co[0]), MT_abs(m_co[1]), MT_abs(m_co[2]), MT_abs(m_co[3])); -} - -GEN_INLINE void MT_Vector4::scale(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) { - m_co[0] *= xx; m_co[1] *= yy; m_co[2] *= zz; m_co[3] *= ww; -} - -GEN_INLINE MT_Vector4 MT_Vector4::scaled(MT_Scalar xx, MT_Scalar yy, MT_Scalar zz, MT_Scalar ww) const { - return MT_Vector4(m_co[0] * xx, m_co[1] * yy, m_co[2] * zz, m_co[3] * ww); -} - -GEN_INLINE bool MT_Vector4::fuzzyZero() const { return MT_fuzzyZero2(length2()); } - -GEN_INLINE void MT_Vector4::normalize() { *this /= length(); } -GEN_INLINE MT_Vector4 MT_Vector4::normalized() const { return *this / length(); } - -GEN_INLINE MT_Scalar MT_dot(const MT_Vector4& v1, const MT_Vector4& v2) { - return v1.dot(v2); -} - -GEN_INLINE MT_Scalar MT_length2(const MT_Vector4& v) { return v.length2(); } -GEN_INLINE MT_Scalar MT_length(const MT_Vector4& v) { return v.length(); } - -GEN_INLINE bool MT_fuzzyZero(const MT_Vector4& v) { return v.fuzzyZero(); } -GEN_INLINE bool MT_fuzzyEqual(const MT_Vector4& v1, const MT_Vector4& v2) { - return MT_fuzzyZero(v1 - v2); -} diff --git a/intern/moto/include/MT_assert.h b/intern/moto/include/MT_assert.h deleted file mode 100644 index 256397036de..00000000000 --- a/intern/moto/include/MT_assert.h +++ /dev/null @@ -1,103 +0,0 @@ -/* -* ***** BEGIN GPL LICENSE BLOCK ***** -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version 2 -* of the License, or (at your option) any later version. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -* -* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. -* All rights reserved. -* -* The Original Code is: all of this file. -* -* Contributor(s): none yet. -* -* ***** END GPL LICENSE BLOCK ***** -*/ - -/** \file moto/include/MT_assert.h - * \ingroup moto - */ - - -#ifndef MT_ASSERT_H -#define MT_ASSERT_H - -#include <signal.h> -#include <stdlib.h> -#include <assert.h> - - -// So it can be used from C -#ifdef __cplusplus -#define MT_CDECL extern "C" -#else -#define MT_CDECL -#endif - -// Ask the user if they wish to abort/break, ignore, or ignore for good. -// file, line, predicate form the message to ask, *do_assert should be set -// to 0 to ignore. -// returns 1 to break, false to ignore -MT_CDECL int MT_QueryAssert(const char *file, int line, const char *predicate, int *do_assert); - - -#if !defined(DEBUG) -#define MT_assert(predicate) ((void)0) -#define BREAKPOINT() ((void)0) -#else - -// BREAKPOINT() will cause a break into the debugger -#if defined(__i386) && defined(__GNUC__) -// gcc on intel... -#define BREAKPOINT() \ -asm("int $3") -#elif defined(_MSC_VER) -// Visual C++ (on Intel) -#define BREAKPOINT() \ -{ _asm int 3 } -#elif defined(SIGTRAP) -// POSIX compatible... -#define BREAKPOINT() \ -raise(SIGTRAP); -#else -// FIXME: Don't know how to do a decent break! -// Add some code for your cpu type, or get a posix -// system. -// abort instead -#define BREAKPOINT() \ -abort(); -#endif /* breakpoint */ - - -#if defined(_WIN32) && !defined(__GNUC__) -#define MT_assert(predicate) assert(predicate) -#else - - - -// Abort the program if predicate is not true -#define MT_assert(predicate) \ -{ \ - static int do_assert = 1; \ - if (!(predicate) && MT_QueryAssert(__FILE__, __LINE__, #predicate, &do_assert)) \ - { \ - BREAKPOINT(); \ - } \ -} -#endif /* windows */ - -#endif /* !defined(DEBUG) */ - -#endif - diff --git a/intern/moto/include/MT_random.h b/intern/moto/include/MT_random.h deleted file mode 100644 index 735316278d6..00000000000 --- a/intern/moto/include/MT_random.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/include/MT_random.h - * \ingroup moto - */ - - -#ifndef MT_RANDOM_H -#define MT_RANDOM_H - -#include <limits.h> - -#define MT_RAND_MAX UINT_MAX - -extern void MT_srand(unsigned int); -extern unsigned int MT_rand(); - -#endif - diff --git a/intern/moto/intern/MT_Assert.cpp b/intern/moto/intern/MT_Assert.cpp deleted file mode 100644 index 9279b70afec..00000000000 --- a/intern/moto/intern/MT_Assert.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Assert.cpp - * \ingroup moto - */ - - -#include <stdio.h> - -#ifdef _WIN32 -#include <windows.h> -#endif - -#include "MT_assert.h" - -#ifdef _MSC_VER -#ifndef snprintf - #define snprintf _snprintf -#endif -#endif - -// Query the user if they want to break/abort the program, ignore the assert, or ignore all future -// occurance of the assert. -int MT_QueryAssert(const char *file, int line, const char *predicate, int *do_assert) -{ -#ifdef _WIN32 - if (*do_assert) - { - char buffer[1024]; - snprintf(buffer, 1024, "ASSERT %s:%d: %s failed.\nWould you like to debug? (Cancel = ignore)", file, line, predicate); - int result = MessageBox(NULL, buffer, "ASSERT failed.", MB_YESNOCANCEL|MB_ICONERROR); - if (result == IDCANCEL) - { - *do_assert = 0; - return 0; - } - - return result == IDYES; - } -#endif - printf("ASSERT %s:%d: %s failed.\n", file, line, predicate); - return *do_assert; -} diff --git a/intern/moto/intern/MT_CmMatrix4x4.cpp b/intern/moto/intern/MT_CmMatrix4x4.cpp deleted file mode 100644 index 38c93b92761..00000000000 --- a/intern/moto/intern/MT_CmMatrix4x4.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_CmMatrix4x4.cpp - * \ingroup moto - */ - - -#include "MT_CmMatrix4x4.h" -#include "MT_Vector3.h" -#include "MT_Point3.h" - - -MT_CmMatrix4x4::MT_CmMatrix4x4() -{ - Identity(); -} - - - -MT_CmMatrix4x4::MT_CmMatrix4x4(const MT_Scalar value[4][4]) -{ - for (int i=0;i<4;i++) - { - for (int j=0;j<4;j++) - m_V[i][j] = value[i][j]; - } -} - - - -MT_CmMatrix4x4::MT_CmMatrix4x4(const MT_Scalar value[16]) -{ - for (int i=0;i<16;i++) - m_Vflat[i] = value[i]; -} - - - -MT_CmMatrix4x4::MT_CmMatrix4x4(const MT_CmMatrix4x4& other) -{ - SetMatrix(other); -} - - - -MT_CmMatrix4x4::MT_CmMatrix4x4(const MT_Point3& orig, - const MT_Vector3& dir, - const MT_Vector3 up) -{ - MT_Vector3 z = -(dir.normalized()); - MT_Vector3 x = (up.cross(z)).normalized(); - MT_Vector3 y = (z.cross(x)); - - m_V[0][0] = x.x(); - m_V[0][1] = y.x(); - m_V[0][2] = z.x(); - m_V[0][3] = 0.0f; - - m_V[1][0] = x.y(); - m_V[1][1] = y.y(); - m_V[1][2] = z.y(); - m_V[1][3] = 0.0f; - - m_V[2][0] = x.z(); - m_V[2][1] = y.z(); - m_V[2][2] = z.z(); - m_V[2][3] = 0.0f; - - m_V[3][0] = orig.x();//0.0f; - m_V[3][1] = orig.y();//0.0f; - m_V[3][2] = orig.z();//0.0f; - m_V[3][3] = 1.0f; - - //Translate(-orig); -} - - - -MT_Vector3 MT_CmMatrix4x4::GetRight() const -{ - return MT_Vector3(m_V[0][0], m_V[0][1], m_V[0][2]); -} - - - -MT_Vector3 MT_CmMatrix4x4::GetUp() const -{ - return MT_Vector3(m_V[1][0], m_V[1][1], m_V[1][2]); -} - - - -MT_Vector3 MT_CmMatrix4x4::GetDir() const -{ - return MT_Vector3(m_V[2][0], m_V[2][1], m_V[2][2]); -} - - - -MT_Point3 MT_CmMatrix4x4::GetPos() const -{ - return MT_Point3(m_V[3][0], m_V[3][1], m_V[3][2]); -} - - - -void MT_CmMatrix4x4::Identity() -{ - for (int i=0; i<4; i++) - { - for (int j=0; j<4; j++) - m_V[i][j] = (i==j?1.0f:0.0f); - } -} - - - -void MT_CmMatrix4x4::SetMatrix(const MT_CmMatrix4x4& other) -{ - for (int i=0; i<16; i++) - m_Vflat[i] = other.m_Vflat[i]; -} - - - -MT_Scalar* MT_CmMatrix4x4::getPointer() -{ - return &m_V[0][0]; -} - - - -const MT_Scalar* MT_CmMatrix4x4::getPointer() const -{ - return &m_V[0][0]; -} - - - -void MT_CmMatrix4x4::setElem(int pos,MT_Scalar newvalue) -{ - m_Vflat[pos] = newvalue; -} - -MT_CmMatrix4x4 MT_CmMatrix4x4::Perspective( - MT_Scalar inLeft, - MT_Scalar inRight, - MT_Scalar inBottom, - MT_Scalar inTop, - MT_Scalar inNear, - MT_Scalar inFar -){ - - MT_CmMatrix4x4 mat; - - // Column 0 - mat(0, 0) = -(2.0f*inNear) / (inRight-inLeft); - mat(1, 0) = 0.0f; - mat(2, 0) = 0.0f; - mat(3, 0) = 0.0f; - - // Column 1 - mat(0, 1) = 0.0f; - mat(1, 1) = (2.0f*inNear) / (inTop-inBottom); - mat(2, 1) = 0.0f; - mat(3, 1) = 0.0f; - - // Column 2 - mat(0, 2) = (inRight+inLeft) / (inRight-inLeft); - mat(1, 2) = (inTop+inBottom) / (inTop-inBottom); - mat(2, 2) = -(inFar+inNear) / (inFar-inNear); - mat(3, 2) = -1.0f; - - // Column 3 - mat(0, 3) = 0.0f; - mat(1, 3) = 0.0f; - mat(2, 3) = -(2.0f*inFar*inNear) / (inFar-inNear); - mat(3, 3) = 0.0f; - - return mat; -} diff --git a/intern/moto/intern/MT_Matrix3x3.cpp b/intern/moto/intern/MT_Matrix3x3.cpp deleted file mode 100644 index fd33b3e1d39..00000000000 --- a/intern/moto/intern/MT_Matrix3x3.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Matrix3x3.cpp - * \ingroup moto - */ - - -#include "MT_Matrix3x3.h" - - -#ifndef GEN_INLINED -#include "MT_Matrix3x3.inl" -#endif diff --git a/intern/moto/intern/MT_Matrix4x4.cpp b/intern/moto/intern/MT_Matrix4x4.cpp deleted file mode 100644 index 41d49538212..00000000000 --- a/intern/moto/intern/MT_Matrix4x4.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Matrix4x4.cpp - * \ingroup moto - */ - - -#include "MT_Matrix4x4.h" - - -#ifndef GEN_INLINED -#include "MT_Matrix4x4.inl" -#endif diff --git a/intern/moto/intern/MT_Point3.cpp b/intern/moto/intern/MT_Point3.cpp deleted file mode 100644 index 48003a8e60b..00000000000 --- a/intern/moto/intern/MT_Point3.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Point3.cpp - * \ingroup moto - */ - - -#include "MT_Point3.h" - - -#ifndef GEN_INLINED -#include "MT_Point3.inl" -#endif diff --git a/intern/moto/intern/MT_Quaternion.cpp b/intern/moto/intern/MT_Quaternion.cpp deleted file mode 100644 index a2b634fced5..00000000000 --- a/intern/moto/intern/MT_Quaternion.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Quaternion.cpp - * \ingroup moto - */ - - -#include "MT_Quaternion.h" - - -#ifndef GEN_INLINED -#include "MT_Quaternion.inl" -#endif diff --git a/intern/moto/intern/MT_Transform.cpp b/intern/moto/intern/MT_Transform.cpp deleted file mode 100644 index 49a75b78e46..00000000000 --- a/intern/moto/intern/MT_Transform.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Transform.cpp - * \ingroup moto - */ - - -/* - - MOTTO - 3D Motion Toolkit - Copyright (C) 2000 Gino van den Bergen <gino@acm.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -#include "MT_Transform.h" - -void MT_Transform::setValue(const float *m) { - m_basis.setValue(m); - m_origin.setValue(&m[12]); - m_type = AFFINE; -} - -void MT_Transform::setValue(const double *m) { - m_basis.setValue(m); - m_origin.setValue(&m[12]); - m_type = AFFINE; -} - -void MT_Transform::getValue(float *m) const { - m_basis.getValue(m); - m_origin.getValue(&m[12]); - m[15] = 1.0f; -} - -void MT_Transform::getValue(double *m) const { - m_basis.getValue(m); - m_origin.getValue(&m[12]); - m[15] = 1.0; -} - -MT_Transform& MT_Transform::operator*=(const MT_Transform& t) { - m_origin += m_basis * t.m_origin; - m_basis *= t.m_basis; - m_type |= t.m_type; - return *this; -} - -void MT_Transform::translate(const MT_Vector3& v) { - m_origin += m_basis * v; - m_type |= TRANSLATION; -} - -void MT_Transform::rotate(const MT_Quaternion& q) { - m_basis *= MT_Matrix3x3(q); - m_type |= ROTATION; -} - -void MT_Transform::scale(MT_Scalar x, MT_Scalar y, MT_Scalar z) { - m_basis.scale(x, y, z); - m_type |= SCALING; -} - -void MT_Transform::setIdentity() { - m_basis.setIdentity(); - m_origin.setValue(MT_Scalar(0.0f), MT_Scalar(0.0f), MT_Scalar(0.0f)); - m_type = IDENTITY; -} - -void MT_Transform::invert(const MT_Transform& t) { - m_basis = t.m_type & SCALING ? - t.m_basis.inverse() : - t.m_basis.transposed(); - m_origin.setValue(-MT_dot(m_basis[0], t.m_origin), - -MT_dot(m_basis[1], t.m_origin), - -MT_dot(m_basis[2], t.m_origin)); - m_type = t.m_type; -} - -void MT_Transform::mult(const MT_Transform& t1, const MT_Transform& t2) { - m_basis = t1.m_basis * t2.m_basis; - m_origin = t1(t2.m_origin); - m_type = t1.m_type | t2.m_type; -} - -void MT_Transform::multInverseLeft(const MT_Transform& t1, const MT_Transform& t2) { - MT_Vector3 v = t2.m_origin - t1.m_origin; - if (t1.m_type & SCALING) { - MT_Matrix3x3 inv = t1.m_basis.inverse(); - m_basis = inv * t2.m_basis; - m_origin = inv * v; - } - else { - m_basis = MT_multTransposeLeft(t1.m_basis, t2.m_basis); - m_origin = v * t1.m_basis; - } - m_type = t1.m_type | t2.m_type; -} - - - diff --git a/intern/moto/intern/MT_Vector2.cpp b/intern/moto/intern/MT_Vector2.cpp deleted file mode 100644 index 3c0b0a08f1f..00000000000 --- a/intern/moto/intern/MT_Vector2.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Vector2.cpp - * \ingroup moto - */ - - -#include "MT_Vector2.h" - - -#ifndef GEN_INLINED -#include "MT_Vector2.inl" -#endif diff --git a/intern/moto/intern/MT_Vector3.cpp b/intern/moto/intern/MT_Vector3.cpp deleted file mode 100644 index a90551dd0a8..00000000000 --- a/intern/moto/intern/MT_Vector3.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Vector3.cpp - * \ingroup moto - */ - - -#include "MT_Vector3.h" - - -#ifndef GEN_INLINED -#include "MT_Vector3.inl" -#endif diff --git a/intern/moto/intern/MT_Vector4.cpp b/intern/moto/intern/MT_Vector4.cpp deleted file mode 100644 index b41ec03754d..00000000000 --- a/intern/moto/intern/MT_Vector4.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_Vector4.cpp - * \ingroup moto - */ - - -#include "MT_Vector4.h" - - -#ifndef GEN_INLINED -#include "MT_Vector4.inl" -#endif diff --git a/intern/moto/intern/MT_random.cpp b/intern/moto/intern/MT_random.cpp deleted file mode 100644 index ab191008d28..00000000000 --- a/intern/moto/intern/MT_random.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file moto/intern/MT_random.cpp - * \ingroup moto - */ - - -/* A C-program for MT19937: Real number version */ - -/* genrand() generates one pseudorandom real number (double) */ -/* which is uniformly distributed on [0,1]-interval, for each */ -/* call. sgenrand(seed) set initial values to the working area */ -/* of 624 words. Before genrand(), sgenrand(seed) must be */ -/* called once. (seed is any 32-bit integer except for 0). */ -/* Integer generator is obtained by modifying two lines. */ -/* Coded by Takuji Nishimura, considering the suggestions by */ -/* Topher Cooper and Marc Rieffel in July-Aug. 1997. */ - -/* This library is free software; you can redistribute it and/or */ -/* modify it under the terms of the GNU Library General Public */ -/* License as published by the Free Software Foundation; either */ -/* version 2 of the License, or (at your option) any later */ -/* version. */ -/* This library is distributed in the hope that it will be useful, */ -/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ -/* See the GNU Library General Public License for more details. */ -/* You should have received a copy of the GNU Library General */ -/* Public License along with this library; if not, write to the */ -/* Free Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA */ -/* 02110-1301, USA */ - -/* Copyright (C) 1997 Makoto Matsumoto and Takuji Nishimura. */ -/* When you use this, send an email to: matumoto@math.keio.ac.jp */ -/* with an appropriate reference to your work. */ - -#include "MT_random.h" - -/* Period parameters */ -#define N 624 -#define M 397 -#define MATRIX_A 0x9908b0df /* constant vector a */ -#define UPPER_MASK 0x80000000 /* most significant w-r bits */ -#define LOWER_MASK 0x7fffffff /* least significant r bits */ - -/* Tempering parameters */ -#define TEMPERING_MASK_B 0x9d2c5680 -#define TEMPERING_MASK_C 0xefc60000 -#define TEMPERING_SHIFT_U(y) (y >> 11) -#define TEMPERING_SHIFT_S(y) (y << 7) -#define TEMPERING_SHIFT_T(y) (y << 15) -#define TEMPERING_SHIFT_L(y) (y >> 18) - -static unsigned int mt[N]; /* the array for the state vector */ -static int mti = N+1; /* mti==N+1 means mt[N] is not initialized */ - -/* initializing the array with a NONZERO seed */ -void MT_srand(unsigned int seed) -{ - /* setting initial seeds to mt[N] using */ - /* the generator Line 25 of Table 1 in */ - /* [KNUTH 1981, The Art of Computer Programming */ - /* Vol. 2 (2nd Ed.), pp102] */ - mt[0] = seed & 0xffffffff; - for (mti = 1; mti < N; mti++) - mt[mti] = (69069 * mt[mti-1]) & 0xffffffff; -} - -unsigned int MT_rand() -{ - static unsigned int mag01[2] = { 0x0, MATRIX_A }; - /* mag01[x] = x * MATRIX_A for x=0,1 */ - - unsigned int y; - - if (mti >= N) { /* generate N words at one time */ - int kk; - - if (mti == N+1) /* if sgenrand() has not been called, */ - MT_srand(4357); /* a default initial seed is used */ - - for (kk = 0; kk < N - M; kk++) { - y = (mt[kk] & UPPER_MASK) | (mt[kk+1] & LOWER_MASK); - mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1]; - } - for (; kk < N-1; kk++) { - y = (mt[kk] & UPPER_MASK) | (mt[kk+1] & LOWER_MASK); - mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1]; - } - y = (mt[N-1] & UPPER_MASK) | (mt[0] & LOWER_MASK); - mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1]; - - mti = 0; - } - - y = mt[mti++]; - y ^= TEMPERING_SHIFT_U(y); - y ^= TEMPERING_SHIFT_S(y) & TEMPERING_MASK_B; - y ^= TEMPERING_SHIFT_T(y) & TEMPERING_MASK_C; - y ^= TEMPERING_SHIFT_L(y); - - return y; -} - -#undef N -#undef M -#undef MATRIX_A -#undef UPPER_MASK -#undef LOWER_MASK - -/* Tempering parameters */ -#undef TEMPERING_MASK_B -#undef TEMPERING_MASK_C -#undef TEMPERING_SHIFT_U -#undef TEMPERING_SHIFT_S -#undef TEMPERING_SHIFT_T -#undef TEMPERING_SHIFT_L - diff --git a/intern/string/CMakeLists.txt b/intern/string/CMakeLists.txt index ddadfc61bee..055bafdb157 100644 --- a/intern/string/CMakeLists.txt +++ b/intern/string/CMakeLists.txt @@ -34,7 +34,6 @@ set(INC_SYS set(SRC intern/STR_String.cpp - STR_HashedString.h STR_String.h ) diff --git a/intern/string/STR_HashedString.h b/intern/string/STR_HashedString.h deleted file mode 100644 index ce790f398a0..00000000000 --- a/intern/string/STR_HashedString.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -/** \file string/STR_HashedString.h - * \ingroup string - * - * Copyright (C) 2001 NaN Technologies B.V. - * This file was formerly known as: GEN_StdString.cpp. - * \date November, 14, 2001 - */ - -#ifndef __STR_HASHEDSTRING_H__ -#define __STR_HASHEDSTRING_H__ - -#include "STR_String.h" - -/* copied from 'BLI_compiler_attrs.h' */ -/* Use to suppress '-Wimplicit-fallthrough' (in place of 'break'). */ -#if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */ -#define ATTR_FALLTHROUGH __attribute__((fallthrough)) -#else -#define ATTR_FALLTHROUGH ((void)0) -#endif - - -// Hash Mix utility function, by Bob Jenkins - Mix 3 32-bit values reversibly -// -// - If gHashMix() is run forward or backward, at least 32 bits in a,b,c have at -// least 1/4 probability of changing. -// -// - If gHashMix() is run forward, every bit of c will change between 1/3 and -// 2/3 of the time. -// -static inline void STR_gHashMix(dword& a, dword& b, dword& c) -{ - a -= b; a -= c; a ^= (c >> 13); - b -= c; b -= a; b ^= (a << 8); - c -= a; c -= b; c ^= (b >> 13); - a -= b; a -= c; a ^= (c >> 12); - b -= c; b -= a; b ^= (a << 16); - c -= a; c -= b; c ^= (b >> 5); - a -= b; a -= c; a ^= (c >> 3); - b -= c; b -= a; b ^= (a << 10); - c -= a; c -= b; c ^= (b >> 15); -} - -// -// Fast Hashable<int32> functionality -// http://www.concentric.net/~Ttwang/tech/inthash.htm -// -static inline dword STR_gHash(dword inDWord) -{ - dword key = inDWord; - key += ~(key << 16); - key ^= (key >> 5); - key += (key << 3); - key ^= (key >> 13); - key += ~(key << 9); - key ^= (key >> 17); - return key; -} - -enum { GOLDEN_RATIO = 0x9e3779b9 }; /* arbitrary value to initialize hash funtion, well not so arbitrary - * as this value is taken from the pigs library (Orange Games/Lost Boys) */ - - - -static dword STR_gHash(const void *in, int len, dword init_val) -{ - unsigned int length = len; - dword a = (dword)GOLDEN_RATIO; - dword b = (dword)GOLDEN_RATIO; - dword c = init_val; /* the previous hash value */ - byte *p_in = (byte *)in; - - // Do the largest part of the key - while (length >= 12) - { - a += (p_in[0] + ((dword)p_in[1] << 8) + ((dword)p_in[2] << 16) + ((dword)p_in[3] << 24)); - b += (p_in[4] + ((dword)p_in[5] << 8) + ((dword)p_in[6] << 16) + ((dword)p_in[7] << 24)); - c += (p_in[8] + ((dword)p_in[9] << 8) + ((dword)p_in[10] << 16) + ((dword)p_in[11] << 24)); - STR_gHashMix(a, b, c); - p_in += 12; length -= 12; - } - - // Handle the last 11 bytes - c += len; - switch (length) { - case 11: c += ((dword)p_in[10] << 24); ATTR_FALLTHROUGH; - case 10: c += ((dword)p_in[9] << 16); ATTR_FALLTHROUGH; - case 9: c += ((dword)p_in[8] << 8); ATTR_FALLTHROUGH; /* the first byte of c is reserved for the length */ - case 8: b += ((dword)p_in[7] << 24); ATTR_FALLTHROUGH; - case 7: b += ((dword)p_in[6] << 16); ATTR_FALLTHROUGH; - case 6: b += ((dword)p_in[5] << 8); ATTR_FALLTHROUGH; - case 5: b += p_in[4]; ATTR_FALLTHROUGH; - case 4: a += ((dword)p_in[3] << 24); ATTR_FALLTHROUGH; - case 3: a += ((dword)p_in[2] << 16); ATTR_FALLTHROUGH; - case 2: a += ((dword)p_in[1] << 8); ATTR_FALLTHROUGH; - case 1: a += p_in[0]; - } - STR_gHashMix(a, b, c); - - return c; -} - - - - -class STR_HashedString : public STR_String -{ -public: - STR_HashedString() : STR_String(), m_Hashed(false) {} - STR_HashedString(const char *str) : STR_String(str), m_Hashed(false) {} - STR_HashedString(const STR_String &str) : STR_String(str), m_Hashed(false) {} - - inline dword hash(dword init = 0) const - { - if (!m_Hashed) - { - const char *str = *this; - int length = this->Length(); - m_CachedHash = STR_gHash(str, length, init); - m_Hashed = true; - } - return m_CachedHash; - } - -private: - mutable bool m_Hashed; - mutable dword m_CachedHash; -}; - -#endif //__STR_HASHEDSTRING_H__ - |