skal
23d28e216d
add doc precision for WebPPictureCopy() and WebPPictureView()
...
output picture object is overwritten, not free'd or destroyed.
Change-Id: Ibb47ab444063e7ad90ff3d296260807ffe7ddbf9
2013-05-31 10:41:19 +02:00
skal
af358e68ed
Merge "remove datatype qualifier for vmnv"
2013-05-23 06:12:06 -07:00
skal
3fe91635df
remove datatype qualifier for vmnv
...
this fix is for clang (LLVM v4.2). gcc was fine.
Change-Id: Id4076cda84813f6f9548a01775b094cff22b4be9
2013-05-23 13:52:24 +02:00
skal
91413be2f9
reduce memory for VP8MB and remove bitfields use
...
~1% faster on ARMv7
Change-Id: I3e3524e0c25ebd31a04269aae0d304932f1a781a
2013-05-21 23:20:04 +02:00
Vikas Arora
7413394e7f
Fix the memory leak in ApplyFilters.
...
Change-Id: Iba1b1adf3088ea9c43e4f602a93e77450f6c6170
2013-05-21 14:00:26 -07:00
skal
2053c2cff2
simplify the alpha-filter testing loop
...
Change-Id: Iacebae749c37edc87a3c94c76cd589a2565ee642
2013-05-21 10:29:27 +02:00
skal
0d25876bad
use uint8_t for inv_palette[]
...
Change-Id: I5005ce68d89bfb657d46ad8acc4368c29fa0c4fd
2013-05-18 17:13:58 +02:00
skal
afa3450c11
Fix the bug in ApplyPalette.
...
The auto-infer logic of detecting the 'Alpha' use case
(via check '(palette[i] & 0x00ff00ffu) != 0' is failing
for this corner case image with all black pixels (rgb = 0)
and different Alpha values.
-> switch generic use-LUT detection
Change-Id: I982a8b28c8bcc43e3dc68ac358f978a4bcc14c36
2013-05-18 17:03:18 +02:00
pascal massimino
2d6ac422cf
Merge "webp/lossless: fix big endian BGRA output"
2013-05-17 00:36:15 -07:00
James Zern
2ca83968ae
webp/lossless: fix big endian BGRA output
...
Change-Id: I3d4b3d21f561cb526dbe7697a31ea847d3e8b2c1
2013-05-17 00:32:01 -07:00
Vikas Arora
742110ccce
Speed up ApplyPalette for ARGB pixels.
...
Added 1 pixel cache for palette colors for faster lookup.
This will speedup images that require ApplyPalette by 6.5% for lossless
compression.
Change-Id: Id0c5174d797ffabdb09905c2ba76e60601b686f8
2013-05-16 15:44:21 -07:00
skal
2451e47dca
misc code cleanup
...
* remove dec->skip_
* fix some naming
(no speed diff observed)
Change-Id: I12545ef79d29dd6f893c344d8fb171b0a8c7cc46
2013-05-15 20:03:15 +02:00
pascal massimino
d5f9b8f383
Merge "libwebp: fix vp8 encoder mem alloc offsetting"
2013-05-15 00:41:14 -07:00
James Zern
d8edd83551
libwebp: fix vp8 encoder mem alloc offsetting
...
'mem' was being offset once by DO_ALIGN() then shifted 'nz_size' which
would end up accounting for more than ALIGN_CST and exceed the allocation.
broken since:
9bf3129 align VP8Encoder::nz_ allocation
Change-Id: I04a4e0bbf80d909253ce057f8550ed98e0cf1054
2013-05-15 00:31:23 -07:00
skal
8983b83ee1
remove use of bit-fields in VP8FInfo
...
(in favor of just plain uint8_t's)
Change-Id: I6187587a4d8a9f5c304a132d98ec42ce24fd244a
2013-05-15 09:21:30 +02:00
skal
87a4fca25f
remove some warnings:
...
* "declaration of ‘index’ shadows a global declaration [-Wshadow]"
* "signed and unsigned type in conditional expression [-Wsign-compare]"
Change-Id: I891182d919b18b6c84048486e0385027bd93b57d
2013-05-14 22:28:32 +02:00
Pascal Massimino
ba8f74e229
Merge "fix for big-endian"
2013-05-14 01:58:06 -07:00
pascal massimino
a65067fa77
Merge "Further reduce memory to decode lossy+alpha images"
2013-05-14 01:56:54 -07:00
Urvang Joshi
64c844863a
Further reduce memory to decode lossy+alpha images
...
Earlier such images were using roughly 9 * width * height bytes for
decoding. Now, they take 6 * width * height memory.
Change-Id: Ie4a681ca5074d96d64f30b2597fafdca648dd8f7
2013-05-13 16:24:49 -07:00
Urvang Joshi
332130b9b3
Mux: make a few methods static
...
Change-Id: I8a8b0b403116c89933e84c93502a8230026f819e
2013-05-13 13:26:33 -07:00
Pascal Massimino
4437061735
fix for big-endian
...
(Issue #150 : https://code.google.com/p/webp/issues/detail?id=150 )
Change-Id: Iad46d375a8c5eabae37cde8f55b3e7448601f264
2013-05-13 10:19:29 -07:00
pascal massimino
5fbc734b90
Merge "GetFeatures: Detect invalid VP8X/VP8/VP8L data"
2013-05-11 00:51:39 -07:00
pascal massimino
d5060c873c
Merge "mux.h: A comment fix + some consistency fixes"
2013-05-11 00:41:35 -07:00
Urvang Joshi
352d0dee99
GetFeatures: Detect invalid VP8X/VP8/VP8L data
...
This facilitates early error detection during decode/render.
Also, related refactoring.
Change-Id: Ia6c7cd91dec202a2a68dae2118f5981cf1eaa83d
2013-05-10 14:27:11 -07:00
Urvang Joshi
3ef79fefec
Cosmetic: "width * height"
...
Change-Id: I567c0d95355160a9f6721f949b38e2b8b6270b7a
2013-05-10 13:39:58 -07:00
Urvang Joshi
5818cff770
mux.h: A comment fix + some consistency fixes
...
Change-Id: I0aee1090322bac3ae3dabf9a48661cbb6de3ca52
2013-05-10 13:35:16 -07:00
Vikas Arora
8eae188a62
WebP-Lossless encoding improvements.
...
Lossy (with Alpha) image compression gets 2.3X speedup.
Compressing lossless images is 20%-40% faster now.
Change-Id: I41f0225838b48ae5c60b1effd1b0de72fecb3ae6
2013-05-08 17:22:11 -07:00
pascal massimino
4cb234d5b5
Merge "Mux: make ValidateForSingleImage() method static"
2013-05-08 01:54:28 -07:00
pascal massimino
ed6f53086b
Merge "Add GetCanvasSize() method to mux"
2013-05-08 01:53:22 -07:00
Urvang Joshi
1d530c9a7e
Mux: make ValidateForSingleImage() method static
...
Change-Id: I96ac5e3be26b8e8ecd9f055501a5feb7710bc324
2013-05-07 12:57:51 -07:00
Urvang Joshi
fffefd18c3
Add GetCanvasSize() method to mux
...
Change-Id: If910f5024f4c301a92e6c2e8ee9c315a103c5df7
2013-05-07 12:47:48 -07:00
Urvang Joshi
edccd19436
Alpha decoding: significantly reduce memory usage
...
Simply get rid of an intermediate buffer of size width x height, by
using the fact that stride == width in this case.
Change-Id: I92376a2561a3beb6e723e8bcf7340c7f348e02c2
2013-05-02 18:24:46 -07:00
skal
9c4ce971a8
Simplify forward-WHT + SSE2 version
...
no precision loss observed
speed is not really faster (0.5% at max), as forward-WHT isn't called often.
also: replaced a "int << 3" (undefined by C-spec) by a "int * 8"
( supersedes https://gerrit.chromium.org/gerrit/#/c/48739/ )
Change-Id: I2d980ec2f20f4ff6be5636105ff4f1c70ffde401
2013-04-26 08:57:18 +02:00
skal
878b9da5bf
fix missed optim
...
it's not often the case, but could happen, that chroma has non-zero
coeff but luma hasn't. In such case, we should skip luma right away
Change-Id: I9515573ffaec8aad8b069d2c02ffbda4a6eff97c
2013-04-25 22:46:12 +02:00
Urvang Joshi
00046171a5
VP8GetInfo(): Check for zero width or height.
...
Change-Id: I0bf40621ed0776e1a185ad8abab5a914a3d29d69
2013-04-25 12:08:40 -07:00
James Zern
9bf312938f
align VP8Encoder::nz_ allocation
...
prevents unaligned uint32_t load/store
Change-Id: I3f5e1b434a7452f618009d5e4bbe4f3260e3e321
2013-04-25 02:55:39 -07:00
skal
5da165cfad
fix CheckMode() signature
...
should have been 'const VP8Decoder* const dec', but actually
we just need to pass mb_x_ and mb_y_
Change-Id: I21ca0d67ab33302d6eaa45698d53ed6c2de76981
2013-04-24 14:33:44 +02:00
pascal massimino
0ece07dcb1
Merge "explicitly pad bitfields to 32-bits"
2013-04-22 13:13:29 -07:00
James Zern
9dbc9d1909
explicitly pad bitfields to 32-bits
...
suggested by fbarchard@chromium; may affect alignment in some cases
Change-Id: I63552eb1a0f9e81754d30ce6e9b1cfe5748bdbc9
2013-04-22 13:00:28 -07:00
pascal massimino
5369a80fd4
Merge "prevent signed int overflow in left shift ops"
2013-04-19 00:13:16 -07:00
pascal massimino
70e3971260
Merge "cosmetics: remove unnecessary ';'s"
2013-04-19 00:11:10 -07:00
pascal massimino
d3136ce27d
Merge "don't forward declare enums"
2013-04-19 00:10:39 -07:00
Urvang Joshi
94328d6457
Demux: Fix a potential memleak
...
Change-Id: Ic0dcac010da088b791c130be4abacdd8c31e92cf
2013-04-16 14:13:45 -07:00
James Zern
96e948d7b0
don't forward declare enums
...
doing so is not part of ISO C; removes some pedantic warnings
Change-Id: I739ad8c5cacc133e2546e9f45c0db9d92fb93d7e
2013-04-13 11:08:42 -07:00
James Zern
f4f90880a8
prevent signed int overflow in left shift ops
...
force unsigned when shifting by 24.
Change-Id: Ie229d252e2e4078107cd705b09397e686a321ffd
2013-04-13 10:57:31 -07:00
James Zern
0261545e0b
cosmetics: remove unnecessary ';'s
...
Change-Id: I5fefd9a5b2fe3795c2b5d785c30335b85bac0b43
2013-04-13 10:49:35 -07:00
James Zern
7ebdf110af
Merge "Fix few missing comparisons to NULL"
2013-04-13 10:42:51 -07:00
Pascal Massimino
1579989e7b
Fix few missing comparisons to NULL
...
Change-Id: I0d2ff8e8b507d17e80669b2b59fd5b017af995ed
2013-04-13 10:36:33 -07:00
Pascal Massimino
ea1b21cfdb
Cleaned up VP8GetHeaders() so that it parses only frame header
...
Removed a call to WebPParseHeaders() inside VP8GetHeaders(). This was not needed
anyway, as all call flows already call WebPParseHeaders() before calling
VP8GetHeaders().
This avoids duplicate calls to WebPParseHeaders().
Change-Id: Icb2d618bd26c44220d956c17a69c9c45a62d5237
2013-04-11 11:35:18 -07:00
Pascal Massimino
ff885bfe1f
add precision about dynamic output reallocation with IDecoder
...
The output surface CAN be changed inbetween calls to
WebPIUpdate() or WebPIAppend(), but with precautions.
Change-Id: I899afbd95738a6a8e0e7000f8daef3e74c99ddd8
2013-04-09 18:05:11 -07:00