summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-12-15 19:01:36 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-12-15 19:01:36 +0000
commita891b782901fb36d59f5fb1f0aaff9d385a24ead (patch)
treed3317b6f80a5cea31e7d27213ea727ede6204f5c /libmpdemux
parentabeda3fcbc265d0368a3cb0d8f3269ef54f4377e (diff)
downloadmpv-a891b782901fb36d59f5fb1f0aaff9d385a24ead.tar.bz2
mpv-a891b782901fb36d59f5fb1f0aaff9d385a24ead.tar.xz
Looks like it was too weird after all ;-)
It is not used anymore and might contain more vulnerabilities, thus removed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14163 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_bmp.c130
1 files changed, 0 insertions, 130 deletions
diff --git a/libmpdemux/demux_bmp.c b/libmpdemux/demux_bmp.c
deleted file mode 100644
index 4a0d20a9ba..0000000000
--- a/libmpdemux/demux_bmp.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- BMP file parser for the MPlayer program
- by Mike Melanson
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include "config.h"
-#include "mp_msg.h"
-#include "help_mp.h"
-
-#include "stream.h"
-#include "demuxer.h"
-#include "stheader.h"
-
-//! palettes with more than 256 colors are not supported anyway
-#define MAX_PALETTE 256
-
-typedef struct {
- int image_size;
- int image_offset;
-} bmp_image_t;
-
-// Check if a file is a BMP file depending on whether starts with 'BM'
-int bmp_check_file(demuxer_t *demuxer)
-{
- if (stream_read_word(demuxer->stream) == (('B' << 8) | 'M'))
- return 1;
- else
- return 0;
-}
-
-// return value:
-// 0 = EOF or no stream found
-// 1 = successfully read a packet
-int demux_bmp_fill_buffer(demuxer_t *demuxer)
-{
- bmp_image_t *bmp_image = (bmp_image_t *)demuxer->priv;
-
- stream_reset(demuxer->stream);
- stream_seek(demuxer->stream, bmp_image->image_offset);
- ds_read_packet(demuxer->video, demuxer->stream, bmp_image->image_size,
- 0, bmp_image->image_offset, 1);
-
- return 1;
-}
-
-demuxer_t* demux_open_bmp(demuxer_t* demuxer)
-{
- sh_video_t *sh_video = NULL;
- unsigned int filesize;
- unsigned int data_offset;
- bmp_image_t *bmp_image;
-
- // go back to the beginning
- stream_reset(demuxer->stream);
- stream_seek(demuxer->stream, 2);
- filesize = stream_read_dword_le(demuxer->stream);
- stream_skip(demuxer->stream, 4);
- data_offset = stream_read_word_le(demuxer->stream);
- stream_skip(demuxer->stream, 2);
-
- // create a new video stream header
- sh_video = new_sh_video(demuxer, 0);
-
- // make sure the demuxer knows about the new video stream header
- demuxer->video->sh = sh_video;
-
- // make sure that the video demuxer stream header knows about its
- // parent video demuxer stream
- sh_video->ds = demuxer->video;
-
- // load the BITMAPINFOHEADER
- // allocate size and take the palette table into account
- // due to security considerations, the memory for the palette
- // is allocate after all other data is known
- sh_video->bih = (BITMAPINFOHEADER *)malloc(sizeof(BITMAPINFOHEADER));
- sh_video->bih->biSize = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biWidth = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biHeight = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biPlanes = stream_read_word_le(demuxer->stream);
- sh_video->bih->biBitCount = stream_read_word_le(demuxer->stream);
- sh_video->bih->biCompression = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biSizeImage = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biXPelsPerMeter = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biYPelsPerMeter = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biClrUsed = stream_read_dword_le(demuxer->stream);
- sh_video->bih->biClrImportant = stream_read_dword_le(demuxer->stream);
-
- if (sh_video->bih->biClrUsed > MAX_PALETTE) {
- mp_msg(MSGT_DEMUX, MSGL_WARN, "bmp palette contains more than %d colors "
- "(%d) which is not supported\n", MAX_PALETTE,
- sh_video->bih->biClrUsed);
- sh_video->bih->biClrUsed = MAX_PALETTE;
- }
- sh_video->bih = realloc(sh_video->bih, sizeof(BITMAPINFOHEADER) +
- sh_video->bih->biClrUsed * 4);
- // fetch the palette
- stream_read(demuxer->stream, (unsigned char *)(sh_video->bih) +
- sizeof(BITMAPINFOHEADER), sh_video->bih->biClrUsed * 4);
-
- // load the data
- bmp_image = (bmp_image_t *)malloc(sizeof(bmp_image_t));
- bmp_image->image_size = filesize - data_offset;
- bmp_image->image_offset = data_offset;
-
- // custom fourcc for internal MPlayer use
- sh_video->format = sh_video->bih->biCompression;
-
- sh_video->disp_w = sh_video->bih->biWidth;
- sh_video->disp_h = sh_video->bih->biHeight;
-
- // get the speed
- sh_video->fps = 2;
- sh_video->frametime = 1 / sh_video->fps;
-
- demuxer->priv = bmp_image;
-
- return demuxer;
-}
-
-void demux_close_bmp(demuxer_t* demuxer) {
- bmp_image_t *bmp_image = demuxer->priv;
-
- if(!bmp_image)
- return;
- free(bmp_image);
-}