From 3dd47ae537f6997fec9f47221cba7393851a1bc3 Mon Sep 17 00:00:00 2001 From: Elvis Presley Date: Thu, 15 Sep 2011 06:01:15 +0200 Subject: Revert "get_bits: remove x86 inline asm in A32 bitstream reader" This reverts commit 23ce6e72123a40895baaeefeb27c7c18748bd67e. --- libavcodec/get_bits.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libavcodec/get_bits.h') diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h index 96d33b342e..3b09dfd285 100644 --- a/libavcodec/get_bits.h +++ b/libavcodec/get_bits.h @@ -201,11 +201,19 @@ static inline void skip_bits_long(GetBitContext *s, int n){ } \ } while (0) +#if ARCH_X86 +# define SKIP_CACHE(name, gb, num) \ + __asm__("shldl %2, %1, %0 \n\t" \ + "shll %2, %1 \n\t" \ + : "+r" (name##_cache0), "+r" (name##_cache1) \ + : "Ic" ((uint8_t)(num))) +#else # define SKIP_CACHE(name, gb, num) do { \ name##_cache0 <<= (num); \ name##_cache0 |= NEG_USR32(name##_cache1,num); \ name##_cache1 <<= (num); \ } while (0) +#endif # define SKIP_COUNTER(name, gb, num) name##_bit_count += (num) -- cgit v1.2.3