summaryrefslogtreecommitdiff
path: root/src/dsp/cost.c
Commit message (Collapse)AuthorAgeFilesLines
* move VP8GetCPUInfo declaration to cpu.cJames Zern2023-04-271-0/+1
| | | | | | | | | | | | | | This avoids defining a version in each translation unit when using __declspec(dllexport) which causes failures due to multiply defined symbols with clang-cl: lld-link: error: duplicate symbol: VP8GetCPUInfo >>> defined at CMakeFiles\webpdecode.dir\Debug\src\dec\alpha_dec.c.obj >>> defined at CMakeFiles\webpdsp.dir\Debug\src\dsp\dec_sse41.c.obj ... Bug: webp:607 Change-Id: I6cd1ee75b3db984aa513263a05516e867a64925d
* dsp/*: use WEBP_HAVE_* to determine Init availabilityJames Zern2021-07-241-2/+2
| | | | | | | | | | | | | | after: ece18e55 dsp.h: respect --disable-sse2/sse4.1/neon WEBP_USE_* will be set when a module is targeting a particular instruction set, e.g., sse4.1, and not overridden if WEBP_HAVE_SSE41 is set, as previously this would ignore the case where the instruction set was disabled via config.h and the HAVE macro was unset. dsp.h not ensures WEBP_HAVE_* are set when WEBP_USE_* to cover cases where the files are built without config.h. Change-Id: Ia1c2dcf4100cc1081d968acb6e085e2a1768ece6
* neon: SetResidualCoeffsJohann2018-11-141-0/+6
| | | | | | | | | | | | Much faster with aarch64. Still somewhat faster without vmaxv. C: 3.700s ArmV7: 3.675 aarch64: 3.600 BUG=b/118740850 Change-Id: I3be852da89633eca4bddce443c87f5e4a2f55868
* add WEBP_DSP_INIT / WEBP_DSP_INIT_FUNCJames Zern2018-04-171-8/+1
| | | | | | | | | 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
* WIP: list includes as descendants of the project dirJames Zern2017-10-101-2/+2
| | | | | | #include "(.|..)/..." -> #include "src/..." Change-Id: I772880aa097a770722043c8a4393552ba38a89b6
* cost*.c: harmonize the suffix namingsskal2017-07-311-5/+5
| | | | | | BUG=webp:355 Change-Id: Ic2e60eaab71cdffe1ebf93fc36aaa3eb25bbf08d
* src/{dec,enc,utils}: give filenames a unique suffixJames Zern2017-01-191-1/+1
| | | | | | | | | | this avoids duplicates between these trees and dsp/, e.g., enc/tree.c, dec/tree.c, making pulling the whole library source tree into one target possible BUG=webp:279 Change-Id: I060a614833c7c24ddd37bf641702ae6a5eef1775
* 1-2% faster encoding by removing an indirection in GetResidualCost()Pascal Massimino2015-02-191-3/+3
| | | | | | | The MIPS code for cost is not updated yet, that's why i keep Residual::*cost around for now. Should be removed in favor of *costs later. Change-Id: Id1d09a8c37ea8c5b34ad5eb8811d6a3ec6c4d89f
* 4-5% faster encoding using SSE2 for GetResidualCostPascal Massimino2015-02-181-6/+2
| | | | | | new file: cost_sse2.c Change-Id: I4896c07f5ff2443ef743f4435fe2758d95a672ed
* move some cost tables from enc/ to dsp/James Zern2015-02-111-0/+304
| | | | | | | | | removes circular dependency between dsp and enc. since: a987fae MIPS: dspr2: added optimization for function GetResidualCost Change-Id: Ifeb8fc02de89e2ba982ed7ffacd925d649bfec3c
* VP8EncDspCostInit*: add missing TSan annotationsJames Zern2015-02-091-1/+8
| | | | Change-Id: I4cdb84bc8c9a8c6aa34b5773c8fb69e5810a9809
* MIPS: dspr2: added optimization for function GetResidualCostPascal Massimino2015-02-071-0/+105
set/get residual C functions moved to new file in src/dsp mips32 version of GetResidualCost moved to new file Change-Id: I7cebb7933a89820ff28c187249a9181f281081d2