# HG changeset patch # User arpi # Date 1018493548 0 # Node ID 1a2d1bdab0b4b9e865457d33f18a3bd5527cc349 # Parent 38697931adf4110301bda5b5ac0f82439424897e vfw encoding func splitted to init and start parts diff -r 38697931adf4 -r 1a2d1bdab0b4 dll_init.c --- a/dll_init.c Thu Apr 11 02:52:03 2002 +0000 +++ b/dll_init.c Thu Apr 11 02:52:28 2002 +0000 @@ -466,15 +466,9 @@ //int init_vfw_encoder(char *dll_name, BITMAPINFOHEADER *input_bih, BITMAPINFOHEADER *output_bih) BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih,unsigned int out_fourcc) { -// sh_video_t *sh_video; HRESULT ret; -// int yuv=0; -// unsigned int outfmt=sh_video->codec->outfmt[sh_video->outfmtidx]; -// unsigned int outfmt; BITMAPINFOHEADER* output_bih=NULL; int temp_len; - int i; -// int hic; //sh_video = malloc(sizeof(sh_video_t)); @@ -524,12 +518,20 @@ memset(output_bih,0,temp_len); output_bih->biSize = temp_len; //sizeof(BITMAPINFOHEADER); + return output_bih; +} + +int vfw_start_encoder(BITMAPINFOHEADER *input_bih, BITMAPINFOHEADER *output_bih){ + HRESULT ret; + int temp_len=output_bih->biSize; + int i; + ret = ICCompressGetFormat(encoder_hic, input_bih, output_bih); if(ret < 0){ unsigned char* temp=output_bih; mp_msg(MSGT_WIN32,MSGL_ERR,"ICCompressGetFormat failed: Error %d (0x%X)\n", (int)ret, (int)ret); for (i=0; i < temp_len; i++) mp_msg(MSGT_WIN32, MSGL_DBG2, "%02x ", temp[i]); - return NULL; + return 0; } mp_msg(MSGT_WIN32,MSGL_V,"ICCompressGetFormat OK\n"); @@ -592,7 +594,7 @@ encoder_frameno=0; mp_msg(MSGT_WIN32,MSGL_V,"VIDEO CODEC Init OK!!! ;-)\n"); - return output_bih; + return 1; } int vfw_encode_frame(BITMAPINFOHEADER* biOutput,void* OutBuf, diff -r 38697931adf4 -r 1a2d1bdab0b4 dll_init.h --- a/dll_init.h Thu Apr 11 02:52:03 2002 +0000 +++ b/dll_init.h Thu Apr 11 02:52:28 2002 +0000 @@ -11,7 +11,7 @@ int vfw_set_postproc(sh_video_t* sh_video,int quality); BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih,unsigned int out_fourcc); +int vfw_start_encoder(BITMAPINFOHEADER *input_bih, BITMAPINFOHEADER *output_bih); int vfw_encode_frame(BITMAPINFOHEADER* biOutput,void* OutBuf, BITMAPINFOHEADER* biInput,void* Image, long* keyframe, int quality); -