The Huffmann tables used by Smacker can consist of exactly one leaf only in which case the length of the corresponding code is zero; there is then exactly one value encoded. Our VLC can't handle this and therefore this case needs to be treated separately; it has been implemented in commit 48cbdaea157671d456750e00fde37c6d7595fad6. Yet said commit also made the decoder emit an error message (despite not erroring out) in this case, although it seems that this is rather a limitation of our VLC API.
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@gmail.com> --- libavcodec/smacker.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c index e53183318e..3c9f118fb7 100644 --- a/libavcodec/smacker.c +++ b/libavcodec/smacker.c @@ -229,8 +229,7 @@ static int smacker_decode_header_tree(SmackVContext *smk, GetBitContext *gb, int goto error; } } - } - if (!vlc[0].table) { + } else { av_log(smk->avctx, AV_LOG_ERROR, "Skipping low bytes tree\n"); } if(get_bits1(gb)){ @@ -250,8 +249,7 @@ static int smacker_decode_header_tree(SmackVContext *smk, GetBitContext *gb, int goto error; } } - } - if (!vlc[1].table) { + } else { av_log(smk->avctx, AV_LOG_ERROR, "Skipping high bytes tree\n"); } -- 2.20.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".