Steinar H. Gunderson
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
Michael Niedermayer
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
Michael Niedermayer
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
Clément Bœsch
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
Clément Bœsch
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
Alexandra Hájková
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
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Lou Logan
06eef96b69
fix some a/an typos
...
Signed-off-by: Lou Logan <lou@lrcd.com>
2016-03-28 14:13:17 -08:00
Reimar Döffinger
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
Ganesh Ajjanagadde
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
Andreas Cadhalpun
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
Andreas Cadhalpun
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
Michael Niedermayer
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
Michael Niedermayer
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
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
Michael Niedermayer
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
Diego Biurrun
7f9f771eac
avcodec: Don't anonymously typedef structs
2015-02-14 10:13:49 -08:00
Michael Niedermayer
d266ecff4b
avcodec/bitstream: remove trivial assert
...
Fixed CID1224273
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-02 16:25:40 +02:00
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
600cbf3672
avcodec/bitstream: zero vlc tables on allocation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-16 19:10:32 +02:00
Michael Niedermayer
e20e854ca0
vcodec/bitstream: use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-08 16:18:29 +02:00
Michael Niedermayer
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
Michael Niedermayer
0f65503799
avcodec/bitstream: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-11 14:34:45 +01:00
Michael Niedermayer
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
Alexandra Khirnova
9b8d11a76a
avcodec: Use av_reallocp where suitable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-09 12:27:51 +02:00
Diego Biurrun
29c455ce3d
bitstream: Check the result of av_malloc()
2013-10-15 18:01:12 +02:00
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Piotr Bandurski
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
Michael Niedermayer
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
Michael Niedermayer
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
Luca Barbato
f80b60ad59
bitstream: forward error values and drop few abort()
2013-06-16 09:30:26 +02:00
Luca Barbato
f776899a17
bitstream: K&R formatting cosmetics
2013-06-16 09:30:25 +02:00
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Michael Niedermayer
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
Diego Biurrun
511cf612ac
miscellaneous typo fixes
2012-12-21 00:18:34 +01:00
Michael Niedermayer
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
Michael Niedermayer
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
Reimar Döffinger
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
Michael Niedermayer
d6c342fdc0
Merge commit 'd5c62122a7b26704bf867a1262df358623bf5edf'
...
* commit 'd5c62122a7b26704bf867a1262df358623bf5edf':
Move av_reverse table to libavcodec
Conflicts:
libavcodec/asvenc.c
libavcodec/vble.c
libavutil/common.h
libavutil/mathematics.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 14:35:42 +02:00
Diego Biurrun
d5c62122a7
Move av_reverse table to libavcodec
...
It is only used in that library.
2012-10-12 20:39:18 +02:00
Michael Niedermayer
bff2afb3e9
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
x86: dsputil: Only compile motion_est code when encoders are enabled
mem: fix typo in check for __ICC
fate: mp3: drop redundant CMP setting
rtp: Depacketization of JPEG (RFC 2435)
Rename ff_put_string to avpriv_put_string
mjpeg: Rename some symbols to avpriv_* instead of ff_*
yadif: cosmetics
Conflicts:
Changelog
libavcodec/mjpegenc.c
libavcodec/x86/Makefile
libavfilter/vf_yadif.c
libavformat/version.h
libavutil/mem.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 14:06:20 +02:00