From f2a4559c77ebce36b575e75fad102d2e9f02bb5a Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Thu, 16 Feb 2012 21:51:03 -0500 Subject: [PATCH] ttadec: use branchless unsigned-to-signed unfolding --- libavcodec/tta.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/tta.c b/libavcodec/tta.c index db9c1b288e..6f4d161504 100644 --- a/libavcodec/tta.c +++ b/libavcodec/tta.c @@ -396,8 +396,7 @@ static int tta_decode_frame(AVCodecContext *avctx, void *data, } // extract coded value -#define UNFOLD(x) (((x)&1) ? (++(x)>>1) : (-(x)>>1)) - *p = UNFOLD(value); + *p = 1 + ((value >> 1) ^ ((value & 1) - 1)); // run hybrid filter ttafilter_process(filter, p);