git.videolan.org
/
ffmpeg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
ttadec: use branchless unsigned-to-signed unfolding
[ffmpeg.git]
/
libavcodec
/
tta.c
diff --git
a/libavcodec/tta.c
b/libavcodec/tta.c
index
db9c1b2
..
6f4d161
100644
(file)
--- 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);