mirror of
https://github.com/mpv-player/mpv
synced 2025-04-11 17:32:09 +02:00
vfw encoding func splitted to init and start parts
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5555 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
3e54c28df8
commit
db67e6d555
18
dll_init.c
18
dll_init.c
@ -466,15 +466,9 @@ static int encoder_frameno=0;
|
|||||||
//int init_vfw_encoder(char *dll_name, BITMAPINFOHEADER *input_bih, BITMAPINFOHEADER *output_bih)
|
//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)
|
BITMAPINFOHEADER* vfw_open_encoder(char *dll_name, BITMAPINFOHEADER *input_bih,unsigned int out_fourcc)
|
||||||
{
|
{
|
||||||
// sh_video_t *sh_video;
|
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
// int yuv=0;
|
|
||||||
// unsigned int outfmt=sh_video->codec->outfmt[sh_video->outfmtidx];
|
|
||||||
// unsigned int outfmt;
|
|
||||||
BITMAPINFOHEADER* output_bih=NULL;
|
BITMAPINFOHEADER* output_bih=NULL;
|
||||||
int temp_len;
|
int temp_len;
|
||||||
int i;
|
|
||||||
// int hic;
|
|
||||||
|
|
||||||
//sh_video = malloc(sizeof(sh_video_t));
|
//sh_video = malloc(sizeof(sh_video_t));
|
||||||
|
|
||||||
@ -524,12 +518,20 @@ printf("\n");
|
|||||||
memset(output_bih,0,temp_len);
|
memset(output_bih,0,temp_len);
|
||||||
output_bih->biSize = temp_len; //sizeof(BITMAPINFOHEADER);
|
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);
|
ret = ICCompressGetFormat(encoder_hic, input_bih, output_bih);
|
||||||
if(ret < 0){
|
if(ret < 0){
|
||||||
unsigned char* temp=output_bih;
|
unsigned char* temp=output_bih;
|
||||||
mp_msg(MSGT_WIN32,MSGL_ERR,"ICCompressGetFormat failed: Error %d (0x%X)\n", (int)ret, (int)ret);
|
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]);
|
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");
|
mp_msg(MSGT_WIN32,MSGL_V,"ICCompressGetFormat OK\n");
|
||||||
|
|
||||||
@ -592,7 +594,7 @@ printf("\n");
|
|||||||
encoder_frameno=0;
|
encoder_frameno=0;
|
||||||
|
|
||||||
mp_msg(MSGT_WIN32,MSGL_V,"VIDEO CODEC Init OK!!! ;-)\n");
|
mp_msg(MSGT_WIN32,MSGL_V,"VIDEO CODEC Init OK!!! ;-)\n");
|
||||||
return output_bih;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vfw_encode_frame(BITMAPINFOHEADER* biOutput,void* OutBuf,
|
int vfw_encode_frame(BITMAPINFOHEADER* biOutput,void* OutBuf,
|
||||||
|
@ -11,7 +11,7 @@ int vfw_decode_video(sh_video_t* sh_video,void* start,int in_size,int drop_frame
|
|||||||
int vfw_set_postproc(sh_video_t* sh_video,int quality);
|
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);
|
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,
|
int vfw_encode_frame(BITMAPINFOHEADER* biOutput,void* OutBuf,
|
||||||
BITMAPINFOHEADER* biInput,void* Image,
|
BITMAPINFOHEADER* biInput,void* Image,
|
||||||
long* keyframe, int quality);
|
long* keyframe, int quality);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user