[FFmpeg-devel] [PATCH v2 2/3] avcodec/vvc/cabac: remove vvc_refill2
toqsxw at outlook.com
toqsxw at outlook.com
Thu Aug 8 22:13:42 EEST 2024
From: Wu Jianhua <toqsxw at outlook.com>
See https://github.com/ffvvc/FFmpeg/issues/178
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
More information about the ffmpeg-devel
mailing list