summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-28 22:01:44 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-28 22:01:44 +0000
commit9f0de88e6de50c3ac117a0e364a08d6d432436c2 (patch)
tree714c70fdd6a309e2aa545360a5b7969e578c3bbd /libmpcodecs
parent1f6287474fd88642757235b7e605385341ef3735 (diff)
downloadmpv-9f0de88e6de50c3ac117a0e364a08d6d432436c2.tar.bz2
mpv-9f0de88e6de50c3ac117a0e364a08d6d432436c2.tar.xz
100l fix for paletted 8bpp files, I committed an old version
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10714 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_qt8bps.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/libmpcodecs/vd_qt8bps.c b/libmpcodecs/vd_qt8bps.c
index 14a647acf1..1061d85d75 100644
--- a/libmpcodecs/vd_qt8bps.c
+++ b/libmpcodecs/vd_qt8bps.c
@@ -84,8 +84,6 @@ static int init(sh_video_t *sh)
int vo_ret; // Video output init ret value
qt8bps_context_t *hc; // Decoder context
BITMAPINFOHEADER *bih = sh->bih;
- int i;
- unsigned char *psrc, *pdest;
if ((hc = malloc(sizeof(qt8bps_context_t))) == NULL) {
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Can't allocate memory for 8BPS decoder context.\n");
@@ -99,16 +97,10 @@ static int init(sh_video_t *sh)
case 8:
hc->planes = 1;
hc->planemap[0] = 0; // 1st plane is palette indexes
- if (bih->biSize > sizeof(BITMAPINFOHEADER)) {
- psrc = (unsigned char*)bih + sizeof(BITMAPINFOHEADER);
- pdest = hc->palette = (unsigned char *)malloc(256*3);
- for (i = 0; i < 256; i++) {
- *pdest++ = *psrc++;
- *pdest++ = *psrc++;
- *pdest++ = *psrc++;
- psrc++;
- }
- }
+ if (bih->biSize > sizeof(BITMAPINFOHEADER)) {
+ hc->palette = (unsigned char *)malloc(256*4);
+ memcpy(hc->palette, (unsigned char*)bih + sizeof(BITMAPINFOHEADER), 256*4);
+ }
break;
case 24:
hc->planes = 3;