| package { |
| default_applicable_licenses: ["external_libyuv_license"], |
| } |
| // Added automatically by a large-scale-change |
| // See: http://go/android-license-faq |
| license { |
| name: "external_libyuv_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| "SPDX-license-identifier-BSD", |
| ], |
| license_text: [ |
| "LICENSE", |
| "PATENTS", |
| ], |
| } |
| subdirs = ["files"] |
| |
| cc_defaults { |
| name: "libyuv_defaults", |
| srcs: [ |
| "source/compare.cc", |
| "source/compare_common.cc", |
| "source/compare_gcc.cc", |
| "source/compare_msa.cc", |
| "source/compare_neon.cc", |
| "source/compare_neon64.cc", |
| "source/convert.cc", |
| "source/convert_argb.cc", |
| "source/convert_from.cc", |
| "source/convert_from_argb.cc", |
| "source/convert_jpeg.cc", |
| "source/convert_to_argb.cc", |
| "source/convert_to_i420.cc", |
| "source/cpu_id.cc", |
| "source/mjpeg_decoder.cc", |
| "source/mjpeg_validate.cc", |
| "source/planar_functions.cc", |
| "source/rotate.cc", |
| "source/rotate_any.cc", |
| "source/rotate_argb.cc", |
| "source/rotate_common.cc", |
| "source/rotate_gcc.cc", |
| "source/rotate_msa.cc", |
| "source/rotate_neon.cc", |
| "source/rotate_neon64.cc", |
| "source/row_any.cc", |
| "source/row_common.cc", |
| "source/row_gcc.cc", |
| "source/row_msa.cc", |
| "source/row_neon.cc", |
| "source/row_neon64.cc", |
| "source/row_rvv.cc", |
| "source/scale.cc", |
| "source/scale_any.cc", |
| "source/scale_argb.cc", |
| "source/scale_common.cc", |
| "source/scale_gcc.cc", |
| "source/scale_msa.cc", |
| "source/scale_neon.cc", |
| "source/scale_neon64.cc", |
| "source/scale_rgb.cc", |
| "source/scale_rvv.cc", |
| "source/scale_uv.cc", |
| "source/video_common.cc", |
| ], |
| |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-Wno-unused-parameter", |
| "-fexceptions", |
| "-DHAVE_JPEG", |
| "-DLIBYUV_UNLIMITED_DATA", |
| // TODO: enable these... |
| "-DLIBYUV_DISABLE_SME", |
| "-DLIBYUV_DISABLE_SVE", |
| ], |
| |
| export_include_dirs: ["include"], |
| shared_libs: ["libjpeg"], |
| arch: { |
| arm: { |
| cflags: ["-mfpu=neon"], |
| }, |
| arm64: { |
| cflags: [ |
| "-Xclang -target-feature", |
| // This comment prevents bpfmt from sorting the flags incorrectly. |
| "-Xclang +dotprod", |
| // This comment prevents bpfmt from sorting the flags incorrectly. |
| "-Xclang -target-feature", |
| // This comment prevents bpfmt from sorting the flags incorrectly. |
| "-Xclang +i8mm", |
| ], |
| }, |
| }, |
| } |
| |
| cc_library { |
| name: "libyuv", |
| defaults: ["libyuv_defaults"], |
| vendor_available: true, |
| product_available: true, |
| host_supported: true, |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.media.swcodec", |
| "com.android.virt", |
| ], |
| min_sdk_version: "29", |
| // b/336916369: This library gets linked into a rust rlib. Disable LTO |
| // until cross-language lto is supported. |
| lto: { |
| never: true, |
| }, |
| } |
| |
| // compatibilty static library until all uses of libyuv_static are replaced |
| // with libyuv (b/37646797) |
| cc_library_static { |
| name: "libyuv_static", |
| vendor_available: true, |
| whole_static_libs: ["libyuv"], |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.media.swcodec", |
| ], |
| min_sdk_version: "29", |
| } |
| |
| // A static library to support examples/test code with CFI assembly support. |
| // It's kept separate from the main 'libyuv' target to not impose and propagate the requirements |
| // to all of its dependents, some of which are difficult to resolve and may not be compatible. |
| cc_library_static { |
| name: "libyuv_cfi", |
| defaults: ["libyuv_defaults"], |
| vendor_available: true, |
| sanitize: { |
| cfi: true, |
| config: { |
| cfi_assembly_support: true, |
| }, |
| }, |
| visibility: ["//external/libvpx"], |
| } |
| |
| cc_test { |
| name: "libyuv_unittest", |
| static_libs: ["libyuv"], |
| shared_libs: ["libjpeg"], |
| cflags: ["-Wall", "-Werror"], |
| srcs: [ |
| "unit_test/basictypes_test.cc", |
| "unit_test/color_test.cc", |
| "unit_test/compare_test.cc", |
| "unit_test/convert_test.cc", |
| "unit_test/cpu_test.cc", |
| "unit_test/cpu_thread_test.cc", |
| "unit_test/math_test.cc", |
| "unit_test/planar_test.cc", |
| "unit_test/rotate_argb_test.cc", |
| "unit_test/rotate_test.cc", |
| "unit_test/scale_argb_test.cc", |
| "unit_test/scale_plane_test.cc", |
| "unit_test/scale_rgb_test.cc", |
| "unit_test/scale_test.cc", |
| "unit_test/scale_uv_test.cc", |
| "unit_test/unit_test.cc", |
| "unit_test/video_common_test.cc", |
| ], |
| } |
| |
| cc_test { |
| name: "compare", |
| gtest: false, |
| srcs: [ |
| "util/compare.cc", |
| ], |
| static_libs: ["libyuv"], |
| } |
| |
| cc_test { |
| name: "cpuid", |
| gtest: false, |
| srcs: [ |
| "util/cpuid.c", |
| ], |
| static_libs: ["libyuv"], |
| } |
| |
| cc_test { |
| name: "i444tonv12_eg", |
| gtest: false, |
| srcs: [ |
| "util/i444tonv12_eg.cc", |
| ], |
| static_libs: ["libyuv"], |
| } |
| |
| cc_test { |
| name: "psnr", |
| gtest: false, |
| srcs: [ |
| "util/psnr_main.cc", |
| "util/psnr.cc", |
| "util/ssim.cc", |
| ], |
| static_libs: ["libyuv"], |
| } |
| |
| cc_test { |
| name: "yuvconstants", |
| gtest: false, |
| srcs: [ |
| "util/yuvconstants.c", |
| ], |
| static_libs: ["libyuv"], |
| } |
| |
| cc_test { |
| name: "yuvconvert", |
| gtest: false, |
| srcs: [ |
| "util/yuvconvert.cc", |
| ], |
| static_libs: ["libyuv"], |
| shared_libs: ["libjpeg"], |
| } |