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);