From 6eae9c1d3946771c577faeda9e4394a26063dd22 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 10 Feb 2021 00:31:46 +0100 Subject: avcodec/jpegtables: Move ff_mjpeg_build_huffman_codes to mjpegenc_common Since g2meet.c doesn't use it any more, only encoders use it and the place for their common code is mjpegenc_common.c. Signed-off-by: Andreas Rheinhardt --- libavcodec/mjpegenc_common.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'libavcodec/mjpegenc_common.c') diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c index 0b82777ec9..720b18d448 100644 --- a/libavcodec/mjpegenc_common.c +++ b/libavcodec/mjpegenc_common.c @@ -466,6 +466,27 @@ void ff_mjpeg_escape_FF(PutBitContext *pb, int start) } } +/* isn't this function nicer than the one in the libjpeg ? */ +void ff_mjpeg_build_huffman_codes(uint8_t *huff_size, uint16_t *huff_code, + const uint8_t *bits_table, + const uint8_t *val_table) +{ + int k, code; + + k = 0; + code = 0; + for (int i = 1; i <= 16; i++) { + int nb = bits_table[i]; + for (int j = 0; j < nb; j++) { + int sym = val_table[k++]; + huff_size[sym] = i; + huff_code[sym] = code; + code++; + } + code <<= 1; + } +} + /** * Builds all 4 optimal Huffman tables. * -- cgit v1.2.3