diff options
-rw-r--r-- | dll_init.c | 4 | ||||
-rw-r--r-- | dll_init.h | 2 | ||||
-rw-r--r-- | mencoder.c | 6 |
3 files changed, 6 insertions, 6 deletions
diff --git a/dll_init.c b/dll_init.c index ee38ca2f91..bf08c5b985 100644 --- a/dll_init.c +++ b/dll_init.c @@ -420,7 +420,7 @@ static int encoder_buf_size=0; static int encoder_frameno=0; //int init_vfw_encoder(char *dll_name, BITMAPINFOHEADER *input_bih, BITMAPINFOHEADER *output_bih) -BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih) +BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih,unsigned int out_fourcc) { // sh_video_t *sh_video; HRESULT ret; @@ -440,7 +440,7 @@ BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih) // output_bih->biSize = sizeof(BITMAPINFOHEADER); win32_codec_name = dll_name; - encoder_hic = ICOpen( 0x63646976, 0, ICMODE_COMPRESS); + encoder_hic = ICOpen( 0x63646976, out_fourcc, ICMODE_COMPRESS); if(!encoder_hic){ mp_msg(MSGT_WIN32,MSGL_ERR,"ICOpen failed! unknown codec / wrong parameters?\n"); return NULL; diff --git a/dll_init.h b/dll_init.h index 5750db0f04..1199796063 100644 --- a/dll_init.h +++ b/dll_init.h @@ -10,7 +10,7 @@ int init_vfw_video_codec(sh_video_t *sh_video,int ex); int vfw_decode_video(sh_video_t* sh_video,void* start,int in_size,int drop_frame,int ex); int vfw_set_postproc(sh_video_t* sh_video,int quality); -BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih); +BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih,unsigned int out_fourcc); int vfw_encode_frame(BITMAPINFOHEADER* biOutput,void* OutBuf, BITMAPINFOHEADER* biInput,void* Image, long* keyframe, int quality); diff --git a/mencoder.c b/mencoder.c index 2e1d771c72..a46caa274b 100644 --- a/mencoder.c +++ b/mencoder.c @@ -761,12 +761,12 @@ case VCODEC_VFW: vfw_bih->biSize=sizeof(BITMAPINFOHEADER); vfw_bih->biWidth=vo_w; vfw_bih->biHeight=vo_h; - vfw_bih->biPlanes=0; + vfw_bih->biPlanes=1; vfw_bih->biBitCount=24; vfw_bih->biCompression=0; vfw_bih->biSizeImage=vo_w*vo_h*((vfw_bih->biBitCount+7)/8); -// mux_v->bih=vfw_open_encoder("divxc32.dll",vfw_bih); - mux_v->bih=vfw_open_encoder("AvidAVICodec.dll",vfw_bih); +// mux_v->bih=vfw_open_encoder("divxc32.dll",vfw_bih,mmioFOURCC('D', 'I', 'V', '3')); + mux_v->bih=vfw_open_encoder("AvidAVICodec.dll",vfw_bih, 0); break; #else printf("No support for Win32/VfW codecs compiled in\n"); |