WindowsXP/Source/XPSP1/NT/public/sdk/inc/ih26xcd.idl
2024-08-03 16:30:48 +02:00

249 lines
4.6 KiB
Plaintext

/* *************************************************************************
** INTEL Corporation Proprietary Information
**
** This listing is supplied under the terms of a license
** agreement with INTEL Corporation and may not be copied
** nor disclosed except in accordance with the terms of
** that agreement.
**
** Copyright (c) 1996 Intel Corporation.
** All Rights Reserved.
**
** *************************************************************************
*/
/* *************************************************************************
**
** This file contains the definitions for the H26X Active Movie interfaces
**
** *************************************************************************
*/
[
uuid(21555140-9C2B-11cf-90FA-00AA00A729EA),
object
]
interface IH26XVideoEffects:IUnknown
{
import "unknwn.idl";
cpp_quote("// STRUCTURES")
typedef enum
{
H26X_VE_UNDEFINED,
H26X_VE_BRIGHTNESS,
H26X_VE_CONTRAST,
H26X_VE_SATURATION,
H26X_VE_TINT,
H26X_VE_MIRROR,
H26X_VE_ASPECT_CORRECT
} H26X_VIDEO_EFFECT;
typedef struct
{
int iBrightness;
int iSaturation;
int iContrast;
int iMirror;
int iAspectCorrect;
} VIDEO_EFFECT_VALUES, * PTR_VIDEO_EFFECT_VALUES;
cpp_quote("// METHODS")
HRESULT getFactoryDefault
(
[in] H26X_VIDEO_EFFECT veVideoEffect,
[out] int *pinDefault
);
HRESULT getFactoryLimits
(
[in] H26X_VIDEO_EFFECT veVideoEffect,
[out] int *pinLower,
[out] int *pinUpper
);
HRESULT getCurrent
(
[in] H26X_VIDEO_EFFECT veVideoEffect,
[out] int *pinValue
);
HRESULT setCurrent
(
[in] H26X_VIDEO_EFFECT veVideoEffect,
[in] int inValue
);
HRESULT resetCurrent
(
[in] H26X_VIDEO_EFFECT veVideoEffect
);
}
#ifndef H261
// This interface is only used with H263.
[
uuid(65698D40-282D-11d0-8800-444553540000),
object
]
interface IH26XEncodeOptions:IUnknown
{
cpp_quote("// STRUCTURES")
typedef struct
{
int bExtendedMV;
int bPBFrames;
int bAdvPrediction;
} ENCODE_OPTIONS_VALUES, * PTR_ENCODE_OPTIONS_VALUES;
cpp_quote("// METHODS")
HRESULT get_EncodeOptions
(
[out] PTR_ENCODE_OPTIONS_VALUES pOptionValues
);
HRESULT get_EncodeOptionsDefault
(
[out] PTR_ENCODE_OPTIONS_VALUES pOptionValues
);
HRESULT set_EncodeOptions
(
[in] PTR_ENCODE_OPTIONS_VALUES pOptionValues
);
}
#endif
[
uuid(3CB194A0-10AA-11d0-8800-444553540000),
object
]
interface IH26XSnapshot:IUnknown
{
cpp_quote("#ifndef _WINGDI_")
cpp_quote("// STRUCTURES")
typedef struct
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} *LPBITMAPINFOHEADER;
cpp_quote("#endif")
cpp_quote("// METHODS")
HRESULT getBitmapInfoHeader
(
[out] LPBITMAPINFOHEADER lpBmi
);
HRESULT getSnapshot
(
[in] LPBITMAPINFOHEADER lpBmi,
[out] unsigned char *pvBuffer,
[in] DWORD dwTimeout
);
}
[
uuid(F9B78AA1-EA12-11cf-9FEC-00AA00A59F69),
object
]
interface IH26XEncoderControl:IUnknown
{
cpp_quote("// STRUCTURES")
typedef struct {
DWORD dwTargetFrameSize;
BOOL bFrameSizeBRC;
BOOL bSendKey;
DWORD dwQuality;
DWORD dwFrameRate;
DWORD dwDataRate;
DWORD dwScale;
DWORD dwWidth;
DWORD dwKeyFrameInterval;
DWORD dwKeyFramePeriod;
} ENC_CMP_DATA, * PTR_ENC_CMP_DATA;
cpp_quote("// METHODS")
HRESULT get_EncodeCompression
(
[out] PTR_ENC_CMP_DATA pData
);
HRESULT get_EncodeCompressionDefault
(
[out] PTR_ENC_CMP_DATA pData
);
HRESULT set_EncodeCompression
(
[in] PTR_ENC_CMP_DATA pData
);
}
[
uuid(1FC3F2C0-2BFD-11d0-8800-444553540000),
object
]
interface IH26XRTPControl:IUnknown
{
cpp_quote("// STRUCTURES")
typedef struct {
BOOL bRTPHeader;
DWORD dwPacketSize;
DWORD dwPacketLoss;
} ENC_RTP_DATA, * PTR_ENC_RTP_DATA;
cpp_quote("// METHODS")
HRESULT get_RTPCompression
(
[out] PTR_ENC_RTP_DATA pData
);
HRESULT get_RTPCompressionDefault
(
[out] PTR_ENC_RTP_DATA pData
);
HRESULT set_RTPCompression
(
[in] PTR_ENC_RTP_DATA pData
);
}