@@ -104,6 +104,8 @@ typedef struct IMCContext {
int8_t cyclTab[32], cyclTab2[32];
float weights1[31], weights2[31];
+
+ AVCodecContext *avctx;
} IMCContext;
static VLC huffman_vlc[4][4];
@@ -466,7 +468,7 @@ static int bit_allocation(IMCContext *q, IMCChannel *chctx,
for (i = 0; i < BANDS - 1; i++) {
if (chctx->flcoeffs5[i] <= 0) {
- av_log(NULL, AV_LOG_ERROR, "flcoeffs5 %f invalid\n", chctx->flcoeffs5[i]);
+ av_log(q->avctx, AV_LOG_ERROR, "flcoeffs5 %f invalid\n", chctx->flcoeffs5[i]);
return AVERROR_INVALIDDATA;
}
chctx->flcoeffs4[i] = chctx->flcoeffs3[i] - log2f(chctx->flcoeffs5[i]);
@@ -1022,6 +1024,8 @@ static int imc_decode_frame(AVCodecContext *avctx, void *data,
LOCAL_ALIGNED_16(uint16_t, buf16, [(IMC_BLOCK_SIZE + AV_INPUT_BUFFER_PADDING_SIZE) / 2]);
+ q->avctx = avctx;
+
if (buf_size < IMC_BLOCK_SIZE * avctx->channels) {
av_log(avctx, AV_LOG_ERROR, "frame too small!\n");
return AVERROR_INVALIDDATA;
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/imc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)