add WEBP_DSP_INIT / WEBP_DSP_INIT_FUNC

this internalizes the init checks and provides stronger synchronization
with pthreads when available while still allowing VP8GetCPUInfo to be
modified (mostly for testing purposes). windows is left as is since a
critical section or mutex would cause a leak.

Change-Id: Ieb997e014f2805c0ae39c16f13337663521356f4
This commit is contained in:
James Zern
2018-04-16 20:19:54 -07:00
committed by Pascal Massimino
parent e122e511cf
commit d77bf512bd
15 changed files with 54 additions and 104 deletions

View File

@ -126,7 +126,7 @@ static WEBP_INLINE int LinearToGamma(uint32_t base_value, int shift) {
#else
static WEBP_TSAN_IGNORE_FUNCTION void InitGammaTables(void) {}
static void InitGammaTables(void) {}
static WEBP_INLINE uint32_t GammaToLinear(uint8_t v) { return v; }
static WEBP_INLINE int LinearToGamma(uint32_t base_value, int shift) {
return (int)(base_value << shift);
@ -238,7 +238,7 @@ static WEBP_INLINE uint32_t LinearToGammaS(uint32_t value) {
#else
static WEBP_TSAN_IGNORE_FUNCTION void InitGammaTablesS(void) {}
static void InitGammaTablesS(void) {}
static WEBP_INLINE uint32_t GammaToLinearS(int v) {
return (v << GAMMA_TO_LINEAR_BITS) / MAX_Y_T;
}