aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mf_utils.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-10-25 10:24:31 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-12-08 17:51:44 +0100
commitfefe2cbbf2a50039bc6f212a5d1ab92781662665 (patch)
tree191900e5ba185b8a48ce79067351d4629fd84cda /libavcodec/mf_utils.c
parent09062eece2e8f188330adab9ddd873341dcf9862 (diff)
downloadffmpeg-fefe2cbbf2a50039bc6f212a5d1ab92781662665.tar.gz
avcodec/smacker: Improve creating Huffman VLC tables
The Smacker Huffman tables are already stored in a tree-like structure; in particular, they are naturally ordered from left to right in the tree and are therefore suitable to be initialized by ff_init_vlc_from_lengths() which avoids traversing the data twice in order to sort only the codes that are so long that they need into a subtable. This improves performance (and reduces codesize): For the sample from ticket #2425 the number of decicycles for parsing and creating the VLCs in smka_decode_frame() decreased from 412322 to 359152 (tested with 10 runs each looping 20 times over the file). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavcodec/mf_utils.c')
0 files changed, 0 insertions, 0 deletions