summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2002-06-11 13:43:27 +0000
committerFabrice Bellard <fabrice@bellard.org>2002-06-11 13:43:27 +0000
commit6d4985bbdfa5000223523d3de079d68b66f0c90b (patch)
tree6a13d194668548ead5ebe3a96130e60773a1547e /libavcodec
parent544eb99cbfcaa0d8f9b476975b89548648856c07 (diff)
move unaligned access macros to dsputil.h - added unaligned 32 bit store
Originally committed as revision 687 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/dsputil.c15
-rw-r--r--libavcodec/dsputil.h19
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,