# HG changeset patch # User reimar # Date 1128428112 0 # Node ID 27b0d49988b20da54e49b37f8b91f41a71897693 # Parent d0b1a5b6110b8110882ac560b0d5b8af1b839f13 Fix 100l bugs that break playback on 64 bit systems (like typedefing __u32 as long!!). diff -r d0b1a5b6110b -r 27b0d49988b2 libmpcodecs/native/RTjpegN.c --- a/libmpcodecs/native/RTjpegN.c Tue Oct 04 11:21:30 2005 +0000 +++ b/libmpcodecs/native/RTjpegN.c Tue Oct 04 12:15:12 2005 +0000 @@ -3221,11 +3221,11 @@ #ifdef MMX emms(); - RTjpeg_lmask=(mmx_t)(((__u64)lmask<<48)|((__u64)lmask<<32)|((__u64)lmask<<16)|lmask); - RTjpeg_cmask=(mmx_t)(((__u64)cmask<<48)|((__u64)cmask<<32)|((__u64)cmask<<16)|cmask); + RTjpeg_lmask.uq=((__u64)lmask<<48)|((__u64)lmask<<32)|((__u64)lmask<<16)|lmask; + RTjpeg_cmask.uq=((__u64)cmask<<48)|((__u64)cmask<<32)|((__u64)cmask<<16)|cmask; #else - RTjpeg_lmask=lmask; - RTjpeg_cmask=cmask; + RTjpeg_lmask.uq=lmask; + RTjpeg_cmask.uq=cmask; #endif sb=sp; @@ -3312,11 +3312,11 @@ #ifdef MMX emms(); - RTjpeg_lmask=(mmx_t)(((__u64)lmask<<48)|((__u64)lmask<<32)|((__u64)lmask<<16)|lmask); - RTjpeg_cmask=(mmx_t)(((__u64)cmask<<48)|((__u64)cmask<<32)|((__u64)cmask<<16)|cmask); + RTjpeg_lmask.uq=((__u64)lmask<<48)|((__u64)lmask<<32)|((__u64)lmask<<16)|lmask; + RTjpeg_cmask.uq=((__u64)cmask<<48)|((__u64)cmask<<32)|((__u64)cmask<<16)|cmask; #else - RTjpeg_lmask=lmask; - RTjpeg_cmask=cmask; + RTjpeg_lmask.uq=lmask; + RTjpeg_cmask.uq=cmask; #endif bp = bp - RTjpeg_width*0; @@ -3386,9 +3386,9 @@ #ifdef MMX emms(); - RTjpeg_lmask=(mmx_t)(((__u64)lmask<<48)|((__u64)lmask<<32)|((__u64)lmask<<16)|lmask); + RTjpeg_lmask.uq=((__u64)lmask<<48)|((__u64)lmask<<32)|((__u64)lmask<<16)|lmask; #else - RTjpeg_lmask=lmask; + RTjpeg_lmask.uq=lmask; #endif diff -r d0b1a5b6110b -r 27b0d49988b2 libmpcodecs/native/RTjpegN.h --- a/libmpcodecs/native/RTjpegN.h Tue Oct 04 11:21:30 2005 +0000 +++ b/libmpcodecs/native/RTjpegN.h Tue Oct 04 12:15:12 2005 +0000 @@ -22,19 +22,18 @@ */ -#if !defined(_I386_TYPES_H) && !defined(_X86_64_TYPES_H) -typedef unsigned char __u8; -typedef unsigned short __u16; -typedef unsigned long __u32; -typedef unsigned long long __u64; -typedef signed char __s8; -typedef signed short __s16; -typedef signed long __s32; -#endif +#define __u8 uint8_t +#define __u16 uint16_t +#define __u32 uint32_t +#define __u64 uint64_t +#define __s8 int8_t +#define __s16 int16_t +#define __s32 int32_t +#define __s64 int64_t extern void RTjpeg_init_Q(__u8 Q); -extern void RTjpeg_init_compress(long unsigned int *buf, int width, int height, __u8 Q); -extern void RTjpeg_init_decompress(long unsigned int *buf, int width, int height); +extern void RTjpeg_init_compress(__u32 *buf, int width, int height, __u8 Q); +extern void RTjpeg_init_decompress(__u32 *buf, int width, int height); extern int RTjpeg_compressYUV420(__s8 *sp, unsigned char *bp); extern int RTjpeg_compressYUV422(__s8 *sp, unsigned char *bp); extern void RTjpeg_decompressYUV420(__s8 *sp, __u8 *bp);