[FFmpeg-devel] [PATCH 27/35] avcodec/proresenc_anatoliy: remove TO_GOLOMB2()

Stefano Sabatini stefasab at gmail.com
Sun Dec 24 01:43:32 EET 2023


On date Monday 2023-12-11 02:35:28 +0100, Clément Bœsch wrote:
> A few cosmetics aside, this makes the function identical to the one with
> the same name in proresenc_kostya.
> ---
>  libavcodec/proresenc_anatoliy.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
> index bdf7bface4..aed5c68b1b 100644
> --- a/libavcodec/proresenc_anatoliy.c
> +++ b/libavcodec/proresenc_anatoliy.c
> @@ -257,7 +257,6 @@ static void encode_vlc_codeword(PutBitContext *pb, unsigned codebook, int val)
>  
>  #define GET_SIGN(x)  ((x) >> 31)
>  #define MAKE_CODE(x) (((x) * 2) ^ GET_SIGN(x))
> -#define TO_GOLOMB2(val,sign) ((val)==0 ? 0 : ((val) << 1) + (sign))
>  
>  static av_always_inline int get_level(int val)
>  {
> @@ -271,7 +270,6 @@ static void encode_dcs(PutBitContext *pb, int16_t *blocks,
>  {
>      int i;
>      int codebook = 5, code, dc, prev_dc, delta, sign, new_sign;
> -    int diff_sign;
>  
>      prev_dc = (blocks[0] - 0x4000) / scale;
>      encode_vlc_codeword(pb, FIRST_DC_CB, MAKE_CODE(prev_dc));
> @@ -282,8 +280,8 @@ static void encode_dcs(PutBitContext *pb, int16_t *blocks,
>          dc        = (blocks[0] - 0x4000) / scale;
>          delta     = dc - prev_dc;
>          new_sign  = GET_SIGN(delta);

> -        diff_sign = new_sign ^ sign;
> -        code      = TO_GOLOMB2(get_level(delta), diff_sign);
> +        delta     = (delta ^ sign) - sign;
> +        code      = MAKE_CODE(delta);

These don't look equivalent,

MAKE_CODE((delta ^ sign) - sign) is equivalent to
TO_GOLOMB2(get_level(delta), sign)

not to
TO_GOLOMB2(get_level(delta), diff_sign)


More information about the ffmpeg-devel mailing list