102 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
Jeremy Leconte
36edc5fa8b Fix assert(current_toolchain == default_toolchain) failure on win bots.
Bug: libyuv:440517010
Change-Id: Ida12cce239448dae40524b4b629981116eeadacd
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6904242
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2025-09-01 07:05:21 -07:00
Takuto Ikuta
ec10b61c58 Remove a reference to is_nacl
Nacl is gone.

Bug: 40511454
No-Try: true
Change-Id: I45a052685db1fc7578e980e9c310cf3ad183098b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6840894
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2025-08-13 23:41:04 -07:00
Takuto Ikuta
96134e95a7 BUILD.gn: Disable libc++ modules for NEON and SVE
The -march arguments used for NEON and SVE builds in libyuv are
incompatible with libc++ modules. This change disables libc++ modules
for these build configurations to fix the build.

Bug: 425535758
Change-Id: I578a0d9929c10177903c567bc268407470b45034
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6695664
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2025-07-01 10:34:37 -07:00
George Steed
1724c4be72 [AArch64] Add missing "+i8mm" feature when building SME
FEAT_I8MM is not unconditionally enabled with -march=armv9-a since it
only becomes mandatory from Armv9.1-A, so explicitly specify it in both
BUILD.gn and CMakeLists.txt.

Also flip the order of +sve2+i8mm => +i8mm+sve2 to match occurrences
elsewhere.

Change-Id: I8c37580d3718f380b772cdb726d8c30bcd5b9e2c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6656718
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2025-06-19 12:10:23 -07:00
Frank Barchard
889613683a Add hybrid detect for Intel laptop cpus
- Add +i8mm build option for sve ARGBToUV which uses usdot
- util/cpuid Get cpu count (windows, macos, linux)
- For each x86 cpu, detect hybrid (e-core)
- Includes a comment fix for ubsan unittest
- Bump version
- Apply clang format to util/*.c as well as all *.cc/*.h

Bug: 424637372
Change-Id: I08310e18051fff62c9e4e4a10d1e4361871119ac
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6635640
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2025-06-13 13:22:54 -07:00
Junji Watanabe
3489272e28 Support Siso builds
This CL adds Siso support to libyuv:
- Install Siso CIPD package.
- Add a DEPS hook to generate .sisoenv file.
- Generate gn_logs.txt to propagate GN variables to Siso.

No-Try: True
Bug: chromium:412968361
Change-Id: I32fa1f34b4db257e34ca7445577ceb619c50c097
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6589371
Reviewed-by: Christoffer Dewerin <jansson@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2025-05-27 01:54:30 -07:00
Björn Terelius
80d19e4906 Roll chromium_revision af3d01376b..f2539aa88a (1174635:1398488)
NOTE: The revision range is not quite correct due to the large number of manual changes.

* Update third_party/android_sdk/public/ packages in DEPS
* Update DEPS to cipd as required
* Add support for 'non_git_source'
* Update third_party/instrumented_libs
* Remove "terminal".qemu-x64 fuchsia boot image
* Use a normal dependency on clang-format instead of pulling based on hashes
* Add re2 and llvm libc to DEPS
* Remove dependency on //testing/android/native_test:native_test_native_code (this is to avoid getting an indirect dependency on rust through //base.)
* Add buildtools and third_party/instrumented_libs to recursedeps
* Allow for mac cross compile on linux



    Change log: af3d01376b..f2539aa88a
    Full diff: af3d01376b..f2539aa88a

    Changed dependencies
    * fuchsia_vesion: version:15.20230909.2.1..version:26.20241213.3.1
    * gn_vesion: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd
    * ninja_vesion: version:2@1.11.1.chromium.6..version:3@1.12.1.chromium.4
    * reclient_vesion: re_client_version:0.110.0.43ec6b1-gomaip..re_client_version:0.172.0.3cf60ba5-gomaip
    * src/base: d407b7061b..aefc825509
    * src/build: 5885d3c248..1923aa3e32
    * src/buildtools: 79ab87fa54..b8ff6f5a95
    * src/buildtools/linux64: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd
    * src/buildtools/mac: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd
    * src/buildtools/reclient: re_client_version:0.110.0.43ec6b1-gomaip..re_client_version:0.172.0.3cf60ba5-gomaip
    * src/buildtools/win: git_revision:fae280eabe5d31accc53100137459ece19a7a295..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd
    * src/ios: ddd58e86cf..15caecbcad
    * src/testing: 51e9a02297..0305a85a20
    * src/third_party: 2dc4b18abd..d9ea6d4e7d
    * src/third_party/androidx/cipd: jiSw6hD706772Ci0lovUctvq0azknqPQ5bXgSdeLRLoC..UgU67e5iHzB2He0pnVLopdT8E6Z-vYa65s2LUhagBfoC
    * src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/20a06474c0..c361e27940
    * src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/fa05d995e1..e7c18388ac
    * src/third_party/clang-format/script: f97059df7f..37f6e68a10
    * src/third_party/depot_tools: d3e43dd431..fcb6178914
    * src/third_party/freetype/src: 9e3c5d7e18..38272bf853
    * src/third_party/googletest/src: af29db7ec2..f3c355f9dd
    * src/third_party/harfbuzz-ng/src: db700b5670..1c249be96e
    * src/third_party/icu: e8c3bc9ea9..bbccc2f6ef
    * src/third_party/junit/src: 05fe2a64f5..0eb5ce7284
    * src/third_party/kotlin_stdlib/cipd: VqqnQS2oBxM8b3Q7CDJaGfa-QQoOPx9weNRX1avHGNoC..GjL64HceCa9uCZWJ1u-a174ay-7m1EZTupVwLzzxbrEC
    * src/third_party/libc++/src: 84fb809dd6..d0ddad5b79
    * src/third_party/libc++abi/src: 8d21803b90..02cb512292
    * src/third_party/libjpeg_turbo: 30bdb85e30..927aabfcd2
    * src/third_party/libunwind/src: f1c687e0aa..d1e95b102f
    * src/third_party/libunwindstack: 4dbfa0e8c8..215bddfd8e
    * src/third_party/nasm: 7fc833e889..f477acb104
    * src/third_party/ninja: version:2@1.11.1.chromium.6..version:3@1.12.1.chromium.4
    * src/third_party/r8/cipd: jnP8YjPJaWAXthtBv-bT_5HD3c6ywpAmGL31ZURB3fgC..q_wvk54XItTBlBNQMHkS4NRMp-tapPW97M292KTXHrsC
    * src/third_party/r8/d8/cipd: o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC..q_wvk54XItTBlBNQMHkS4NRMp-tapPW97M292KTXHrsC
    * src/third_party/robolectric/cipd: Y1B0M_fCpPZ058xErMX6GQOJEVRBWR342juuxNLpVnkC..G3VkWqTv1YWDvC6zCrL34iQREzrzdBmSL4GMboAIiAEC
    * src/third_party/turbine/cipd: c4onccFJcd8rKHM_6js-X_ucjXdFqhDWK8aUX4ARSkkC..dz8pRLjwNlToJ0tS14T-TDQJNikmFXEDByMo-OzBbl0C
    * src/tools: a76c0dbb64..fc2c4ea571
    Added dependencies
    * src/third_party/android_deps/cipd/libs/com_google_errorprone_error_prone_annotations
    * src/third_party/android_deps/cipd/libs/io_grpc_grpc_binder
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm
    * src/third_party/android_deps/cipd/libs/com_android_tools_common
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_components
    * src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_tree
    * src/third_party/android_deps/cipd/libs/org_robolectric_nativeruntime_dist_compat
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_flags
    * src/third_party/android_deps/cipd/libs/javax_annotation_javax_annotation_api
    * src/third_party/android_deps/cipd/libs/com_google_testparameterinjector_test_parameter_injector
    * src/third_party/android_deps/cipd/libs/org_yaml_snakeyaml
    * src/third_party/android_deps/cipd/libs/com_android_tools_sdk_common
    * src/third_party/android_deps/cipd/libs/org_objenesis_objenesis
    * src/third_party/android_deps/cipd/libs/io_grpc_grpc_stub
    * src/third_party/android_deps/cipd/libs/org_robolectric_resources
    * src/third_party/android_deps/cipd/libs/com_squareup_moshi_moshi
    * src/third_party/android_deps/cipd/libs/org_robolectric_pluginapi
    * src/third_party/android_deps/cipd/libs/com_google_dagger_hilt_core
    * src/third_party/android_deps/cipd/libs/org_robolectric_shadows_framework
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_android_extensions_runtime
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_encoders_json
    * src/third_party/android_deps/cipd/libs/com_google_guava_guava
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_vision_common
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth_base
    * src/third_party/android_deps/cipd/libs/com_squareup_javawriter
    * src/third_party/android_deps/cipd/libs/com_google_android_play_feature_delivery
    * src/third_party/android_deps/cipd/libs/com_google_j2objc_j2objc_annotations
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_messaging
    * src/third_party/android_deps/cipd/libs/io_perfmark_perfmark_api
    * src/third_party/android_deps/cipd/libs/org_robolectric_robolectric
    * src/third_party/android_deps/cipd/libs/org_jspecify_jspecify
    * src/third_party/android_deps/cipd/libs/io_grpc_grpc_core
    * src/third_party/android_deps/cipd/libs/org_robolectric_shadowapi
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlin_kotlin_parcelize_runtime
    * src/third_party/android_deps/cipd/libs/com_google_code_gson_gson
    * src/third_party/android_deps/cipd/libs/javax_annotation_jsr250_api
    * src/third_party/android_deps/cipd/libs/com_google_protobuf_protobuf_javalite
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_cast_framework
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_stats
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_base
    * src/third_party/android_deps/cipd/libs/com_android_support_support_annotations
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_iid
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_cast
    * src/third_party/android_deps/cipd/libs/com_google_android_libraries_identity_googleid_googleid
    * src/third_party/android_deps/cipd/libs/org_robolectric_sandbox
    * src/third_party/android_deps/cipd/libs/org_bouncycastle_bcprov_jdk18on
    * src/third_party/android_deps/cipd/libs/javax_inject_javax_inject
    * src/third_party/android_deps/cipd/libs/org_ow2_asm_asm
    * src/third_party/android_deps/cipd/libs/com_squareup_wire_wire_runtime_jvm
    * src/third_party/android_deps/cipd/libs/com_squareup_javapoet
    * src/third_party/android_deps/cipd/libs/com_google_guava_failureaccess
    * src/third_party/android_deps/cipd/libs/com_google_auto_service_auto_service_annotations
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth_api_phone
    * src/third_party/android_deps/cipd/libs/com_google_code_findbugs_jsr305
    * src/third_party/android_deps/cipd/libs/org_jsoup_jsoup
    * src/third_party/android_deps/cipd/libs/org_checkerframework_checker_util
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_installations_interop
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_tasks
    * src/third_party/android_deps/cipd/libs/org_mockito_mockito_subclass
    * src/third_party/android_deps/cipd/libs/io_grpc_grpc_context
    * src/third_party/android_deps/cipd/libs/com_android_tools_layoutlib_layoutlib_api
    * src/third_party/android_deps/cipd/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework
    * src/third_party/android_deps/cipd/libs/org_checkerframework_checker_qual
    * src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_analysis
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_phenotype
    * src/third_party/android_deps/cipd/libs/org_robolectric_annotations
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_clearcut
    * src/third_party/android_deps/cipd/libs/org_robolectric_utils
    * src/third_party/android_deps/cipd/libs/com_google_android_datatransport_transport_api
    * src/third_party/android_deps/cipd/libs/io_grpc_grpc_protobuf_lite
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_installations
    * src/third_party/android_deps/cipd/libs/org_checkerframework_checker_compat_qual
    * src/third_party/android_deps/cipd/libs/jakarta_inject_jakarta_inject_api
    * src/third_party/android_deps/cipd/libs/org_mockito_mockito_android
    * src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_util
    * src/third_party/android_deps/cipd/libs/org_robolectric_plugins_maven_dependency_resolver
    * src/third_party/android_deps/cipd/libs/org_robolectric_nativeruntime
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_measurement_connector
    * src/third_party/android_deps/cipd/libs/org_conscrypt_conscrypt_openjdk_uber
    * src/third_party/android_deps/cipd/libs/org_robolectric_junit
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_annotations
    * src/third_party/android_deps/cipd/libs/com_squareup_okio_okio_jvm
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_serialization_core_jvm
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_android
    * src/third_party/android_deps/cipd/libs/com_googlecode_java_diff_utils_diffutils
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_instantapps
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_identity_credentials
    * src/third_party/android_deps/cipd/libs/org_codehaus_mojo_animal_sniffer_annotations
    * src/third_party/android_deps/cipd/libs/org_mockito_mockito_core
    * src/third_party/android_deps/cipd/libs/net_bytebuddy_byte_buddy
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_fido
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_vision
    * src/third_party/android_deps/cipd/libs/net_bytebuddy_byte_buddy_agent
    * src/third_party/android_deps/cipd/libs/com_google_auto_value_auto_value_annotations
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_auth_blockstore
    * src/third_party/android_deps/cipd/libs/org_ccil_cowan_tagsoup_tagsoup
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_gcm
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_common
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_encoders
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_location
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_atomicfu_jvm
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_iid
    * src/third_party/android_deps/cipd/libs/com_google_firebase_firebase_iid_interop
    * src/third_party/android_deps/cipd/libs/org_jetbrains_kotlinx_kotlinx_coroutines_test_jvm
    * src/third_party/android_deps/cipd/libs/com_google_android_material_material
    * src/third_party/android_deps/cipd/libs/com_google_android_play_core_common
    * src/third_party/android_deps/cipd/libs/com_google_android_annotations
    * src/third_party/android_deps/cipd/libs/io_grpc_grpc_api
    * src/third_party/android_deps/cipd/libs/org_hamcrest_hamcrest
    * src/third_party/android_deps/cipd/libs/com_google_dagger_dagger
    * src/third_party/android_deps/cipd/libs/com_squareup_moshi_moshi_adapters
    * src/third_party/android_deps/cipd/libs/org_robolectric_utils_reflector
    * src/third_party/android_deps/cipd/libs/com_google_guava_guava_android
    * src/third_party/android_deps/cipd/libs/org_ow2_asm_asm_commons
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_basement
    * src/third_party/android_deps/cipd/libs/com_google_android_gms_play_services_cloud_messaging
    Removed dependencies
    * src/third_party/android_deps/libs/android_arch_core_common
    * src/third_party/android_deps/libs/android_arch_core_runtime
    * src/third_party/android_deps/libs/android_arch_lifecycle_common
    * src/third_party/android_deps/libs/android_arch_lifecycle_common_java8
    * src/third_party/android_deps/libs/android_arch_lifecycle_livedata
    * src/third_party/android_deps/libs/android_arch_lifecycle_livedata_core
    * src/third_party/android_deps/libs/android_arch_lifecycle_runtime
    * src/third_party/android_deps/libs/android_arch_lifecycle_viewmodel
    * src/third_party/android_deps/libs/com_android_support_animated_vector_drawable
    * src/third_party/android_deps/libs/com_android_support_appcompat_v7
    * src/third_party/android_deps/libs/com_android_support_asynclayoutinflater
    * src/third_party/android_deps/libs/com_android_support_cardview_v7
    * src/third_party/android_deps/libs/com_android_support_collections
    * src/third_party/android_deps/libs/com_android_support_coordinatorlayout
    * src/third_party/android_deps/libs/com_android_support_cursoradapter
    * src/third_party/android_deps/libs/com_android_support_customview
    * src/third_party/android_deps/libs/com_android_support_design
    * src/third_party/android_deps/libs/com_android_support_documentfile
    * src/third_party/android_deps/libs/com_android_support_drawerlayout
    * src/third_party/android_deps/libs/com_android_support_interpolator
    * src/third_party/android_deps/libs/com_android_support_loader
    * src/third_party/android_deps/libs/com_android_support_localbroadcastmanager
    * src/third_party/android_deps/libs/com_android_support_multidex
    * src/third_party/android_deps/libs/com_android_support_print
    * src/third_party/android_deps/libs/com_android_support_recyclerview_v7
    * src/third_party/android_deps/libs/com_android_support_slidingpanelayout
    * src/third_party/android_deps/libs/com_android_support_support_annotations
    * src/third_party/android_deps/libs/com_android_support_support_compat
    * src/third_party/android_deps/libs/com_android_support_support_core_ui
    * src/third_party/android_deps/libs/com_android_support_support_core_utils
    * src/third_party/android_deps/libs/com_android_support_support_fragment
    * src/third_party/android_deps/libs/com_android_support_support_media_compat
    * src/third_party/android_deps/libs/com_android_support_support_v4
    * src/third_party/android_deps/libs/com_android_support_support_vector_drawable
    * src/third_party/android_deps/libs/com_android_support_swiperefreshlayout
    * src/third_party/android_deps/libs/com_android_support_transition
    * src/third_party/android_deps/libs/com_android_support_versionedparcelable
    * src/third_party/android_deps/libs/com_android_support_viewpager
    * src/third_party/android_deps/libs/com_android_tools_common
    * src/third_party/android_deps/libs/com_android_tools_layoutlib_layoutlib_api
    * src/third_party/android_deps/libs/com_android_tools_sdk_common
    * src/third_party/android_deps/libs/com_github_ben_manes_caffeine_caffeine
    * src/third_party/android_deps/libs/com_github_kevinstern_software_and_algorithms
    * src/third_party/android_deps/libs/com_google_android_annotations
    * src/third_party/android_deps/libs/com_google_android_apps_common_testing_accessibility_framework_accessibility_test_framework
    * src/third_party/android_deps/libs/com_google_android_datatransport_transport_api
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_auth
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_auth_api_phone
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_auth_base
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_base
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_basement
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_cast
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_cast_framework
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_clearcut
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_cloud_messaging
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_flags
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_gcm
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_iid
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_instantapps
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_location
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_phenotype
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_places_placereport
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_stats
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_tasks
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_vision
    * src/third_party/android_deps/libs/com_google_android_gms_play_services_vision_common
    * src/third_party/android_deps/libs/com_google_android_material_material
    * src/third_party/android_deps/libs/com_google_android_play_core_common
    * src/third_party/android_deps/libs/com_google_android_play_feature_delivery
    * src/third_party/android_deps/libs/com_google_auto_auto_common
    * src/third_party/android_deps/libs/com_google_auto_service_auto_service
    * src/third_party/android_deps/libs/com_google_auto_service_auto_service_annotations
    * src/third_party/android_deps/libs/com_google_auto_value_auto_value_annotations
    * src/third_party/android_deps/libs/com_google_code_findbugs_jsr305
    * src/third_party/android_deps/libs/com_google_code_gson_gson
    * src/third_party/android_deps/libs/com_google_dagger_dagger
    * src/third_party/android_deps/libs/com_google_dagger_dagger_compiler
    * src/third_party/android_deps/libs/com_google_dagger_dagger_producers
    * src/third_party/android_deps/libs/com_google_dagger_dagger_spi
    * src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotation
    * src/third_party/android_deps/libs/com_google_errorprone_error_prone_annotations
    * src/third_party/android_deps/libs/com_google_errorprone_error_prone_check_api
    * src/third_party/android_deps/libs/com_google_errorprone_error_prone_core
    * src/third_party/android_deps/libs/com_google_errorprone_error_prone_type_annotations
    * src/third_party/android_deps/libs/com_google_errorprone_javac
    * src/third_party/android_deps/libs/com_google_errorprone_javac_shaded
    * src/third_party/android_deps/libs/com_google_firebase_firebase_annotations
    * src/third_party/android_deps/libs/com_google_firebase_firebase_common
    * src/third_party/android_deps/libs/com_google_firebase_firebase_components
    * src/third_party/android_deps/libs/com_google_firebase_firebase_encoders
    * src/third_party/android_deps/libs/com_google_firebase_firebase_encoders_json
    * src/third_party/android_deps/libs/com_google_firebase_firebase_iid
    * src/third_party/android_deps/libs/com_google_firebase_firebase_iid_interop
    * src/third_party/android_deps/libs/com_google_firebase_firebase_installations
    * src/third_party/android_deps/libs/com_google_firebase_firebase_installations_interop
    * src/third_party/android_deps/libs/com_google_firebase_firebase_measurement_connector
    * src/third_party/android_deps/libs/com_google_firebase_firebase_messaging
    * src/third_party/android_deps/libs/com_google_googlejavaformat_google_java_format
    * src/third_party/android_deps/libs/com_google_guava_failureaccess
    * src/third_party/android_deps/libs/com_google_guava_guava
    * src/third_party/android_deps/libs/com_google_guava_guava_android
    * src/third_party/android_deps/libs/com_google_guava_listenablefuture
    * src/third_party/android_deps/libs/com_google_j2objc_j2objc_annotations
    * src/third_party/android_deps/libs/com_google_protobuf_protobuf_java
    * src/third_party/android_deps/libs/com_google_protobuf_protobuf_javalite
    * src/third_party/android_deps/libs/com_googlecode_java_diff_utils_diffutils
    * src/third_party/android_deps/libs/com_squareup_javapoet
    * src/third_party/android_deps/libs/com_squareup_javawriter
    * src/third_party/android_deps/libs/com_squareup_okio_okio_jvm
    * src/third_party/android_deps/libs/com_squareup_wire_wire_runtime_jvm
    * src/third_party/android_deps/libs/io_github_java_diff_utils_java_diff_utils
    * src/third_party/android_deps/libs/io_grpc_grpc_api
    * src/third_party/android_deps/libs/io_grpc_grpc_binder
    * src/third_party/android_deps/libs/io_grpc_grpc_context
    * src/third_party/android_deps/libs/io_grpc_grpc_core
    * src/third_party/android_deps/libs/io_grpc_grpc_protobuf_lite
    * src/third_party/android_deps/libs/io_grpc_grpc_stub
    * src/third_party/android_deps/libs/io_perfmark_perfmark_api
    * src/third_party/android_deps/libs/javax_annotation_javax_annotation_api
    * src/third_party/android_deps/libs/javax_annotation_jsr250_api
    * src/third_party/android_deps/libs/javax_inject_javax_inject
    * src/third_party/android_deps/libs/net_bytebuddy_byte_buddy
    * src/third_party/android_deps/libs/net_bytebuddy_byte_buddy_agent
    * src/third_party/android_deps/libs/net_ltgt_gradle_incap_incap
    * src/third_party/android_deps/libs/org_bouncycastle_bcprov_jdk18on
    * src/third_party/android_deps/libs/org_ccil_cowan_tagsoup_tagsoup
    * src/third_party/android_deps/libs/org_checkerframework_checker_compat_qual
    * src/third_party/android_deps/libs/org_checkerframework_checker_qual
    * src/third_party/android_deps/libs/org_checkerframework_checker_util
    * src/third_party/android_deps/libs/org_checkerframework_dataflow_errorprone
    * src/third_party/android_deps/libs/org_codehaus_mojo_animal_sniffer_annotations
    * src/third_party/android_deps/libs/org_conscrypt_conscrypt_openjdk_uber
    * src/third_party/android_deps/libs/org_eclipse_jgit_org_eclipse_jgit
    * src/third_party/android_deps/libs/org_hamcrest_hamcrest
    * src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk7
    * src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk8
    * src/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_android
    * src/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm
    * src/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_coroutines_guava
    * src/third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_metadata_jvm
    * src/third_party/android_deps/libs/org_jsoup_jsoup
    * src/third_party/android_deps/libs/org_mockito_mockito_android
    * src/third_party/android_deps/libs/org_mockito_mockito_core
    * src/third_party/android_deps/libs/org_mockito_mockito_subclass
    * src/third_party/android_deps/libs/org_objenesis_objenesis
    * src/third_party/android_deps/libs/org_ow2_asm_asm
    * src/third_party/android_deps/libs/org_ow2_asm_asm_analysis
    * src/third_party/android_deps/libs/org_ow2_asm_asm_commons
    * src/third_party/android_deps/libs/org_ow2_asm_asm_tree
    * src/third_party/android_deps/libs/org_ow2_asm_asm_util
    * src/third_party/android_deps/libs/org_pcollections_pcollections
    * src/third_party/android_deps/libs/org_robolectric_annotations
    * src/third_party/android_deps/libs/org_robolectric_junit
    * src/third_party/android_deps/libs/org_robolectric_nativeruntime
    * src/third_party/android_deps/libs/org_robolectric_nativeruntime_dist_compat
    * src/third_party/android_deps/libs/org_robolectric_pluginapi
    * src/third_party/android_deps/libs/org_robolectric_plugins_maven_dependency_resolver
    * src/third_party/android_deps/libs/org_robolectric_resources
    * src/third_party/android_deps/libs/org_robolectric_robolectric
    * src/third_party/android_deps/libs/org_robolectric_sandbox
    * src/third_party/android_deps/libs/org_robolectric_shadowapi
    * src/third_party/android_deps/libs/org_robolectric_shadows_framework
    * src/third_party/android_deps/libs/org_robolectric_shadows_playservices
    * src/third_party/android_deps/libs/org_robolectric_utils
    * src/third_party/android_deps/libs/org_robolectric_utils_reflector
    DEPS diff: af3d01376b..f2539aa88a/DEPS

    Clang version changed llvmorg-17-init-16420-g0c545a44:llvmorg-20-init-13894-g8cb44859
    Details: af3d01376b..f2539aa88a/tools/clang/scripts/update.py

BYPASS_LARGE_CHANGE_WARNING: Updating the DEPS is inherently a large change. See each patchset for smaller changes, but these partial updates don't build.

Bug: libyuv:358992053
No-Try: true
Change-Id: I37c7f51c247b5836f22ce635e6118d80ab7b1fdc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6111088
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2025-01-08 06:40:17 -08:00
Jeremy Leconte
533dc5866b Use PIE when compiling tests on Linux.
This is an attempt to make linux_msan bot less flaky which is suggested by the error message:
FATAL: Make sure to compile with -fPIE and to link with -pie.

Bug: None
Change-Id: I43f4e5c10d9a4c42a8ef5a67bf77806f0c09bf98
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6111093
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
2024-12-19 09:16:10 -08:00
George Steed
593965cea2 [AArch64] Add SME implementation of ScaleRowDown2
Including associated changes for adding a new scale_sme.cc file.

There is no benefit from an SVE version of this kernel for devices with
an SVE vector length of 128-bits, so skip directly to SME instead.  We
do not use the ZA tile here, so this is a purely streaming-SVE (SSVE)
implementation.

Change-Id: I47d149613fbabd8c203605a809811f1a668e8fb7
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5913883
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Justin Green <greenjustin@google.com>
2024-10-30 17:56:41 +00:00
George Steed
22c5c18778 [AArch64] Add SME implementation of I422ToARGBRow
Including addition of a new row_sme.cc file and associated
infrastructure.

The actual implementation in this case is a pure streaming-SVE (SSVE)
implementation based on the existing SVE2 implementation, we do not use
the ZA tile.

Change-Id: Ibc132c55de8d41a107e563b95f842323fef94444
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5913881
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-10-29 05:49:28 +00:00
Wan-Teh Chang
1fad3ab1fa Run "gn format" on BUILD.gn and libyuv.gni
Change-Id: I2f201383f0a8b91d5a97c9ec4556de4288aa6696
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5779859
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-08-11 20:32:05 +00:00
Wan-Teh Chang
0ffb0cb220 Link libyuv with libyuv_sme in BUILD.gn
This was missed in
https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5588664.

Change-Id: I217e8ce3847de8d455973fd7cdf7daf53f2b3e83
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5778972
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-08-10 17:03:30 +00:00
George Steed
5adc2ce2cb [Arm][AArch64] Stop explicitly optimising for speed in BUILD.gn
Most of the important kernels are inline assembly anyway so optimising
for speed gets us nothing here.

Based on a comment here:
https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5588664/2/BUILD.gn#295

Change-Id: I8fa8ab37873dfee4eb26c5a3c1045dc10374e4f4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5633654
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-06-14 17:01:27 +00:00
George Steed
a68b959873 [AArch64] Add initial build system support for SME
Extend both the CMake and BUILD.gn configurations to support building a
library with the Arm Scalable Matrix Extension (SME). Add an initial
(empty) rotate_sme.cc source file to populate the library for now.

Change-Id: Icd4bd6a8ce72ba132299b00c99478a18a85d869a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5588664
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-06-08 23:32:41 +00:00
George Steed
9a8be20def [AArch64] Add :libyuv_sve library in preparation for SVE kernels
This commit only adds the bare minimum to get the new library building
through GN, the actual content of row_sve.cc is empty for now until we
start porting some kernels across.

Bug: libyuv:973
Change-Id: Ibdf4fc258761f3e507d700f27a405099c667ac75
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5424738
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-04-09 03:10:01 +00:00
George Steed
6406179063 [AArch64] Add Neon DotProduct and I8MM extensions when building
This should allow us to use the two extensions in the existing Neon
inline assembly code for kernels like ARGBToY.

Bug: libyuv:977
Change-Id: I5274b188771bcfbe927cb323f499ecb676a7c6ba
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5383442
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-04-09 03:06:23 +00:00
Byoungchan Lee
4e8a843bfc Fix missing headers in GN/GYP build files
While porting libyuv's GN to other build systems, I discovered that
several headers were absent in the GN and GYP build files. These headers
are utilized in the source files but were not included in the GN and GYP
build configurations.

Without these headers, the Bazel build fails with the following error:
ERROR: /path/to/bazel/external/libyuv/BUILD.bazel:4:11: Compiling source/compare.cc failed: (Exit 1): clang-17 failed: error executing CppCompile command (from target @@libyuv//:libyuv) /usr/bin/clang-17 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer '-std=c++14' ... (remaining 32 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
external/libyuv/source/compare.cc:20:10: fatal error: 'libyuv/compare_row.h' file not found
   20 | #include "libyuv/compare_row.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Bug: None
Change-Id: I39c4c545e381d5f28c749f9ba8940e039aa55dfc
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5380588
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2024-04-01 09:19:24 +00:00
Frank Barchard
10f00a4960 Add CHROMIUM define when building libyuv with GN
- tells cpu_id.cc to avoid sys_call

Bug: None
Change-Id: I61cd87fd130a6106306cf0f0cc3e36028fa5635f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5378424
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2024-03-18 19:15:55 +00: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
Frank Barchard
9e61d7f9c1 Split convert_test and convert_argb_test to allow building on small systems that run out of memory compiling unittests.
Update build files to include the new tests and source code.

Bug: libyuv:956
Change-Id: I6ec0beb6dc9570f0597d7df1835d616489dbaece
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5103585
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-12-08 13:39:56 +00:00
Cheng Yangyang
c0031cfd95 Add GN builds on loongarch platform.
Currently, chromium has merged loongarch config file in bug:1454442,
and so we resubmit gn builds support for loongarch.

Bug: chromium:1289502
Change-Id: Iac83f5ea016945f7d9cc5f6de20d4c561bab6347
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4615589
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-06-19 17:47:05 +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
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
Abhijeet Kandalkar
77c2121f7e [ios-blink] Enabled JPEG for ios-blink
MJPGToI420 and MJPGToNV12 are needed for successfully compiling
/m/c/v/m/sample_buffer_transformer_mac.cc on ios-blink port.

This CL enables JPEG support for ios-blink port of chromium.

Bug: 1411704
Change-Id: I2009b371a35fa881b9e95ad4fad22356992cef52
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4454847
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2023-04-20 16:27:51 +00:00
Frank Barchard
30f9b28048 Add I210ToI420
Bug: libyuv:931, b/228605787, b/233233302, b/233634772, b/234558395, b/234340482
Change-Id: Ib135d0b4ff17665f6a4ab60edb782a7b314219a4
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3696042
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2022-06-09 08:07:50 +00:00
Frank Barchard
d011314f14 Revert "I210ToI420, InterpolatePlane_16, and ScalePlane Vertical-only asan fix"
This reverts commit 60254a1d846a93a4d7559009004cdd91bcc04d82.

Reason for revert: breaks PaintCanvasVideoRendererTest.HighBitDepth

Original change's description:
> I210ToI420, InterpolatePlane_16, and ScalePlane Vertical-only asan fix
>
> - Add I210ToI420 to convert 10 bit 4:2:2 YUV to 4:2:0 8 bit
> - Add NEON InterpolateRow_16 for fast 10 bit scaling
> - When scaling up, set step to interpolate toward height - 1 to avoid buffer overread
> - When scaling down, center the 2 rows used for source to achieve filtering.
> - CopyPlane check for 0 size and return
>
> Bug:  libyuv:931, b/228605787, b/233233302, b/233634772, b/234558395, b/234340482
> Change-Id: I63e8580710a57812b683c2fe40583ac5a179c4f1
> Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3687552
> Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
> Reviewed-by: richard winterton <rrwinterton@gmail.com>

Bug: libyuv:931, b/228605787, b/233233302, b/233634772, b/234558395, b/234340482
Change-Id: Icc05bb340db0e7fe864061fb501d0a861c764116
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3692886
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2022-06-07 09:16:05 +00:00
Frank Barchard
60254a1d84 I210ToI420, InterpolatePlane_16, and ScalePlane Vertical-only asan fix
- Add I210ToI420 to convert 10 bit 4:2:2 YUV to 4:2:0 8 bit
- Add NEON InterpolateRow_16 for fast 10 bit scaling
- When scaling up, set step to interpolate toward height - 1 to avoid buffer overread
- When scaling down, center the 2 rows used for source to achieve filtering.
- CopyPlane check for 0 size and return

Bug:  libyuv:931, b/228605787, b/233233302, b/233634772, b/234558395, b/234340482
Change-Id: I63e8580710a57812b683c2fe40583ac5a179c4f1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3687552
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
2022-06-07 01:41:56 +00:00
Frank Barchard
715150b5aa Add UYVYToY function
This function reads 2 byte values and writes the 2nd byte to the destination.
It turns out this is useful for P010ToNV12 as well, so adding the planar function allows a high level to call this.
And adds UYVY support for something YUY2 already had.  Which is writing the 1st byte.

Bug: b/233233302, b/233634772
Change-Id: I10a9454cb4f5b2c4ac5532fa86feddf78284d8b8
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3659055
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2022-05-24 01:42:31 +00:00
Ivan Pavlotskiy
966768e899 Fix compile errors for ARM targets when libyuv_use_neon = false
When building for ARM target with "libyuv_use_neon" set to false, the
build fails because there are still codes that reference to the NEON
related functions. To disable these code parts completely, the
LIBYUV_DISABLE_NEON macro should be defined when the "libyuv_use_neon"
is set to false.

Bug: libyuv:929
Change-Id: I8f34288d0d17dd29b85db004e62d83e4ace3d595
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3628112
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2022-05-13 10:12:38 +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
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
Mirko Bonadei
63dd43dd46 [libyuv] - Switch from gflags to absl/flags.
No-Try: True
Bug: libyuv:883
Change-Id: I11f1dbcccdc3697b73b3cfc2d423876841eb7b7a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2701771
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2021-02-19 08:54:30 +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
cec28e7088 PlaneScale, UVScale and ARGBScale test 3x and 4x down sample.
Intel SkylakeX
UVTest3x (1925 ms)
UVTest4x (2915 ms)
PlaneTest3x (2040 ms)
PlaneTest4x (4292 ms)
ARGBTest3x (2079 ms)
ARGBTest4x (1854 ms)

Pixel 2
ARGBTest3x (3602 ms)
ARGBTest4x (4064 ms)
PlaneTest3x (3331 ms)
PlaneTest4x (8977 ms)
UVTest3x (3473 ms)
UVTest4x (6970 ms)

Bug: b/171798872, b/171884264
Change-Id: Iebc70fed907857b6cb71a9baf2aba9861ef1e3f7
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2505601
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-10-28 20:41:59 +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
Hidehiko Abe
165f39cd12 libyuv: Expand is_linux to is_linux || is_chromeos.
Currently is_linux is true on building Chrome OS,
but it is planned to set to false. This is the preparation.

Bug: chromium:1110266
Test: Build locally.
Change-Id: Icf3445a8a828e1e1a637360363845bcca5863aca
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2400818
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2020-09-15 01:08:14 +00:00
Mirko Bonadei
7050e07982 Remove comment from BUILD.gn
The goal of this CL is to trigger all the CI bots to ensure they have
all been migrated to goma RBE.

TBR=fbarchard@chromium.org
Bug: None
Change-Id: I201ac1852bac0d7f6a53f66a0ff56bc93096c005
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2274415
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2020-06-30 07:16:22 +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
Shiyou Yin
59b29c5f4d Fix prob of disabling mmi on loongson3 variant.
If 'mips_arch_variant=loongson3' is setted without 'mips_use_mmi=true',
undefined reference of MMI functions will be reported.

Change-Id: I2e91d63e1fa2d6c0db907aaab978227c87c991ac
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/2129285
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2020-03-31 20:25:25 +00:00
Frank Barchard
d82f4baf5f Upstream minor changes. Faster tests, Faster YUV Rotate180 and Mirror
Bug: libyuv:840, libyuv:849: b/144318948
Change-Id: I303c02ac2b838a09d3e623df7a69ffc085fe3cd2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1914781
Reviewed-by: Miguel Casas <mcasas@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2019-11-13 20:02:40 +00:00
Mirko Bonadei
7320ac5277 Re-enable optimize_max to fix UBSan.
This reverts the changes to BUILD.gn done by [1] because they were
breaking UBSan. At least one between:
//build/config/compiler:default_optimization
//build/config/compiler:optimize_max

need to be selected, this CL re-enables optimize_max since that was the
previous default.

[1] - https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1790959

Bug: None
Change-Id: I136179c2e814f7aba9cc8515cc4825cbd41f8abb
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1809137
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2019-09-17 17:39:54 +00:00
Frank Barchard
c85a7b3ae3 MMI Optimized functions I422ToARGB for 1080p video
Improves playback performance for 1080p video on www.youku.com

BUG=libyuv:841

Change-Id: Iabe7693fba276162af0290863f46e214ab86fb6c
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/1790959
Reviewed-by: Miguel Casas <mcasas@chromium.org>
2019-09-11 21:06:21 +00:00
lixia zhang
21be9122aa libyuv:loongson optimize compare/row/scale/rotate files with mmi.
Currently, libyuv supports MIPS SIMD Arch(MSA),
but libyuv does not supports MultiMedia Instruction(MMI)(such as loongson3a platform).

In order to improve performance of libyuv on loongson3a platform,
this provides optimize 98 functions with mmi.

BUG=libyuv:804

Change-Id: I8947626009efad769b3103a867363ece25d79629
Reviewed-on: https://chromium-review.googlesource.com/1122064
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-07-20 22:53:04 +00:00
Tom Anderson
780cdfed4e Remove manual references to exe_and_shlib_deps
After [1], a manual dependency on exe_and_shlib_deps is no longer necessary
since it's automatically added.  This CL removes all remaining manual references
to exe_and_shlib_deps.

[1] d7ed1f0a9c

BUG=chromium:845700
R=fbarchard

Change-Id: I01ade690f3f098599ec271a1e82ec34c573e21d7
Reviewed-on: https://chromium-review.googlesource.com/1102100
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-06-15 22:07:38 +00:00
Frank Barchard
439fc3ce3d Revert "Revert "Fixing libyuv gn check.""
This reverts commit 724dbeba6c2397d99ee30542d80db1ea16d209ee.

Reason for revert: bots remain red after revert.

Original change's description:
> Revert "Fixing libyuv gn check."
> 
> This reverts commit b625f7b932fb93b877e603a1addcf613a5a0c3eb.
> 
> Reason for revert: ios builds broke shortly after this CL, so trying a revert to get builds back to green.
> 
> Original change's description:
> > Fixing libyuv gn check.
> > 
> > Starting from [1], GN is able to ensure that the inclusion or headers
> > with relative paths is matched by a GN dependency.
> > 
> > This CL fixes the libyuv build graph according to GN.
> > 
> > [1] - https://chromium-review.googlesource.com/c/chromium/src/+/827014
> > 
> > Bug: webrtc:8850
> > Change-Id: I7e0f9a8bd1ae2d205213dc75bf322be587efd1f5
> > Reviewed-on: https://chromium-review.googlesource.com/903843
> > Reviewed-by: Frank Barchard <fbarchard@chromium.org>
> > Commit-Queue: Frank Barchard <fbarchard@chromium.org>
> 
> TBR=fbarchard@chromium.org,mbonadei@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: webrtc:8850
> Change-Id: I8585de252bd83e2c628a37b0a0d5324ed961209e
> Reviewed-on: https://chromium-review.googlesource.com/912178
> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
> Commit-Queue: Frank Barchard <fbarchard@chromium.org>

TBR=fbarchard@chromium.org,mbonadei@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8850
Change-Id: Idfd37e0e20d278b374c57d7e2c5465971aae3a52
Reviewed-on: https://chromium-review.googlesource.com/914529
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2018-02-12 19:36:52 +00:00
Frank Barchard
724dbeba6c Revert "Fixing libyuv gn check."
This reverts commit b625f7b932fb93b877e603a1addcf613a5a0c3eb.

Reason for revert: ios builds broke shortly after this CL, so trying a revert to get builds back to green.

Original change's description:
> Fixing libyuv gn check.
> 
> Starting from [1], GN is able to ensure that the inclusion or headers
> with relative paths is matched by a GN dependency.
> 
> This CL fixes the libyuv build graph according to GN.
> 
> [1] - https://chromium-review.googlesource.com/c/chromium/src/+/827014
> 
> Bug: webrtc:8850
> Change-Id: I7e0f9a8bd1ae2d205213dc75bf322be587efd1f5
> Reviewed-on: https://chromium-review.googlesource.com/903843
> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
> Commit-Queue: Frank Barchard <fbarchard@chromium.org>

TBR=fbarchard@chromium.org,mbonadei@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:8850
Change-Id: I8585de252bd83e2c628a37b0a0d5324ed961209e
Reviewed-on: https://chromium-review.googlesource.com/912178
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-02-10 00:10:20 +00:00
Mirko Bonadei
b625f7b932 Fixing libyuv gn check.
Starting from [1], GN is able to ensure that the inclusion or headers
with relative paths is matched by a GN dependency.

This CL fixes the libyuv build graph according to GN.

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/827014

Bug: webrtc:8850
Change-Id: I7e0f9a8bd1ae2d205213dc75bf322be587efd1f5
Reviewed-on: https://chromium-review.googlesource.com/903843
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2018-02-06 18:58:35 +00:00