Files
libwebp/src/dsp
James Zern de6aee46e1 Reapply "dsp/lossless{,_enc}_sse2.c: reorder *_SSE assignments"
This reverts commit 61e5c391d6.

When `WEBP_USE_THREAD` is not defined the assignments of *_SSE and their
unsuffixed counterparts may race. Assigning *_SSE directly rather than
relying on the unsuffixed values avoids a case where the *_SSE variants
may refer to the calling function (i.e., AVX2) resulting in infinite
recursion.

Defining `WEBP_USE_THREAD` is recommended when decode/encode calls can
be made from different threads.

In the previous commit (2246828b) not all indices of
`VP8LPredictorsAdd_SSE[]` were assigned a value, namely 14 and 15. These
are used in handling invalid bitstreams to avoid a branch in a hot
function. The indices are now assigned to `PredictorAdd0_SSE2` which
mimics `VP8LPredictorsSub[]` in lossless_enc_sse2.c.

Bug: 435213378, 438295348, 438294044, 438264629, 438294033
Change-Id: I3623717597f0ac6b0d60429adfbb20c611fe6742
2025-08-14 13:22:56 -07:00
..
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-03-28 11:44:03 +01:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00
2025-07-31 14:53:58 -07:00