亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩一区二区电影| 国产精品三级视频| 国产精品九色蝌蚪自拍| 日产欧产美韩系列久久99| 国产成人精品影院| 日韩三级av在线播放| 亚洲国产美女搞黄色| 国产91在线|亚洲| 日韩一区二区在线观看视频| 一区二区三区中文免费| 成人性生交大片免费看在线播放 | 亚洲精选免费视频| 经典一区二区三区| 91精品欧美综合在线观看最新| 成人欧美一区二区三区视频网页| 久久99精品国产麻豆不卡| 91精品国产全国免费观看| 亚洲一区二区欧美| 99久久婷婷国产| 国产精品美女久久福利网站 | 精品粉嫩超白一线天av| 肉肉av福利一精品导航| 欧美视频第二页| 夜夜精品视频一区二区| 欧美最新大片在线看| 亚洲美女视频一区| 91国产福利在线| 亚洲永久免费视频| 欧美午夜宅男影院| 亚洲国产一区二区a毛片| 欧美性色欧美a在线播放| 亚洲综合久久av| 欧美精品一二三| 日韩国产一区二| 欧美成人bangbros| 久久66热re国产| 欧美国产国产综合| 91论坛在线播放| 亚洲无线码一区二区三区| 欧美日韩一区二区三区免费看| 一区二区欧美国产| 欧美老女人在线| 久久国产婷婷国产香蕉| 国产亚洲视频系列| 99久久99久久精品国产片果冻| 国产精品美日韩| 在线观看成人免费视频| 丝袜诱惑亚洲看片| 国产亚洲一区二区三区在线观看| 成人免费电影视频| 亚洲v日本v欧美v久久精品| 日韩一区二区三区视频在线观看| 国产精品一区久久久久| 亚洲视频免费观看| 日韩欧美国产综合| 成人国产精品视频| 午夜伦理一区二区| 国产午夜精品理论片a级大结局| av一区二区三区| 亚洲成人午夜影院| 国产亚洲精品久| 欧美色区777第一页| 国产在线精品一区二区不卡了| 国产精品美女久久久久久久久 | 亚洲国产综合色| 欧美电影一区二区| 成人午夜碰碰视频| 调教+趴+乳夹+国产+精品| 国产日产欧美一区| 欧美理论片在线| 不卡一区在线观看| 黄色资源网久久资源365| 亚洲人吸女人奶水| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日本黄色一区二区| 韩国在线一区二区| 一区二区三区在线不卡| 精品999在线播放| 色婷婷久久99综合精品jk白丝| 精品在线亚洲视频| 亚洲一区二区成人在线观看| 国产午夜亚洲精品理论片色戒| 欧美日韩日本视频| 95精品视频在线| 国产成人日日夜夜| 久久国产精品99久久久久久老狼| 亚洲人午夜精品天堂一二香蕉| 欧美电视剧免费全集观看| 色噜噜久久综合| 成人综合激情网| 国产在线精品不卡| 精品在线你懂的| 视频一区免费在线观看| 亚洲综合一区二区三区| 国产精品久久久久永久免费观看| 精品少妇一区二区三区免费观看| 欧美在线不卡视频| 99麻豆久久久国产精品免费优播| 亚洲妇女屁股眼交7| 欧洲精品在线观看| 99国产麻豆精品| 99在线视频精品| 成人精品gif动图一区| 亚洲国产精品国自产拍av| 亚洲最快最全在线视频| 国产精品入口麻豆原神| 国产欧美一区二区三区鸳鸯浴| 欧美大白屁股肥臀xxxxxx| 在线成人免费观看| 欧美群妇大交群中文字幕| 欧美日本韩国一区| 欧美一区日韩一区| 欧美一区二区三区在线| 欧美一区三区二区| 日韩欧美激情在线| 精品福利视频一区二区三区| 久久先锋资源网| 久久精品亚洲精品国产欧美kt∨| www激情久久| 亚洲国产高清在线观看视频| 欧美高清在线视频| 亚洲蜜臀av乱码久久精品| 成人免费高清视频| 亚洲午夜一区二区| 亚洲va欧美va人人爽| 日本三级韩国三级欧美三级| 奇米777欧美一区二区| 黄色精品一二区| 高清免费成人av| 日本精品一级二级| 欧美人xxxx| 久久久99免费| 亚洲人成亚洲人成在线观看图片| 一区二区三区欧美久久| 首页国产欧美日韩丝袜| 美女视频黄免费的久久 | 亚洲最大色网站| 日韩和欧美一区二区| 国产成人超碰人人澡人人澡| 99久久久无码国产精品| 91麻豆精品国产91久久久久| 久久―日本道色综合久久| 国产精品嫩草99a| 日韩在线卡一卡二| 国产成人自拍网| 欧美日韩一区二区在线观看| 精品日韩在线观看| 日韩久久一区二区| 日韩专区在线视频| 成人免费视频播放| 欧美日韩大陆一区二区| 国产亚洲1区2区3区| 亚瑟在线精品视频| 国产suv精品一区二区三区| 欧美午夜理伦三级在线观看| 久久色在线视频| 亚洲国产aⅴ天堂久久| 国产成人精品aa毛片| 欧美嫩在线观看| 国产精品亲子伦对白| 视频在线在亚洲| 日本韩国精品在线| 久久精品人人做| 日韩av中文在线观看| 99久久精品国产毛片| 欧美电影免费观看高清完整版| 亚洲三级电影网站| 国产精品一区二区无线| 欧美日韩国产首页| 综合激情成人伊人| 国产乱人伦精品一区二区在线观看 | 亚洲天堂精品视频| 蜜桃av噜噜一区| 欧美日韩日日骚| 亚洲理论在线观看| 成人免费观看视频| 精品国产一区二区三区av性色 | 1区2区3区欧美| 国产真实乱偷精品视频免| 欧美日韩在线精品一区二区三区激情 | 国产a视频精品免费观看| 日韩午夜在线播放| 午夜精品久久久久久久蜜桃app| 成人自拍视频在线观看| 久久综合视频网| 久久国产三级精品| 日韩午夜在线观看视频| 免费欧美日韩国产三级电影| 在线精品视频免费播放| 一区二区三区四区不卡在线 | 国产成人av电影免费在线观看| 欧美一区二区三区四区高清| 天天色综合成人网| 欧美最猛黑人xxxxx猛交| 亚洲免费视频中文字幕| 91免费看片在线观看| 国产精品不卡在线观看| 成人国产亚洲欧美成人综合网| 国产精品午夜在线| 成人高清av在线|