@@ -29,7 +29,6 @@
#include "libavutil/qsort.h"
#include "libavutil/common.h"
-#include "avcodec.h"
#include "huffman.h"
#include "vlc.h"
@@ -154,7 +153,7 @@ static int build_huff_tree(VLC *vlc, Node *nodes, int head, int flags, int nb_bi
* nodes size must be 2*nb_codes
* first nb_codes nodes.count must be set
*/
-int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, int nb_bits,
+int ff_huff_build_tree(void *logctx, VLC *vlc, int nb_codes, int nb_bits,
Node *nodes, HuffCmp cmp, int flags)
{
int i, j;
@@ -168,7 +167,7 @@ int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, int nb_bit
}
if (sum >> 31) {
- av_log(avctx, AV_LOG_ERROR,
+ av_log(logctx, AV_LOG_ERROR,
"Too high symbol frequencies. "
"Tree construction is not possible\n");
return -1;
@@ -193,7 +192,7 @@ int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, int nb_bit
cur_node++;
}
if (build_huff_tree(vlc, nodes, nb_codes * 2 - 2, flags, nb_bits) < 0) {
- av_log(avctx, AV_LOG_ERROR, "Error building tree\n");
+ av_log(logctx, AV_LOG_ERROR, "Error building tree\n");
return -1;
}
return 0;
@@ -26,7 +26,8 @@
#ifndef AVCODEC_HUFFMAN_H
#define AVCODEC_HUFFMAN_H
-#include "avcodec.h"
+#include <stdint.h>
+
#include "vlc.h"
typedef struct Node {
@@ -40,7 +41,7 @@ typedef struct Node {
#define FF_HUFFMAN_BITS 10
typedef int (*HuffCmp)(const void *va, const void *vb);
-int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, int nb_bits,
+int ff_huff_build_tree(void *logctx, VLC *vlc, int nb_codes, int nb_bits,
Node *nodes, HuffCmp cmp, int flags);
int ff_huff_gen_len_table(uint8_t *dst, const uint64_t *stats, int n, int skip0);
Said AVCodecContext is only used for logging; it furthermore avoids an avcodec.h inclusion. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/huffman.c | 7 +++---- libavcodec/huffman.h | 5 +++-- 2 files changed, 6 insertions(+), 6 deletions(-)