Commit b75dc8bd authored by Andreas Rheinhardt's avatar Andreas Rheinhardt

avcodec/huffman: Use logcontext instead of AVCodecContext

Said AVCodecContext is only used for logging; it furthermore avoids
an avcodec.h inclusion.
Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
parent a449fb35
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment