diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2002-06-11 13:43:27 +0000 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2002-06-11 13:43:27 +0000 |
commit | 6d4985bbdfa5000223523d3de079d68b66f0c90b (patch) | |
tree | 6a13d194668548ead5ebe3a96130e60773a1547e | |
parent | 544eb99cbfcaa0d8f9b476975b89548648856c07 (diff) | |
download | ffmpeg-6d4985bbdfa5000223523d3de079d68b66f0c90b.tar.gz |
move unaligned access macros to dsputil.h - added unaligned 32 bit store
Originally committed as revision 687 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/dsputil.c | 15 | ||||
-rw-r--r-- | libavcodec/dsputil.h | 19 |
2 files changed, 19 insertions, 15 deletions
diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index d76cc8d486..624ecd0a5d 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -252,21 +252,6 @@ void add_pixels_clamped_c(const DCTELEM *block, UINT8 *pixels, int line_size) } } -#ifdef __GNUC__ - -struct unaligned_64 { uint64_t l; } __attribute__((packed)); -struct unaligned_32 { uint32_t l; } __attribute__((packed)); - -#define LD32(a) (((const struct unaligned_32 *) (a))->l) -#define LD64(a) (((const struct unaligned_64 *) (a))->l) - -#else /* __GNUC__ */ - -#define LD32(a) (*((uint32_t*)(a))) -#define LD64(a) (*((uint64_t*)(a))) - -#endif /* !__GNUC__ */ - #if 0 #define PIXOP2(OPNAME, OP) \ diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index 85373336c8..0134a242e0 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -168,6 +168,25 @@ void dsputil_init_alpha(void); #endif +#ifdef __GNUC__ + +struct unaligned_64 { uint64_t l; } __attribute__((packed)); +struct unaligned_32 { uint32_t l; } __attribute__((packed)); + +#define LD32(a) (((const struct unaligned_32 *) (a))->l) +#define LD64(a) (((const struct unaligned_64 *) (a))->l) + +#define ST32(a, b) (((struct unaligned_32 *) (a))->l) = (b) + +#else /* __GNUC__ */ + +#define LD32(a) (*((uint32_t*)(a))) +#define LD64(a) (*((uint64_t*)(a))) + +#define ST32(a, b) *((uint32_t*)(a)) = (b) + +#endif /* !__GNUC__ */ + /* PSNR */ void get_psnr(UINT8 *orig_image[3], UINT8 *coded_image[3], int orig_linesize[3], int coded_linesize, |