[FFmpeg-cvslog] avcodec/rangecoder: Avoid checking for the first byte on every renormalization
Michael Niedermayer
git at videolan.org
Mon Dec 2 04:28:11 EET 2024
ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Wed Oct 16 21:08:31 2024 +0200| [70fa8bd38cdb62cf225471c2dbf6779c348f9b67] | committer: Michael Niedermayer
avcodec/rangecoder: Avoid checking for the first byte on every renormalization
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=70fa8bd38cdb62cf225471c2dbf6779c348f9b67
---
libavcodec/rangecoder.h | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/libavcodec/rangecoder.h b/libavcodec/rangecoder.h
index da13c453ed..944ad492fd 100644
--- a/libavcodec/rangecoder.h
+++ b/libavcodec/rangecoder.h
@@ -62,10 +62,9 @@ void ff_build_rac_states(RangeCoder *c, int factor, int max_p);
static inline void renorm_encoder(RangeCoder *c)
{
// FIXME: optimize
- if (c->outstanding_byte < 0) {
- c->outstanding_byte = c->low >> 8;
- } else if (c->low <= 0xFF00) {
- *c->bytestream++ = c->outstanding_byte;
+ if (c->low <= 0xFF00) {
+ *c->bytestream = c->outstanding_byte;
+ c->bytestream += c->outstanding_byte >= 0;
for (; c->outstanding_count; c->outstanding_count--)
*c->bytestream++ = 0xFF;
c->outstanding_byte = c->low >> 8;
More information about the ffmpeg-cvslog
mailing list