# HG changeset patch # User romansh # Date 1186617503 0 # Node ID 28dcc5cd79d23775c910019b303115bf778a6adc # Parent 7617e066481e22ee22920bfd501fe6befb783ed7 * getting rid of code duplication diff -r 7617e066481e -r 28dcc5cd79d2 bitstream.h --- a/bitstream.h Wed Aug 08 22:54:47 2007 +0000 +++ b/bitstream.h Wed Aug 08 23:58:23 2007 +0000 @@ -31,6 +31,7 @@ #include #include "common.h" #include "bswap.h" +#include "intreadwrite.h" #include "log.h" #if defined(ALT_BITSTREAM_READER_LE) && !defined(ALT_BITSTREAM_READER) @@ -406,26 +407,6 @@ for examples see get_bits, show_bits, skip_bits, get_vlc */ -static inline int unaligned32_be(const void *v) -{ -#ifdef CONFIG_ALIGN - const uint8_t *p=v; - return (((p[0]<<8) | p[1])<<16) | (p[2]<<8) | (p[3]); -#else - return be2me_32( unaligned32(v)); //original -#endif -} - -static inline int unaligned32_le(const void *v) -{ -#ifdef CONFIG_ALIGN - const uint8_t *p=v; - return (((p[3]<<8) | p[2])<<16) | (p[1]<<8) | (p[0]); -#else - return le2me_32( unaligned32(v)); //original -#endif -} - #ifdef ALT_BITSTREAM_READER # define MIN_CACHE_BITS 25 @@ -438,13 +419,13 @@ # ifdef ALT_BITSTREAM_READER_LE # define UPDATE_CACHE(name, gb)\ - name##_cache= unaligned32_le( ((const uint8_t *)(gb)->buffer)+(name##_index>>3) ) >> (name##_index&0x07);\ + name##_cache= AV_RL32( ((const uint8_t *)(gb)->buffer)+(name##_index>>3) ) >> (name##_index&0x07);\ # define SKIP_CACHE(name, gb, num)\ name##_cache >>= (num); # else # define UPDATE_CACHE(name, gb)\ - name##_cache= unaligned32_be( ((const uint8_t *)(gb)->buffer)+(name##_index>>3) ) << (name##_index&0x07);\ + name##_cache= AV_RB32( ((const uint8_t *)(gb)->buffer)+(name##_index>>3) ) << (name##_index&0x07);\ # define SKIP_CACHE(name, gb, num)\ name##_cache <<= (num);