24 Commits

Author SHA1 Message Date
Frank Barchard
2b4453d46f Deprecate MIPS and MSA support.
- Remove *_msa.cc source files
- Update build files
- Update header references, planar ifdefs for row functions
- Update documentation on supported platforms
- Version bumped to 1921
- clang-format applied

Bug: 434383432
Change-Id: I072d6aac4956f0ed668e64614ac8557612171f76
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7045953
Reviewed-by: Justin Green <greenjustin@google.com>
2025-10-16 12:20:40 -07:00
Hang Nguyen
a43f62aa40 Enable CFI assembly support
Adds the sanitizer for the static library libyuv to enable CFI assembly
support

Bug: 400789169
Change-Id: I9be82d90d60535fdf59e4e729778a455e946e4cc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6414818
Reviewed-by: James Zern <jzern@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2025-03-31 10:47:47 -07:00
Hang Nguyen
4ed75166cf Enable cfi in sanitizers for library
This CL enables the CFI checks for libyuv to be used as a
shared library.

Bug: 400789169
Change-Id: I8c71df235ad6962d02740c976972d8f9dcea6c52
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6353950
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: James Zern <jzern@google.com>
Commit-Queue: Hang Nguyen <hnt@chromium.org>
2025-03-14 11:34:37 -07:00
Frank Barchard
6dc03dacbf Split scale_test and scale_plane_test to allow building on small devices
Bug: libyuv:956
Change-Id: I1903aa616243e891440ed92836dfb0992d31d4cd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5107257
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2023-12-09 18:39:41 +00:00
Sadaf Ebrahimi
6ff3691027 Edit Android.bp after refactor in AOSP
Bug: None
Change-Id: I29ec78cbd49c6901f11d2a0f5fc8f0929940f49c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4824267
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Sadaf Ebrahimi <sadafebrahimi@google.com>
2023-08-30 15:41:21 +00:00
Frank Barchard
2a5d7e2fbc FilterRows_NEON - remove unused function - same as InterpolateRow_NEON
- Bump version to 1872
- Add scale_rvv to build files

Bug: libyuv:956
Change-Id: Ib9e9fd840a0774bd35bcdcca55a2596f33272383
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4608519
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-13 15:20:02 +00:00
Vignesh Venkatasubramanian
1cd65f7865 Android.bp: Add -DLIBYUV_UNLIMITED_DATA flag
This was added in the android internal master here: ag/19780505.

This keeps the upstream checkout in sync with the android
snapshot.

Bug: b/268505204
Change-Id: Ie821ebb6914c208b0cfa7127faf56ad2bcece6ac
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4581052
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Vignesh Venkatasubramanian <vigneshv@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2023-06-01 19:25:27 +00:00
Prashanth Swaminathan
8b4aa7cef9 Add RVV files to Android and GN builds
Include row_rvv.cc source file and support for riscv64 builds in Android
and GN builds. Adds GN build flag to disable RISC-V vector operations.
Switches dynamic linker to 64-bit by default, with exceptions for 32-bit
targets as defined in //build/config/android/abi.gni.

Bug: b/280364043
Test: Verified local build via Android and GN.
Change-Id: I1bbd36f16aafa16d4bfd117de03354be79743a9d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4501727
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2023-05-09 15:31:51 +00:00
Vignesh Venkatasubramanian
e65dacada5 Android.bp: Remove reference to LICENSE_THIRD_PARTY
This file was removed in commit ebbe88ac.

Bug: b/241008246
Change-Id: Id08d9a6e550610c9b00755ed76edf1a255f48618
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3806159
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-08-02 22:13:44 +00:00
Frank Barchard
124bf08fee RGBScale function using 3 steps: RGB24ToARGB, ARGBScale, ARGBToRGB24
1920x1080 to/from 1280x720 to ARGB on Intel Skylake Xeon
RGBScaleTo1920x1080_Bilinear (2625 ms)
RGBScaleFrom1920x1080_Bilinear (2115 ms)
ARGBScaleTo1920x1080_Bilinear (1668 ms)
ARGBScaleFrom1920x1080_Bilinear (1164 ms)

Bug: b/224814071
Change-Id: Ifc7611b597409771728b13c9c39e5a7e06131021
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3537341
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-03-19 01:44:06 +00:00
Frank Barchard
2c6bfc02d5 Remove MMI support
Bug: libyuv:916
Change-Id: I345b7e271ceb4b32fe91e292915e66be40812810
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3415817
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2022-01-26 08:41:33 +00:00
Frank Barchard
d19f69d9df Update Android.bp to always enable NEON
Relax Cpu unittest to allow ARM emulator to run.

Bug: libyuv:863, libyuv:877, b/178283356
Change-Id: I3c751574219fdf731a3f9d4a79934a349acba446
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2950938
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2021-06-10 19:31:48 +00:00
Frank Barchard
08815a2976 Scale 12 functions that are scale 16 but with only low 12 bits valid
Rename yuvconstants to .c and use round from math.h

Bug: libyuv:882, b/180472591
Change-Id: I70720bf3e0833ba00df0d721f12020fba0b07a03
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2706966
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2021-02-19 18:04:48 +00:00
Frank Barchard
d768774299 add yuvconvstants util
miscellaneous cleanup of other code/comments

Bug: libyuv:873, libyuv:877
Change-Id: I0d8caf9a65908ff8898b25494f7c724775f84fa3
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2692930
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-12 19:45:16 +00:00
Frank Barchard
5c4dc242f4 MJPGToNV12 added and build files sorted
Bug: None
Change-Id: I87aa64a14bb3f0785f984f492e56fcf2313431ce
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2502780
Reviewed-by: Evan Shrubsole <eshr@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-28 16:24:38 +00:00
Frank Barchard
e647902212 NV12Scale function and ScaleUV for packed UV plane bilinear scaling
Bug: libyuv:718, libyuv:838, b/168918847
Change-Id: I3300c1e7d51407b9c3201cf52b68e2e11346ff5f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2427868
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2020-09-29 23:49:05 +00:00
Frank Barchard
eed202f1f3 i444tonv12_eg example program
Bug: libyuv:858
Change-Id: I1b970f57a6ff6288afc8f60b2244e51bf6d30e78
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2169341
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-04-28 16:35:49 +00:00
Chong Zhang
c6dcbdfaac Sync up Android.bp file with master
Change-Id: I708b2253902cb2d3a78cf7a334f8846dd732b7d1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1682526
Reviewed-by: Chong Zhang <chz@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Chong Zhang <chz@google.com>
2019-07-02 00:15:11 +00:00
Frank Barchard
57de382902 MMI ifdef guards and add source to various build files.
Bug: libyuv:810,libyuv:811
Test: cmake . && make
Change-Id: I521b45ccb6e49ff70823e415efa99fc5b9daad99
Reviewed-on: https://chromium-review.googlesource.com/1162503
Reviewed-by: Johann Koenig <johannkoenig@google.com>
2018-08-03 18:37:23 +00:00
Frank Barchard
83aa7512c1 AVX512 VMBI version of ARGBToRGB24
Use VMBI instructions but on AVX2 registers to avoid clockrate change.

Bug: libyuv:778
Test: LibYUVConvertTest.NV21ToRGB24_Opt
Change-Id: Id4f8ad1e0e142a380c8a46c5eab90ce145a10edd
Reviewed-on: https://chromium-review.googlesource.com/956609
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2018-03-10 02:04:48 +00:00
Frank Barchard
3b81288ece Remove Mips DSPR2 code
Bug: libyuv:765
Test: build for mips still passes
Change-Id: I99105ad3951d2210c0793e3b9241c178442fdc37
Reviewed-on: https://chromium-review.googlesource.com/826404
Reviewed-by: Weiyong Yao <braveyao@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2017-12-14 18:22:16 +00:00
Frank Barchard
258057f988 Use -Werror in external/libyuv/files
Bug: libyuv:750
Test: build with WITH_TIDY=1
Change-Id: I09b7c24f52d0daa72fe7d1928d11a56208526bd1
Reviewed-on: https://chromium-review.googlesource.com/748307
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
2017-11-01 17:30:10 +00:00
Frank Barchard
3e5bbea5bf Add test programs to Android.bp
Bug: libyuv:746
Test: mm cpuid yuvconvert compare psnr libyuv_unittest
Change-Id: I08f6d5b519151f274e6baee993eb74950161ef53
Reviewed-on: https://chromium-review.googlesource.com/726749
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-10-19 01:20:17 +00:00
Frank Barchard
e4aa6aad48 Add Android.bp build file for Android master
Bug: libyuv:746
Test: mm from android repo
Change-Id: I7c124acfacc87cc263b19483cea79a63084f3f96
Reviewed-on: https://chromium-review.googlesource.com/724237
Reviewed-by: Frank Barchard <fbarchard@google.com>
Commit-Queue: Frank Barchard <fbarchard@google.com>
2017-10-18 18:36:37 +00:00