mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-23 15:26:57 +00:00
avcodec/smacker: Remove redundant check when decoding header trees
When length is zero for a leaf node (which happens iff the Huffman tree consists of one leaf node only), prefix is also automatically zero. Performance impact is negligible: For GCC 9 and the sample from #2425, the time for one call to smka_decode_frame() decreased from 2053758 to 2053671 decicycles; for Clang 9 it went from 1523153 to 1521288. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
77c9507253
commit
943a458157
@ -105,13 +105,8 @@ static int smacker_decode_tree(GetBitContext *gb, HuffContext *hc, uint32_t pref
|
||||
av_log(NULL, AV_LOG_ERROR, "Tree size exceeded!\n");
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
if(length){
|
||||
hc->bits[hc->current] = prefix;
|
||||
hc->lengths[hc->current] = length;
|
||||
} else {
|
||||
hc->bits[hc->current] = 0;
|
||||
hc->lengths[hc->current] = 0;
|
||||
}
|
||||
hc->bits[hc->current] = prefix;
|
||||
hc->lengths[hc->current] = length;
|
||||
hc->values[hc->current] = get_bits(gb, 8);
|
||||
hc->current++;
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user