summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dll_init.c4
-rw-r--r--dll_init.h2
-rw-r--r--mencoder.c6
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");