diff options
author | Måns Rullgård <mans@mansr.com> | 2010-01-20 06:01:54 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2010-01-20 06:01:54 +0000 |
commit | 5e7dfb7de11dab3cbf8663d4fcb682935bd3a80b (patch) | |
tree | 13de579124ef323ace42fec078a1f6b9c611be57 | |
parent | bec358d683954738488a7ea529a340e9b11931ef (diff) | |
download | ffmpeg-5e7dfb7de11dab3cbf8663d4fcb682935bd3a80b.tar.gz |
Move COPY3_IF_LT to lavc/mathops.h
This obscure macro is only used in motion_est.c so having it in lavc
makes more sense. See discussion here:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-November/056561.html
Originally committed as revision 21346 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/mathops.h | 9 | ||||
-rw-r--r-- | libavcodec/x86/mathops.h | 12 | ||||
-rw-r--r-- | libavutil/internal.h | 19 |
3 files changed, 21 insertions, 19 deletions
diff --git a/libavcodec/mathops.h b/libavcodec/mathops.h index 4e24350ef2..5782459080 100644 --- a/libavcodec/mathops.h +++ b/libavcodec/mathops.h @@ -116,5 +116,14 @@ static inline av_const int sign_extend(int val, unsigned bits) } #endif +#ifndef COPY3_IF_LT +#define COPY3_IF_LT(x, y, a, b, c, d)\ +if ((y) < (x)) {\ + (x) = (y);\ + (a) = (b);\ + (c) = (d);\ +} +#endif + #endif /* AVCODEC_MATHOPS_H */ diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h index a66c601878..691a200fd4 100644 --- a/libavcodec/x86/mathops.h +++ b/libavcodec/x86/mathops.h @@ -66,4 +66,16 @@ static inline av_const int mid_pred(int a, int b, int c) } #endif +#if HAVE_CMOV +#define COPY3_IF_LT(x, y, a, b, c, d)\ +__asm__ volatile(\ + "cmpl %0, %3 \n\t"\ + "cmovl %3, %0 \n\t"\ + "cmovl %4, %1 \n\t"\ + "cmovl %5, %2 \n\t"\ + : "+&r" (x), "+&r" (a), "+r" (c)\ + : "r" (y), "r" (b), "r" (d)\ +); +#endif + #endif /* AVCODEC_X86_MATHOPS_H */ diff --git a/libavutil/internal.h b/libavutil/internal.h index ac7f1523e6..f0ea232ae6 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -156,25 +156,6 @@ static inline av_const unsigned int ff_sqrt(unsigned int a) level = (level ^ mask) - mask; #endif -#if HAVE_CMOV -#define COPY3_IF_LT(x, y, a, b, c, d)\ -__asm__ volatile(\ - "cmpl %0, %3 \n\t"\ - "cmovl %3, %0 \n\t"\ - "cmovl %4, %1 \n\t"\ - "cmovl %5, %2 \n\t"\ - : "+&r" (x), "+&r" (a), "+r" (c)\ - : "r" (y), "r" (b), "r" (d)\ -); -#else -#define COPY3_IF_LT(x, y, a, b, c, d)\ -if ((y) < (x)) {\ - (x) = (y);\ - (a) = (b);\ - (c) = (d);\ -} -#endif - /* avoid usage of dangerous/inappropriate system functions */ #undef malloc #define malloc please_use_av_malloc |