New upstream version 26.1.0+dfsg1
This commit is contained in:
parent
040dcc3fc2
commit
013818c4af
594 changed files with 19576 additions and 4478 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/* -LICENSE-START-
|
||||
** Copyright (c) 2018 Blackmagic Design
|
||||
** Copyright (c) 2020 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
|
||||
|
|
@ -7,14 +7,14 @@
|
|||
** 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
|
||||
|
|
@ -44,7 +44,7 @@ cpp_quote("#endif")
|
|||
|
||||
/* Enum BMDStreamingDeviceMode - Device modes */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingDeviceMode {
|
||||
typedef [v1_enum] enum _BMDStreamingDeviceMode {
|
||||
bmdStreamingDeviceIdle = /* 'idle' */ 0x69646C65,
|
||||
bmdStreamingDeviceEncoding = /* 'enco' */ 0x656E636F,
|
||||
bmdStreamingDeviceStopping = /* 'stop' */ 0x73746F70,
|
||||
|
|
@ -53,7 +53,7 @@ typedef [v1_enum] enum _BMDStreamingDeviceMode {
|
|||
|
||||
/* Enum BMDStreamingEncodingFrameRate - Encoded frame rates */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingEncodingFrameRate {
|
||||
typedef [v1_enum] enum _BMDStreamingEncodingFrameRate {
|
||||
|
||||
/* Interlaced rates */
|
||||
|
||||
|
|
@ -75,21 +75,21 @@ typedef [v1_enum] enum _BMDStreamingEncodingFrameRate {
|
|||
|
||||
/* Enum BMDStreamingEncodingSupport - Output encoding mode supported flag */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingEncodingSupport {
|
||||
typedef [v1_enum] enum _BMDStreamingEncodingSupport {
|
||||
bmdStreamingEncodingModeNotSupported = 0,
|
||||
bmdStreamingEncodingModeSupported,
|
||||
bmdStreamingEncodingModeSupportedWithChanges
|
||||
bmdStreamingEncodingModeSupported,
|
||||
bmdStreamingEncodingModeSupportedWithChanges
|
||||
} BMDStreamingEncodingSupport;
|
||||
|
||||
/* Enum BMDStreamingVideoCodec - Video codecs */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingVideoCodec {
|
||||
typedef [v1_enum] enum _BMDStreamingVideoCodec {
|
||||
bmdStreamingVideoCodecH264 = /* 'H264' */ 0x48323634
|
||||
} BMDStreamingVideoCodec;
|
||||
|
||||
/* Enum BMDStreamingH264Profile - H264 encoding profile */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingH264Profile {
|
||||
typedef [v1_enum] enum _BMDStreamingH264Profile {
|
||||
bmdStreamingH264ProfileHigh = /* 'high' */ 0x68696768,
|
||||
bmdStreamingH264ProfileMain = /* 'main' */ 0x6D61696E,
|
||||
bmdStreamingH264ProfileBaseline = /* 'base' */ 0x62617365
|
||||
|
|
@ -97,7 +97,7 @@ typedef [v1_enum] enum _BMDStreamingH264Profile {
|
|||
|
||||
/* Enum BMDStreamingH264Level - H264 encoding level */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingH264Level {
|
||||
typedef [v1_enum] enum _BMDStreamingH264Level {
|
||||
bmdStreamingH264Level12 = /* 'lv12' */ 0x6C763132,
|
||||
bmdStreamingH264Level13 = /* 'lv13' */ 0x6C763133,
|
||||
bmdStreamingH264Level2 = /* 'lv2 ' */ 0x6C763220,
|
||||
|
|
@ -113,20 +113,20 @@ typedef [v1_enum] enum _BMDStreamingH264Level {
|
|||
|
||||
/* Enum BMDStreamingH264EntropyCoding - H264 entropy coding */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingH264EntropyCoding {
|
||||
typedef [v1_enum] enum _BMDStreamingH264EntropyCoding {
|
||||
bmdStreamingH264EntropyCodingCAVLC = /* 'EVLC' */ 0x45564C43,
|
||||
bmdStreamingH264EntropyCodingCABAC = /* 'EBAC' */ 0x45424143
|
||||
} BMDStreamingH264EntropyCoding;
|
||||
|
||||
/* Enum BMDStreamingAudioCodec - Audio codecs */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingAudioCodec {
|
||||
typedef [v1_enum] enum _BMDStreamingAudioCodec {
|
||||
bmdStreamingAudioCodecAAC = /* 'AAC ' */ 0x41414320
|
||||
} BMDStreamingAudioCodec;
|
||||
|
||||
/* Enum BMDStreamingEncodingModePropertyID - Encoding mode properties */
|
||||
|
||||
typedef [v1_enum] enum _BMDStreamingEncodingModePropertyID {
|
||||
typedef [v1_enum] enum _BMDStreamingEncodingModePropertyID {
|
||||
|
||||
/* Integers, Video Properties */
|
||||
|
||||
|
|
@ -173,9 +173,9 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Device notification callbacks.")
|
||||
] interface IBMDStreamingDeviceNotificationCallback : IUnknown
|
||||
{
|
||||
HRESULT StreamingDeviceArrived([in] IDeckLink* device);
|
||||
HRESULT StreamingDeviceRemoved([in] IDeckLink* device);
|
||||
HRESULT StreamingDeviceModeChanged([in] IDeckLink* device, [in] BMDStreamingDeviceMode mode);
|
||||
HRESULT StreamingDeviceArrived ([in] IDeckLink* device);
|
||||
HRESULT StreamingDeviceRemoved ([in] IDeckLink* device);
|
||||
HRESULT StreamingDeviceModeChanged ([in] IDeckLink* device, [in] BMDStreamingDeviceMode mode);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingH264InputCallback - H264 input callbacks. */
|
||||
|
|
@ -186,12 +186,12 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("H264 input callbacks.")
|
||||
] interface IBMDStreamingH264InputCallback : IUnknown
|
||||
{
|
||||
HRESULT H264NALPacketArrived([in] IBMDStreamingH264NALPacket* nalPacket);
|
||||
HRESULT H264AudioPacketArrived([in] IBMDStreamingAudioPacket* audioPacket);
|
||||
HRESULT MPEG2TSPacketArrived([in] IBMDStreamingMPEG2TSPacket* tsPacket);
|
||||
HRESULT H264VideoInputConnectorScanningChanged(void);
|
||||
HRESULT H264VideoInputConnectorChanged(void);
|
||||
HRESULT H264VideoInputModeChanged(void);
|
||||
HRESULT H264NALPacketArrived ([in] IBMDStreamingH264NALPacket* nalPacket);
|
||||
HRESULT H264AudioPacketArrived ([in] IBMDStreamingAudioPacket* audioPacket);
|
||||
HRESULT MPEG2TSPacketArrived ([in] IBMDStreamingMPEG2TSPacket* tsPacket);
|
||||
HRESULT H264VideoInputConnectorScanningChanged (void);
|
||||
HRESULT H264VideoInputConnectorChanged (void);
|
||||
HRESULT H264VideoInputModeChanged (void);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingDiscovery - Installs device notifications */
|
||||
|
|
@ -202,8 +202,8 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Installs device notifications")
|
||||
] interface IBMDStreamingDiscovery : IUnknown
|
||||
{
|
||||
HRESULT InstallDeviceNotifications([in] IBMDStreamingDeviceNotificationCallback* theCallback);
|
||||
HRESULT UninstallDeviceNotifications(void);
|
||||
HRESULT InstallDeviceNotifications ([in] IBMDStreamingDeviceNotificationCallback* theCallback);
|
||||
HRESULT UninstallDeviceNotifications (void);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingVideoEncodingMode - Represents an encoded video mode. */
|
||||
|
|
@ -214,19 +214,19 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Represents an encoded video mode.")
|
||||
] interface IBMDStreamingVideoEncodingMode : IUnknown
|
||||
{
|
||||
HRESULT GetName([out] BSTR *name);
|
||||
unsigned int GetPresetID(void);
|
||||
unsigned int GetSourcePositionX(void);
|
||||
unsigned int GetSourcePositionY(void);
|
||||
unsigned int GetSourceWidth(void);
|
||||
unsigned int GetSourceHeight(void);
|
||||
unsigned int GetDestWidth(void);
|
||||
unsigned int GetDestHeight(void);
|
||||
HRESULT GetFlag([in] BMDStreamingEncodingModePropertyID cfgID, [out] BOOL* value);
|
||||
HRESULT GetInt([in] BMDStreamingEncodingModePropertyID cfgID, [out] LONGLONG* value);
|
||||
HRESULT GetFloat([in] BMDStreamingEncodingModePropertyID cfgID, [out] double* value);
|
||||
HRESULT GetString([in] BMDStreamingEncodingModePropertyID cfgID, [out] BSTR *value);
|
||||
HRESULT CreateMutableVideoEncodingMode([out] IBMDStreamingMutableVideoEncodingMode** newEncodingMode); // Creates a mutable copy of the encoding mode
|
||||
HRESULT GetName ([out] BSTR* name);
|
||||
unsigned int GetPresetID (void);
|
||||
unsigned int GetSourcePositionX (void);
|
||||
unsigned int GetSourcePositionY (void);
|
||||
unsigned int GetSourceWidth (void);
|
||||
unsigned int GetSourceHeight (void);
|
||||
unsigned int GetDestWidth (void);
|
||||
unsigned int GetDestHeight (void);
|
||||
HRESULT GetFlag ([in] BMDStreamingEncodingModePropertyID cfgID, [out] BOOL* value);
|
||||
HRESULT GetInt ([in] BMDStreamingEncodingModePropertyID cfgID, [out] LONGLONG* value);
|
||||
HRESULT GetFloat ([in] BMDStreamingEncodingModePropertyID cfgID, [out] double* value);
|
||||
HRESULT GetString ([in] BMDStreamingEncodingModePropertyID cfgID, [out] BSTR* value);
|
||||
HRESULT CreateMutableVideoEncodingMode ([out] IBMDStreamingMutableVideoEncodingMode** newEncodingMode); // Creates a mutable copy of the encoding mode
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingMutableVideoEncodingMode - Represents a mutable encoded video mode. */
|
||||
|
|
@ -237,12 +237,12 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Represents a mutable encoded video mode.")
|
||||
] interface IBMDStreamingMutableVideoEncodingMode : IBMDStreamingVideoEncodingMode
|
||||
{
|
||||
HRESULT SetSourceRect([in] unsigned int posX, [in] unsigned int posY, [in] unsigned int width, [in] unsigned int height);
|
||||
HRESULT SetDestSize([in] unsigned int width, [in] unsigned int height);
|
||||
HRESULT SetFlag([in] BMDStreamingEncodingModePropertyID cfgID, [in] BOOL value);
|
||||
HRESULT SetInt([in] BMDStreamingEncodingModePropertyID cfgID, [in] LONGLONG value);
|
||||
HRESULT SetFloat([in] BMDStreamingEncodingModePropertyID cfgID, [in] double value);
|
||||
HRESULT SetString([in] BMDStreamingEncodingModePropertyID cfgID, [in] BSTR value);
|
||||
HRESULT SetSourceRect ([in] unsigned int posX, [in] unsigned int posY, [in] unsigned int width, [in] unsigned int height);
|
||||
HRESULT SetDestSize ([in] unsigned int width, [in] unsigned int height);
|
||||
HRESULT SetFlag ([in] BMDStreamingEncodingModePropertyID cfgID, [in] BOOL value);
|
||||
HRESULT SetInt ([in] BMDStreamingEncodingModePropertyID cfgID, [in] LONGLONG value);
|
||||
HRESULT SetFloat ([in] BMDStreamingEncodingModePropertyID cfgID, [in] double value);
|
||||
HRESULT SetString ([in] BMDStreamingEncodingModePropertyID cfgID, [in] BSTR value);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingVideoEncodingModePresetIterator - Enumerates encoding mode presets */
|
||||
|
|
@ -253,7 +253,7 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Enumerates encoding mode presets")
|
||||
] interface IBMDStreamingVideoEncodingModePresetIterator : IUnknown
|
||||
{
|
||||
HRESULT Next([out] IBMDStreamingVideoEncodingMode** videoEncodingMode);
|
||||
HRESULT Next ([out] IBMDStreamingVideoEncodingMode** videoEncodingMode);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingDeviceInput - Created by QueryInterface from IDeckLink */
|
||||
|
|
@ -267,23 +267,23 @@ interface IBMDStreamingH264NALParser;
|
|||
|
||||
/* Input modes */
|
||||
|
||||
HRESULT DoesSupportVideoInputMode([in] BMDDisplayMode inputMode, [out] BOOL* result);
|
||||
HRESULT GetVideoInputModeIterator([out] IDeckLinkDisplayModeIterator** iterator);
|
||||
HRESULT SetVideoInputMode([in] BMDDisplayMode inputMode);
|
||||
HRESULT GetCurrentDetectedVideoInputMode([out] BMDDisplayMode* detectedMode);
|
||||
HRESULT DoesSupportVideoInputMode ([in] BMDDisplayMode inputMode, [out] BOOL* result);
|
||||
HRESULT GetVideoInputModeIterator ([out] IDeckLinkDisplayModeIterator** iterator);
|
||||
HRESULT SetVideoInputMode ([in] BMDDisplayMode inputMode);
|
||||
HRESULT GetCurrentDetectedVideoInputMode ([out] BMDDisplayMode* detectedMode);
|
||||
|
||||
/* Capture modes */
|
||||
|
||||
HRESULT GetVideoEncodingMode([out] IBMDStreamingVideoEncodingMode** encodingMode);
|
||||
HRESULT GetVideoEncodingModePresetIterator([in] BMDDisplayMode inputMode, [out] IBMDStreamingVideoEncodingModePresetIterator** iterator);
|
||||
HRESULT DoesSupportVideoEncodingMode([in] BMDDisplayMode inputMode, [in] IBMDStreamingVideoEncodingMode* encodingMode, [out] BMDStreamingEncodingSupport* result, [out] IBMDStreamingVideoEncodingMode** changedEncodingMode);
|
||||
HRESULT SetVideoEncodingMode([in] IBMDStreamingVideoEncodingMode* encodingMode);
|
||||
HRESULT GetVideoEncodingMode ([out] IBMDStreamingVideoEncodingMode** encodingMode);
|
||||
HRESULT GetVideoEncodingModePresetIterator ([in] BMDDisplayMode inputMode, [out] IBMDStreamingVideoEncodingModePresetIterator** iterator);
|
||||
HRESULT DoesSupportVideoEncodingMode ([in] BMDDisplayMode inputMode, [in] IBMDStreamingVideoEncodingMode* encodingMode, [out] BMDStreamingEncodingSupport* result, [out] IBMDStreamingVideoEncodingMode** changedEncodingMode);
|
||||
HRESULT SetVideoEncodingMode ([in] IBMDStreamingVideoEncodingMode* encodingMode);
|
||||
|
||||
/* Input control */
|
||||
|
||||
HRESULT StartCapture(void);
|
||||
HRESULT StopCapture(void);
|
||||
HRESULT SetCallback([in] IUnknown* theCallback);
|
||||
HRESULT StartCapture (void);
|
||||
HRESULT StopCapture (void);
|
||||
HRESULT SetCallback ([in] IUnknown* theCallback);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingH264NALPacket - Represent an H.264 NAL packet */
|
||||
|
|
@ -294,11 +294,11 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Represent an H.264 NAL packet")
|
||||
] interface IBMDStreamingH264NALPacket : IUnknown
|
||||
{
|
||||
long GetPayloadSize(void);
|
||||
HRESULT GetBytes([out] void** buffer);
|
||||
HRESULT GetBytesWithSizePrefix([out] void** buffer); // Contains a 32-bit unsigned big endian size prefix
|
||||
HRESULT GetDisplayTime([in] ULONGLONG requestedTimeScale, [out] ULONGLONG* displayTime);
|
||||
HRESULT GetPacketIndex([out] unsigned int* packetIndex); // Deprecated
|
||||
long GetPayloadSize (void);
|
||||
HRESULT GetBytes ([out] void** buffer);
|
||||
HRESULT GetBytesWithSizePrefix ([out] void** buffer); // Contains a 32-bit unsigned big endian size prefix
|
||||
HRESULT GetDisplayTime ([in] ULONGLONG requestedTimeScale, [out] ULONGLONG* displayTime);
|
||||
HRESULT GetPacketIndex ([out] unsigned int* packetIndex); // Deprecated
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingAudioPacket - Represents a chunk of audio data */
|
||||
|
|
@ -309,11 +309,11 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Represents a chunk of audio data")
|
||||
] interface IBMDStreamingAudioPacket : IUnknown
|
||||
{
|
||||
BMDStreamingAudioCodec GetCodec(void);
|
||||
long GetPayloadSize(void);
|
||||
HRESULT GetBytes([out] void** buffer);
|
||||
HRESULT GetPlayTime([in] ULONGLONG requestedTimeScale, [out] ULONGLONG* playTime);
|
||||
HRESULT GetPacketIndex([out] unsigned int* packetIndex); // Deprecated
|
||||
BMDStreamingAudioCodec GetCodec (void);
|
||||
long GetPayloadSize (void);
|
||||
HRESULT GetBytes ([out] void** buffer);
|
||||
HRESULT GetPlayTime ([in] ULONGLONG requestedTimeScale, [out] ULONGLONG* playTime);
|
||||
HRESULT GetPacketIndex ([out] unsigned int* packetIndex); // Deprecated
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingMPEG2TSPacket - Represent an MPEG2 Transport Stream packet */
|
||||
|
|
@ -324,8 +324,8 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("Represent an MPEG2 Transport Stream packet")
|
||||
] interface IBMDStreamingMPEG2TSPacket : IUnknown
|
||||
{
|
||||
long GetPayloadSize(void);
|
||||
HRESULT GetBytes([out] void** buffer);
|
||||
long GetPayloadSize (void);
|
||||
HRESULT GetBytes ([out] void** buffer);
|
||||
};
|
||||
|
||||
/* Interface IBMDStreamingH264NALParser - For basic NAL parsing */
|
||||
|
|
@ -336,9 +336,9 @@ interface IBMDStreamingH264NALParser;
|
|||
helpstring("For basic NAL parsing")
|
||||
] interface IBMDStreamingH264NALParser : IUnknown
|
||||
{
|
||||
HRESULT IsNALSequenceParameterSet([in] IBMDStreamingH264NALPacket* nal);
|
||||
HRESULT IsNALPictureParameterSet([in] IBMDStreamingH264NALPacket* nal);
|
||||
HRESULT GetProfileAndLevelFromSPS([in] IBMDStreamingH264NALPacket* nal, [out] unsigned int* profileIdc, [out] unsigned int* profileCompatability, [out] unsigned int* levelIdc);
|
||||
HRESULT IsNALSequenceParameterSet ([in] IBMDStreamingH264NALPacket* nal);
|
||||
HRESULT IsNALPictureParameterSet ([in] IBMDStreamingH264NALPacket* nal);
|
||||
HRESULT GetProfileAndLevelFromSPS ([in] IBMDStreamingH264NALPacket* nal, [out] unsigned int* profileIdc, [out] unsigned int* profileCompatability, [out] unsigned int* levelIdc);
|
||||
};
|
||||
|
||||
/* Coclasses */
|
||||
|
|
@ -361,4 +361,3 @@ importlib("stdole2.tlb");
|
|||
[default] interface IBMDStreamingH264NALParser;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue