Signed-off-by: Bruce Lai <bruce.lai@sifive.com>
Change-Id: Ibdc742040940ee6c6402de103759f979f9429419
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4401739
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
When `libyuv` is built with `jpeg` support it does not directly link
`libjpeg` in any form. As a result dynamic loading of the library
fails as:
>>> import pillow_avif._avif
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib/libyuv.so: undefined symbol: jpeg_resync_to_restart
We can reproduce the same problem at build time if we build `libyuv` with
`LDFLAGS=-Wl,--no-undefined`:
[ 99%] Linking CXX executable yuvconstants
ld: CMakeFiles/yuv_shared.dir/source/mjpeg_decoder.cc.o: in function `libyuv::MJpegDecoder::MJpegDecoder()':
mjpeg_decoder.cc:(.text+0xfc): undefined reference to `jpeg_resync_to_restart'
ld: mjpeg_decoder.cc:(.text+0x136): undefined reference to `jpeg_std_error'
ld: mjpeg_decoder.cc:(.text+0x194): undefined reference to `jpeg_CreateDecompress'
The change links `libgpeg` against `libyuv` itself to make it a
self-contained library. This fixes both loading if the library
itself and fixes linking of the library against other binaries
without explicit need for passing `-ljpeg`.
Change-Id: I044acb3799920e1536bdb3388442a40d4839348b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4050883
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Suppress the following MSVC compiler warnings:
src\source\cpu_id.cc(140): warning C4996: 'fopen': This function or
variable may be unsafe. Consider using fopen_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
src\source\cpu_id.cc(169): warning C4996: 'fopen': This function or
variable may be unsafe. Consider using fopen_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Note that build/config/win/BUILD.gn defines _CRT_SECURE_NO_DEPRECATE
instead. _CRT_SECURE_NO_WARNINGS is the new name of the macro. See
https://docs.microsoft.com/en-us/cpp/c-runtime-library/security-features-in-the-crt?view=msvc-140
Bug: libyuv:939
Change-Id: I0d1715b31e672126c35e29b99f5cbf08e4338f40
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3807104
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
These changes were landed in the android's snapshot of libyuv.
Pushing those to upstream so that they can be kept in sync.
Android changes:
http://aosp/1949358http://ag/17942984
Bug: b/241008246
Change-Id: Id0bcff13e2e6ad5a132141a50ccdfd72f551113d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3803131
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Fix the follwing Ninja warning:
ninja: warning: multiple rules generate yuv.lib. builds involving this
target will not be correct; continuing anyway [-w dupbuild=warn]
Without this change, both the static library and the DLL's import
library are named "yuv.lib". With this change, the DLL's import library
is named "libyuv.lib", corresponding to the DLL name "libyuv.dll".
Bug: libyuv:939
Change-Id: I879e51b54070e5ab8cb128adb5dde765f881dbec
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3806073
Commit-Queue: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
When detected, add the necessary defines to actually use it.
Change-Id: I540c3e11e480be8aaab154ad91ee08cdc52319de
Reviewed-on: https://chromium-review.googlesource.com/988432
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
As per the preparation patch added in Chromium sources at,
2150943003: Add MIPS SIMD Arch (MSA) build flags for GYP/GN builds
This patch adds first MSA optimized function in libYUV project.
BUG=libyuv:634
R=fbarchard@google.com
Review URL: https://codereview.chromium.org/2285683002 .
A hang in color conversion on arm occurs somewhere in yuv to rgb.
Breaking the color test into its own category of test will help
run selective tests to narrow down the issue.
R=harryjin@google.com
BUG=libyuv:506
Review URL: https://codereview.chromium.org/1405543003 .
previously the neon source code was broken into a separate
library built with -mfpu=neon for the neon assembly, while
the C code was built without neon.
In this change, the neon code is added to the main library
and all code built with neon.
TBR=harryjin@google.com
BUG=libyuv:371
Review URL: https://codereview.chromium.org/1392043003 .