Mercurial > libavcodec.hg
changeset 10951:38b3b209b4bc libavcodec
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
author | mru |
---|---|
date | Wed, 20 Jan 2010 06:01:54 +0000 |
parents | 4776a56132e1 |
children | ea8f891d997d |
files | mathops.h x86/mathops.h |
diffstat | 2 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mathops.h Wed Jan 20 03:28:57 2010 +0000 +++ b/mathops.h Wed Jan 20 06:01:54 2010 +0000 @@ -116,5 +116,14 @@ } #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 */
--- a/x86/mathops.h Wed Jan 20 03:28:57 2010 +0000 +++ b/x86/mathops.h Wed Jan 20 06:01:54 2010 +0000 @@ -66,4 +66,16 @@ } #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 */