summaryrefslogtreecommitdiff
path: root/libavcodec/sheervideodata.h
Commit message (Collapse)AuthorAge
* avcodec/sheervideo: Avoid code duplication when creating VLC tablesAndreas Rheinhardt2020-10-10
| | | | | | | | | The SheerVideo decoder uses two VLC tables and these are in turn created from structures (called SheerTable) that are naturally paired. This commit unifies these pairs of SheerTables to arrays and unifies creating the VLC tables. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/sheervideo: Reduce the size of static arraysAndreas Rheinhardt2020-10-10
| | | | | | | | | | | | | | | The SheerVideo decoder uses VLC tables which are currently stored in large arrays that contain the length of each leaf of the corresponding tree from left to right, taking 15.5KB of space. But all these arrays follow a common pattern: First the entries are ascending and then they are descending with lots of successive entries have the same value. Therefore it makes sense to use a run-length encoding to store them, as this commit does. Notice that the length 16 has to be treated specially because there are arrays with more than 256 consecutive entries with value 16 and because the length of the entries start to descend from this length onward. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/sheervideodata: Fix libavutil includeMichael Niedermayer2018-04-19
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/sheervideo: add missing wrappers to sheervideodata.hJames Almer2018-04-03
| | | | | | Fixes make fate-source Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/sheervideo: move tables to own headerPaul B Mahol2018-04-03
Signed-off-by: Paul B Mahol <onemda@gmail.com>