diff options
Diffstat (limited to 'src/dsp/lossless.c')
-rw-r--r-- | src/dsp/lossless.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dsp/lossless.c b/src/dsp/lossless.c index a1bf3584..ee334bce 100644 --- a/src/dsp/lossless.c +++ b/src/dsp/lossless.c @@ -1590,7 +1590,12 @@ extern void VP8LDspInitSSE2(void); extern void VP8LDspInitNEON(void); extern void VP8LDspInitMIPS32(void); +static volatile VP8CPUInfo lossless_last_cpuinfo_used = + (VP8CPUInfo)&lossless_last_cpuinfo_used; + void VP8LDspInit(void) { + if (lossless_last_cpuinfo_used == VP8GetCPUInfo) return; + memcpy(VP8LPredictors, kPredictorsC, sizeof(VP8LPredictors)); VP8LSubtractGreenFromBlueAndRed = VP8LSubtractGreenFromBlueAndRed_C; @@ -1634,6 +1639,7 @@ void VP8LDspInit(void) { } #endif } + lossless_last_cpuinfo_used = VP8GetCPUInfo; } //------------------------------------------------------------------------------ |