Xi Wang
ca6c3f2c53
lzo: fix overflow checking in copy_backptr()
...
The check `src > dst' in the form `&c->out[-back] > c->out' invokes
pointer overflow, which is undefined behavior in C.
Remove the check. Also replace `&c->out[-back] < c->out_start' with
a safe form `c->out - c->out_start < back' to avoid overflow.
CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Diego Biurrun
5bac2d0c30
avutil: Move memcpy_backptr() to mem.c
...
The function is used elsewhere and does not belong with the LZO code.
12 years ago
Mans Rullgard
d82f188504
Remove need for padding in av_memcpy_backptr()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Diego Biurrun
ceb754d041
lzo: Use AV_COPY*U macros where appropriate
12 years ago
Diego Biurrun
c08536979b
avutil/lzo: K&R formatting cosmetics
12 years ago
Diego Biurrun
8fb1e26405
lzo: Drop obsolete fast_memcpy reference
12 years ago
Diego Biurrun
193d7eea95
libavutil: Remove broken and pointless lzo test program.
13 years ago
Reimar Döffinger
874da652b3
Avoid av_memcpy_backptr hang without extra branch.
...
This only happens for a "back" value of 0 which is invalid anyway,
but lcldec does not properly validate input.
Also extend the documentation to specify valid values.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Michael Niedermayer
58c41799ab
lzo: fix memcpy_backptr() with 0 offset
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
c68fafe0d2
doxygen: eliminate Qt-style doxygen syntax
13 years ago
Reimar Döffinger
b9242fd12f
av_lzo1x_decode: properly handle negative buffer length.
...
Treating them like 0 is safest, current code would invoke
undefined pointer arithmetic behaviour in this case.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Diego Biurrun
adbfc605f6
doxygen: Consistently use '@' instead of '\' for Doxygen markup.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Reimar Döffinger
032f406864
Handle input or output len of 0 properly in lzo decoder.
...
(cherry picked from commit 7d5082600e
)
14 years ago
Reimar Döffinger
7d5082600e
Handle input or output len of 0 properly in lzo decoder.
14 years ago
Diego Biurrun
985fdd534f
Give liblzo benchmark conditionals more descriptive names and add convenience
...
definitions along with instructions for changing them.
Originally committed as revision 18387 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
82a6ef2089
Replace manual setting of the removed av_log_level variable by the
...
corresponding call to av_log_set_level().
Originally committed as revision 18310 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Reimar Döffinger
fe4032b66a
Remove more functions disabled by major version bump.
...
Originally committed as revision 17876 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
0d08e27015
Add necessary header for LIBAVUTIL_VERSION_MAJOR, fixes the warning:
...
libavutil/lzo.c:235:5: warning: "LIBAVUTIL_VERSION_MAJOR" is not defined
Originally committed as revision 16962 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Reimar Döffinger
a545f067f3
Move doxygen documentation from lzo.c to lzo.h
...
Originally committed as revision 16949 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Reimar Döffinger
0b178e5629
Add av_ prefix to LZO stuff and thus make it officially part of the public API.
...
Keep lzo1x_decode until the next major version bump for binary compatibility.
Originally committed as revision 16946 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
bfe3676feb
spelling/grammar/consistency review part II
...
Originally committed as revision 16848 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Diego Biurrun
89c9ff504b
spelling/grammar/consistency review part I
...
Originally committed as revision 16840 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Peter Ross
6ba10f338a
Add av_memcpy_backptr(): deliberately overlapping memcpy variant.
...
Originally committed as revision 14641 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Reimar Döffinger
5e038b4f08
LZO decoder input is const
...
Originally committed as revision 11797 to svn://svn.ffmpeg.org/ffmpeg/trunk
17 years ago
Reimar Döffinger
4302963daa
Move lzo decompression to libavutil
...
Originally committed as revision 7789 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
c215e40316
Make sure we do not accidentially "fix" cnt to something < 0
...
Originally committed as revision 7788 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
c0a8b87600
Simplify checks, use that we know that cnt will not be < 0
...
Originally committed as revision 7787 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
56f8647aaa
Remove boundary checks that are actually done "well enough"
...
in copy function
Originally committed as revision 7786 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
9b2c14df60
Documentation fix: Copy functions should "work" fine for cnt == 0
...
Originally committed as revision 7785 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
1db8c21c1f
Optimize LZO copy operations
...
Originally committed as revision 7784 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
960e48f8f0
another >> vs >
...
Originally committed as revision 7779 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
bf47272f3c
simpify state and make code 2% faster
...
reimar, dont hesitate to flame me for not sending patches and feel free to revert any or all of my changes to lzo.c if you dont like them
Originally committed as revision 7778 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
5fe9c42ceb
Add two extra needed bounds checks
...
Originally committed as revision 7777 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Michael Niedermayer
801778bc83
replace if(x>>b) by if(x>C) as shifts are slow on some cpus and i have my doubts that gcc can replace the shifts as x is signed, it could in theory but well its gcc ...
...
Originally committed as revision 7776 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
d62a0c1e5d
Add code to testcode to ease comparing with liblzo.
...
Originally committed as revision 7775 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
a737f1dfdb
LZO optimization: check input buffer bounds less frequently if padded
...
Originally committed as revision 7747 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
cf0ef3dc34
Fix buffer end checks in lzo copy code to work in all cases.
...
Originally committed as revision 7731 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
266aa26c52
Add lzo test code
...
Originally committed as revision 7727 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
214019ed32
Avoid void *-arithmetic
...
Originally committed as revision 6590 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
18 years ago
Reimar Döffinger
f53a2931cf
faster copy functions for lzo decoder that also need padding
...
Originally committed as revision 4882 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Reimar Döffinger
d3c71c5002
10l, get_byte returning 0 on error can cause a hang. So let's try with 1 instead...
...
Originally committed as revision 4862 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Reimar Döffinger
a9318df2f8
get_byte may not return -1 on error, since it can lead to a negative backptr.
...
Originally committed as revision 4854 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Reimar Döffinger
d66fbc14de
Wrong state handling causing decompression errors in some cases
...
Originally committed as revision 4852 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Diego Biurrun
5509bffa88
Update licensing information: The FSF changed postal address.
...
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago
Reimar Döffinger
517840c654
Our own LZO (1X) implementation, under LGPL and optimized for readability.
...
Tested on CamStudio sample files.
Originally committed as revision 4840 to svn://svn.ffmpeg.org/ffmpeg/trunk
19 years ago