Browse Source

* getting rid of code duplication

Originally committed as revision 9997 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Roman Shaposhnik 18 years ago
parent
commit
67c1b32f3d
1 changed files with 3 additions and 22 deletions
  1. +3
    -22
      libavcodec/bitstream.h

+ 3
- 22
libavcodec/bitstream.h View File

@@ -31,6 +31,7 @@
#include <assert.h>
#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 @@ LAST_SKIP_BITS(name, gb, num)
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 @@ static inline int unaligned32_le(const void *v)

# 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);


Loading…
Cancel
Save