Index: patched-ffmpeg-mt/libavcodec/x86/mathops.h |
=================================================================== |
--- patched-ffmpeg-mt/libavcodec/x86/mathops.h (revision 41250) |
+++ patched-ffmpeg-mt/libavcodec/x86/mathops.h (working copy) |
@@ -78,4 +78,23 @@ |
); |
#endif |
+// avoid +32 for shift optimization (gcc should do that ...) |
+#define NEG_SSR32 NEG_SSR32 |
+static inline int32_t NEG_SSR32( int32_t a, int8_t s){ |
+ __asm__ ("sarl %1, %0\n\t" |
+ : "+r" (a) |
+ : "ic" ((uint8_t)(-s)) |
+ ); |
+ return a; |
+} |
+ |
+#define NEG_USR32 NEG_USR32 |
+static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ |
+ __asm__ ("shrl %1, %0\n\t" |
+ : "+r" (a) |
+ : "ic" ((uint8_t)(-s)) |
+ ); |
+ return a; |
+} |
+ |
#endif /* AVCODEC_X86_MATHOPS_H */ |