亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? amvideo.h

?? directX8.1版本。的頭文件和庫 雖然現在directX9.0版本
?? H
?? 第 1 頁 / 共 2 頁
字號:
//------------------------------------------------------------------------------
// File: AMVideo.h
//
// Desc: Video related definitions and interfaces for ActiveMovie.
//
// Copyright (c) 1992-2001, Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------


#ifndef __AMVIDEO__
#define __AMVIDEO__

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

#include <ddraw.h>


// This is an interface on the video renderer that provides information about
// DirectDraw with respect to its use by the renderer. For example it allows
// an application to get details of the surface and any hardware capabilities
// that are available. It also allows someone to adjust the surfaces that the
// renderer should use and furthermore even set the DirectDraw instance. We
// allow someone to set the DirectDraw instance because DirectDraw can only
// be opened once per process so it helps resolve conflicts. There is some
// duplication in this interface as the hardware/emulated/FOURCCs available
// can all be found through the IDirectDraw interface, this interface allows
// simple access to that information without calling the DirectDraw provider
// itself. The AMDDS prefix is ActiveMovie DirectDraw Switches abbreviated.

#define AMDDS_NONE 0x00             // No use for DCI/DirectDraw
#define AMDDS_DCIPS 0x01            // Use DCI primary surface
#define AMDDS_PS 0x02               // Use DirectDraw primary
#define AMDDS_RGBOVR 0x04           // RGB overlay surfaces
#define AMDDS_YUVOVR 0x08           // YUV overlay surfaces
#define AMDDS_RGBOFF 0x10           // RGB offscreen surfaces
#define AMDDS_YUVOFF 0x20           // YUV offscreen surfaces
#define AMDDS_RGBFLP 0x40           // RGB flipping surfaces
#define AMDDS_YUVFLP 0x80           // YUV flipping surfaces
#define AMDDS_ALL 0xFF              // ALL the previous flags
#define AMDDS_DEFAULT AMDDS_ALL     // Use all available surfaces

#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)
#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)
#define AMDDS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)

// be nice to our friends in C
#undef INTERFACE
#define INTERFACE IDirectDrawVideo

DECLARE_INTERFACE_(IDirectDrawVideo, IUnknown)
{
    // IUnknown methods

    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;

    // IDirectDrawVideo methods

    STDMETHOD(GetSwitches)(THIS_ DWORD *pSwitches) PURE;
    STDMETHOD(SetSwitches)(THIS_ DWORD Switches) PURE;
    STDMETHOD(GetCaps)(THIS_ DDCAPS *pCaps) PURE;
    STDMETHOD(GetEmulatedCaps)(THIS_ DDCAPS *pCaps) PURE;
    STDMETHOD(GetSurfaceDesc)(THIS_ DDSURFACEDESC *pSurfaceDesc) PURE;
    STDMETHOD(GetFourCCCodes)(THIS_ DWORD *pCount,DWORD *pCodes) PURE;
    STDMETHOD(SetDirectDraw)(THIS_ LPDIRECTDRAW pDirectDraw) PURE;
    STDMETHOD(GetDirectDraw)(THIS_ LPDIRECTDRAW *ppDirectDraw) PURE;
    STDMETHOD(GetSurfaceType)(THIS_ DWORD *pSurfaceType) PURE;
    STDMETHOD(SetDefault)(THIS) PURE;
    STDMETHOD(UseScanLine)(THIS_ long UseScanLine) PURE;
    STDMETHOD(CanUseScanLine)(THIS_ long *UseScanLine) PURE;
    STDMETHOD(UseOverlayStretch)(THIS_ long UseOverlayStretch) PURE;
    STDMETHOD(CanUseOverlayStretch)(THIS_ long *UseOverlayStretch) PURE;
    STDMETHOD(UseWhenFullScreen)(THIS_ long UseWhenFullScreen) PURE;
    STDMETHOD(WillUseFullScreen)(THIS_ long *UseWhenFullScreen) PURE;
};


// be nice to our friends in C
#undef INTERFACE
#define INTERFACE IQualProp

DECLARE_INTERFACE_(IQualProp, IUnknown)
{
    // IUnknown methods

    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;

    // Compare these with the functions in class CGargle in gargle.h

    STDMETHOD(get_FramesDroppedInRenderer)(THIS_ int *pcFrames) PURE;  // Out
    STDMETHOD(get_FramesDrawn)(THIS_ int *pcFramesDrawn) PURE;         // Out
    STDMETHOD(get_AvgFrameRate)(THIS_ int *piAvgFrameRate) PURE;       // Out
    STDMETHOD(get_Jitter)(THIS_ int *iJitter) PURE;                    // Out
    STDMETHOD(get_AvgSyncOffset)(THIS_ int *piAvg) PURE;               // Out
    STDMETHOD(get_DevSyncOffset)(THIS_ int *piDev) PURE;               // Out
};


// This interface allows an application or plug in distributor to control a
// full screen renderer. The Modex renderer supports this interface. When
// connected a renderer should load the display modes it has available
// The number of modes available can be obtained through CountModes. Then
// information on each individual mode is available by calling GetModeInfo
// and IsModeAvailable. An application may enable and disable any modes
// by calling the SetEnabled flag with OATRUE or OAFALSE (not C/C++ TRUE
// and FALSE values) - the current value may be queried by IsModeEnabled

// A more generic way of setting the modes enabled that is easier to use
// when writing applications is the clip loss factor. This defines the
// amount of video that can be lost when deciding which display mode to
// use. Assuming the decoder cannot compress the video then playing an
// MPEG file (say 352x288) into a 320x200 display will lose about 25% of
// the image. The clip loss factor specifies the upper range permissible.
// To allow typical MPEG video to be played in 320x200 it defaults to 25%

// be nice to our friends in C
#undef INTERFACE
#define INTERFACE IFullScreenVideo

DECLARE_INTERFACE_(IFullScreenVideo, IUnknown)
{
    // IUnknown methods

    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;

    // IFullScreenVideo methods

    STDMETHOD(CountModes)(THIS_ long *pModes) PURE;
    STDMETHOD(GetModeInfo)(THIS_ long Mode,long *pWidth,long *pHeight,long *pDepth) PURE;
    STDMETHOD(GetCurrentMode)(THIS_ long *pMode) PURE;
    STDMETHOD(IsModeAvailable)(THIS_ long Mode) PURE;
    STDMETHOD(IsModeEnabled)(THIS_ long Mode) PURE;
    STDMETHOD(SetEnabled)(THIS_ long Mode,long bEnabled) PURE;
    STDMETHOD(GetClipFactor)(THIS_ long *pClipFactor) PURE;
    STDMETHOD(SetClipFactor)(THIS_ long ClipFactor) PURE;
    STDMETHOD(SetMessageDrain)(THIS_ HWND hwnd) PURE;
    STDMETHOD(GetMessageDrain)(THIS_ HWND *hwnd) PURE;
    STDMETHOD(SetMonitor)(THIS_ long Monitor) PURE;
    STDMETHOD(GetMonitor)(THIS_ long *Monitor) PURE;
    STDMETHOD(HideOnDeactivate)(THIS_ long Hide) PURE;
    STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
    STDMETHOD(SetCaption)(THIS_ BSTR strCaption) PURE;
    STDMETHOD(GetCaption)(THIS_ BSTR *pstrCaption) PURE;
    STDMETHOD(SetDefault)(THIS) PURE;
};


// This adds the accelerator table capabilities in fullscreen. This is being
// added between the original runtime release and the full SDK release. We
// cannot just add the method to IFullScreenVideo as we don't want to force
// applications to have to ship the ActiveMovie support DLLs - this is very
// important to applications that plan on being downloaded over the Internet

// be nice to our friends in C
#undef INTERFACE
#define INTERFACE IFullScreenVideoEx

DECLARE_INTERFACE_(IFullScreenVideoEx, IFullScreenVideo)
{
    // IUnknown methods

    STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID *ppvObj) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;

    // IFullScreenVideo methods

    STDMETHOD(CountModes)(THIS_ long *pModes) PURE;
    STDMETHOD(GetModeInfo)(THIS_ long Mode,long *pWidth,long *pHeight,long *pDepth) PURE;
    STDMETHOD(GetCurrentMode)(THIS_ long *pMode) PURE;
    STDMETHOD(IsModeAvailable)(THIS_ long Mode) PURE;
    STDMETHOD(IsModeEnabled)(THIS_ long Mode) PURE;
    STDMETHOD(SetEnabled)(THIS_ long Mode,long bEnabled) PURE;
    STDMETHOD(GetClipFactor)(THIS_ long *pClipFactor) PURE;
    STDMETHOD(SetClipFactor)(THIS_ long ClipFactor) PURE;
    STDMETHOD(SetMessageDrain)(THIS_ HWND hwnd) PURE;
    STDMETHOD(GetMessageDrain)(THIS_ HWND *hwnd) PURE;
    STDMETHOD(SetMonitor)(THIS_ long Monitor) PURE;
    STDMETHOD(GetMonitor)(THIS_ long *Monitor) PURE;
    STDMETHOD(HideOnDeactivate)(THIS_ long Hide) PURE;
    STDMETHOD(IsHideOnDeactivate)(THIS) PURE;
    STDMETHOD(SetCaption)(THIS_ BSTR strCaption) PURE;
    STDMETHOD(GetCaption)(THIS_ BSTR *pstrCaption) PURE;
    STDMETHOD(SetDefault)(THIS) PURE;

    // IFullScreenVideoEx

    STDMETHOD(SetAcceleratorTable)(THIS_ HWND hwnd,HACCEL hAccel) PURE;
    STDMETHOD(GetAcceleratorTable)(THIS_ HWND *phwnd,HACCEL *phAccel) PURE;
    STDMETHOD(KeepPixelAspectRatio)(THIS_ long KeepAspect) PURE;
    STDMETHOD(IsKeepPixelAspectRatio)(THIS_ long *pKeepAspect) PURE;
};


// The SDK base classes contain a base video mixer class. Video mixing in a
// software environment is tricky because we typically have multiple streams
// each sending data at unpredictable times. To work with this we defined a
// pin that is the lead pin, when data arrives on this pin we do a mix. As
// an alternative we may not want to have a lead pin but output samples at
// predefined spaces, like one every 1/15 of a second, this interfaces also
// supports that mode of operations (there is a working video mixer sample)

// be nice to our friends in C
#undef INTERFACE
#define INTERFACE IBaseVideoMixer

DECLARE_INTERFACE_(IBaseVideoMixer, IUnknown)
{
    STDMETHOD(SetLeadPin)(THIS_ int iPin) PURE;
    STDMETHOD(GetLeadPin)(THIS_ int *piPin) PURE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视频精品一区| 91丨porny丨国产| 欧美一区二区日韩| 亚洲sss视频在线视频| 在线亚洲+欧美+日本专区| 亚洲视频一区二区免费在线观看| 成人免费看黄yyy456| 国产精品三级电影| 一本一道久久a久久精品综合蜜臀| 日韩毛片视频在线看| 色婷婷国产精品综合在线观看| 亚洲日本护士毛茸茸| 欧美无人高清视频在线观看| 亚洲电影中文字幕在线观看| 日韩色视频在线观看| 国产精品一级二级三级| 国产精品美女视频| 欧美三级韩国三级日本三斤| 男男视频亚洲欧美| 国产清纯白嫩初高生在线观看91 | 亚洲福利电影网| 51精品久久久久久久蜜臀| 国内精品在线播放| 一区二区三区在线播放| 欧美高清一级片在线| 国产一区二区伦理| 亚洲精品视频在线看| 欧美一级欧美三级| 成人av在线网站| 亚洲成人av电影| 国产午夜精品美女毛片视频| 色综合天天综合网天天狠天天| 午夜久久电影网| 中文字幕久久午夜不卡| 欧美日本高清视频在线观看| 国产精品一级在线| 婷婷丁香久久五月婷婷| 国产精品久久久久一区二区三区 | 亚洲精品国产精华液| 欧美一级午夜免费电影| 91在线国产观看| 麻豆精品一区二区综合av| 中文字幕一区日韩精品欧美| 欧美日韩大陆一区二区| 成人午夜在线免费| 美女一区二区视频| 一区二区三区在线视频免费观看| 久久理论电影网| 欧美日韩高清不卡| 91亚洲精品久久久蜜桃| 国模娜娜一区二区三区| 五月激情六月综合| 亚洲女爱视频在线| 国产亚洲污的网站| 欧美一级二级三级蜜桃| 91国模大尺度私拍在线视频| 国产传媒日韩欧美成人| 蜜臀av一区二区在线免费观看| 亚洲男人天堂av| 国产精品毛片大码女人| 精品电影一区二区| 日韩欧美一级在线播放| 欧美久久久久久久久| 日本韩国精品在线| 97se狠狠狠综合亚洲狠狠| 国产精品一区在线观看乱码 | 极品少妇xxxx精品少妇| 日韩av网站在线观看| 亚洲h在线观看| 亚洲主播在线播放| 亚洲精品乱码久久久久久日本蜜臀| 久久免费电影网| 精品久久久久久久久久久院品网 | 丁香五精品蜜臀久久久久99网站 | 国产另类ts人妖一区二区| 日韩中文字幕区一区有砖一区| 亚洲精品福利视频网站| 综合久久久久久| 亚洲人成精品久久久久久 | 久久久久久久综合色一本| 日韩一区二区在线看片| 日韩一区二区三区免费观看| 欧美军同video69gay| 欧美日韩国产高清一区二区 | 成人激情小说网站| 成人av资源在线观看| 92国产精品观看| 色婷婷狠狠综合| 欧美网站大全在线观看| 欧美日本国产一区| 精品国产电影一区二区| 国产亚洲短视频| 日韩美女视频一区二区| 一区二区三区中文字幕精品精品| 一区二区三区高清不卡| 亚洲成人av电影在线| 精品夜夜嗨av一区二区三区| 国产传媒欧美日韩成人| 日本电影欧美片| 91精品国产欧美一区二区18| 久久亚洲一级片| 自拍偷拍亚洲欧美日韩| 天天综合色天天| 国产伦精一区二区三区| 成人国产亚洲欧美成人综合网| 91麻豆视频网站| 制服丝袜中文字幕一区| 久久精品综合网| 亚洲一区二区三区四区在线免费观看| 污片在线观看一区二区| 久久精品国产亚洲aⅴ| 国产精品正在播放| 97久久精品人人澡人人爽| 色狠狠av一区二区三区| 日韩精品一区二区三区在线| wwwwww.欧美系列| 国产精品美女久久福利网站| 一区二区三区在线观看欧美| 国产欧美日本一区视频| 亚洲成人av在线电影| 蜜桃久久av一区| 成人性生交大合| 欧美午夜在线一二页| 精品不卡在线视频| 亚洲欧美国产77777| 首页国产丝袜综合| 国产精品99久久久久久宅男| 91久久免费观看| 久久久久久99精品| 亚洲精品免费在线播放| 免播放器亚洲一区| 成a人片国产精品| 欧美精品久久天天躁| 亚洲视频一区二区免费在线观看| 午夜一区二区三区在线观看| 国产麻豆成人精品| 欧美日韩高清影院| 中文字幕一区二区三区不卡 | 国产精品久久三| 日本在线不卡一区| 国产成人8x视频一区二区| 欧美午夜精品一区二区蜜桃| 国产精品家庭影院| 蜜臀av性久久久久蜜臀aⅴ四虎 | 日欧美一区二区| 色综合网色综合| 精品sm捆绑视频| 亚洲一区二区三区国产| 国产成人综合视频| 国产精品一卡二| wwwwxxxxx欧美| 日韩黄色免费电影| 色综合久久综合| 国产日韩精品一区二区三区| 久久国产三级精品| 欧美三级日韩在线| 亚洲免费视频成人| 国产91丝袜在线观看| 日韩欧美一区二区三区在线| 日韩av一区二| 欧美日韩国产一二三| 亚洲精品一线二线三线无人区| 亚洲自拍偷拍九九九| 色综合久久综合网97色综合| 亚洲国产精品激情在线观看| 激情伊人五月天久久综合| 91精品国产综合久久精品图片| 一区二区三区欧美激情| av色综合久久天堂av综合| 国产午夜精品久久| 精品制服美女久久| 2017欧美狠狠色| 久久91精品国产91久久小草| 在线播放91灌醉迷j高跟美女| 一区二区三区在线免费视频| 99re亚洲国产精品| 亚洲精品乱码久久久久久久久| av在线一区二区三区| 日本一区二区视频在线| 国产精品亚洲一区二区三区妖精| 日韩一区二区三区电影在线观看| 亚洲国产精品一区二区久久| 色8久久精品久久久久久蜜| 亚洲欧美电影院| 在线精品视频免费观看| 石原莉奈在线亚洲二区| 在线成人免费观看| 美腿丝袜亚洲一区| 日韩午夜激情免费电影| 国产乱子轮精品视频| 久久久久久久久久美女| 高清国产一区二区| 国产精品国产三级国产aⅴ中文 | 国产成人啪午夜精品网站男同| 亚洲国产岛国毛片在线| 国产成人av电影在线观看| 欧美国产精品一区二区三区| 97se亚洲国产综合在线| 视频在线观看一区二区三区| 日韩一区二区三区观看|