--- branches/dev-api-4/xvidcore/vfw/src/driverproc.c 2003/05/13 12:48:20 1016 +++ branches/dev-api-4/xvidcore/vfw/src/driverproc.c 2003/05/14 11:44:29 1017 @@ -30,6 +30,7 @@ #include #include +#include "vfwext.h" #include "debug.h" #include "codec.h" @@ -87,8 +88,9 @@ return 0; } - codec->ehandle = codec->dhandle = NULL; - codec->fbase = 25; + codec->config.ci_valid = 0; + codec->ehandle = codec->dhandle = NULL; + codec->fbase = 25; codec->fincr = 1; config_reg_get(&codec->config); @@ -273,6 +275,21 @@ case ICM_DECOMPRESSEX: return ICERR_UNSUPPORTED; + /* VFWEXT entry point */ + case ICM_USER+0x0fff : + if (lParam1 == VFWEXT_CONFIGURE_INFO) { + VFWEXT_CONFIGURE_INFO_T * info = (VFWEXT_CONFIGURE_INFO_T*)lParam2; + DPRINTF("%i %i %i %i %i %i", + info->ciWidth, info->ciHeight, + info->ciRate, info->ciScale, + info->ciActiveFrame, info->ciFrameCount); + + codec->config.ci_valid = 1; + memcpy(&codec->config.ci, (void*)lParam2, sizeof(VFWEXT_CONFIGURE_INFO_T)); + return ICERR_OK; + } + return ICERR_UNSUPPORTED; + default: return DefDriverProc(dwDriverId, hDriver, uMsg, lParam1, lParam2); }