[FFmpeg-devel] [PATCH] Yet more ALAC cleanup (#define removal)
Aurelien Jacobs
aurel
Thu Aug 16 00:14:05 CEST 2007
On Wed, 15 Aug 2007 22:31:25 +0200
Michael Niedermayer <michaelni at gmx.at> wrote:
> Hi
>
> On Wed, Aug 15, 2007 at 08:50:05PM +0200, Vitor Sessak wrote:
> > Hi
> >
> > Reimar D?ffinger wrote:
> >> Hello,
> >> On Wed, Aug 15, 2007 at 08:22:59PM +0200, Vitor Sessak wrote:
> >>> -#define SIGN_ONLY(v) \
> >>> - ((v < 0) ? (-1) : \
> >>> - ((v > 0) ? (1) : \
> >>> - (0)))
> >>> +static inline int sign_only(int v)
> >>> +{
> >>> + if (v < 0)
> >>> + return -1;
> >>> + else if (v > 0)
> >>> + return 1;
> >>> + else
> >>> + return 0;
> >>> +}
> >> Since you change it anyway, I'd suggest
> >> if (v == 0) return 0;
> >> return FFSIGN(v);
> >> Though benchmarking it might be a good idea unless it is really
> >> uncritical.
> >> Greetings,
> >> Reimar D?ffinger
> >
> > Nice suggestion, but I don't think it is worth benchmarking. Unless the
> > compiler is very stupid,
>
> anyone did a IQ test with gcc lately?
>
> anyway, if you benchmark it, also try
> (v>>31)-((-v)>>31)
And maybe also this similar solution:
!!v | v>>31
Aurel
More information about the ffmpeg-devel
mailing list