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

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

?? vfw.pas

?? delphi video for windows 實現控件
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
unit VFW;

interface

uses
    Windows,
    MMSystem,
    Messages,
    CommDlg,
    ActiveX;

{== General ==================================================================}

type
    PDWORD  = ^DWORD;
    PLONG   = PDWORD;
    UDWORD  = DWORD;
    PVOID   = Pointer;
    int     = Integer;

{-- Returns version of VFW ---------------------------------------------------}

function    VideoForWindowsVersion: DWord; pascal; 

{-- Call these to start stop using VfW from your app -------------------------}

{ TODO: Where are these functions? }

// function    InitVFW: DWORD; stdcall;
// function    TermVFW: DWORD; stdcall;

{-- Macros -------------------------------------------------------------------}

function MKFOURCC(ch0, ch1, ch2, ch3: Char): FOURCC;

{== COMPMAN - Installable Compression Manager ================================}

const
    ICVERSION                   = $0104 ;

type
    HIC                         = THandle;  // Handle to an Installable Compressor

//
// this code in biCompression means the DIB must be accesed via
// 48 bit pointers! using *ONLY* the selector given.
//
const
    BI_1632                     = $32333631;    // '1632'

function    mmioFOURCC(ch0, ch1, ch2, ch3: Char): FOURCC;

type
    TWOCC                       = Word;

function    aviTWOCC(ch0, ch1: Char): TWOCC;

const
    ICTYPE_VIDEO                = $63646976; // mmioFOURCC('v', 'i', 'd', 'c')
    ICTYPE_AUDIO                = $63647561; // mmioFOURCC('a', 'u', 'd', 'c')

const
    ICERR_OK                    = 0 ;
    ICERR_DONTDRAW              = 1 ;
    ICERR_NEWPALETTE            = 2 ;
    ICERR_GOTOKEYFRAME          = 3 ;
    ICERR_STOPDRAWING           = 4 ;

    ICERR_UNSUPPORTED           = -1 ;
    ICERR_BADFORMAT             = -2 ;
    ICERR_MEMORY                = -3 ;
    ICERR_INTERNAL              = -4 ;
    ICERR_BADFLAGS              = -5 ;
    ICERR_BADPARAM              = -6 ;
    ICERR_BADSIZE               = -7 ;
    ICERR_BADHANDLE             = -8 ;
    ICERR_CANTUPDATE            = -9 ;
    ICERR_ABORT                 = -10 ;
    ICERR_ERROR                 = -100 ;
    ICERR_BADBITDEPTH           = -200 ;
    ICERR_BADIMAGESIZE          = -201 ;

    ICERR_CUSTOM                = -400 ;    // errors less than ICERR_CUSTOM...

{-- Values for dwFlags of ICOpen() -------------------------------------------}

    ICMODE_COMPRESS             = 1 ;
    ICMODE_DECOMPRESS           = 2 ;
    ICMODE_FASTDECOMPRESS       = 3 ;
    ICMODE_QUERY                = 4 ;
    ICMODE_FASTCOMPRESS         = 5 ;
    ICMODE_DRAW                 = 8 ;

{-- Flags for AVI file index -------------------------------------------------}

    AVIIF_LIST                  = $00000001 ;
    AVIIF_TWOCC                 = $00000002 ;
    AVIIF_KEYFRAME              = $00000010 ;

{-- quality flags ------------------------------------------------------------}

    ICQUALITY_LOW               = 0 ;
    ICQUALITY_HIGH              = 10000 ;
    ICQUALITY_DEFAULT           = -1 ;

{-----------------------------------------------------------------------------}

    ICM_USER                    = (DRV_USER+$0000) ;

    ICM_RESERVED_LOW            = (DRV_USER+$1000) ;
    ICM_RESERVED_HIGH           = (DRV_USER+$2000) ;
    ICM_RESERVED                = ICM_RESERVED_LOW ;

{-- Messages -----------------------------------------------------------------}

    ICM_GETSTATE                = (ICM_RESERVED+0) ;    // Get compressor state
    ICM_SETSTATE                = (ICM_RESERVED+1) ;    // Set compressor state
    ICM_GETINFO                 = (ICM_RESERVED+2) ;    // Query info about the compressor
                                                   
    ICM_CONFIGURE               = (ICM_RESERVED+10);    // show the configure dialog
    ICM_ABOUT                   = (ICM_RESERVED+11);    // show the about box

    ICM_GETDEFAULTQUALITY       = (ICM_RESERVED+30);    // get the default value for quality
    ICM_GETQUALITY              = (ICM_RESERVED+31);    // get the current value for quality
    ICM_SETQUALITY              = (ICM_RESERVED+32);    // set the default value for quality

    ICM_SET                     = (ICM_RESERVED+40);    // Tell the driver something
    ICM_GET                     = (ICM_RESERVED+41);    // Ask the driver something

{-- Constants for ICM_SET: ---------------------------------------------------}

    ICM_FRAMERATE               = $526D7246; // mmioFOURCC('F','r','m','R')
    ICM_KEYFRAMERATE            = $5279654B; // mmioFOURCC('K','e','y','R')

{-- ICM specific messages ----------------------------------------------------}

    ICM_COMPRESS_GET_FORMAT     = (ICM_USER+4)  ;   // get compress format or size
    ICM_COMPRESS_GET_SIZE       = (ICM_USER+5)  ;   // get output size
    ICM_COMPRESS_QUERY          = (ICM_USER+6)  ;   // query support for compress
    ICM_COMPRESS_BEGIN          = (ICM_USER+7)  ;   // begin a series of compress calls.
    ICM_COMPRESS                = (ICM_USER+8)  ;   // compress a frame
    ICM_COMPRESS_END            = (ICM_USER+9)  ;   // end of a series of compress calls.

    ICM_DECOMPRESS_GET_FORMAT   = (ICM_USER+10) ;   // get decompress format or size
    ICM_DECOMPRESS_QUERY        = (ICM_USER+11) ;   // query support for dempress
    ICM_DECOMPRESS_BEGIN        = (ICM_USER+12) ;   // start a series of decompress calls
    ICM_DECOMPRESS              = (ICM_USER+13) ;   // decompress a frame
    ICM_DECOMPRESS_END          = (ICM_USER+14) ;   // end a series of decompress calls
    ICM_DECOMPRESS_SET_PALETTE  = (ICM_USER+29) ;   // fill in the DIB color table
    ICM_DECOMPRESS_GET_PALETTE  = (ICM_USER+30) ;   // fill in the DIB color table

    ICM_DRAW_QUERY              = (ICM_USER+31) ;   // query support for dempress
    ICM_DRAW_BEGIN              = (ICM_USER+15) ;   // start a series of draw calls
    ICM_DRAW_GET_PALETTE        = (ICM_USER+16) ;   // get the palette needed for drawing
    ICM_DRAW_START              = (ICM_USER+18) ;   // start decompress clock
    ICM_DRAW_STOP               = (ICM_USER+19) ;   // stop decompress clock
    ICM_DRAW_END                = (ICM_USER+21) ;   // end a series of draw calls
    ICM_DRAW_GETTIME            = (ICM_USER+32) ;   // get value of decompress clock
    ICM_DRAW                    = (ICM_USER+33) ;   // generalized "render" message
    ICM_DRAW_WINDOW             = (ICM_USER+34) ;   // drawing window has moved or hidden
    ICM_DRAW_SETTIME            = (ICM_USER+35) ;   // set correct value for decompress clock
    ICM_DRAW_REALIZE            = (ICM_USER+36) ;   // realize palette for drawing
    ICM_DRAW_FLUSH              = (ICM_USER+37) ;   // clear out buffered frames
    ICM_DRAW_RENDERBUFFER       = (ICM_USER+38) ;   // draw undrawn things in queue

    ICM_DRAW_START_PLAY         = (ICM_USER+39) ;   // start of a play
    ICM_DRAW_STOP_PLAY          = (ICM_USER+40) ;   // end of a play

    ICM_DRAW_SUGGESTFORMAT      = (ICM_USER+50) ;   // Like ICGetDisplayFormat
    ICM_DRAW_CHANGEPALETTE      = (ICM_USER+51) ;   // for animating palette

    ICM_GETBUFFERSWANTED        = (ICM_USER+41) ;   // ask about prebuffering

    ICM_GETDEFAULTKEYFRAMERATE  = (ICM_USER+42) ;   // get the default value for key frames

    ICM_DECOMPRESSEX_BEGIN      = (ICM_USER+60) ;   // start a series of decompress calls
    ICM_DECOMPRESSEX_QUERY      = (ICM_USER+61) ;   // start a series of decompress calls
    ICM_DECOMPRESSEX            = (ICM_USER+62) ;   // decompress a frame
    ICM_DECOMPRESSEX_END        = (ICM_USER+63) ;   // end a series of decompress calls

    ICM_COMPRESS_FRAMES_INFO    = (ICM_USER+70) ;   // tell about compress to come
    ICM_SET_STATUS_PROC         = (ICM_USER+72) ;   // set status callback

{-----------------------------------------------------------------------------}

type
    PICOPEN                     = ^TICOPEN;
    TICOPEN                     = record
        dwSize                  : DWORD   ; // sizeof(ICOPEN)
        fccType                 : DWORD   ; // 'vidc'
        fccHandler              : DWORD   ; //
        dwVersion               : DWORD   ; // version of compman opening you
        dwFlags                 : DWORD   ; // LOWORD is type specific
        dwError                 : DWORD   ; // error return.
        pV1Reserved             : PVOID   ; // Reserved
        pV2Reserved             : PVOID   ; // Reserved
        dnDevNode               : DWORD   ; // Devnode for PnP devices
    end;

{-----------------------------------------------------------------------------}

    PICINFO                     = ^TICINFO ;
    TICINFO                     = record
        dwSize                  : DWORD;    // sizeof(ICINFO)
        fccType                 : DWORD;    // compressor type     'vidc' 'audc'
        fccHandler              : DWORD;    // compressor sub-type 'rle ' 'jpeg' 'pcm '
        dwFlags                 : DWORD;    // flags LOWORD is type specific
        dwVersion               : DWORD;    // version of the driver
        dwVersionICM            : DWORD;    // version of the ICM used
        //
        // under Win32, the driver always returns UNICODE strings.
        //
        szName                  : array[0..15] of WideChar  ; // short name
        szDescription           : array[0..127] of WideChar ; // DWORD name
        szDriver                : array[0..127] of WideChar ; // driver that contains compressor
    end;

{-- Flags for the <dwFlags> field of the <ICINFO> structure. -----------------}

const
    VIDCF_QUALITY               = $0001 ;  // supports quality
    VIDCF_CRUNCH                = $0002 ;  // supports crunching to a frame size
    VIDCF_TEMPORAL              = $0004 ;  // supports inter-frame compress
    VIDCF_COMPRESSFRAMES        = $0008 ;  // wants the compress all frames message
    VIDCF_DRAW                  = $0010 ;  // supports drawing
    VIDCF_FASTTEMPORALC         = $0020 ;  // does not need prev frame on compress
    VIDCF_FASTTEMPORALD         = $0080 ;  // does not need prev frame on decompress
    //VIDCF_QUALITYTIME         = $0040 ;  // supports temporal quality

    //VIDCF_FASTTEMPORAL        = (VIDCF_FASTTEMPORALC or VIDCF_FASTTEMPORALD)

{-----------------------------------------------------------------------------}

    ICCOMPRESS_KEYFRAME         = $00000001;

type
    PICCOMPRESS                 = ^TICCOMPRESS;
    TICCOMPRESS                 = record
        dwFlags                 : DWORD;                // flags

        lpbiOutput              : PBITMAPINFOHEADER ;   // output format
        lpOutput                : PVOID ;               // output data

        lpbiInput               : PBITMAPINFOHEADER ;   // format of frame to compress
        lpInput                 : PVOID ;               // frame data to compress

        lpckid                  : PDWORD ;              // ckid for data in AVI file
        lpdwFlags               : PDWORD;               // flags in the AVI index.
        lFrameNum               : DWORD ;                // frame number of seq.
        dwFrameSize             : DWORD ;               // reqested size in bytes. (if non zero)

        dwQuality               : DWORD ;               // quality

        // these are new fields

        lpbiPrev                : PBITMAPINFOHEADER ;   // format of previous frame
        lpPrev                  : PVOID ;              // previous frame
    end;

{-----------------------------------------------------------------------------}

const
    ICCOMPRESSFRAMES_PADDING    = $00000001 ;

type
    TICCompressProc             = function(lInput: LPARAM; lFrame: DWORD; lpBits: PVOID; len: DWORD): DWORD; stdcall;

    PICCOMPRESSFRAMES           = ^TICCOMPRESSFRAMES;
    TICCOMPRESSFRAMES           = record
        dwFlags                 : DWORD ;               // flags

        lpbiOutput              : PBITMAPINFOHEADER ;   // output format
        lOutput                 : LPARAM ;              // output identifier

        lpbiInput               : PBITMAPINFOHEADER ;   // format of frame to compress
        lInput                  : LPARAM ;              // input identifier

        lStartFrame             : DWORD ;                // start frame
        lFrameCount             : DWORD ;                // # of frames

        lQuality                : DWORD ;                // quality
        lDataRate               : DWORD ;                // data rate
        lKeyRate                : DWORD ;                // key frame rate

        dwRate                  : DWORD ;               // frame rate, as always
        dwScale                 : DWORD ;

        dwOverheadPerFrame      : DWORD ;
        dwReserved2             : DWORD ;

        GetData                 : TICCompressProc;
        PutData                 : TICCompressProc;
    end;

{-- Messages for Status callback ---------------------------------------------}

const
    ICSTATUS_START              = 0 ;
    ICSTATUS_STATUS             = 1 ;   // l = % done
    ICSTATUS_END                = 2 ;
    ICSTATUS_ERROR              = 3 ;   // l = error string (LPSTR)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
eeuss影院一区二区三区| 精品成人私密视频| 91一区二区在线观看| 成人小视频在线| 高清国产午夜精品久久久久久| 韩国一区二区三区| 韩国v欧美v亚洲v日本v| 国产在线播放一区| 国产又粗又猛又爽又黄91精品| 国产一区二区三区| 国产精品一区二区三区乱码 | 韩国v欧美v日本v亚洲v| 国内久久婷婷综合| 国产精品一区二区在线播放| 国产成人自拍网| aaa亚洲精品| 色狠狠色噜噜噜综合网| 在线观看av不卡| 欧美日韩一区二区三区四区 | 欧美不卡在线视频| 欧美精品一区二区三区四区| 国产欧美精品日韩区二区麻豆天美| 中文字幕欧美三区| 亚洲欧美日韩人成在线播放| 亚洲va欧美va天堂v国产综合| 日韩av高清在线观看| 国产呦精品一区二区三区网站| 国产成人av福利| 91蜜桃免费观看视频| 欧美日韩一区二区欧美激情| 欧美一区二区三区在线看| 精品成人在线观看| 亚洲三级电影网站| 日韩国产一二三区| 国产成人精品亚洲午夜麻豆| 波多野结衣的一区二区三区| 欧美四级电影网| 2020日本不卡一区二区视频| 亚洲欧洲无码一区二区三区| 亚洲国产成人av网| 国产福利一区二区三区视频 | 欧美日韩激情在线| 久久综合九色综合欧美98 | 成人午夜视频免费看| 欧美视频在线观看一区二区| 精品国产乱码久久久久久老虎| 欧美激情资源网| 亚洲成人综合视频| 国产盗摄精品一区二区三区在线| 欧美性淫爽ww久久久久无| 精品国产伦理网| 亚洲曰韩产成在线| 国产福利不卡视频| 欧美女孩性生活视频| 亚洲国产精品精华液ab| 午夜精品久久久久久久久久| 国产91在线|亚洲| 欧美性受极品xxxx喷水| 国产精品三级av| 视频一区视频二区中文字幕| 成人18精品视频| 欧美一区二区三区不卡| 亚洲欧洲色图综合| 国产一区二区三区香蕉 | 中文字幕一区不卡| 久久国产综合精品| 欧美优质美女网站| 亚洲国产成人私人影院tom| 日本成人超碰在线观看| av不卡在线观看| 精品电影一区二区| 日韩在线a电影| 一本色道久久综合精品竹菊| 精品国产乱码久久久久久夜甘婷婷| 夜夜揉揉日日人人青青一国产精品| 国产一区二区伦理片| 欧美群妇大交群中文字幕| 日韩毛片高清在线播放| 国产精品996| 日韩视频一区二区在线观看| 亚洲精品国久久99热| 99久久久国产精品免费蜜臀| 久久免费精品国产久精品久久久久| 男女男精品视频| 欧美日韩精品一区二区三区蜜桃| 亚洲卡通动漫在线| www.日本不卡| 亚洲国产精品传媒在线观看| 国产老肥熟一区二区三区| 555夜色666亚洲国产免| 亚洲伊人伊色伊影伊综合网| 在线中文字幕不卡| 亚洲欧美日本韩国| 91亚洲午夜精品久久久久久| 国产精品免费免费| 国产一区二区在线电影| 日韩午夜av电影| 亚洲第一主播视频| 大胆亚洲人体视频| 久久久噜噜噜久久中文字幕色伊伊 | 日韩高清不卡一区二区| 欧美在线综合视频| 国产精品高清亚洲| 国产黄色成人av| 精品久久久网站| 日日夜夜精品视频天天综合网| 99久久综合99久久综合网站| 国产精品久久久久毛片软件| 国产激情一区二区三区| 精品国产乱码久久久久久影片| 日韩国产精品久久久久久亚洲| 色婷婷精品久久二区二区蜜臂av| 中文无字幕一区二区三区| 久久国产尿小便嘘嘘尿| 日韩免费在线观看| 麻豆精品国产传媒mv男同| 欧美日韩国产大片| 婷婷成人激情在线网| 欧美日韩午夜影院| 老司机免费视频一区二区| 日韩午夜在线观看视频| 日本美女视频一区二区| 在线综合视频播放| 秋霞影院一区二区| 欧美日韩视频专区在线播放| 蜜臀av国产精品久久久久| 日韩一区二区三区在线视频| 秋霞成人午夜伦在线观看| 欧美一二三四区在线| 蜜桃视频第一区免费观看| 91精品国产综合久久久久久漫画| 久久成人综合网| 久久品道一品道久久精品| 国产麻豆91精品| 国产三级久久久| aa级大片欧美| 亚洲精品国产精华液| 99国产精品久久久久久久久久久 | 亚洲欧美综合网| 欧美熟乱第一页| 免费成人在线视频观看| 久久久久久99久久久精品网站| 成人精品国产福利| 日韩影院免费视频| 久久久亚洲午夜电影| 日本丰满少妇一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 欧美老女人在线| 亚洲综合小说图片| 精品成人私密视频| 在线欧美日韩精品| 美美哒免费高清在线观看视频一区二区| 国产欧美精品一区二区三区四区 | 亚洲欧美电影一区二区| 欧美三级资源在线| 粉嫩av一区二区三区粉嫩| 亚洲免费av高清| 久久久99久久精品欧美| 99久久综合色| 成av人片一区二区| 美女网站在线免费欧美精品| 国产亲近乱来精品视频 | 久久久777精品电影网影网| 91成人免费电影| 国产中文一区二区三区| 亚洲欧美一区二区三区国产精品 | 免费欧美在线视频| 国产精品乱人伦| 欧美一级欧美一级在线播放| 国产91对白在线观看九色| 亚洲综合久久久| 久久亚洲综合色一区二区三区| 色系网站成人免费| 久久se精品一区二区| 亚洲欧洲制服丝袜| 欧美国产精品v| 欧美一区午夜精品| 99麻豆久久久国产精品免费优播| 日韩黄色片在线观看| 日本一区二区三区高清不卡 | 亚洲欧洲精品一区二区精品久久久| 日本久久电影网| 99久久久久久| 国产综合色视频| 亚洲成国产人片在线观看| 国产精品嫩草影院com| 制服丝袜中文字幕一区| 色综合久久久久网| 国产盗摄女厕一区二区三区| 免费高清视频精品| 亚洲国产精品久久艾草纯爱 | 日本美女一区二区三区视频| 亚洲啪啪综合av一区二区三区| 精品国产免费久久| 欧美高清www午色夜在线视频| 色天天综合久久久久综合片| 成人中文字幕合集| 国内精品久久久久影院一蜜桃| 日韩二区三区四区| 亚洲自拍偷拍网站|