diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-02-10 00:31:46 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-02-23 10:14:25 +0100 |
commit | 6eae9c1d3946771c577faeda9e4394a26063dd22 (patch) | |
tree | 0b8b5fdc431308c41859fc70ab708ec29b6f79e8 | |
parent | d26198ada3279e9d7ef5d3d2cca13b0eff5144f0 (diff) | |
download | ffmpeg-6eae9c1d3946771c577faeda9e4394a26063dd22.tar.gz |
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 <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavcodec/jpegtables.c | 21 | ||||
-rw-r--r-- | libavcodec/jpegtables.h | 4 | ||||
-rw-r--r-- | libavcodec/mjpegenc_common.c | 21 | ||||
-rw-r--r-- | libavcodec/mjpegenc_common.h | 3 |
4 files changed, 24 insertions, 25 deletions
diff --git a/libavcodec/jpegtables.c b/libavcodec/jpegtables.c index e44bc7a22a..ef3f8dee20 100644 --- a/libavcodec/jpegtables.c +++ b/libavcodec/jpegtables.c @@ -122,24 +122,3 @@ const uint8_t avpriv_mjpeg_val_ac_chrominance[] = 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa }; - -/* 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 i, j, k,nb, code, sym; - - k = 0; - code = 0; - for(i=1;i<=16;i++) { - nb = bits_table[i]; - for(j=0;j<nb;j++) { - sym = val_table[k++]; - huff_size[sym] = i; - huff_code[sym] = code; - code++; - } - code <<= 1; - } -} diff --git a/libavcodec/jpegtables.h b/libavcodec/jpegtables.h index aa38df4033..0907280445 100644 --- a/libavcodec/jpegtables.h +++ b/libavcodec/jpegtables.h @@ -36,8 +36,4 @@ extern av_export_avcodec const uint8_t avpriv_mjpeg_val_ac_luminance[]; extern av_export_avcodec const uint8_t avpriv_mjpeg_bits_ac_chrominance[]; extern av_export_avcodec const uint8_t avpriv_mjpeg_val_ac_chrominance[]; -void ff_mjpeg_build_huffman_codes(uint8_t *huff_size, uint16_t *huff_code, - const uint8_t *bits_table, - const uint8_t *val_table); - #endif /* AVCODEC_JPEGTABLES_H */ 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. * diff --git a/libavcodec/mjpegenc_common.h b/libavcodec/mjpegenc_common.h index e8698d18c6..b432baac3e 100644 --- a/libavcodec/mjpegenc_common.h +++ b/libavcodec/mjpegenc_common.h @@ -35,6 +35,9 @@ void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb, void ff_mjpeg_encode_picture_frame(MpegEncContext *s); void ff_mjpeg_encode_picture_trailer(PutBitContext *pb, int header_bits); void ff_mjpeg_escape_FF(PutBitContext *pb, int start); +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 ff_mjpeg_encode_stuffing(MpegEncContext *s); void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4]); |