[FFmpeg-cvslog] avcodec/smacker: Don't warn for Huffmann tables with one element
Andreas Rheinhardt
git at videolan.org
Fri Sep 18 03:31:36 EEST 2020
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Sat Jul 25 07:21:49 2020 +0200| [2cef0316747499f3d845d778fbf7e1d1d27d55fb] | committer: Andreas Rheinhardt
avcodec/smacker: Don't warn for Huffmann tables with one element
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.
Reviewed-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2cef0316747499f3d845d778fbf7e1d1d27d55fb
---
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");
}
More information about the ffmpeg-cvslog
mailing list