diff mbox series

[FFmpeg-devel,08/12] avcodec/utvideoenc: Don't use bitcounts when byte-aligned

Message ID 20210325154956.2405162-8-andreas.rheinhardt@gmail.com
State Accepted
Commit df1c30f139bd4c4d5426d4fc169a1a2c16f95163
Headers show
Series [FFmpeg-devel,01/12] avcodec/vorbisenc: Remove always-false check
Related show

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished
andriy/PPC64_make success Make finished
andriy/PPC64_make_fate success Make fate finished

Commit Message

Andreas Rheinhardt March 25, 2021, 3:49 p.m. UTC
Despite write_huff_codes() receiving an ordinary buffer (not a
PutBitContext), it returned the amount of data written in bits,
not in bytes. This has been changed: There is now no intermediate
bitcount any more.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavcodec/utvideoenc.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/libavcodec/utvideoenc.c b/libavcodec/utvideoenc.c
index 5c87eb50ac..32c204a898 100644
--- a/libavcodec/utvideoenc.c
+++ b/libavcodec/utvideoenc.c
@@ -398,13 +398,11 @@  static int write_huff_codes(uint8_t *src, uint8_t *dst, int dst_size,
     if (count)
         put_bits(&pb, 32 - count, 0);
 
-    /* Get the amount of bits written */
-    count = put_bits_count(&pb);
-
     /* Flush the rest with zeroes */
     flush_put_bits(&pb);
 
-    return count;
+    /* Return the amount of bytes written */
+    return put_bytes_output(&pb);
 }
 
 static int encode_plane(AVCodecContext *avctx, uint8_t *src,
@@ -512,11 +510,11 @@  static int encode_plane(AVCodecContext *avctx, uint8_t *src,
 
         /*
          * Write the huffman codes to a buffer,
-         * get the offset in bits and convert to bytes.
+         * get the offset in bytes.
          */
         offset += write_huff_codes(dst + sstart * width, c->slice_bits,
                                    width * height + 4, width,
-                                   send - sstart, he) >> 3;
+                                   send - sstart, he);
 
         slice_len = offset - slice_len;