diff options
author | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-01-25 17:36:30 +0000 |
---|---|---|
committer | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-01-25 17:36:30 +0000 |
commit | 00e3a6c8b98dcb13cfe2a422159c39fce956f0a1 (patch) | |
tree | bc17eb35446ca8f4a1b0d3aed17c1d23fbcb03ab /libmpdemux/demux_fli.c | |
parent | b136df4b34a0013cb31f34a0c97619335208fce8 (diff) | |
download | mpv-00e3a6c8b98dcb13cfe2a422159c39fce956f0a1.tar.bz2 mpv-00e3a6c8b98dcb13cfe2a422159c39fce956f0a1.tar.xz |
Pass header to codec in extradata (needed by ffmpeg fli decoder)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11847 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_fli.c')
-rw-r--r-- | libmpdemux/demux_fli.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libmpdemux/demux_fli.c b/libmpdemux/demux_fli.c index 1f485e7cd0..0b7f0a428e 100644 --- a/libmpdemux/demux_fli.c +++ b/libmpdemux/demux_fli.c @@ -74,10 +74,16 @@ demuxer_t* demux_open_fli(demuxer_t* demuxer){ int speed; unsigned int frame_size; int magic_number; + unsigned char * header; // go back to the beginning stream_reset(demuxer->stream); stream_seek(demuxer->stream, 0); + + header = malloc(sizeof(BITMAPINFOHEADER) + 128); + stream_read(demuxer->stream, header + sizeof(BITMAPINFOHEADER), 128); + stream_seek(demuxer->stream, 0); + demuxer->movi_start = 128; demuxer->movi_end = stream_read_dword_le(demuxer->stream); @@ -116,6 +122,10 @@ demuxer_t* demux_open_fli(demuxer_t* demuxer){ sh_video->disp_w = stream_read_word_le(demuxer->stream); sh_video->disp_h = stream_read_word_le(demuxer->stream); + // pass extradata to codec + sh_video->bih = (BITMAPINFOHEADER*)header; + sh_video->bih->biSize = sizeof(BITMAPINFOHEADER) + 128; + // skip the video depth and flags stream_skip(demuxer->stream, 4); |