[FFmpeg-devel] [PATCH v3 2/3] avcodec/vvc/cabac: remove vvc_refill2

Nuo Mi nuomi2021 at gmail.com
Thu Aug 15 16:00:47 EEST 2024


On Sun, Aug 11, 2024 at 4:33 AM <toqsxw at outlook.com> wrote:

> From: Wu Jianhua <toqsxw at outlook.com>
>
> The vvc_refill2 is the same as the refill2 in cabac_functions.
> Remove it to reduce duplicated codes.
>
> Signed-off-by: Wu Jianhua <toqsxw at outlook.com>
> ---
>  libavcodec/cabac_functions.h |  2 +-
>  libavcodec/vvc/cabac.c       | 28 +---------------------------
>  2 files changed, 2 insertions(+), 28 deletions(-)
>
> diff --git a/libavcodec/cabac_functions.h b/libavcodec/cabac_functions.h
> index c3f08d3410..9bee401f2c 100644
> --- a/libavcodec/cabac_functions.h
> +++ b/libavcodec/cabac_functions.h
> @@ -85,7 +85,7 @@ static inline void
> renorm_cabac_decoder_once(CABACContext *c){
>  }
>  #endif
>
> -#ifndef get_cabac_inline
> +#if !defined(get_cabac_inline) || !defined(refill2)
>  static void refill2(CABACContext *c){
>      int i;
>      unsigned x;
> diff --git a/libavcodec/vvc/cabac.c b/libavcodec/vvc/cabac.c
> index 0d45eec751..c9b6f9bf3e 100644
> --- a/libavcodec/vvc/cabac.c
> +++ b/libavcodec/vvc/cabac.c
> @@ -856,32 +856,6 @@ int ff_vvc_cabac_init(VVCLocalContext *lc,
>      return ret;
>  }
>
> -//fixme
> -static void vvc_refill2(CABACContext* c) {
> -    int i;
> -    unsigned x;
> -#if !HAVE_FAST_CLZ
> -    x = c->low ^ (c->low - 1);
> -    i = 7 - ff_h264_norm_shift[x >> (CABAC_BITS - 1)];
> -#else
> -    i = ff_ctz(c->low) - CABAC_BITS;
> -#endif
> -
> -    x = -CABAC_MASK;
> -
> -#if CABAC_BITS == 16
> -    x += (c->bytestream[0] << 9) + (c->bytestream[1] << 1);
> -#else
> -    x += c->bytestream[0] << 1;
> -#endif
> -
> -    c->low += x << i;
> -#if !UNCHECKED_BITSTREAM_READER
> -    if (c->bytestream < c->bytestream_end)
> -#endif
> -        c->bytestream += CABAC_BITS / 8;
> -}
> -
>  static int inline vvc_get_cabac(CABACContext *c, VVCCabacState* base,
> const int ctx)
>  {
>      VVCCabacState *s = base + ctx;
> @@ -904,7 +878,7 @@ static int inline vvc_get_cabac(CABACContext *c,
> VVCCabacState* base, const int
>      c->low  <<= lps_mask;
>
>      if (!(c->low & CABAC_MASK))
> -        vvc_refill2(c);
> +        refill2(c);
>      s->state[0] = s->state[0] - (s->state[0] >> s->shift[0]) + (1023 *
> bit >> s->shift[0]);
>      s->state[1] = s->state[1] - (s->state[1] >> s->shift[1]) + (16383 *
> bit >> s->shift[1]);
>      return bit;
> --
> 2.44.0.windows.1
>
Hi Jianhua,
thanks for the patch.
I have merged the other two, but this one introduces new warnings.
Could you help check it?

>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list