From 17392ca84fb411d13a2663bbd3e4fad397efb017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Mon, 11 Dec 2023 01:54:37 +0100 Subject: [PATCH] avcodec/proresenc_anatoliy: import GET_SIGN() macro from Kostya encoder and use it --- libavcodec/proresenc_anatoliy.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c index 94610d5bc2..fe7b3e9ef3 100644 --- a/libavcodec/proresenc_anatoliy.c +++ b/libavcodec/proresenc_anatoliy.c @@ -255,9 +255,10 @@ static void encode_vlc_codeword(PutBitContext *pb, unsigned codebook, int val) } } -#define TO_GOLOMB(val) (((val) * 2) ^ ((val) >> 31)) -#define DIFF_SIGN(val, sign) (((val) >> 31) ^ (sign)) -#define IS_NEGATIVE(val) ((((val) >> 31) ^ -1) + 1) +#define GET_SIGN(x) ((x) >> 31) +#define TO_GOLOMB(val) (((val) * 2) ^ GET_SIGN(val)) +#define DIFF_SIGN(val, sign) (GET_SIGN(val) ^ (sign)) +#define IS_NEGATIVE(val) ((GET_SIGN(val) ^ -1) + 1) #define TO_GOLOMB2(val,sign) ((val)==0 ? 0 : ((val) << 1) + (sign)) static av_always_inline int get_level(int val)