/* ************************************************************************* ** 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 ); }