diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2007-01-28 18:38:32 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2007-01-28 18:38:32 +0000 |
commit | 7c3728d769962d288b73cc945c3143ae68726984 (patch) | |
tree | 36f762f4ce762a77ed0333711f628c40ba1a0f98 /src/libffmpeg/libavutil/intreadwrite.h | |
parent | 9add5e858c10b369eb44fe7ab618efb37eb3c585 (diff) | |
download | xine-lib-7c3728d769962d288b73cc945c3143ae68726984.tar.gz xine-lib-7c3728d769962d288b73cc945c3143ae68726984.tar.bz2 |
another ffmpeg sync to include h264 security fixes
CVS patchset: 8573
CVS date: 2007/01/28 18:38:32
Diffstat (limited to 'src/libffmpeg/libavutil/intreadwrite.h')
-rw-r--r-- | src/libffmpeg/libavutil/intreadwrite.h | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/libffmpeg/libavutil/intreadwrite.h b/src/libffmpeg/libavutil/intreadwrite.h index c43f9d651..e6db5ce6f 100644 --- a/src/libffmpeg/libavutil/intreadwrite.h +++ b/src/libffmpeg/libavutil/intreadwrite.h @@ -26,17 +26,40 @@ struct unaligned_16 { uint16_t l; } __attribute__((packed)); #endif /* !__GNUC__ */ /* endian macros */ -#if !defined(BE_16) || !defined(BE_32) || !defined(LE_16) || !defined(LE_32) -#define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) -#define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \ +#define AV_RB8(x) (((uint8_t*)(x))[0]) +#define AV_WB8(p, i, d) { ((uint8_t*)(p))[(i)] = (d); } + +#define AV_RB16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) +#define AV_WB16(p, i, d) { \ + ((uint8_t*)(p))[(i)+1] = (d); \ + ((uint8_t*)(p))[(i)] = (d)>>8; } + +#define AV_RB32(x) ((((uint8_t*)(x))[0] << 24) | \ (((uint8_t*)(x))[1] << 16) | \ (((uint8_t*)(x))[2] << 8) | \ ((uint8_t*)(x))[3]) -#define LE_16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) -#define LE_32(x) ((((uint8_t*)(x))[3] << 24) | \ +#define AV_WB32(p, i, d) { \ + ((uint8_t*)(p))[(i)+3] = (d); \ + ((uint8_t*)(p))[(i)+2] = (d)>>8; \ + ((uint8_t*)(p))[(i)+1] = (d)>>16; \ + ((uint8_t*)(p))[(i)] = (d)>>24; } + +#define AV_RL8(x) AV_RB8(x) +#define AV_WL8(p, i, d) AV_WB8(p, i, d) + +#define AV_RL16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) +#define AV_WL16(p, i, d) { \ + ((uint8_t*)(p))[(i)] = (d); \ + ((uint8_t*)(p))[(i)+1] = (d)>>8; } + +#define AV_RL32(x) ((((uint8_t*)(x))[3] << 24) | \ (((uint8_t*)(x))[2] << 16) | \ (((uint8_t*)(x))[1] << 8) | \ ((uint8_t*)(x))[0]) -#endif +#define AV_WL32(p, i, d) { \ + ((uint8_t*)(p))[(i)] = (d); \ + ((uint8_t*)(p))[(i)+1] = (d)>>8; \ + ((uint8_t*)(p))[(i)+2] = (d)>>16; \ + ((uint8_t*)(p))[(i)+3] = (d)>>24; } #endif /* INTREADWRITE_H */ |