[FFmpeg-devel] [PATCH 25/46] avcodec/jpeglsenc: Remove redundant implicit checks

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Fri Apr 30 02:56:56 EEST 2021


Now that the proper buffer size is calculated (and checked) before
allocating the buffer, it is known that the buffer always suffices.
So use the unchecked PutBit-API; and also use an unchecked bitstream
reader as we check ourselves.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/jpeglsenc.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/libavcodec/jpeglsenc.c b/libavcodec/jpeglsenc.c
index a7bcd78275..c80d7373cf 100644
--- a/libavcodec/jpeglsenc.c
+++ b/libavcodec/jpeglsenc.c
@@ -25,6 +25,7 @@
  * JPEG-LS encoder.
  */
 
+#define UNCHECKED_BITSTREAM_READER 1
 #include "avcodec.h"
 #include "bytestream.h"
 #include "encode.h"
@@ -53,12 +54,6 @@ static inline void put_marker_byteu(PutByteContext *pb, enum JpegMarker code)
     bytestream2_put_byteu(pb, code);
 }
 
-static inline void put_marker_byte(PutByteContext *pb, enum JpegMarker code)
-{
-    bytestream2_put_byte(pb, 0xff);
-    bytestream2_put_byte(pb, code);
-}
-
 /**
  * Encode error from regular symbol
  */
@@ -408,15 +403,15 @@ static int encode_picture_ls(AVCodecContext *avctx, AVPacket *pkt,
     while (get_bits_count(&gb) < size_in_bits) {
         int v;
         v = get_bits(&gb, 8);
-        bytestream2_put_byte(&pb, v);
+        bytestream2_put_byteu(&pb, v);
         if (v == 0xFF) {
             v = get_bits(&gb, 7);
-            bytestream2_put_byte(&pb, v);
+            bytestream2_put_byteu(&pb, v);
         }
     }
 
     /* End of image */
-    put_marker_byte(&pb, EOI);
+    put_marker_byteu(&pb, EOI);
 
     emms_c();
 
-- 
2.27.0



More information about the ffmpeg-devel mailing list