changeset 5554:1a2d1bdab0b4

vfw encoding func splitted to init and start parts
author arpi
date Thu, 11 Apr 2002 02:52:28 +0000
parents 38697931adf4
children 9f476fd23731
files dll_init.c dll_init.h
diffstat 2 files changed, 11 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- 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,
--- 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);
-