summaryrefslogtreecommitdiffstats
path: root/libavcodec/bitstream.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/bitstream: Check for more conflicting codes in build_table()Michael Niedermayer2019-06-141-1/+2
| | | | | | | | Fixes: out of array read Fixes: 14563/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5646451545210880 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bitstream: Check for integer code truncation in build_table()Michael Niedermayer2019-06-141-0/+4
| | | | | | | | Fixes: out of array read Fixes: 14563/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5646451545210880 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bitstream: Return specific error codes when building vlc tablesMichael Niedermayer2019-01-011-3/+3
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Fix all -Wformat warnings raised by DJGPPClément Bœsch2017-03-291-2/+3
|
* lavc/bitstream: remove unused atomic.h includeClément Bœsch2017-03-221-1/+0
|
* avcodec: move bitswap_32() into a header fileSteinar H. Gunderson2017-01-111-8/+0
| | | | Allows more codecs than mpeg12video to make use of it.
* avcodec/bitstream: Document the values supported for *_size in ↵Michael Niedermayer2017-01-051-1/+1
| | | | | | ff_init_vlc_sparse() Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bitstream: assert that *_size in ff_init_vlc_sparse() is validMichael Niedermayer2017-01-051-1/+3
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'ffa190d0479d2370dd89c95692f822cbff2cc24c'Clément Bœsch2016-06-231-1/+1
|\ | | | | | | | | | | | | * commit 'ffa190d0479d2370dd89c95692f822cbff2cc24c': Move VLC and RL_VLC_ELEM structure definitions to a separate header Merged-by: Clément Bœsch <u@pkh.me>
| * Move VLC and RL_VLC_ELEM structure definitions to a separate headerAlexandra Hájková2016-05-171-1/+1
| | | | | | | | | | | | | | Use the newly created vlc.h directly instead of including get_bits when needed. The VLC and RL_VLC_ELEM structures are independent from the bitreader. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-211-2/+2
|\ \ | |/ | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-041-2/+2
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | fix some a/an typosLou Logan2016-03-281-1/+1
| | | | | | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* | bitstream.c: improve init_vlc error messages.Reimar Döffinger2016-03-061-1/+1
| | | | | | | | | | | | | | Makes it far easier to spot the issue if e.g. caused by a typo in the code table. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | avcodec/bitstream: replace qsort with AV_QSORTGanesh Ajjanagadde2015-10-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 3a0a2f33a6c955823fa4fb12c0b49cd29a496659 claims large performance advantages for AV_QSORT over libc's qsort. The reason is that I suspect that libc's qsort (at least on non LTO builds, like the typical FFmpeg config) can't inline the comparison callback: https://stackoverflow.com/questions/5290695/is-there-any-way-a-c-c-compiler-can-inline-a-c-callback-function. AV_QSORT has two things going for it: 1. The guaranteed inlining of qsort itself. This yields a negligible boost that may be ignored. 2. The more serious possibility of potentially allowing the comparison function to be inlined - this is likely responsible for the large boosts reported. There is a comment explaining that this is a place that could use some performance improvement. Thus AV_QSORT is used to achieve that. Benchmarks deemed unnecessary due to existing claims about AV_QSORT. Tested with FATE. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | doc: avoid incorrect phrase 'allows to'Andreas Cadhalpun2015-06-161-1/+1
| | | | | | | | | | | | | | | | Also fix typo found by Lou Logan: Sacrifying -> Sacrificing Reviewed-by: Lou Logan <lou@lrcd.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | doc: fix spelling errorsAndreas Cadhalpun2015-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | Neccessary -> Necessary formated -> formatted thee -> the eventhough -> even though seperately -> separately Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()Michael Niedermayer2015-05-251-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer2015-04-201-4/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25': lavc: Replace av_dlog and tprintf with internal macros Conflicts: libavcodec/aacdec.c libavcodec/audio_frame_queue.c libavcodec/bitstream.c libavcodec/dcadec.c libavcodec/dnxhddec.c libavcodec/dvbsubdec.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/get_bits.h libavcodec/gifdec.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/imc.c libavcodec/interplayvideo.c libavcodec/jpeglsdec.c libavcodec/libopencore-amr.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_parser.c libavcodec/pngdec.c libavcodec/ratecontrol.c libavcodec/rv10.c libavcodec/svq1dec.c libavcodec/vqavideo.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-191-5/+6
| |
* | Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'Michael Niedermayer2015-02-141-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0': avcodec: Don't anonymously typedef structs Conflicts: libavcodec/alac.c libavcodec/cinepak.c libavcodec/cscd.c libavcodec/dcadec.c libavcodec/g723_1.c libavcodec/gif.c libavcodec/iff.c libavcodec/kgv1dec.c libavcodec/libopenjpegenc.c libavcodec/libspeexenc.c libavcodec/ra288.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: Don't anonymously typedef structsDiego Biurrun2015-02-141-1/+1
| |
* | avcodec/bitstream: remove trivial assertMichael Niedermayer2014-07-021-1/+0
| | | | | | | | | | | | Fixed CID1224273 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: document the double volatileMichael Niedermayer2014-06-211-1/+1
| | | | | | | | | | Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: try to workaround internal compiler bug in gcc 4.2Michael Niedermayer2014-06-201-1/+1
| | | | | | | | | | | | | | gcc 4.2 seems not maintained anymore so theres no option besides just working around it. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: try to make vlc init code inherently thread safeMichael Niedermayer2014-06-161-15/+13
| | | | | | | | | | | | also remove spinlock, it doesnt work on AIX Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: fill invalid vlc tables entries as last pass instead of firstMichael Niedermayer2014-06-161-5/+6
| | | | | | | | | | | | This avoids writing entries twice Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: zero vlc tables on allocationMichael Niedermayer2014-06-161-0/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vcodec/bitstream: use av_malloc_array()Michael Niedermayer2014-04-081-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: assert that no integer overflow happened when writing ↵Michael Niedermayer2014-01-231-0/+1
| | | | | | | | | | | | codes in build_table() Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: remove unused variableMichael Niedermayer2013-12-111-1/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c'Michael Niedermayer2013-12-091-1/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c': avcodec: Use av_reallocp where suitable Conflicts: libavcodec/bitstream.c libavcodec/eatgv.c libavcodec/flashsv.c libavcodec/libtheoraenc.c libavcodec/libvpxenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: Use av_reallocp where suitableAlexandra Khirnova2013-12-091-3/+8
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * bitstream: Check the result of av_malloc()Diego Biurrun2013-10-151-0/+2
| |
* | avcodec/bitstream: Dont try to free buffers for static VLCsMichael Niedermayer2013-08-081-2/+4
| | | | | | | | | | | | | | | | | | | | Such buffers are not malloced thus freeing would be bad. Note though this condition never could have happened so this is more for correctness sake and not a true bugfix Fixes CID1061047 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/ff_init_vlc_sparse: use a local array for static vlcs avoiding malloc()Michael Niedermayer2013-07-291-6/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/ff_init_vlc_sparse: use a spinlock for thread syncMichael Niedermayer2013-07-291-9/+19
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert "bitstream: make vlc init of static tables thread safe."Michael Niedermayer2013-07-291-17/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4b6869d6e0120c92253d525921f0e04361888e10. Conflicts: libavcodec/bitstream.c This code can cause assertion failures on artificial OOM situations It will be replaced by a solution that doesnt have this issue in the following commits. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | bitstream: fix a crash in case of oomPiotr Bandurski2013-07-091-0/+2
| | | | | | | | | | | | fixes ticket #2766 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3'Michael Niedermayer2013-06-161-5/+5
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3': bitstream: forward error values and drop few abort() Conflicts: libavcodec/bitstream.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * bitstream: forward error values and drop few abort()Luca Barbato2013-06-161-7/+7
| |
* | Merge commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f'Michael Niedermayer2013-06-161-75/+77
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f': bitstream: K&R formatting cosmetics Conflicts: libavcodec/bitstream.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * bitstream: K&R formatting cosmeticsLuca Barbato2013-06-161-70/+74
| |
* | avcodec/bitstream: print vlc length in error case.Michael Niedermayer2013-05-211-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | init_vlc_sparse: fix leak on errorMichael Niedermayer2013-04-211-0/+2
| | | | | | | | | | | | Fixes CID1005312 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: check codes in ff_init_vlc_sparse()Michael Niedermayer2013-04-181-0/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: Check bits in ff_init_vlc_sparse()Michael Niedermayer2013-04-181-0/+4
| | | | | | | | | | | | | | Fixes out of array reads Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '511cf612ac979f536fd65e14603a87ca5ad435f3'Michael Niedermayer2012-12-211-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '511cf612ac979f536fd65e14603a87ca5ad435f3': miscellaneous typo fixes Conflicts: libavcodec/4xm.c libavcodec/lagarith.c libavcodec/parser.c libavcodec/ratecontrol.c libavcodec/shorten.c libavcodec/vda_h264.c libavformat/dvenc.c libavformat/wtv.c tools/patcheck Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * miscellaneous typo fixesDiego Biurrun2012-12-211-1/+1
| |
* | bitstream: make vlc init of static tables thread safe.Michael Niedermayer2012-12-061-6/+17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud