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

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

?? vmr9.idl

?? vc6.0完整版
?? IDL
?? 第 1 頁 / 共 3 頁
字號:

    HRESULT GetRenderingMode(
            [out] DWORD* pMode
            );
}

//=====================================================================
//
// IVMRAspectRatioControl9
//
//=====================================================================
[
    object,
    local,
    uuid(00d96c29-bbde-4efc-9901-bb5036392146),
    helpstring("IVMRAspectRatioControl9 Interface"),
    pointer_default(unique)
]
interface IVMRAspectRatioControl9 : IUnknown
{
    HRESULT GetAspectRatioMode(
        [out] LPDWORD lpdwARMode
            );

    HRESULT SetAspectRatioMode(
        [in] DWORD dwARMode
            );
}

///////////////////////////////////////////////////////////////////////////////
//
// VMR Multimon configuration interface
//
///////////////////////////////////////////////////////////////////////////////
#define VMR9DEVICENAMELEN 32
#define VMR9DEVICEDESCRIPTIONLEN  512

typedef struct _VMR9MonitorInfo {
    UINT        uDevID;
    RECT        rcMonitor;
    HMONITOR    hMon;
    DWORD       dwFlags;    // described in MONITORINFOEX, currently only MONITORINFOF_PRIMARY
    wchar_t     szDevice[VMR9DEVICENAMELEN];
    wchar_t     szDescription[VMR9DEVICEDESCRIPTIONLEN];
    LARGE_INTEGER liDriverVersion;
    DWORD       dwVendorId;
    DWORD       dwDeviceId;
    DWORD       dwSubSysId;
    DWORD       dwRevision;
    //
} VMR9MonitorInfo;

[
    object,
    local,
    uuid(46c2e457-8ba0-4eef-b80b-0680f0978749),
    helpstring("IVMRMonitorConfig9 Interface"),
    pointer_default(unique)
]
interface IVMRMonitorConfig9 : IUnknown
{
    // Use this method on a Multi-Monitor system to specify to the
    // mixer filter which Direct Draw driver should be used when connecting
    // to an upstream decoder filter.
    //
    HRESULT SetMonitor(
        [in] UINT uDev
        );

    // Use this method to determine the direct draw object that will be used when
    // connecting the  mixer filter to an upstream decoder filter.
    //
    HRESULT GetMonitor(
        [out] UINT *puDev
        );

    // Use this method on a multi-monitor system to specify to the
    //  mixer filter the default Direct Draw device to use when
    // connecting to an upstream filter.  The default direct draw device
    // can be overriden for a particular connection by SetMonitor method
    // described above.
    //
    HRESULT SetDefaultMonitor(
        [in] UINT uDev
        );

    // Use this method on a multi-monitor system to determine which
    // is the default direct draw device the overlay mixer filter
    // will  use when connecting to an upstream filter.
    //
    HRESULT GetDefaultMonitor(
        [out] UINT* puDev
        );

    // Use this method to get a list of Direct Draw device GUIDs and thier
    // associated monitor information that the mixer can use when
    // connecting to an upstream decoder filter.  Passing down a NULL pInfo
    // parameter allows the app to determine the required array size (returned
    // in pdwNumDevices).  Otherwise, dwNumDevices returns the actual
    // number of devices retrieved.
    //
    HRESULT GetAvailableMonitors(
        [out, size_is(dwMaxInfoArraySize)] VMR9MonitorInfo* pInfo,
        [in] DWORD dwMaxInfoArraySize, // in array members
        [out] DWORD* pdwNumDevices // actual number of devices retrieved
        );
};


//=====================================================================
//
// IVMRDeinterlaceControl
//
// New interfaced introduced into the WindowsXP SP1 release of the VMR.
// This interface allows applications to control the DX-VA deinterlacing
// support provided by the VMR.
//
// The VMR needs to be set into "mixing" mode for this interface to work.
//
// SetDeinterlaceMode is only effective for new connections made to the
// VMR.  It should be noted that the graphics device driver may refuse
// to use the specified deinterlace mode, in which case 3 fallback
// policies are offered by the VMR, these being:
//
//      1. Fallback to the next best mode offered by the driver.
//      2. Fallback to the BOB deinterlace mode.
//      3. Fallback to the WEAVE deinterlace mode (ie. turn deinterlacing off).
//
//=====================================================================

typedef enum {
    DeinterlacePref9_NextBest = 0x01,
    DeinterlacePref9_BOB = 0x02,
    DeinterlacePref9_Weave = 0x04,
    DeinterlacePref9_Mask = 0x07
} VMR9DeinterlacePrefs;

typedef enum {

    // the algorithm is unknown or proprietary
    DeinterlaceTech9_Unknown                = 0x0000,

    // the algorithm creates the missing lines by repeating
    // the line either above or below it - this method will look very jaggy and
    // isn't recommended
    DeinterlaceTech9_BOBLineReplicate       = 0x0001,


    // the algorithm creates the missing lines by vertically stretching each
    // video field by a factor of two, for example by averaging two lines or
    // using a [-1, 9, 9, -1]/16 filter across four lines.
    // Slight vertical adjustments are made to ensure that the resulting image
    // does not "bob" up and down.
    DeinterlaceTech9_BOBVerticalStretch     = 0x0002,

    // the pixels in the missing line are recreated by a median filtering operation
    DeinterlaceTech9_MedianFiltering        = 0x0004,

    // the pixels in the missing line are recreated by an edge filter.
    // In this process, spatial directional filters are applied to determine
    // the orientation of edges in the picture content, and missing
    // pixels are created by filtering along (rather than across) the
    // detected edges.
    DeinterlaceTech9_EdgeFiltering          = 0x0010,

    // the pixels in the missing line are recreated by switching on a field by
    // field basis between using either spatial or temporal interpolation
    // depending on the amount of motion.
    DeinterlaceTech9_FieldAdaptive          = 0x0020,

    // the pixels in the missing line are recreated by switching on a pixel by pixel
    // basis between using either spatial or temporal interpolation depending on
    // the amount of motion..
    DeinterlaceTech9_PixelAdaptive          = 0x0040,

    // Motion Vector Steering  identifies objects within a sequence of video
    // fields.  The missing pixels are recreated after first aligning the
    // movement axes of the individual objects in the scene to make them
    // parallel with the time axis.
    DeinterlaceTech9_MotionVectorSteered      = 0x0080

} VMR9DeinterlaceTech;

typedef struct _VMR9Frequency {
    DWORD dwNumerator;
    DWORD dwDenominator;
} VMR9Frequency;

typedef enum _VMR9_SampleFormat {
    VMR9_SampleReserved      = 1,
    VMR9_SampleProgressiveFrame = 2,
    VMR9_SampleFieldInterleavedEvenFirst = 3,
    VMR9_SampleFieldInterleavedOddFirst = 4,
    VMR9_SampleFieldSingleEven = 5,
    VMR9_SampleFieldSingleOdd = 6,
} VMR9_SampleFormat;

typedef struct _VMR9VideoDesc {
    DWORD               dwSize;
    DWORD               dwSampleWidth;
    DWORD               dwSampleHeight;
    VMR9_SampleFormat   SampleFormat;
    DWORD               dwFourCC;
    VMR9Frequency       InputSampleFreq;
    VMR9Frequency       OutputFrameFreq;
} VMR9VideoDesc;


typedef struct _VMR9DeinterlaceCaps {
    DWORD               dwSize;
    DWORD               dwNumPreviousOutputFrames;
    DWORD               dwNumForwardRefSamples;
    DWORD               dwNumBackwardRefSamples;
    VMR9DeinterlaceTech DeinterlaceTechnology;
} VMR9DeinterlaceCaps;

[
    object,
    local,
    uuid(a215fb8d-13c2-4f7f-993c-003d6271a459),
    helpstring("IVMRDeinterlaceControl9 Interface"),
    pointer_default(unique)
]
interface IVMRDeinterlaceControl9 : IUnknown
{
    //
    // For the specified video description returns the
    // number of deinterlacing modes available to the VMR.
    // The deinterlacing modes are returned in descending
    // quality order ie. the best quality mode is at
    // lpdwNumDeinterlaceModes[0], the next best at
    // lpdwNumDeinterlaceModes[1] and so on.
    //
    // To determine how big an array of guids to pass to the
    // GetNumberOfDeinterlaceModes method call
    // GetNumberOfDeinterlaceModes(lpVideoDescription, &dwNumModes, NULL);
    //
    HRESULT GetNumberOfDeinterlaceModes(
        [in] VMR9VideoDesc* lpVideoDescription,
        [in] [out] LPDWORD lpdwNumDeinterlaceModes,
        [out] LPGUID lpDeinterlaceModes
        );

    //
    // For the given video description get the capabilities of the
    // specified de-interlace mode.
    //
    HRESULT GetDeinterlaceModeCaps(
        [in] LPGUID lpDeinterlaceMode,
        [in] VMR9VideoDesc* lpVideoDescription,
        [out] VMR9DeinterlaceCaps* lpDeinterlaceCaps
        );

    //
    // Get/Set the deinterlace mode that you would like the
    // VMR to use when de-interlacing the specified stream.
    // It should be noted that the VMR may not actually be able
    // to use the requested deinterlace mode, in which case the
    // the VMR will fall back to other de-interlace modes as specified
    // by the de-interlace preferences (see SetDeinterlacePrefs below).
    //
    HRESULT GetDeinterlaceMode(
        [in] DWORD dwStreamID,
        [out] LPGUID lpDeinterlaceMode  // returns GUID_NULL if SetDeinterlaceMode
        );                              // has not been called yet.

    HRESULT SetDeinterlaceMode(
        [in] DWORD dwStreamID,          // use 0xFFFFFFFF to set mode for all streams
        [in] LPGUID lpDeinterlaceMode   // GUID_NULL == turn deinterlacing off
        );


    HRESULT GetDeinterlacePrefs(
        [out] LPDWORD lpdwDeinterlacePrefs
        );

    HRESULT SetDeinterlacePrefs(
        [in] DWORD dwDeinterlacePrefs
        );

    //
    // Get the DeinterlaceMode currently in use for the specified
    // video stream (ie. pin).  The returned GUID will be NULL if
    // the de-interlacing h/w has not been created by the VMR at the
    // time the function is called, or if the VMR determines that
    // this stream should not or can be de-interlaced.
    //
    HRESULT GetActualDeinterlaceMode(
        [in] DWORD dwStreamID,
        [out] LPGUID lpDeinterlaceMode
        );
};


//=====================================================================
//
// IVMRImageCompositor9
//
//=====================================================================

typedef struct _VMR9VideoStreamInfo {
    IDirect3DSurface9*          pddsVideoSurface;
    DWORD                       dwWidth, dwHeight;
    DWORD                       dwStrmID;
    FLOAT                       fAlpha;
    VMR9NormalizedRect          rNormal;
    REFERENCE_TIME              rtStart;
    REFERENCE_TIME              rtEnd;
    VMR9_SampleFormat           SampleFormat;
} VMR9VideoStreamInfo;
[
    local,
    object,
    local,
    uuid(4a5c89eb-df51-4654-ac2a-e48e02bbabf6),
    helpstring("IVMRImageCompositor9 Interface"),
    pointer_default(unique)
]
interface IVMRImageCompositor9 : IUnknown
{
    HRESULT InitCompositionDevice(
        [in] IUnknown* pD3DDevice
        );

    HRESULT TermCompositionDevice(
        [in] IUnknown* pD3DDevice
        );

    HRESULT SetStreamMediaType(
        [in] DWORD dwStrmID,
        [in] AM_MEDIA_TYPE* pmt,
        [in] BOOL fTexture
        );

    HRESULT CompositeImage(
        [in] IUnknown* pD3DDevice,
        [in] IDirect3DSurface9* pddsRenderTarget,
        [in] AM_MEDIA_TYPE* pmtRenderTarget,
        [in] REFERENCE_TIME rtStart,
        [in] REFERENCE_TIME rtEnd,
        [in] D3DCOLOR dwClrBkGnd,
        [in] VMR9VideoStreamInfo* pVideoStreamInfo,
        [in] UINT cStreams
        );
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利一区二区三区视频 | 国产精品亚洲а∨天堂免在线| 激情久久五月天| hitomi一区二区三区精品| 日韩一区二区在线看| 一区二区三区四区av| 国产成人av一区二区三区在线观看| 欧美色网站导航| 中文字幕一区二区三区视频| 国产一区在线视频| 日韩免费观看高清完整版| 亚洲成av人片在线观看无码| 91首页免费视频| 国产精品视频观看| 极品少妇xxxx精品少妇| 制服丝袜在线91| 亚洲国产人成综合网站| 色www精品视频在线观看| 国产精品乱人伦中文| 国产激情视频一区二区在线观看| 日韩午夜精品视频| 日韩中文字幕亚洲一区二区va在线 | 欧美变态tickling挠脚心| 亚洲午夜精品在线| 一本到不卡精品视频在线观看| 久久九九国产精品| 高清在线不卡av| 国产日产欧美精品一区二区三区| 国产自产高清不卡| 久久久精品免费网站| 国产成人午夜高潮毛片| 久久精品亚洲乱码伦伦中文| 国产精品亚洲专一区二区三区| 精品免费日韩av| 国产美女娇喘av呻吟久久| 久久精品一区四区| 国产精品1区2区| 久久亚洲精精品中文字幕早川悠里| 精久久久久久久久久久| 久久久久久影视| 国产精选一区二区三区| 国产精品美女久久久久久久久| 99久久99久久精品免费看蜜桃| 亚洲精选免费视频| 欧美日韩第一区日日骚| 老司机午夜精品99久久| 国产网红主播福利一区二区| 成人毛片老司机大片| 亚洲人成小说网站色在线| 欧美视频三区在线播放| 精品制服美女丁香| 国产精品久久久久久久久动漫| 91老师片黄在线观看| 偷拍一区二区三区四区| 久久一留热品黄| 99久久伊人精品| 亚洲成a人片在线不卡一二三区 | 欧美剧在线免费观看网站| 免费高清在线一区| 中文字幕一区二区三区精华液| 91高清视频免费看| 精品一区二区三区视频在线观看| 国产视频911| 欧美日韩一区三区| 国产剧情在线观看一区二区| 亚洲另类色综合网站| 91精品中文字幕一区二区三区| 国产乱码精品一区二区三区忘忧草| 国产精品久久久爽爽爽麻豆色哟哟| 欧日韩精品视频| 韩国av一区二区三区在线观看| 最新中文字幕一区二区三区| 欧美日韩精品久久久| 国产麻豆精品在线| 视频在线观看91| 国产精品麻豆一区二区| 日韩一区二区影院| 成年人午夜久久久| 麻豆一区二区在线| 亚洲一卡二卡三卡四卡| 日本一区二区视频在线观看| 欧美日韩午夜在线| 99热这里都是精品| 国产剧情一区在线| 日本va欧美va精品| 一级做a爱片久久| 欧美国产综合色视频| 91精品国产欧美日韩| 91免费视频观看| 成人性生交大片免费看在线播放 | 欧美电影影音先锋| 99久久精品免费看国产免费软件| 日本亚洲三级在线| 亚洲日本电影在线| 国产精品色在线观看| 亚洲精品一区二区三区在线观看| 欧美日韩国产天堂| 日本精品一区二区三区高清 | 精品一区二区三区香蕉蜜桃| 亚洲电影一级黄| 亚洲乱码国产乱码精品精小说| 久久精品欧美一区二区三区不卡 | 亚洲婷婷在线视频| 精品sm捆绑视频| 日韩三级精品电影久久久| 欧美精品乱码久久久久久按摩| 91久久精品国产91性色tv| 91老师片黄在线观看| 99riav一区二区三区| 成+人+亚洲+综合天堂| 国产99久久久国产精品免费看| 国产一区二区0| 国产成人av影院| 丁香婷婷深情五月亚洲| eeuss鲁片一区二区三区| 国产成人精品在线看| 成人性色生活片| www.久久精品| 日本高清免费不卡视频| 在线一区二区三区做爰视频网站| 99re成人精品视频| 色综合久久天天综合网| 在线观看日韩毛片| 欧美日韩国产一级二级| 日韩午夜中文字幕| xnxx国产精品| 日韩理论片网站| 亚洲国产日韩av| 蜜臀久久久99精品久久久久久| 国内精品视频666| 成人a免费在线看| 欧美在线不卡一区| 日韩一区二区三区三四区视频在线观看| 欧美精品九九99久久| 26uuu另类欧美| 1000部国产精品成人观看| 亚洲成人高清在线| 久久99久久久久久久久久久| 国产精品亚洲综合一区在线观看| av在线这里只有精品| 精品婷婷伊人一区三区三| 精品国产第一区二区三区观看体验| 国产午夜精品理论片a级大结局| 综合久久一区二区三区| 亚洲成a人片在线不卡一二三区| 久久国产精品99久久人人澡| 99精品国产热久久91蜜凸| 在线播放中文一区| 国产拍揄自揄精品视频麻豆| 亚洲蜜臀av乱码久久精品蜜桃| 秋霞影院一区二区| 91丨九色丨蝌蚪富婆spa| 制服视频三区第一页精品| 欧美激情一区在线| 日本不卡视频在线观看| 不卡欧美aaaaa| 日韩欧美一二区| 亚洲一区精品在线| 高清国产一区二区| 51精品秘密在线观看| 国产精品乱码一区二三区小蝌蚪| 婷婷一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 欧美大片日本大片免费观看| 亚洲激情欧美激情| 成人免费毛片aaaaa**| 日韩欧美一区二区不卡| 一区二区三区 在线观看视频| 国产一区91精品张津瑜| 欧美精品乱码久久久久久按摩| 中文字幕在线一区免费| 激情欧美日韩一区二区| 欧美久久一二区| 亚洲精品免费在线观看| 成人免费视频caoporn| 精品处破学生在线二十三| 亚洲.国产.中文慕字在线| 日本久久一区二区| 成人免费在线视频| 成人av午夜电影| 国产拍欧美日韩视频二区| 日本伊人精品一区二区三区观看方式| 色八戒一区二区三区| 最新国产精品久久精品| 国产成人精品影院| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲电影一区二区| 91日韩一区二区三区| 国产精品久久久久久户外露出| 国产精品综合在线视频| 26uuu国产日韩综合| 麻豆成人综合网| 精品久久99ma| 国产真实精品久久二三区| 日韩精品在线一区| 久久97超碰国产精品超碰| 欧美一区二区三级| 免费成人深夜小野草| 欧美xingq一区二区| 免费成人美女在线观看.|