[FFmpeg-devel] [PATCH 19/35] avcodec/proresenc_anatoliy: import GET_SIGN() macro from Kostya encoder and use it

Clément Bœsch u at pkh.me
Mon Dec 11 03:35:20 EET 2023


---
 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 a418a12705..0de262c9c5 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)
-- 
2.43.0



More information about the ffmpeg-devel mailing list