057328b29d
avcodec/bitstream: Return specific error codes when building vlc tables
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-01 21:11:47 +01:00
549045254c
Fix all -Wformat warnings raised by DJGPP
2017-03-29 14:49:29 +02:00
cb763a9ba8
lavc/bitstream: remove unused atomic.h include
2017-03-22 18:16:58 +01:00
eaff1aa09e
avcodec: move bitswap_32() into a header file
...
Allows more codecs than mpeg12video to make use of it.
2017-01-11 15:40:01 +01:00
7ca2a23aaa
avcodec/bitstream: Document the values supported for *_size in ff_init_vlc_sparse()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-01-05 12:08:24 +01:00
8f1d18a91b
avcodec/bitstream: assert that *_size in ff_init_vlc_sparse() is valid
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-01-05 12:08:23 +01:00
bcafc41a5a
Merge commit 'ffa190d0479d2370dd89c95692f822cbff2cc24c'
...
* commit 'ffa190d0479d2370dd89c95692f822cbff2cc24c':
Move VLC and RL_VLC_ELEM structure definitions to a separate header
Merged-by: Clément Bœsch <u@pkh.me >
2016-06-23 00:29:25 +02:00
8ef57a0d61
Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
...
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
cosmetics: Fix spelling mistakes
Merged-by: Clément Bœsch <u@pkh.me >
2016-06-21 21:55:34 +02:00
ffa190d047
Move VLC and RL_VLC_ELEM structure definitions to a separate header
...
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 >
2016-05-17 10:29:27 +02:00
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2016-05-04 18:16:21 +02:00
06eef96b69
fix some a/an typos
...
Signed-off-by: Lou Logan <lou@lrcd.com >
2016-03-28 14:13:17 -08:00
5f5e6033cd
bitstream.c: improve init_vlc error messages.
...
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 >
2016-03-06 12:31:40 +01:00
e11e32686f
avcodec/bitstream: replace qsort with AV_QSORT
...
Commit 3a0a2f33a6
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 >
2015-10-18 09:22:49 -04:00
28efeb6502
doc: avoid incorrect phrase 'allows to'
...
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 >
2015-06-16 21:48:51 +02:00
ed0b1db640
doc: fix spelling errors
...
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 >
2015-06-14 15:09:33 +02:00
291ad5cc9c
avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-25 05:14:02 +02:00
8f7b022c8c
Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'
...
* 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 >
2015-04-20 04:10:10 +02:00
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
a94eba6f0c
Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'
...
* 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 >
2015-02-14 21:18:17 +01:00
7f9f771eac
avcodec: Don't anonymously typedef structs
2015-02-14 10:13:49 -08:00
d266ecff4b
avcodec/bitstream: remove trivial assert
...
Fixed CID1224273
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-02 16:25:40 +02:00
a2de7b1bd5
avcodec/bitstream: document the double volatile
...
Suggested-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-21 14:55:32 +02:00
329898aa45
avcodec/bitstream: try to workaround internal compiler bug in gcc 4.2
...
gcc 4.2 seems not maintained anymore so theres no option besides
just working around it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-20 21:54:23 +02:00
e6f9fc4adc
avcodec/bitstream: try to make vlc init code inherently thread safe
...
also remove spinlock, it doesnt work on AIX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-16 20:09:21 +02:00
f7f96cf4bc
avcodec/bitstream: fill invalid vlc tables entries as last pass instead of first
...
This avoids writing entries twice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-16 19:10:32 +02:00
600cbf3672
avcodec/bitstream: zero vlc tables on allocation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-06-16 19:10:32 +02:00
e20e854ca0
vcodec/bitstream: use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-04-08 16:18:29 +02:00
622d463000
avcodec/bitstream: assert that no integer overflow happened when writing codes in build_table()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-01-23 01:43:00 +01:00
0f65503799
avcodec/bitstream: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-12-11 14:34:45 +01:00
8c677a9f06
Merge commit '9b8d11a76ae7bca8bbb58abb822138f8b42c776c'
...
* 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 >
2013-12-09 20:31:29 +01:00
9b8d11a76a
avcodec: Use av_reallocp where suitable
...
Signed-off-by: Martin Storsjö <martin@martin.st >
2013-12-09 12:27:51 +02:00
29c455ce3d
bitstream: Check the result of av_malloc()
2013-10-15 18:01:12 +02:00
9386f334af
avcodec/bitstream: Dont try to free buffers for static VLCs
...
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 >
2013-08-08 15:05:48 +02:00
f80ccf074a
avcodec/ff_init_vlc_sparse: use a local array for static vlcs avoiding malloc()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-07-29 16:48:41 +02:00
6af8326354
avcodec/ff_init_vlc_sparse: use a spinlock for thread sync
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-07-29 16:48:41 +02:00
a9903f7ec1
Revert "bitstream: make vlc init of static tables thread safe."
...
This reverts commit 4b6869d6e0
.
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 >
2013-07-29 16:48:41 +02:00
aa74810fc6
bitstream: fix a crash in case of oom
...
fixes ticket #2766
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-07-09 19:41:22 +02:00
301522f521
Merge commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3'
...
* commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3':
bitstream: forward error values and drop few abort()
Conflicts:
libavcodec/bitstream.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-06-16 23:29:37 +02:00
9265bae356
Merge commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f'
...
* commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f':
bitstream: K&R formatting cosmetics
Conflicts:
libavcodec/bitstream.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2013-06-16 23:18:57 +02:00
f80b60ad59
bitstream: forward error values and drop few abort()
2013-06-16 09:30:26 +02:00
f776899a17
bitstream: K&R formatting cosmetics
2013-06-16 09:30:25 +02:00
1d7e6a6bde
avcodec/bitstream: print vlc length in error case.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-21 13:51:04 +02:00
83330cf5fa
init_vlc_sparse: fix leak on error
...
Fixes CID1005312
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-04-21 11:55:19 +02:00
6998af4a40
avcodec/bitstream: check codes in ff_init_vlc_sparse()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-04-18 02:57:03 +02:00
fb3e3808ae
avcodec/bitstream: Check bits in ff_init_vlc_sparse()
...
Fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-04-18 02:47:50 +02:00
d27edc038a
Merge commit '511cf612ac979f536fd65e14603a87ca5ad435f3'
...
* 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 >
2012-12-21 17:32:52 +01:00
511cf612ac
miscellaneous typo fixes
2012-12-21 00:18:34 +01:00
4b6869d6e0
bitstream: make vlc init of static tables thread safe.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2012-12-06 21:46:42 +01:00
eed865540a
Revert "Add assert that the avcodec lock is held when initializing static VLC tables."
...
This reverts commit dd154198b1
.
2012-12-06 02:52:07 +01:00
dd154198b1
Add assert that the avcodec lock is held when initializing static VLC tables.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de >
2012-12-05 21:01:17 +01:00