2889 Commits

Author SHA1 Message Date
Björn Terelius
dd216e765c Remove linux_msan from CQ
Bug:libyuv:388428508
No-Try: true
Change-Id: I808653d40e1d3cc8ed94358c633bd97e98441c9d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6158985
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2025-01-08 08:13:33 -08: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
Björn Terelius
cacaf42e97 Revert "Update third_party/android_sdk/public/ packages in DEPS"
This reverts commit 9dfbd0e861e8a01da4bea47cbbb4494ea60719e7.

Reason for revert: This is merged into https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6111088

Original change's description:
> Update third_party/android_sdk/public/ packages in DEPS
>
> Bug: libyuv:358992053
> Change-Id: I0672979f79c395c55a5236fff9deb829624397c0
> Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105835
> Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
> Reviewed-by: Jeremy Leconte <jleconte@google.com>

Bug: libyuv:358992053
Change-Id: If25f69d2378a80948c60691b30691eb962ca1d54
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6135003
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
2025-01-03 04:23:13 -08:00
Björn Terelius
9dfbd0e861 Update third_party/android_sdk/public/ packages in DEPS
Bug: libyuv:358992053
Change-Id: I0672979f79c395c55a5236fff9deb829624397c0
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105835
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
2025-01-02 14:21:28 -08:00
Frank Barchard
47ddac2996 Sub sampling conversions use CopyPlane for Y channel
- Replace ScalePlane with CopyPlane for Y channel
- Vertical mirroring is supported, but not horizontal mirroring.
- Check src_y is not null when dst_y is not null for all libyuv functions that allow a null dst_y.
- Apply clang-format
- Bump version to 1899

Bug: None
Change-Id: Id1805b52b8024ba95a7f1b098dabf45af48670eb
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6128599
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2025-01-02 13:34:11 -08:00
Frank Barchard
e0040eb318 Apply clang format
Bug: None
Change-Id: I0d9db4b384144523e61ae32b6ab3f72e93a0c265
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6138934
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2025-01-02 13:31:20 -08:00
Darren Hsieh
b5a18f9d93 [RVV] Optimize ScaleARGBFilterCols with RVV
* Run on SiFive internal FPGA:

Test Case	                Speedup
ARGBScaleDownBy3by8_Linear      x2.05
ARGBScaleDownBy3by8_Bilinear    x1.76
ARGBScaleDownBy3by8_Box         x1.76

Bug: 42280924
Co-Developed-by: Bruce Lai <bruce.lai@sifive.com>
Change-Id: Ib9979b1f2ca92d2ef5aa373f9b2459c246ded6c8
Signed-off-by: Darren Hsieh <darren.hsieh@sifive.com>
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5103572
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Bruce Lai <bruce.lai@sifive.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-29 17:32:00 -08:00
George Steed
cce8950816 [AArch64] Remove unused SVE INDEX instrs from NV{12,21} kernels
When reading subsampled UV data in NV{12,21} we previously needed to
permute the data to both (a) duplicate each element into the
corresponding pair of lanes for the Y elements; and (b) arrange the UV
components in the correct lanes. This was done in a vector-length
agnostic way by generating the permute indices dynamically at runtime
through an SVE INDEX instruction.

Now that we are using the READNV_SVE_2X macro everywhere these
instructions are now redundant: the multiplications are done on the
subsampled UV data before the duplication and the conversion macro takes
arguments that adjust whether we need to operate on the even or odd
lanes of the vector.

Since the permute indices generated by these INDEX instructions are now
unused, remove them.

Change-Id: I3298a83aadfda52c4cc89bc4fd6518b06765a187
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6089957
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-26 14:47:00 -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
Jeremy Leconte
f54aac5279 Remove .vpython.
No-Try: True
Bug: None
Change-Id: I4c1b901831d25acd33e766b9f4cbbe1db9d38ab2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6111091
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
2024-12-19 08:35:12 -08:00
Jeremy Leconte
e01109dd9b Add constraints to the luci buckets.
Goal is to be able to run led jobs, current error is:
constraints for libyuv:try not found

Bug: b/384862261
Change-Id: Ia88f2de7a4068baf151f94ea8cf708983939d11a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105837
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2024-12-18 12:09:19 -08:00
Jeremy Leconte
4115e118e8 Remove linux_tsan2 bot from CQ.
No-Try: True
Bug: b/384912633
Change-Id: Ic8a0f50dfd328df8770fbadfe5be51cc40232ee9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105834
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
2024-12-18 08:16:20 -08:00
Björn Terelius
13d5e11d38 Bring in changes from WebRTC autoroller (2)
This adds support for GCS deps

No-Try: True
Bug: libyuv:358992053
Change-Id: I22fd87cf783faf2b0b35df108df6cfa1fb181657
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105833
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
2024-12-18 07:44:35 -08:00
Björn Terelius
318a1ad595 Bring in changes from WebRTC autoroller (1)
This mirrors https://webrtc-review.googlesource.com/c/src/+/361680

No-Try: True
Bug: libyuv:358992053
Change-Id: I38852169a95d55d87ec10c9804b0759cda25a466
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105832
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
2024-12-18 07:16:17 -08:00
Björn Terelius
427a2c5c76 Fix autoroller find_depot_tools import
The import statement was incorrectly moved in https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105550

No-Try: True
Bug: libyuv:358992053
Change-Id: I1dc58b2bc2717ec9acac0f77d89a1e24f8158c6b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105631
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
2024-12-18 06:36:49 -08:00
Björn Terelius
37e88ecc68 Update pylintrc to a pep-8 like style
In particular, this requires reformatting
- autoroller/
- PRESUBMIT.py
- infra/config/PRESUBMIT.py
- get_landmines.py
- download_vs_toolchain.py
as well as some manual fixes.

This CL is preparation to updating the autoroller so that we can roll DEPS from chromium.

No-Try: True
Bug: libyuv:358992053
Change-Id: I090a09c6fa61beff2427a0537bca371f0839fa3e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6105550
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
2024-12-18 05:38:56 -08:00
Jeremy Leconte
2c682f8d59 Update vpython3 urllib3 version and add brotli.
This is to avoid 'brotli' has no attribute 'error' when running tests on Android bots.

No-Try: true
Bug: b/384862261
Change-Id: I62776cf53765d88a167a76d4675488aa37d8809e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6097483
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
2024-12-18 05:18:50 -08:00
Wan-Teh Chang
86b09b2450 Free dst_c, dst_opt buffers in TestHalfFloatPlane
Fix memory leaks introduced in commit 5951464:
https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6043392

Bug: 377693555
Change-Id: I20311bdc33e98c0b8e79679a2db42c7439ca89df
No-Try: True
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6093137
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: George Steed <george.steed@arm.com>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2024-12-13 08:28:17 -08:00
George Steed
45c7107f95 [AArch64] Fix compilation when SME is not supported
The STREAMING_COMPATIBLE macro is designed to enable use of the
__arm_streaming_compatible attribute with the intent that this macro
expanded to empty if SME is not supported by the compiler or platform
being compiled for, however in reality this macro remained undefined
causing compilation to fail. Fix this by defining the macro to empty as
originally intended.

No-Try: True
Change-Id: I8f5a8a606289b7c045fa1cce609f5a6d644891ac
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6087913
Reviewed-by: Justin Green <greenjustin@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2024-12-13 08:16:50 -08:00
George Steed
db5a71c528 [AArch64] Remove unused variables in HalfRow_{16To8,16}_SME
The HalfRow kernels assume that the fraction is exactly half, so there
is no need to calculate it.

No-Try: True
Change-Id: I2319d55ba99f202aa22c9693ec44c9891e7f72d5
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6087914
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Justin Green <greenjustin@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2024-12-13 08:00:58 -08:00
George Steed
7fd0bd197e [AArch64] Port YUVToRGB color conversions to SME
Some of the color conversion kernels already have Streaming-SVE
implementations however many do not. We can re-use the existing SVE
implementation by moving it to a new shared row_sve.h header and marking
it with a "streaming-compatible" attribute to ensure it can be called
from both streaming and non-streaming execution modes.

As part of this move to a common header we also add duplicated
streaming-mode implementations of the following kernels that did not
previously have an SME implementation:

- I210AlphaToARGBRow_SME
- I210ToAR30Row_SME
- I210ToARGBRow_SME
- I212ToAR30Row_SME
- I212ToARGBRow_SME
- I400ToARGBRow_SME
- I410AlphaToARGBRow_SME
- I410ToAR30Row_SME
- I410ToARGBRow_SME
- I422AlphaToARGBRow_SME
- I422ToARGB1555Row_SME
- I422ToARGB4444Row_SME
- I422ToRGB24Row_SME
- I422ToRGB565Row_SME
- I422ToRGBARow_SME
- I444AlphaToARGBRow_SME
- NV12ToARGBRow_SME
- NV12ToRGB24Row_SME
- NV21ToARGBRow_SME
- NV21ToRGB24Row_SME
- P210ToAR30Row_SME
- P210ToARGBRow_SME
- P410ToAR30Row_SME
- P410ToARGBRow_SME
- UYVYToARGBRow_SME
- YUY2ToARGBRow_SME

Change-Id: I84583478e465351cbe6fc0ec65254c3009922e84
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6087804
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-12 03:07:54 -08:00
George Steed
c2e7f8389a [AArch64] Add SME implementations of InterpolateRow{,_16,_16To8}
InterpolateRow_SME and InterpolateRow_16_SME need special cases to
handle if source_y_fraction is 256 since this would overflow a byte and
can just be a call to memcpy instead.

InterpolateRow_16To8_SME is never called with a source_y_fraction value
of 256 so there is no need for a special case here.

Change-Id: I67805b5db2c411acb93ada626cf414b35620f467
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6074375
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-12 03:03:41 -08:00
George Steed
2d8652f3e7 [AArch64] Add SME implementation of CopyRow
Add a streaming-SVE implementation of CopyRow using normal vector
load/store instructions.

Change-Id: Ia551413f9740a96473fa2e8a0958953be2f4b04e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6074374
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-12 03:02:07 -08:00
George Steed
418b6df0de [AArch64] Add SME implementation of Convert16To8Row
Mostly just a straightforward copy of the Neon code ported to
Streaming-SVE, we can use predication to avoid needing an `Any` kernel.
SVE has a "widening multiply get high half" instruction in UMULH,
however using the same technique as the Neon code to avoid the need for
a widening multiply at all is more performant here.

These is no benefit from this kernel when the SVE vector length is only
128 bits, so skip writing a non-streaming SVE implementation.

Change-Id: Ib12699c5b8b168d004ebc74c0281ea3772ca8d32
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6070786
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Justin Green <greenjustin@google.com>
2024-12-12 03:01:55 -08:00
runzezhang
192b8c2238 Add NV24 scaling support to libyuv
Some projects require scaling support for the NV24 format, but libyuv currently lacks this functionality. This commit adds a scaling function for NV24, enabling its use in projects that require NV24 format processing.

Change-Id: I6e6b2bea342e1df7f387056ab3bc5003da983bb7
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6068715
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-12 02:46:11 -08:00
George Steed
85331e00cc [AArch64] Add SME impls of ScaleRowDown2{,Linear,Box}_16
Mostly just straightforward copies of the Neon code ported to
Streaming-SVE, these follow the same pattern as the prior ScaleRowDown2
SME kernels, but operating on 16-bit data rather than 8-bit.

These is no benefit from this kernel when the SVE vector length is only
128 bits, so skip writing a non-streaming SVE implementation.

Change-Id: I7bad0719d24cdb1760d1039c63c0e77726b28a54
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6070784
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Justin Green <greenjustin@google.com>
2024-12-12 01:21:08 -08:00
George Steed
15f2ae7d70 [AArch64] Add SME impls of ScaleARGBRowDown2{,Linear,Box}
Mostly just straightforward copies of the Neon code ported to
Streaming-SVE, these follow the same pattern as the prior ScaleRowDown2
and ScaleUVRowDown2 SME kernels, but operating on 32-bit ARGB tuples
rather than 8-bit data or 16-bit UV tuples.

These is no benefit from this kernel when the SVE vector length is only
128 bits, so skip writing a non-streaming SVE implementation.

Change-Id: I15600c2498cc592f5ea1d97b78fafec327de7947
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6070783
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Justin Green <greenjustin@google.com>
2024-12-12 01:19:20 -08:00
George Steed
7391559cb4 [AArch64] Add SME implementation of MergeUVRow{,_16}
Mostly just a straightforward copy of the Neon code ported to
Streaming-SVE, we can use predication to avoid needing an `Any` kernel
and use ST2 to avoid needing a separate ZIP instruction.

These is no benefit from this kernel when the SVE vector length is only
128 bits, so skip writing a non-streaming SVE implementation.

Change-Id: I5ae36afe699b88f119dc545e49c59c5d85e98742
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6070785
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-12 01:16:19 -08:00
George Steed
3e75e41e79 [AArch64] Add "limit" variable explanations in SVE *AR30 kernels
As requested here: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6023583/1/source/row_sve.cc#1973

Change-Id: I15d8ca1f724a7123fbf52ac60b18c850e4004e64
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067153
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-11 23:50:27 -08:00
George Steed
11ef227b6d [AArch64] Clean up formatting in row_sve.cc
Force macros onto empty lines with empty comments and adjust some other
comments to be consistent with the rest of the file.

Change-Id: I1a35283608b868c53e91b337187ebe0e402c9834
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067152
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-11 23:48:57 -08:00
George Steed
3a0ad00ed3 Use separate intermediate RGBA buffers in planar function tests
The existing tests reuse the intermediate buffers between the reference
and optimized implementations. In particular the existing tests appear
to pass even if the optimized implementation is completely empty, so
long as it does not modify the desintation buffers since these are
already filled with correct values from the reference code.

To avoid this, allocate separate buffers for optimized and reference
implementations to store intermediate data between function calls.

Additionally remove unused buffers from HalfMergeUVPlane_Opt tests.

Change-Id: I7e9ea21fc193e7be21cc24e2be0d7a122e068f6e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6074941
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-05 11:47:17 +00:00
George Steed
8f659daffd [AArch64] Add SVE2 implementations of NV{12,21}ToRGB24Row
Now that we have the `_2X` versions of the macros we can use these to
implement `ToRGB24` kernels. These cannot use the bottom/top approach
previously used by other SVE kernels since there are three rather than
two or four elements each.

Reduction in runtimes observed compared to the existing Neon
implementations:

            | NV12ToRGB24Row | NV21ToRGB24Row
Cortex-A510 |         -60.7% |         -60.7%
Cortex-A520 |         -46.0% |         -46.0%
Cortex-A715 |         -25.2% |         -25.2%
Cortex-A720 |         -25.2% |         -25.2%
  Cortex-X2 |         -28.9% |         -29.0%
  Cortex-X3 |         -28.2% |         -28.1%
  Cortex-X4 |         -30.8% |         -30.7%
Cortex-X925 |         -28.8% |         -28.9%

Change-Id: I39853d124bfdcac38584109870b398b8ecd5b632
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067149
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-04 17:51:08 +00:00
George Steed
233f859e3c [AArch64] Remove redundant increments in ScaleRowDown2_16_NEON
These were mistakenly copied from the main loop body, however this
particular block of the code is only executed at most once so we do not
need to perform the address updates.

Also adjust formatting with clang-format to match other kernels.

Change-Id: I8214821417d5e4f455ebe8805e1a37a9728ab8d2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067154
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-04 17:48:11 +00:00
George Steed
9144583f22 [AArch64] Add SME impls of MultiplyRow_16 and ARGBMultiplyRow
Mostly just a translation of the existing Neon code to SME.

Change-Id: Ic3d6b8ac774c9a1bb9204ed6c78c8802668bffe9
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067147
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-03 22:11:19 +00:00
George Steed
88a3472f52 [AArch64] Unroll SVE2 impls of NV{12,21}ToARGBRow
We can reuse most of the logic from the existing I422TORGB_SVE_2X macro
and simply amend the existing READNV_SVE macro to read twice as much
data.

Unrolling is primarily beneficial for little cores but also provides
some smaller benefits to larger cores as well.

            | NV12ToARGBRow_SVE2 | NV21ToARGBRow_SVE2
Cortex-A510 |             -48.0% |             -47.9%
Cortex-A520 |             -48.1% |             -48.2%
Cortex-A715 |             -20.4% |             -20.4%
Cortex-A720 |             -20.6% |             -20.6%
  Cortex-X2 |              -7.1% |              -7.3%
  Cortex-X3 |              -4.0% |              -4.3%
  Cortex-X4 |             -14.1% |             -14.3%
Cortex-X925 |              -8.2% |              -8.6%

Change-Id: I195005d23e743d7d46319220ad05ee89bb7385ae
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067148
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-03 22:03:42 +00:00
George Steed
03a935493d [AArch64] Simplify predicate width calculations
Several of the existing SVE kernels used calculations of the form:

        remainder = width & (vl - 1) == 0 ? vl : width & (vl - 1);

This is due to initial SVE contributed code unconditionally using the
predicated tail for the final iteration even if the width was a perfect
multiple of the vector length.

In the current code the fully-predicated main body loop will instead
iterate through the width completely and simply skip over the tail
entirely. Skipping over the tail means that the case handled by the
ternary condition now never occurs, and the remainder calculation can
now simply be:

        remainder = width & (vl - 1);

This avoids the need for a compare and conditional select in the
function prologue.

Change-Id: Ia73f5f8bc66fad6bea64439dc2beeaccb54622d2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067151
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-03 21:54:32 +00:00
George Steed
2c32b689e4 [AArch64] Improve instruction interleaving in READI212_SVE
The existing instruction arrangement is sub-optimal on little cores
since it has instructions with dependencies next to each other, so
spread them out to improve performance.

No significant change observed on bigger cores, but little cores do show
some small improvements except for the *Alpha* kernels which regress
slightly.

Runtimes observed compared to the previous SVE implementation:

                   | Cortex-A510 | Cortex-A520
I210AlphaToARGBRow |   (!) +7.0% |   (!) +6.8%
     I210ToAR30Row |      -10.3% |       -9.9%
     I210ToARGBRow |       -2.4% |       -2.3%
     I212ToAR30Row |      -10.3% |       -9.9%
     I212ToARGBRow |       -2.4% |       -2.3%

Change-Id: I626942ce02c4610cfac1ea4f8e7890653ee4324f
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6067150
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-12-03 21:50:47 +00:00
Junji Watanabe
a729ba686a Add hook to fetch reclient config files
(Initially uploaded here https://crrev.com/c/5726652)

This logic was copied from the login in chromium/src at https://chromium-review.googlesource.com/c/chromium/src/+/4666325 as that is the current version of buildtools that libyuv uses
This is needed to be able to remove the old path of downloading remote exec configs on ci builders

Test: CQ tryjobs

No-Try: true
Bug: b/292501270
Change-Id: Idea22e9a499e57d86f1e1e8ed9c0ca346aa162b6
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6055341
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Christoffer Dewerin <jansson@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
2024-12-03 09:24:16 +00:00
Hao Chen
532126bf70 Fix bugs in ARGBAttenuateRow_LASX/LSX function
Fix errors in ARGBAttenuateRow_LASX and ARGBAttenuateRow_LSX functions
caused by changes in calculation methods.
In addition, add the option to automatically add "-mlsx" and "-mlasx" to
enable SIMD optimization when compiling with cmake on LoongArch
platform.

Bug: libyuv:913
Change-Id: I7215f5198d3fb94f981d60969dc21a483006023e
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5802829
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Ben Weiss <bweiss@google.com>
2024-11-30 23:09:04 +00:00
George Steed
9a9752134e [AArch64] Add Neon implementation of ScaleRowDown2Linear_16
Reduction in runtime observed relative to the auto-vectorized C
implementation compiled with LLVM 19:

  Cortex-A55: -13.7%
 Cortex-A510: -49.0%
 Cortex-A520: -32.0%
  Cortex-A76: -34.3%
 Cortex-A710: -56.7%
 Cortex-A715: -45.4%
 Cortex-A720: -44.7%
   Cortex-X1: -70.6%
   Cortex-X2: -67.9%
   Cortex-X3: -72.2%
   Cortex-X4: -40.0%
 Cortex-X925: -24.1%

Bug: b/42280942
Change-Id: I977899a2239e752400c9901f4d8482a76841269a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6040154
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-25 21:10:26 +00:00
George Steed
11c57f4f12 [AArch64] Add Neon implementation of ScaleRowDown2_16_NEON
The auto-vectorized implementation unrolls to process 32 elements per
iteration, so unroll the new Neon implementation to match and avoid a
performance regression on little cores.

Performance relative to the auto-vectorized C implementation compiled
with LLVM 19:

 Cortex-A55: -35.8%
Cortex-A510: -20.4%
Cortex-A520: -22.1%
 Cortex-A76: -54.8%
Cortex-A710: -44.5%
Cortex-A715: -31.1%
Cortex-A720: -31.4%
  Cortex-X1: -48.5%
  Cortex-X2: -47.8%
  Cortex-X3: -47.6%
  Cortex-X4: -51.1%
Cortex-X925: -14.6%

Bug: b/42280942
Change-Id: Ib4e89ba230d554f2717052e934ca0e8a109ccc42
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6040153
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-25 21:10:05 +00:00
George Steed
952d6a282f [AArch64] Enable use of ScaleRowDown2Box_16_NEON
The #ifdef surrounding the use of this kernel is never defined and
ScaleRowDown2_16_NEON does not exist, so add the missing #define and
remove the use of ScaleRowDown2_16_NEON for now. Additionally since
there is no implementation of this kernel for 32-bit Arm, restrict the
define to only be present on AArch64.

Bug: b/42280942
Change-Id: Icc35c145c1bad1c0df2933a2d8bc7dcf7fe63cb7
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6040152
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-24 19:58:00 +00:00
George Steed
9ed07258c7 [AArch64] Add SVE2 implementation of I410ToAR30Row
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -18.1%
Cortex-A520:  -6.0%
Cortex-A715: -22.0%
Cortex-A720: -21.1%
  Cortex-X2:  -9.4%
  Cortex-X3: -12.0%
  Cortex-X4:  -7.6%
Cortex-X925:  -5.8%

Bug: b/42280942
Change-Id: I853a028e08f1f1076ac20cd9c7f4f8ac8a211ac1
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6023584
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-23 00:59:55 +00:00
George Steed
3dd047733e [AArch64] Add SVE2 implementation of I410AlphaToARGBRow
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -37.2%
Cortex-A520:  -6.9%
Cortex-A715: -14.8%
Cortex-A720: -16.0%
  Cortex-X2: -14.8%
  Cortex-X3: -17.5%
  Cortex-X4: -12.8%
Cortex-X925: -13.0%

Bug: b/42280942
Change-Id: I1977fd1e1dfac25021724483fd89c6ff3e227d8b
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6023582
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-23 00:58:11 +00:00
George Steed
e84d809348 [AArch64] Add SVE2 implementation of I410ToARGBRow
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -37.9%
Cortex-A520:  -9.2%
Cortex-A715: -14.3%
Cortex-A720: -14.2%
  Cortex-X2: -10.9%
  Cortex-X3: -11.1%
  Cortex-X4: -12.5%
Cortex-X925: -10.6%

Bug: b/42280942
Change-Id: I6720b07c900c7dfbd849ee38e413e98b9374dac2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6023581
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-23 00:54:48 +00:00
George Steed
7c9c72ab4b [AArch64] Add SVE2 implementation of I210ToAR30Row
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -15.5%
Cortex-A520:  -3.8%
Cortex-A715: -15.8%
Cortex-A720: -15.8%
  Cortex-X2:  -7.9%
  Cortex-X3:  -6.5%
  Cortex-X4:  -5.0%
Cortex-X925:  -5.3%

Bug: b/42280942
Change-Id: I5171537fd125b3214d25a0ae503a8f40dbeb6042
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6023583
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Justin Green <greenjustin@google.com>
2024-11-23 00:53:16 +00:00
George Steed
fc3569ad27 [AArch64] Add SVE2 implementation of I210AlphaToARGBRow
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -33.9%
Cortex-A520:  -4.2%
Cortex-A715: -22.0%
Cortex-A720: -22.4%
  Cortex-X2: -14.6%
  Cortex-X3: -14.5%
  Cortex-X4: -11.6%
Cortex-X925: -12.6%

Bug: b/42280942
Change-Id: Ifb4ed7a865c369d584af498cc65b84d065cfb207
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6023580
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-23 00:47:32 +00:00
George Steed
50108f29fb [AArch64] Add SVE2 implementation of I212ToAR30Row
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -15.4%
Cortex-A520:  -3.8%
Cortex-A715: -15.7%
Cortex-A720: -15.6%
  Cortex-X2:  -7.9%
  Cortex-X3:  -5.7%
  Cortex-X4:  -5.3%
Cortex-X925:  -4.8%

Bug: b/42280942
Change-Id: I99846820682687c8e0f52d05f5aa3d50369fe0a2
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6025829
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-23 00:27:57 +00:00
George Steed
305a7a4ede [AArch64] Add SVE2 implementation of I212ToARGBRow
Observed reduction in runtime compared to the existing Neon code:

Cortex-A510: -34.5%
Cortex-A520:  -6.5%
Cortex-A715: -10.1%
Cortex-A720: -16.1%
  Cortex-X2: -11.9%
  Cortex-X3: -11.9%
  Cortex-X4:  -9.3%
Cortex-X925: -11.2%

Bug: b/42280942
Change-Id: Idc30e69552f7d227217ac7011a786210b11e4752
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6025828
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
2024-11-23 00:21:27 +00:00
Frank Barchard
595146434a HalfFloat fix SigIll on aarch64
- Remove special case Scale of 1 which used fp16 cvt but requires cpuid
- Port aarch64 to aarch32
- Use C for aarch32 with small (denormal) scale value

Bug: 377693555
Change-Id: I38e207e79ac54907ed6e65118b8109288fddb207
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/6043392
Reviewed-by: Wan-Teh Chang <wtc@google.com>
2024-11-22 22:08:00 +00:00