summaryrefslogtreecommitdiff
path: root/libavcodec/dirac_vlc.c
Commit message (Collapse)AuthorAge
* dirac_vlc: prevent shifting a 0 by 64 bits when zeroing residueRostislav Pehlivanov2016-07-14
| | | | | | | Adding a check for bits == 0 would still make Coverity misdetect this, so just revert to the normal way of setting the residue to 0. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* dirac_vlc: add a SET_RESIDUE macro and fix recent regressionRostislav Pehlivanov2016-07-14
| | | | | | | Can also be used in future cleanups since 99% of the time the leftover appending will just append to an already empty residue. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* dirac_vlc: remove redundant macro declarationRostislav Pehlivanov2016-07-13
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* dirac_vlc: fix undefined shiftsRostislav Pehlivanov2016-07-13
| | | | | | | | | Shifting by more than 63 bits is undefined behavior, athough any compiler not returning 0 after shifting by any amount would be insane. Found by Coverity, fixes CID1363959 and CID1363960 Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec/dirac_vlc: Fix mixed declaration and statementsMichael Niedermayer2016-07-12
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* diracdec: implement a LUT-based Golomb code parserRostislav Pehlivanov2016-07-11
Still much left to optimize, but it provides a significant performance improvement - 10% for 300Mbps (1080p30), 25% for 1.5Gbps (4k 60fps) in comparison with the default implementation. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>