Mercurial > mplayer.hg
changeset 4638:a4e774e16b22
div3/vfw encoding fixed
author | arpi |
---|---|
date | Sun, 10 Feb 2002 12:20:50 +0000 |
parents | bdb95c9fd709 |
children | f1465a04a3ce |
files | dll_init.c dll_init.h mencoder.c |
diffstat | 3 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/dll_init.c Sun Feb 10 11:25:14 2002 +0000 +++ b/dll_init.c Sun Feb 10 12:20:50 2002 +0000 @@ -420,7 +420,7 @@ 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 @@ // 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;
--- a/dll_init.h Sun Feb 10 11:25:14 2002 +0000 +++ b/dll_init.h Sun Feb 10 12:20:50 2002 +0000 @@ -10,7 +10,7 @@ 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);
--- a/mencoder.c Sun Feb 10 11:25:14 2002 +0000 +++ b/mencoder.c Sun Feb 10 12:20:50 2002 +0000 @@ -761,12 +761,12 @@ 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");