Android.mk 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_MODULE := webp
  4. LOCAL_CFLAGS := -O3 -fshort-wchar -ffast-math -fomit-frame-pointer -DHAVE_MALLOC_H -DHAVE_PTHREAD -DWEBP_USE_THREAD -finline-functions -frename-registers -s -I../../src/webp
  5. LOCAL_CPPFLAGS := -O3 -fshort-wchar -ffast-math -fomit-frame-pointer -DHAVE_MALLOC_H -DHAVE_PTHREAD -DWEBP_USE_THREAD -finline-functions -frename-registers -s -I../../src/webp
  6. LOCAL_CPP_FEATURES := # rtti exceptions
  7. LOCAL_ARM_NEON := true # force NEON usage for all files
  8. LOCAL_SRC_FILES := \
  9. ../../src/dec/alpha_dec.c \
  10. ../../src/dec/buffer_dec.c \
  11. ../../src/dec/frame_dec.c \
  12. ../../src/dec/idec_dec.c \
  13. ../../src/dec/io_dec.c \
  14. ../../src/dec/quant_dec.c \
  15. ../../src/dec/tree_dec.c \
  16. ../../src/dec/vp8_dec.c \
  17. ../../src/dec/vp8l_dec.c \
  18. ../../src/dec/webp_dec.c \
  19. ../../src/demux/anim_decode.c \
  20. ../../src/demux/demux.c \
  21. ../../src/dsp/alpha_processing.c \
  22. ../../src/dsp/alpha_processing_mips_dsp_r2.c \
  23. ../../src/dsp/alpha_processing_neon.c \
  24. ../../src/dsp/alpha_processing_sse2.c \
  25. ../../src/dsp/alpha_processing_sse41.c \
  26. ../../src/dsp/argb.c \
  27. ../../src/dsp/argb_mips_dsp_r2.c \
  28. ../../src/dsp/argb_sse2.c \
  29. ../../src/dsp/cost.c \
  30. ../../src/dsp/cost_mips_dsp_r2.c \
  31. ../../src/dsp/cost_mips32.c \
  32. ../../src/dsp/cost_sse2.c \
  33. ../../src/dsp/cpu.c \
  34. ../../src/dsp/dec.c \
  35. ../../src/dsp/dec_clip_tables.c \
  36. ../../src/dsp/dec_mips_dsp_r2.c \
  37. ../../src/dsp/dec_mips32.c \
  38. ../../src/dsp/dec_msa.c \
  39. ../../src/dsp/dec_neon.c \
  40. ../../src/dsp/dec_sse2.c \
  41. ../../src/dsp/dec_sse41.c \
  42. ../../src/dsp/enc.c \
  43. ../../src/dsp/enc_avx2.c \
  44. ../../src/dsp/enc_mips_dsp_r2.c \
  45. ../../src/dsp/enc_mips32.c \
  46. ../../src/dsp/enc_msa.c \
  47. ../../src/dsp/enc_neon.c \
  48. ../../src/dsp/enc_sse2.c \
  49. ../../src/dsp/enc_sse41.c \
  50. ../../src/dsp/filters.c \
  51. ../../src/dsp/filters_mips_dsp_r2.c \
  52. ../../src/dsp/filters_msa.c \
  53. ../../src/dsp/filters_neon.c \
  54. ../../src/dsp/filters_sse2.c \
  55. ../../src/dsp/lossless.c \
  56. ../../src/dsp/lossless_enc.c \
  57. ../../src/dsp/lossless_enc_mips_dsp_r2.c \
  58. ../../src/dsp/lossless_enc_mips32.c \
  59. ../../src/dsp/lossless_enc_msa.c \
  60. ../../src/dsp/lossless_enc_neon.c \
  61. ../../src/dsp/lossless_enc_sse2.c \
  62. ../../src/dsp/lossless_enc_sse41.c \
  63. ../../src/dsp/lossless_mips_dsp_r2.c \
  64. ../../src/dsp/lossless_msa.c \
  65. ../../src/dsp/lossless_neon.c \
  66. ../../src/dsp/lossless_sse2.c \
  67. ../../src/dsp/rescaler.c \
  68. ../../src/dsp/rescaler_mips_dsp_r2.c \
  69. ../../src/dsp/rescaler_mips32.c \
  70. ../../src/dsp/rescaler_msa.c \
  71. ../../src/dsp/rescaler_neon.c \
  72. ../../src/dsp/rescaler_sse2.c \
  73. ../../src/dsp/ssim.c \
  74. ../../src/dsp/ssim_sse2.c \
  75. ../../src/dsp/upsampling.c \
  76. ../../src/dsp/upsampling_mips_dsp_r2.c \
  77. ../../src/dsp/upsampling_msa.c \
  78. ../../src/dsp/upsampling_neon.c \
  79. ../../src/dsp/upsampling_sse2.c \
  80. ../../src/dsp/yuv.c \
  81. ../../src/dsp/yuv_mips_dsp_r2.c \
  82. ../../src/dsp/yuv_mips32.c \
  83. ../../src/dsp/yuv_sse2.c \
  84. ../../src/enc/alpha_enc.c \
  85. ../../src/enc/analysis_enc.c \
  86. ../../src/enc/backward_references_enc.c \
  87. ../../src/enc/config_enc.c \
  88. ../../src/enc/cost_enc.c \
  89. ../../src/enc/delta_palettization_enc.c \
  90. ../../src/enc/filter_enc.c \
  91. ../../src/enc/frame_enc.c \
  92. ../../src/enc/histogram_enc.c \
  93. ../../src/enc/iterator_enc.c \
  94. ../../src/enc/near_lossless_enc.c \
  95. ../../src/enc/picture_csp_enc.c \
  96. ../../src/enc/picture_enc.c \
  97. ../../src/enc/picture_psnr_enc.c \
  98. ../../src/enc/picture_rescale_enc.c \
  99. ../../src/enc/picture_tools_enc.c \
  100. ../../src/enc/predictor_enc.c \
  101. ../../src/enc/quant_enc.c \
  102. ../../src/enc/syntax_enc.c \
  103. ../../src/enc/token_enc.c \
  104. ../../src/enc/tree_enc.c \
  105. ../../src/enc/vp8l_enc.c \
  106. ../../src/enc/webp_enc.c \
  107. ../../src/mux/anim_encode.c \
  108. ../../src/mux/muxedit.c \
  109. ../../src/mux/muxinternal.c \
  110. ../../src/mux/muxread.c \
  111. ../../src/utils/bit_reader_utils.c \
  112. ../../src/utils/bit_writer_utils.c \
  113. ../../src/utils/color_cache_utils.c \
  114. ../../src/utils/filters_utils.c \
  115. ../../src/utils/huffman_encode_utils.c \
  116. ../../src/utils/huffman_utils.c \
  117. ../../src/utils/quant_levels_dec_utils.c \
  118. ../../src/utils/quant_levels_utils.c \
  119. ../../src/utils/random_utils.c \
  120. ../../src/utils/rescaler_utils.c \
  121. ../../src/utils/thread_utils.c \
  122. ../../src/utils/utils.c
  123. LOCAL_STATIC_LIBRARIES := cpufeatures
  124. ifeq ($(TARGET_ARCH_ABI), $(filter $(TARGET_ARCH_ABI), armeabi-v7a arm64-v8a))
  125. LOCAL_SRC_FILES += ../../src/dsp/alpha_processing_neon.c.neon
  126. LOCAL_SRC_FILES += ../../src/dsp/dec_neon.c.neon
  127. LOCAL_SRC_FILES += ../../src/dsp/enc_neon.c.neon
  128. LOCAL_SRC_FILES += ../../src/dsp/filters_neon.c.neon
  129. LOCAL_SRC_FILES += ../../src/dsp/lossless_enc_neon.c.neon
  130. LOCAL_SRC_FILES += ../../src/dsp/lossless_neon.c.neon
  131. LOCAL_SRC_FILES += ../../src/dsp/rescaler_neon.c.neon
  132. LOCAL_SRC_FILES += ../../src/dsp/upsampling_neon.c.neon
  133. endif
  134. include $(BUILD_STATIC_LIBRARY)
  135. $(call import-module,android/cpufeatures)