[FFmpeg-devel] [PATCH 29/35] avcodec/proresenc_anatoliy: replace get_level() with FFABS()

Stefano Sabatini stefasab at gmail.com
Sun Dec 24 12:25:28 EET 2023


On date Monday 2023-12-11 02:35:30 +0100, Clément Bœsch wrote:
> This matches the code from proresenc_kostya.
> ---
>  libavcodec/proresenc_anatoliy.c | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)
> 
> diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
> index 0318379461..88c6d47ab7 100644
> --- a/libavcodec/proresenc_anatoliy.c
> +++ b/libavcodec/proresenc_anatoliy.c
> @@ -258,13 +258,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))
>  
> -static av_always_inline int get_level(int val)
> -{
> -    int sign = (val >> 31);
> -    return (val ^ sign) - sign;
> -}
> -
> -
>  static void encode_dcs(PutBitContext *pb, int16_t *blocks,
>                         int blocks_per_slice, int scale)
>  {
> @@ -305,7 +298,7 @@ static void encode_ac_coeffs(PutBitContext *pb,
>  
>                  prev_run   = run;
>                  run        = 0;
> -                level      = get_level(val);
> +                level      = FFABS(val);
>                  code       = level - 1;

LGTM, given that (for sign = 1):
val ^ sign = val + 1
val + 1 - 1 = val + 1 + 2**N -1 = val + 2**N = ABS(val) 


More information about the ffmpeg-devel mailing list