Mercurial > mplayer.hg
comparison libmpdemux/demux_mf.c @ 4556:90a535d87e7b
emulating BITMAPINFOHDR (for win32 codecs)
author | arpi |
---|---|
date | Wed, 06 Feb 2002 22:03:19 +0000 |
parents | ff9f62e4bdd8 |
children | be1562b2c2d0 |
comparison
equal
deleted
inserted
replaced
4555:44fed00fce13 | 4556:90a535d87e7b |
---|---|
36 dmf=(demuxer_mf_t*)demuxer->priv; | 36 dmf=(demuxer_mf_t*)demuxer->priv; |
37 if ( dmf->curr_frame >= dmf->nr_of_frames ) return 0; | 37 if ( dmf->curr_frame >= dmf->nr_of_frames ) return 0; |
38 mf=(mf_t*)demuxer->stream->priv; | 38 mf=(mf_t*)demuxer->stream->priv; |
39 | 39 |
40 stat( mf->names[dmf->curr_frame],&fs ); | 40 stat( mf->names[dmf->curr_frame],&fs ); |
41 // printf( "[demux_mf] frame: %d (%s,%d)\n",dmf->curr_frame,mf->names[dmf->curr_frame],fs.st_size ); | 41 printf( "[demux_mf] frame: %d (%s,%d)\n",dmf->curr_frame,mf->names[dmf->curr_frame],fs.st_size ); |
42 | 42 |
43 if ( !( f=fopen( mf->names[dmf->curr_frame],"r" ) ) ) return 0; | 43 if ( !( f=fopen( mf->names[dmf->curr_frame],"r" ) ) ) return 0; |
44 { | 44 { |
45 sh_video_t * sh_video = demuxer->video->sh; | 45 sh_video_t * sh_video = demuxer->video->sh; |
46 demux_packet_t * dp = new_demux_packet( fs.st_size ); | 46 demux_packet_t * dp = new_demux_packet( fs.st_size ); |
92 sh_video->disp_w = mf_w; | 92 sh_video->disp_w = mf_w; |
93 sh_video->disp_h = mf_h; | 93 sh_video->disp_h = mf_h; |
94 sh_video->fps = mf_fps; | 94 sh_video->fps = mf_fps; |
95 sh_video->frametime = 1 / sh_video->fps; | 95 sh_video->frametime = 1 / sh_video->fps; |
96 | 96 |
97 // emulate BITMAPINFOHEADER: | |
98 sh_video->bih=malloc(sizeof(BITMAPINFOHEADER)); | |
99 memset(sh_video->bih,0,sizeof(BITMAPINFOHEADER)); | |
100 sh_video->bih->biSize=40; | |
101 sh_video->bih->biWidth = mf_w; | |
102 sh_video->bih->biHeight = mf_h; | |
103 sh_video->bih->biPlanes=1; | |
104 sh_video->bih->biBitCount=24; | |
105 sh_video->bih->biCompression=sh_video->format; | |
106 sh_video->bih->biSizeImage=sh_video->bih->biWidth*sh_video->bih->biHeight*3; | |
107 | |
97 /* disable seeking */ | 108 /* disable seeking */ |
98 demuxer->seekable = 0; | 109 demuxer->seekable = 0; |
99 | 110 |
100 demuxer->priv=(void*)dmf; | 111 demuxer->priv=(void*)dmf; |
101 | 112 |