avcodec/jpeglsenc: Remove redundant implicit checks

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@outlook.com>
pull/362/head
Andreas Rheinhardt 4 years ago
parent f249c32eff
commit 83cb9be1d2
  1. 13
      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();

Loading…
Cancel
Save