Changeset 5614
- Timestamp:
- Apr 28, 2001, 11:11:36 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/msvfw32/msvfw32.cpp ¶
r4631 r5614 1 /* $Id: msvfw32.cpp,v 1. 6 2000-11-19 13:04:28 sandervlExp $ */1 /* $Id: msvfw32.cpp,v 1.7 2001-04-28 09:11:36 hugh Exp $ */ 2 2 /* 3 3 * Copyright 1998 Marcus Meissner … … 33 33 34 34 /**************************************************************************** 35 * VideoForWindowsVersion[MSVFW.2][MSVIDEO.2]35 * VideoForWindowsVersion [MSVFW.2][MSVIDEO.2] 36 36 * Returns the version in major.minor form. 37 37 * In Windows95 this returns 0x040003b6 (4.950) … … 39 39 DWORD WINAPI 40 40 VideoForWindowsVersion(void) { 41 41 return 0x040003B6; /* 4.950 */ 42 42 } 43 43 … … 45 45 46 46 /************************************************************************** 47 * ICInfo[MSVFW.33]47 * ICInfo [MSVFW.33] 48 48 * Get information about an installable compressor. Return TRUE if there 49 49 * is one. … … 51 51 BOOL WINAPI 52 52 ICInfo( 53 DWORD fccType,/* [in] type of compressor ('vidc') */54 DWORD fccHandler,/* [in] <n>th compressor */55 ICINFO *lpicinfo/* [out] information about compressor */53 DWORD fccType, /* [in] type of compressor ('vidc') */ 54 DWORD fccHandler, /* [in] <n>th compressor */ 55 ICINFO *lpicinfo /* [out] information about compressor */ 56 56 ) { 57 chartype[5],buf[2000];58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 57 char type[5],buf[2000]; 58 59 memcpy(type,&fccType,4);type[4]=0; 60 TRACE("(%s,%ld,%p).\n",type,fccHandler,lpicinfo); 61 /* does OpenDriver/CloseDriver */ 62 lpicinfo->dwSize = sizeof(ICINFO); 63 lpicinfo->fccType = fccType; 64 lpicinfo->dwFlags = 0; 65 if (GetPrivateProfileStringA("drivers32",NULL,NULL,buf,2000,"system.ini")) { 66 char *s = buf; 67 while (*s) { 68 if (!lstrncmpiA(type,s,4)) { 69 if(!fccHandler--) { 70 lpicinfo->fccHandler = mmioStringToFOURCCA(s+5,0); 71 return TRUE; 72 } 73 } 74 s=s+lstrlenA(s)+1; /* either next char or \0 */ 75 } 76 } 77 return FALSE; 78 78 } 79 79 80 80 /************************************************************************** 81 * ICOpen[MSVFW.37]81 * ICOpen [MSVFW.37] 82 82 * Opens an installable compressor. Return special handle. 83 83 */ 84 84 HIC WINAPI 85 85 ICOpen(DWORD fccType,DWORD fccHandler,UINT wMode) { 86 char type[5],handler[5],codecname[20]; 87 ICOPEN icopen; 88 HDRVR hdrv; 89 WINE_HIC *whic; 90 91 memcpy(type,&fccType,4);type[4]=0; 92 memcpy(handler,&fccHandler,4);handler[4]=0; 93 TRACE("(%s,%s,0x%08lx)\n",type,handler,(DWORD)wMode); 94 sprintf(codecname,"%s.%s",type,handler); 95 96 /* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the 97 * same layout as ICOPEN 98 */ 99 icopen.fccType = fccType; 100 icopen.fccHandler = fccHandler; 101 icopen.dwSize = sizeof(ICOPEN); 102 icopen.dwFlags = wMode; 103 /* FIXME: do we need to fill out the rest too? */ 104 hdrv=OpenDriverA(codecname,"drivers32",(LPARAM)&icopen); 105 if (!hdrv) { 106 if (!strcasecmp(type,"vids")) { 107 sprintf(codecname,"vidc.%s",handler); 108 fccType = mmioFOURCC('v','i','d','c'); 109 } 110 hdrv=OpenDriverA(codecname,"drivers32",(LPARAM)&icopen); 111 if (!hdrv) 112 return 0; 113 } 114 whic = (WINE_HIC *) HeapAlloc(GetProcessHeap(),0,sizeof(WINE_HIC)); 115 whic->hdrv = hdrv; 116 whic->driverproc= NULL; 117 whic->privatevfw= ICSendMessage((HIC)whic,DRV_OPEN,0,(LPARAM)&icopen); 118 return (HIC)whic; 86 char type[5],handler[5],codecname[20]; 87 ICOPEN icopen; 88 HDRVR hdrv; 89 WINE_HIC *whic; 90 91 memcpy(type,&fccType,4);type[4]=0; 92 memcpy(handler,&fccHandler,4);handler[4]=0; 93 TRACE("(%s,%s,0x%08lx)\n",type,handler,(DWORD)wMode); 94 sprintf(codecname,"%s.%s",type,handler); 95 96 /* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the 97 * same layout as ICOPEN 98 */ 99 memset(&icopen,0,sizeof(ICOPEN)); 100 icopen.fccType = fccType==0x43444956?0x63646976:fccType; //fccType use vidc if VIDC is passed in. 101 icopen.fccHandler = fccHandler; 102 icopen.dwSize = sizeof(ICOPEN); 103 icopen.dwVersion = 0x03320000; // version 3,50,00 ??? 104 icopen.dwFlags = wMode; 105 TRACE("(0x%08lx,0x%08X=%d,%d)\n",icopen.fccType,icopen.fccHandler,icopen.fccHandler,icopen.dwSize); 106 107 /* FIXME: do we need to fill out the rest too? */ 108 hdrv=OpenDriverA(codecname,"drivers32",(LPARAM)&icopen); 109 if (!hdrv) 110 { 111 TRACE("Driver returned Error %08x Version set to %08x\n",icopen.dwError,icopen.dwVersion); 112 if (!strcasecmp(type,"vids")) 113 { 114 sprintf(codecname,"vidc.%s",handler); 115 fccType = mmioFOURCC('v','i','d','c'); 116 } 117 hdrv=OpenDriverA(codecname,"drivers32",(LPARAM)&icopen); 118 if (!hdrv) 119 { 120 TRACE("Driver returned Error %08x Version set to %08x\n",icopen.dwError,icopen.dwVersion); 121 return 0; 122 } 123 } 124 whic = (WINE_HIC *) HeapAlloc(GetProcessHeap(),0,sizeof(WINE_HIC)); 125 whic->hdrv = hdrv; 126 whic->driverproc= NULL; 127 whic->privatevfw= ICSendMessage((HIC)whic,DRV_OPEN,0,(LPARAM)&icopen); 128 return (HIC)whic; 119 129 } 120 130 HIC VFWAPI ICOpenFunction(DWORD fccType, DWORD fccHandler, UINT wMode, 121 131 FARPROC lpfnHandler) { 122 chartype[5],handler[5];123 HIChic;124 WINE_HIC*whic;125 126 127 128 129 130 131 132 133 134 132 char type[5],handler[5]; 133 HIC hic; 134 WINE_HIC *whic; 135 136 memcpy(type,&fccType,4);type[4]=0; 137 memcpy(handler,&fccHandler,4);handler[4]=0; 138 dprintf(("(%s,%s,%d,%p), stub!\n",type,handler,wMode,lpfnHandler)); 139 hic = ICOpen(fccType,fccHandler,wMode); 140 if (!hic) 141 return hic; 142 whic = (WINE_HIC*)hic; 143 whic->driverproc = lpfnHandler; 144 return hic; 135 145 } 136 146 137 147 138 148 LRESULT WINAPI ICGetInfo(HIC hic,ICINFO *picinfo,DWORD cb) { 139 LRESULTret;140 141 142 143 TRACE("-> 0x%08lx\n",ret);144 149 LRESULT ret; 150 151 TRACE("(0x%08lx,%p,%ld)\n",(DWORD)hic,picinfo,cb); 152 ret = ICSendMessage(hic,ICM_GETINFO,(DWORD)picinfo,cb); 153 TRACE(" -> 0x%08lx\n",ret); 154 return ret; 145 155 } 146 156 147 157 HIC VFWAPI 148 158 ICLocate( 149 150 159 DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, 160 LPBITMAPINFOHEADER lpbiOut, WORD wMode 151 161 ) { 152 chartype[5],handler[5];153 HIChic;154 DWORDquerymsg;155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 162 char type[5],handler[5]; 163 HIC hic; 164 DWORD querymsg; 165 166 switch (wMode) { 167 case ICMODE_FASTCOMPRESS: 168 case ICMODE_COMPRESS: 169 querymsg = ICM_COMPRESS_QUERY; 170 break; 171 case ICMODE_DECOMPRESS: 172 case ICMODE_FASTDECOMPRESS: 173 querymsg = ICM_DECOMPRESS_QUERY; 174 break; 175 case ICMODE_DRAW: 176 querymsg = ICM_DRAW_QUERY; 177 break; 178 default: 179 dprintf(("Unknown mode (%d)\n",wMode)); 180 return 0; 181 } 182 183 /* Easy case: handler/type match, we just fire a query and return */ 184 hic = ICOpen(fccType,fccHandler,wMode); 185 if (hic) { 186 if (!ICSendMessage(hic,querymsg,(DWORD)lpbiIn,(DWORD)lpbiOut)) 187 return hic; 188 ICClose(hic); 189 } 190 type[4]='\0';memcpy(type,&fccType,4); 191 handler[4]='\0';memcpy(handler,&fccHandler,4); 192 if (fccType==streamtypeVIDEO) { 193 hic = ICLocate(ICTYPE_VIDEO,fccHandler,lpbiIn,lpbiOut,wMode); 194 if (hic) 195 return hic; 196 } 197 dprintf(("(%s,%s,%p,%p,0x%04x),unhandled!\n",type,handler,lpbiIn,lpbiOut,wMode)); 198 return 0; 189 199 } 190 200 191 201 HIC VFWAPI ICGetDisplayFormat( 192 193 202 HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut, 203 INT depth,INT dx,INT dy 194 204 ) { 195 HICtmphic = hic;196 LRESULTlres;197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 HDChdc;216 217 218 219 220 if (depth==15)depth = 16;221 if (depth<8)depth = 8;222 223 224 225 226 227 205 HIC tmphic = hic; 206 LRESULT lres; 207 208 dprintf(("(0x%08lx,%p,%p,%d,%d,%d),stub!\n",(DWORD)hic,lpbiIn,lpbiOut,depth,dx,dy)); 209 if (!tmphic) { 210 tmphic=ICLocate(ICTYPE_VIDEO,0,lpbiIn,NULL,ICMODE_DECOMPRESS); 211 if (!tmphic) 212 return tmphic; 213 } 214 if ((dy == lpbiIn->biHeight) || (dx == lpbiIn->biWidth)) 215 dy = dx = 0; /* no resize needed */ 216 /* Can we decompress it ? */ 217 lres = ICDecompressQuery(tmphic,lpbiIn,NULL); 218 if (lres) 219 goto errout; /* no, sorry */ 220 ICDecompressGetFormat(hic,lpbiIn,lpbiOut); 221 *lpbiOut=*lpbiIn; 222 lpbiOut->biCompression = 0; 223 lpbiOut->biSize = sizeof(*lpbiOut); 224 if (!depth) { 225 HDC hdc; 226 227 hdc = GetDC(0); 228 depth = GetDeviceCaps(hdc,12)*GetDeviceCaps(hdc,14); 229 ReleaseDC(0,hdc); 230 if (depth==15) depth = 16; 231 if (depth<8) depth = 8; 232 /* more constraints and tests */ 233 } 234 if (lpbiIn->biBitCount == 8) 235 depth = 8; 236 237 return hic; 228 238 errout: 229 230 231 239 if (hic!=tmphic) 240 ICClose(tmphic); 241 return 0; 232 242 } 233 243 234 244 DWORD VFWAPIV 235 245 ICCompress( 236 237 238 239 246 HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiOutput,LPVOID lpData, 247 LPBITMAPINFOHEADER lpbiInput,LPVOID lpBits,LPDWORD lpckid, 248 LPDWORD lpdwFlags,LONG lFrameNum,DWORD dwFrameSize,DWORD dwQuality, 249 LPBITMAPINFOHEADER lpbiPrev,LPVOID lpPrev 240 250 ) { 241 ICCOMPRESSiccmp;242 243 iccmp.dwFlags= dwFlags;244 245 iccmp.lpbiOutput= lpbiOutput;246 iccmp.lpOutput= lpData;247 iccmp.lpbiInput= lpbiInput;248 iccmp.lpInput= lpBits;249 250 iccmp.lpckid= lpckid;251 iccmp.lpdwFlags= lpdwFlags;252 iccmp.lFrameNum= lFrameNum;253 iccmp.dwFrameSize= dwFrameSize;254 iccmp.dwQuality= dwQuality;255 iccmp.lpbiPrev= lpbiPrev;256 iccmp.lpPrev= lpPrev;257 251 ICCOMPRESS iccmp; 252 253 iccmp.dwFlags = dwFlags; 254 255 iccmp.lpbiOutput = lpbiOutput; 256 iccmp.lpOutput = lpData; 257 iccmp.lpbiInput = lpbiInput; 258 iccmp.lpInput = lpBits; 259 260 iccmp.lpckid = lpckid; 261 iccmp.lpdwFlags = lpdwFlags; 262 iccmp.lFrameNum = lFrameNum; 263 iccmp.dwFrameSize = dwFrameSize; 264 iccmp.dwQuality = dwQuality; 265 iccmp.lpbiPrev = lpbiPrev; 266 iccmp.lpPrev = lpPrev; 267 return ICSendMessage(hic,ICM_COMPRESS,(LPARAM)&iccmp,sizeof(iccmp)); 258 268 } 259 269 260 270 DWORD VFWAPIV 261 271 ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits) { 262 ICDECOMPRESSicd;263 264 icd.dwFlags= dwFlags;265 icd.lpbiInput= lpbiFormat;266 icd.lpInput= lpData;267 268 icd.lpbiOutput= lpbi;269 icd.lpOutput= lpBits;270 icd.ckid= 0;271 272 ICDECOMPRESS icd; 273 274 icd.dwFlags = dwFlags; 275 icd.lpbiInput = lpbiFormat; 276 icd.lpInput = lpData; 277 278 icd.lpbiOutput = lpbi; 279 icd.lpOutput = lpBits; 280 icd.ckid = 0; 281 return ICSendMessage(hic,ICM_DECOMPRESS,(LPARAM)&icd,sizeof(icd)); 272 282 } 273 283 274 284 LRESULT VFWAPI 275 285 ICSendMessage(HIC hic,UINT msg,DWORD lParam1,DWORD lParam2) { 276 LRESULTret;277 WINE_HIC*whic = (WINE_HIC*)hic;286 LRESULT ret; 287 WINE_HIC *whic = (WINE_HIC*)hic; 278 288 279 289 #define XX(x) case x: TRACE("(0x%08lx,"#x",0x%08lx,0x%08lx)\n",(DWORD)hic,lParam1,lParam2);break; 280 290 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 291 switch (msg) { 292 XX(ICM_ABOUT) 293 XX(ICM_GETINFO) 294 XX(ICM_COMPRESS_FRAMES_INFO) 295 XX(ICM_COMPRESS_GET_FORMAT) 296 XX(ICM_COMPRESS_GET_SIZE) 297 XX(ICM_COMPRESS_QUERY) 298 XX(ICM_COMPRESS_BEGIN) 299 XX(ICM_COMPRESS) 300 XX(ICM_COMPRESS_END) 301 XX(ICM_DECOMPRESS_GET_FORMAT) 302 XX(ICM_DECOMPRESS_QUERY) 303 XX(ICM_DECOMPRESS_BEGIN) 304 XX(ICM_DECOMPRESS) 305 XX(ICM_DECOMPRESS_END) 306 XX(ICM_DECOMPRESS_SET_PALETTE) 307 XX(ICM_DECOMPRESS_GET_PALETTE) 308 XX(ICM_DRAW_QUERY) 309 XX(ICM_DRAW_BEGIN) 310 XX(ICM_DRAW_GET_PALETTE) 311 XX(ICM_DRAW_START) 312 XX(ICM_DRAW_STOP) 313 XX(ICM_DRAW_END) 314 XX(ICM_DRAW_GETTIME) 315 XX(ICM_DRAW) 316 XX(ICM_DRAW_WINDOW) 317 XX(ICM_DRAW_SETTIME) 318 XX(ICM_DRAW_REALIZE) 319 XX(ICM_DRAW_FLUSH) 320 XX(ICM_DRAW_RENDERBUFFER) 321 XX(ICM_DRAW_START_PLAY) 322 XX(ICM_DRAW_STOP_PLAY) 323 XX(ICM_DRAW_SUGGESTFORMAT) 324 XX(ICM_DRAW_CHANGEPALETTE) 325 XX(ICM_GETBUFFERSWANTED) 326 XX(ICM_GETDEFAULTKEYFRAMERATE) 327 XX(ICM_DECOMPRESSEX_BEGIN) 328 XX(ICM_DECOMPRESSEX_QUERY) 329 XX(ICM_DECOMPRESSEX) 330 XX(ICM_DECOMPRESSEX_END) 331 XX(ICM_SET_STATUS_PROC) 332 default: 333 dprintf(("(0x%08lx,0x%08lx,0x%08lx,0x%08lx)\n",(DWORD)hic,(DWORD)msg,lParam1,lParam2)); 334 } 325 335 #if 0 326 327 328 329 330 #endif 331 332 TRACE("-> 0x%08lx\n",ret);333 334 } 335 336 DWORD VFWAPIVICDrawBegin(337 HIC 338 DWORD 339 HPALETTE hpal,/* palette to draw with */340 HWND hwnd,/* window to draw to */341 HDC hdc,/* HDC to draw to */342 INT xDst,/* destination rectangle */343 INT 344 INT 345 INT 346 LPBITMAPINFOHEADER lpbi,/* format of frame to draw */347 INT xSrc,/* source rectangle */348 INT 349 INT 350 INT 351 DWORD dwRate,/* frames/second = (dwRate/dwScale) */352 DWORD 353 ICDRAWBEGINicdb;354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 336 if (whic->driverproc) { 337 dprintf(("(0x%08lx,0x%08lx,0x%08lx,0x%08lx), calling %p\n",(DWORD)hic,(DWORD)msg,lParam1,lParam2,whic->driverproc)); 338 ret = whic->driverproc(whic->hdrv,1,msg,lParam1,lParam2); 339 } else 340 #endif 341 ret = SendDriverMessage(whic->hdrv,msg,lParam1,lParam2); 342 TRACE(" -> 0x%08lx\n",ret); 343 return ret; 344 } 345 346 DWORD VFWAPIV ICDrawBegin( 347 HIC hic, 348 DWORD dwFlags,/* flags */ 349 HPALETTE hpal, /* palette to draw with */ 350 HWND hwnd, /* window to draw to */ 351 HDC hdc, /* HDC to draw to */ 352 INT xDst, /* destination rectangle */ 353 INT yDst, 354 INT dxDst, 355 INT dyDst, 356 LPBITMAPINFOHEADER lpbi, /* format of frame to draw */ 357 INT xSrc, /* source rectangle */ 358 INT ySrc, 359 INT dxSrc, 360 INT dySrc, 361 DWORD dwRate, /* frames/second = (dwRate/dwScale) */ 362 DWORD dwScale) { 363 ICDRAWBEGIN icdb; 364 365 icdb.dwFlags = dwFlags; 366 icdb.hpal = hpal; 367 icdb.hwnd = hwnd; 368 icdb.hdc = hdc; 369 icdb.xDst = xDst; 370 icdb.yDst = yDst; 371 icdb.dxDst = dxDst; 372 icdb.dyDst = dyDst; 373 icdb.lpbi = lpbi; 374 icdb.xSrc = xSrc; 375 icdb.ySrc = ySrc; 376 icdb.dxSrc = dxSrc; 377 icdb.dySrc = dySrc; 378 icdb.dwRate = dwRate; 379 icdb.dwScale = dwScale; 380 return ICSendMessage(hic,ICM_DRAW_BEGIN,(LPARAM)&icdb,sizeof(icdb)); 371 381 } 372 382 373 383 DWORD VFWAPIV ICDraw( 374 375 384 HIC hic,DWORD dwFlags,LPVOID lpFormat,LPVOID lpData,DWORD cbData, 385 LONG lTime 376 386 ) { 377 ICDRAWicd;378 379 380 381 382 383 384 387 ICDRAW icd; 388 389 icd.dwFlags = dwFlags; 390 icd.lpFormat = lpFormat; 391 icd.lpData = lpData; 392 icd.cbData = cbData; 393 icd.lTime = lTime; 394 return ICSendMessage(hic,ICM_DRAW,(LPARAM)&icd,sizeof(icd)); 385 395 } 386 396 387 397 LRESULT WINAPI ICClose(HIC hic) { 388 WINE_HIC*whic = (WINE_HIC*)hic;389 390 391 392 393 398 WINE_HIC *whic = (WINE_HIC*)hic; 399 TRACE("(%d).\n",hic); 400 /* FIXME: correct? */ 401 CloseDriver(whic->hdrv,0,0); 402 HeapFree(GetProcessHeap(),0,whic); 403 return 0; 394 404 } 395 405 396 406 HANDLE /* HDRAWDIB */ WINAPI 397 407 DrawDibOpen( void ) { 398 399 408 dprintf(("stub!\n")); 409 return 0xdead; 400 410 } 401 411 … … 414 424 INT dySrc, 415 425 UINT wFlags) { 416 417 418 419 426 dprintf(("(%d,0x%lx,%d,%d,%p,%d,%d,0x%08lx), stub!\n", 427 hdd,(DWORD)hdc,dxDst,dyDst,lpbi,dxSrc,dySrc,(DWORD)wFlags 428 )); 429 return TRUE; 420 430 } 421 431 … … 423 433 BOOL VFWAPI 424 434 DrawDibSetPalette(HANDLE /*HDRAWDIB*/ hdd, HPALETTE hpal) { 425 426 435 dprintf(("(%d,%d),stub!\n",hdd,hpal)); 436 return TRUE; 427 437 } 428 438 429 439 UINT VFWAPI DrawDibRealize(HANDLE /*HDRAWDIB*/ hdd, HDC hdc, BOOL fBackground) { 430 431 440 dprintf(("(0x%08lx,0x%08lx,%d),stub!\n",(DWORD)hdd,(DWORD)hdc,fBackground)); 441 return 0; 432 442 } 433 443 … … 435 445 HWND VFWAPIV MCIWndCreate (HWND hwndParent, HINSTANCE hInstance, 436 446 DWORD dwStyle,LPVOID szFile) 437 { 438 447 { dprintf(("%x %x %lx %p\n",hwndParent, hInstance, dwStyle, szFile)); 448 return 0; 439 449 } 440 450 HWND VFWAPIV MCIWndCreateA(HWND hwndParent, HINSTANCE hInstance, 441 451 DWORD dwStyle,LPCSTR szFile) 442 { 443 452 { dprintf(("%x %x %lx %s\n",hwndParent, hInstance, dwStyle, szFile)); 453 return 0; 444 454 } 445 455 HWND VFWAPIV MCIWndCreateW(HWND hwndParent, HINSTANCE hInstance, 446 456 DWORD dwStyle,LPCWSTR szFile) 447 { 448 457 { dprintf(("%x %x %lx %s\n",hwndParent, hInstance, dwStyle, debugstr_w(szFile))); 458 return 0; 449 459 } 450 460 … … 453 463 454 464 /**************************************************************************** 455 * DrawDibChangePalette[MSVFW.4]465 * DrawDibChangePalette [MSVFW.4] 456 466 */ 457 467 … … 461 471 dprintf(("MSVFW32: DrawDibChangePalette not implemented\n")); 462 472 #endif 463 464 } 465 466 467 /**************************************************************************** 468 * DrawDibDraw[MSVFW.6]473 return TRUE; 474 } 475 476 477 /**************************************************************************** 478 * DrawDibDraw [MSVFW.6] 469 479 */ 470 480 BOOL VFWAPI DrawDibDraw(HANDLE /*HDRAWDIB*/ hdd, … … 490 500 491 501 /**************************************************************************** 492 * DrawDibEnd[MSVFW.7]502 * DrawDibEnd [MSVFW.7] 493 503 */ 494 504 BOOL VFWAPI DrawDibEnd(HANDLE /*HDRAWDIB*/ hdd) … … 502 512 503 513 /**************************************************************************** 504 * DrawDibGetBuffer[MSVFW.8]514 * DrawDibGetBuffer [MSVFW.8] 505 515 */ 506 516 LPVOID VFWAPI DrawDibGetBuffer(HANDLE /*HDRAWDIB*/ hdd, LPBITMAPINFOHEADER lpbi, DWORD dwSize, DWORD dwFlags) … … 514 524 515 525 /**************************************************************************** 516 * DrawDibGetPalette[MSVFW.9]526 * DrawDibGetPalette [MSVFW.9] 517 527 */ 518 528 HPALETTE VFWAPI DrawDibGetPalette(HANDLE /*HDRAWDIB*/ hdd) … … 526 536 527 537 /**************************************************************************** 528 * DrawDibProfileDisplay[MSVFW.11]538 * DrawDibProfileDisplay [MSVFW.11] 529 539 */ 530 540 DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER lpbi) … … 538 548 539 549 /**************************************************************************** 540 * DrawDibStart[MSVFW.14]550 * DrawDibStart [MSVFW.14] 541 551 */ 542 552 BOOL VFWAPI DrawDibStart(HANDLE /*HDRAWDIB*/ hdd, DWORD rate) … … 545 555 dprintf(("MSVFW32: DrawDibStart not implemented\n")); 546 556 #endif 547 548 } 549 550 551 /**************************************************************************** 552 * DrawDibStop[MSVFW.15]557 return TRUE; 558 } 559 560 561 /**************************************************************************** 562 * DrawDibStop [MSVFW.15] 553 563 */ 554 564 BOOL VFWAPI DrawDibStop(HANDLE /*HDRAWDIB*/ hdd) … … 557 567 dprintf(("MSVFW32: DrawDibStop not implemented\n")); 558 568 #endif 559 560 } 561 562 563 /**************************************************************************** 564 * DrawDibTime[MSVFW.16]569 return TRUE; 570 } 571 572 573 /**************************************************************************** 574 * DrawDibTime [MSVFW.16] 565 575 */ 566 576 BOOL VFWAPI DrawDibTime(HANDLE /*HDRAWDIB*/ hdd, DWORD lpddtime) … … 569 579 dprintf(("MSVFW32: DrawDibTime not implemented\n")); 570 580 #endif 571 572 } 573 574 575 /**************************************************************************** 576 * GetOpenFileNamePreview[MSVFW.17]581 return TRUE; 582 } 583 584 585 /**************************************************************************** 586 * GetOpenFileNamePreview [MSVFW.17] 577 587 */ 578 588 … … 581 591 582 592 /**************************************************************************** 583 * GetOpenFileNamePreviewA[MSVFW.18]593 * GetOpenFileNamePreviewA [MSVFW.18] 584 594 */ 585 595 BOOL VFWAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn) … … 588 598 dprintf(("MSVFW32: GetOpenFileNamePreviewA not implemented\n")); 589 599 #endif 590 591 } 592 593 594 /**************************************************************************** 595 * GetOpenFileNamePreviewW[MSVFW.19]600 return TRUE; 601 } 602 603 604 /**************************************************************************** 605 * GetOpenFileNamePreviewW [MSVFW.19] 596 606 */ 597 607 BOOL VFWAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn) … … 600 610 dprintf(("MSVFW32: GetOpenFileNamePreviewW not implemented\n")); 601 611 #endif 602 603 } 604 605 606 /**************************************************************************** 607 * GetSaveFileNamePreviewA[MSVFW.20]612 return TRUE; 613 } 614 615 616 /**************************************************************************** 617 * GetSaveFileNamePreviewA [MSVFW.20] 608 618 */ 609 619 BOOL VFWAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn) … … 612 622 dprintf(("MSVFW32: GetSaveFileNamePreviewA not implemented\n")); 613 623 #endif 614 615 } 616 617 618 /**************************************************************************** 619 * GetSaveFileNamePreviewW[MSVFW.21]624 return TRUE; 625 } 626 627 628 /**************************************************************************** 629 * GetSaveFileNamePreviewW [MSVFW.21] 620 630 */ 621 631 BOOL VFWAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn) … … 624 634 dprintf(("MSVFW32: GetSaveFileNamePreviewW not implemented\n")); 625 635 #endif 626 627 } 628 629 630 /**************************************************************************** 631 * ICCompressorChoose[MSVFW.24]636 return TRUE; 637 } 638 639 640 /**************************************************************************** 641 * ICCompressorChoose [MSVFW.24] 632 642 */ 633 643 BOOL VFWAPI ICCompressorChoose( … … 642 652 dprintf(("MSVFW32: ICCompressorChoose not implemented\n")); 643 653 #endif 644 645 } 646 647 648 /**************************************************************************** 649 * ICCompressorFree[MSVFW.25]654 return TRUE; 655 } 656 657 658 /**************************************************************************** 659 * ICCompressorFree [MSVFW.25] 650 660 */ 651 661 void VFWAPI ICCompressorFree(PCOMPVARS pc) … … 654 664 dprintf(("MSVFW32: ICCompressorFree not implemented\n")); 655 665 #endif 656 657 } 658 659 660 /**************************************************************************** 661 * ICImageCompress[MSVFW.31]666 return; 667 } 668 669 670 /**************************************************************************** 671 * ICImageCompress [MSVFW.31] 662 672 */ 663 673 HANDLE VFWAPI ICImageCompress( 664 674 HIC hic, // compressor to use 665 675 UINT uiFlags, // flags (none yet) 666 LPBITMAPINFO 676 LPBITMAPINFO lpbiIn, // format to compress from 667 677 LPVOID lpBits, // data to compress 668 678 LPBITMAPINFO lpbiOut, // compress to this (NULL ==> default) … … 673 683 dprintf(("MSVFW32: ICImageCompress not implemented\n")); 674 684 #endif 675 676 } 677 678 679 /**************************************************************************** 680 * ICImageDecompress[MSVFW.32]685 return 0; 686 } 687 688 689 /**************************************************************************** 690 * ICImageDecompress [MSVFW.32] 681 691 */ 682 692 HANDLE VFWAPI ICImageDecompress( … … 690 700 dprintf(("MSVFW32: ICImageDecompress not implemented\n")); 691 701 #endif 692 693 } 694 695 696 /**************************************************************************** 697 * ICInstall[MSVFW.34]702 return 0; 703 } 704 705 706 /**************************************************************************** 707 * ICInstall [MSVFW.34] 698 708 */ 699 709 BOOL VFWAPI ICInstall(DWORD fccType, DWORD fccHandler, LPARAM lParam, LPSTR szDesc, UINT wFlags) … … 702 712 dprintf(("MSVFW32: ICInstall not implemented\n")); 703 713 #endif 704 714 return TRUE; 705 715 } 706 716 707 717 708 718 /************************************************************************** 709 * ICRemove[MSVFW.39]719 * ICRemove [MSVFW.39] 710 720 */ 711 721 BOOL VFWAPI ICRemove(DWORD fccType, DWORD fccHandler, UINT wFlags) … … 714 724 dprintf(("MSVFW32: ICRemove not implemented\n")); 715 725 #endif 716 726 return TRUE; 717 727 } 718 728 719 729 720 730 /************************************************************************** 721 * ICSeqCompressFrame[MSVFW.41]731 * ICSeqCompressFrame [MSVFW.41] 722 732 */ 723 733 LPVOID VFWAPI ICSeqCompressFrame( … … 725 735 UINT uiFlags, // flags 726 736 LPVOID lpBits, // input DIB bits 727 BOOL *pfKey,// did it end up being a key frame?728 LONG *plSize)// size to compress to/of returned image737 BOOL *pfKey, // did it end up being a key frame? 738 LONG *plSize) // size to compress to/of returned image 729 739 { 730 740 #ifdef DEBUG 731 741 dprintf(("MSVFW32: ICSeqCompressFrame not implemented\n")); 732 742 #endif 733 743 return 0; 734 744 } 735 745 736 746 737 747 /************************************************************************** 738 * ICSeqCompressFrameEnd[MSVFW.42]748 * ICSeqCompressFrameEnd [MSVFW.42] 739 749 */ 740 750 BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn) … … 743 753 dprintf(("MSVFW32: ICSeqCompressFrameEnd not implemented\n")); 744 754 #endif 745 755 return TRUE; 746 756 } 747 757 748 758 749 759 /************************************************************************** 750 * ICSeqCompressFrameStart[MSVFW.43]760 * ICSeqCompressFrameStart [MSVFW.43] 751 761 */ 752 762 void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS pc) … … 755 765 dprintf(("MSVFW32: ICSeqCompressFrameStart not implemented\n")); 756 766 #endif 757 767 return; 758 768 } 759 769 760 770 761 771 /************************************************************************** 762 * MCIWndRegisterClass[MSVFW.47]772 * MCIWndRegisterClass [MSVFW.47] 763 773 */ 764 774 BOOL VFWAPIV MCIWndRegisterClass() … … 767 777 dprintf(("MSVFW32: MCIWndRegisterClass not implemented\n")); 768 778 #endif 769 770 } 779 return TRUE; 780 }
Note:
See TracChangeset
for help on using the changeset viewer.