@fix
this fixes T1987 - the commit that broke it was:
commit 18d494489c
Author: Cedric BAIL <cedric.bail@samsung.com>
Date: Fri Jan 3 16:20:53 2014 +0900
eet: use eina_swap*() function instead of custom slower one.
there are possible security implications by not checking values of
size fields to see if they are within the data range AND are not 0 or
negative. so do this.
@fix
Macros should be surrounded with do {} while() statements,
otherwise there can be issues, like the macro not requiring a semicolon
after the statement or etc.
@fix
Commit 101dee79b0 introduced critical errors, as standard
error callbacks now fail.
Apparently, these error callbacks depend on the installed version
of libjpeg (8 vs. 9).
I couldn't start E without this commit.
While we are likely will keep the embedded copy for a while to avoid a really
new dependency we allow now to use the external liblz4. You need at least
revision r120 and a package that ships the pc file for it.
Personally I would like to get rid of it rather sooner than later due to the
security implications and a bunch of code we ship but have no idea about.
Reality is that it will need some time until this new lib is actually
packaged and shipped with releases for a a majority of people.
This patch was co-worked with Doug Newgard <scimmia22@outlook.com>
The TGV file format and GL engine now support ETC1 encoding
with alpha using an extra texture.
This commit adds similar support to the Eet encoder/decoder.
@feature
Due to some invalid geometry considerations, there was a
1 pixel distortion in images, varying with the lz4 compressed
macro-block size.
Anyhow, I couldn't wrap my head around Cedric's code. So I rewrote
the whole thing instead, fixed it and improved the block size
selection (based on the image size, to optimize lz4 compression).
There were a few critical issues:
- Invalid pointer arithmetics on the input data (char vs. int)
- Invalid logic in the pixel duplication code
All of these due to bad copy and paste :(
Also, use LZ4HC instead of LZ4 when compression is enabled.
ETC1 encoding is so damn slow you won't see the difference between
LZ4 and LZ4HC compression times.
Dynamic memory stored in 'deciphered_d' allocated through function
'eet_decipher' at line 1385 can be lost at line 1408. Also there are 3
similar errors on line(s) 1427, 1430, 1450.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>