This gives a similar structure to libwebp and fixes a bug where passing
NULL to SharpYuvInit() would unconditionally set optimized function
pointers. SharpYuvInit() is left as an undocumented public function and
SharpYuvGetCPUInfo is kept private to serialize updates to the pointer.
Change-Id: Id72fbf3ba5b396367510e3bcd1ee2e4e11b95b8c
when threading is disabled; fixes:
src/enc/analysis_enc.c:429:15: warning: Value stored to 'split_row'
during its initialization is never read [deadcode.DeadStores]
const int split_row = (9 * last_row + 15) >> 4;
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
Change-Id: I2b02173bb8c930ed54360cce5c7b88ecce098d83
* changes:
webp-container-spec: add prose for rendering process
webp-container-spec: note reserved fields MUST be ignored
webp-lossless-bitstream-spec: improve 'small' color table stmt
webp-container-spec: remove redundant sentence
doc/webp-*: fix some punctuation, grammar
webp-container-spec: clarify background color note
webp-container-spec: come too late -> out of order
webp-container-spec: prefer hex literals
webp-container-spec: change SHOULD to MUST w/ANIM chunk
webp-container-spec: add unknown fields MUST be ignored
webp-container-spec: make padding byte=0 a MUST
webp-container-spec: update note on trailing data
webp-container-spec: clarify Chunk Size is in bytes
this has a better canonical reference [1] and is preferred in IETF docs
[1] https://www.rfc-editor.org/rfc/rfc5234
Bug: webp:448
Change-Id: I3f0bd34d3ca4c62b255d5d6cbae0c55e2940dfb5
clarify that the data is after the size specified by the file size in
the header; an alternate way to read the previous statement was that the
data was after the 'WEBP' fourcc.
based on comments from:
https://datatracker.ietf.org/doc/draft-zern-webp/ballot/#draft-zern-webp_robert-wilton
Bug: webp:448
Change-Id: I7c5c5440a94cb817da51fe07d1ccf45d6af0f001
GLUT_glut_LIBRARY is a cache variable that is not recommended for use:
from cmake-3.24/Modules/FindGLUT.cmake:
This module may set the following variables depending on platform.
These variables may optionally be set to help this module find the
correct files, but clients should not use these as results:
...
``GLUT_glut_LIBRARY``
The full path to the glut library.
based on a patch in the Krita and vcpkg projects:
7d51396a7a/3rdparty/ext_webp/0009-glut.patchhttps://github.com/microsoft/vcpkg/blob/master/ports/libwebp/0009-glut.patch
Change-Id: If54e26cb1e4e2f582e40eebd7e49d7cc566dbb81
when WEBP_USE_THREAD=1; this is necessary after:
0d1b9bc4 WEBP_DEP_LIBRARIES: use Threads::Threads
fixes:
CMake Error at WebPTargets.cmake:76 (set_target_properties):
The link interface of target "WebP::webp" contains:
Threads::Threads
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
Bug: webp:583
Change-Id: I19633bcceccacb95be06aa9610512127f3c288a6
Fixed: webp:583
since:
bfad7ab5 CMakeLists.txt: correct libwebpmux name in WebPConfig.cmake
replace list(TRANSFORM ...) with string(REGEX REPLACE ...); the former
was added in 3.12, but currently 3.7 is supported
Change-Id: Ie2de2cf083c937ce0bb4d402d6f2452c09de0cea
`add_definitions` has been superseded by `add_compile_options` and
options added via `add_definitions` can have surprising behavior,
particularly when including `libwebp` as a sub-project via
`FetchContent`.
Change-Id: Icb8478dc92017576028becfd92c4567b4095fa60
using the defaults present in 0.6.13 and setting
--first-comment-is-literal to avoid reflowing the copyright block and
--max-subgroups-hwrap 3 (default is 2) to avoid making some short set()
statements multi-line.
Change-Id: I77ec1f05a819f09c0143d6069c56b6e771ac6a37
this matches the behavior in autoconf and avoids expanding the ${var}
references in the files; the .pc files now match the autoconf install.
pointed out by @kmilos in:
https://github.com/AOMediaCodec/libavif/pull/1035#discussion_r947847183
Change-Id: Ib1950a290b73b7e689658e6c2f25c8784b586180
* changes:
picture_csp_enc.c: remove SafeInitSharpYuv
sharpyuv: prefer webp/types.h
sharpyuv,SharpYuvInit: add mutex protection when available
sharyuv_{neon,sse2}.c: merge WEBP_USE_* sections
add a few missing <stddef.h> includes for NULL
sharpyuv.h: remove <inttypes.h>
thread safety was internalized in:
782ed48c sharpyuv,SharpYuvInit: add mutex protection when available
Change-Id: I2877e7bb78bf89ad7504c33d04b22952c0c0a968
this provides better compatibility for older Visual Studio versions;
stdint.h is a part of C99.
this is consistent with the core libwebp library:
8fbb9188 prefer webp/types.h over stdint.h
Change-Id: I777cad70d9a407646c4193db9ca0f09e65d88735
move WEBP_EXTERN definition from Makefile.vc to webp/types.h using the
existing WEBP_DLL define to control its declaration to
__declspec(dllexport); the same is done for SHARPYUV_EXTERN
Change-Id: Iecea360305bdd19a878255470a00b9dcc344c730
this is similar to WEBP_DSP_INIT and avoids the potential for a race in
initializing the function pointers and gamma table
Change-Id: I15af7d1a3e92c42eaa735751ca33eba0d1e83283
this hasn't been needed since:
93c54371 sharpyuv: add support for 10/12/16 bit rgb and 10/12 bit yuv.
Change-Id: I02051e8b576d7fd27824e13be0d087dc4e18209e