summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2017-02-10 00:18:34 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2017-02-10 00:26:54 +0100
commitce6e7a2db1a4fc0c0294b23e3d62a492af0d0359 (patch)
tree8727285e507420837afbeeeec0c2c6031dd7f7cd /libavcodec
parent3e1507a9547ac09b6ff4372123cde09f19218f3d (diff)
avcodec/mjpegenc: Simplify by moving assert into ff_mjpeg_encode_huffman_close()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/mjpegenc_common.c28
-rw-r--r--libavcodec/mjpegenc_huffman.c12
-rw-r--r--libavcodec/mjpegenc_huffman.h6
3 files changed, 19 insertions, 27 deletions
diff --git a/libavcodec/mjpegenc_common.c b/libavcodec/mjpegenc_common.c
index 722ad5e4da..70b036daa0 100644
--- a/libavcodec/mjpegenc_common.c
+++ b/libavcodec/mjpegenc_common.c
@@ -444,22 +444,18 @@ static void ff_mjpeg_build_optimal_huffman(MJpegContext *m)
ff_mjpeg_encode_huffman_increment(ctx[table_id], code);
}
- ret = ff_mjpeg_encode_huffman_close(&dc_luminance_ctx,
- m->bits_dc_luminance,
- m->val_dc_luminance, 12);
- av_assert0(!ret);
- ret = ff_mjpeg_encode_huffman_close(&dc_chrominance_ctx,
- m->bits_dc_chrominance,
- m->val_dc_chrominance, 12);
- av_assert0(!ret);
- ret = ff_mjpeg_encode_huffman_close(&ac_luminance_ctx,
- m->bits_ac_luminance,
- m->val_ac_luminance, 256);
- av_assert0(!ret);
- ret = ff_mjpeg_encode_huffman_close(&ac_chrominance_ctx,
- m->bits_ac_chrominance,
- m->val_ac_chrominance, 256);
- av_assert0(!ret);
+ ff_mjpeg_encode_huffman_close(&dc_luminance_ctx,
+ m->bits_dc_luminance,
+ m->val_dc_luminance, 12);
+ ff_mjpeg_encode_huffman_close(&dc_chrominance_ctx,
+ m->bits_dc_chrominance,
+ m->val_dc_chrominance, 12);
+ ff_mjpeg_encode_huffman_close(&ac_luminance_ctx,
+ m->bits_ac_luminance,
+ m->val_ac_luminance, 256);
+ ff_mjpeg_encode_huffman_close(&ac_chrominance_ctx,
+ m->bits_ac_chrominance,
+ m->val_ac_chrominance, 256);
ff_mjpeg_build_huffman_codes(m->huff_size_dc_luminance,
m->huff_code_dc_luminance,
diff --git a/libavcodec/mjpegenc_huffman.c b/libavcodec/mjpegenc_huffman.c
index e1d300b77d..ebf1311466 100644
--- a/libavcodec/mjpegenc_huffman.c
+++ b/libavcodec/mjpegenc_huffman.c
@@ -22,6 +22,7 @@
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
+#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/error.h"
#include "libavutil/qsort.h"
@@ -154,10 +155,9 @@ void ff_mjpeg_encode_huffman_init(MJpegEncHuffmanContext *s)
* @param bits output array where the ith character represents how many input values have i length encoding
* @param val output array of input values sorted by their encoded length
* @param max_nval maximum number of distinct input values
- * @return int Return code, 0 if succeeded.
*/
-int ff_mjpeg_encode_huffman_close(MJpegEncHuffmanContext *s, uint8_t bits[17],
- uint8_t val[], int max_nval)
+void ff_mjpeg_encode_huffman_close(MJpegEncHuffmanContext *s, uint8_t bits[17],
+ uint8_t val[], int max_nval)
{
int i, j;
int nval = 0;
@@ -167,9 +167,7 @@ int ff_mjpeg_encode_huffman_close(MJpegEncHuffmanContext *s, uint8_t bits[17],
for (i = 0; i < 256; i++) {
if (s->val_count[i]) nval++;
}
- if (nval > max_nval) {
- return AVERROR(EINVAL);
- }
+ av_assert0 (nval <= max_nval);
j = 0;
for (i = 0; i < 256; i++) {
@@ -189,6 +187,4 @@ int ff_mjpeg_encode_huffman_close(MJpegEncHuffmanContext *s, uint8_t bits[17],
val[i] = distincts[i].code;
bits[distincts[i].length]++;
}
-
- return 0;
}
diff --git a/libavcodec/mjpegenc_huffman.h b/libavcodec/mjpegenc_huffman.h
index ec6251b519..a4c53d086b 100644
--- a/libavcodec/mjpegenc_huffman.h
+++ b/libavcodec/mjpegenc_huffman.h
@@ -38,9 +38,9 @@ static inline void ff_mjpeg_encode_huffman_increment(MJpegEncHuffmanContext *s,
{
s->val_count[val]++;
}
-int ff_mjpeg_encode_huffman_close(MJpegEncHuffmanContext *s,
- uint8_t bits[17], uint8_t val[],
- int max_nval);
+void ff_mjpeg_encode_huffman_close(MJpegEncHuffmanContext *s,
+ uint8_t bits[17], uint8_t val[],
+ int max_nval);
/**