1*c83a76b0SSuyog Pawarpackage { 2*c83a76b0SSuyog Pawar default_applicable_licenses: ["external_libhevc_license"], 3*c83a76b0SSuyog Pawar} 4*c83a76b0SSuyog Pawar 5*c83a76b0SSuyog Pawar// Added automatically by a large-scale-change 6*c83a76b0SSuyog Pawar// See: http://go/android-license-faq 7*c83a76b0SSuyog Pawarlicense { 8*c83a76b0SSuyog Pawar name: "external_libhevc_license", 9*c83a76b0SSuyog Pawar visibility: [":__subpackages__"], 10*c83a76b0SSuyog Pawar license_kinds: [ 11*c83a76b0SSuyog Pawar "SPDX-license-identifier-Apache-2.0", 12*c83a76b0SSuyog Pawar ], 13*c83a76b0SSuyog Pawar license_text: [ 14*c83a76b0SSuyog Pawar "NOTICE", 15*c83a76b0SSuyog Pawar ], 16*c83a76b0SSuyog Pawar} 17*c83a76b0SSuyog Pawar 18*c83a76b0SSuyog Pawarcc_library_headers { 19*c83a76b0SSuyog Pawar name: "libhevcdec_headers", 20*c83a76b0SSuyog Pawar export_include_dirs: [ 21*c83a76b0SSuyog Pawar "common", 22*c83a76b0SSuyog Pawar "decoder", 23*c83a76b0SSuyog Pawar ], 24*c83a76b0SSuyog Pawar min_sdk_version: "29", 25*c83a76b0SSuyog Pawar} 26*c83a76b0SSuyog Pawar 27*c83a76b0SSuyog Pawarcc_library_headers { 28*c83a76b0SSuyog Pawar name: "libhevcenc_headers", 29*c83a76b0SSuyog Pawar export_include_dirs: [ 30*c83a76b0SSuyog Pawar "common", 31*c83a76b0SSuyog Pawar "encoder", 32*c83a76b0SSuyog Pawar ], 33*c83a76b0SSuyog Pawar min_sdk_version: "29", 34*c83a76b0SSuyog Pawar} 35*c83a76b0SSuyog Pawar 36*c83a76b0SSuyog Pawarcc_library_static { 37*c83a76b0SSuyog Pawar name: "libhevcdec", 38*c83a76b0SSuyog Pawar vendor_available: true, 39*c83a76b0SSuyog Pawar host_supported: true, 40*c83a76b0SSuyog Pawar 41*c83a76b0SSuyog Pawar cflags: [ 42*c83a76b0SSuyog Pawar "-D_LIB", 43*c83a76b0SSuyog Pawar "-fPIC", 44*c83a76b0SSuyog Pawar 45*c83a76b0SSuyog Pawar "-O3", 46*c83a76b0SSuyog Pawar "-DANDROID", 47*c83a76b0SSuyog Pawar "-DDISABLE_SEI", 48*c83a76b0SSuyog Pawar "-Wall", 49*c83a76b0SSuyog Pawar "-Werror", 50*c83a76b0SSuyog Pawar // common/x86/ihevc_sao_ssse3_intr.c: implicit conversion from 51*c83a76b0SSuyog Pawar // 'int' to 'char' changes value from 128 to -128 52*c83a76b0SSuyog Pawar "-Wno-error=constant-conversion", 53*c83a76b0SSuyog Pawar // #KEEP_THREAD_ACTIVE is experimental 54*c83a76b0SSuyog Pawar "-UKEEP_THREADS_ACTIVE", 55*c83a76b0SSuyog Pawar ], 56*c83a76b0SSuyog Pawar 57*c83a76b0SSuyog Pawar export_include_dirs: [ 58*c83a76b0SSuyog Pawar "common", 59*c83a76b0SSuyog Pawar "decoder", 60*c83a76b0SSuyog Pawar ], 61*c83a76b0SSuyog Pawar 62*c83a76b0SSuyog Pawar srcs: [ 63*c83a76b0SSuyog Pawar "common/ihevc_buf_mgr.c", 64*c83a76b0SSuyog Pawar "common/ihevc_cabac_tables.c", 65*c83a76b0SSuyog Pawar "common/ihevc_chroma_intra_pred_filters.c", 66*c83a76b0SSuyog Pawar "common/ihevc_chroma_iquant_itrans_recon.c", 67*c83a76b0SSuyog Pawar "common/ihevc_chroma_iquant_recon.c", 68*c83a76b0SSuyog Pawar "common/ihevc_chroma_itrans_recon.c", 69*c83a76b0SSuyog Pawar "common/ihevc_chroma_itrans_recon_16x16.c", 70*c83a76b0SSuyog Pawar "common/ihevc_chroma_itrans_recon_8x8.c", 71*c83a76b0SSuyog Pawar "common/ihevc_chroma_recon.c", 72*c83a76b0SSuyog Pawar "common/ihevc_common_tables.c", 73*c83a76b0SSuyog Pawar "common/ihevc_deblk_edge_filter.c", 74*c83a76b0SSuyog Pawar "common/ihevc_deblk_tables.c", 75*c83a76b0SSuyog Pawar "common/ihevc_disp_mgr.c", 76*c83a76b0SSuyog Pawar "common/ihevc_dpb_mgr.c", 77*c83a76b0SSuyog Pawar "common/ihevc_inter_pred_filters.c", 78*c83a76b0SSuyog Pawar "common/ihevc_intra_pred_filters.c", 79*c83a76b0SSuyog Pawar "common/ihevc_iquant_itrans_recon.c", 80*c83a76b0SSuyog Pawar "common/ihevc_iquant_recon.c", 81*c83a76b0SSuyog Pawar "common/ihevc_itrans.c", 82*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon.c", 83*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon_16x16.c", 84*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon_32x32.c", 85*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon_8x8.c", 86*c83a76b0SSuyog Pawar "common/ihevc_mem_fns.c", 87*c83a76b0SSuyog Pawar "common/ihevc_padding.c", 88*c83a76b0SSuyog Pawar "common/ihevc_quant_tables.c", 89*c83a76b0SSuyog Pawar "common/ihevc_recon.c", 90*c83a76b0SSuyog Pawar "common/ihevc_sao.c", 91*c83a76b0SSuyog Pawar "common/ihevc_trans_tables.c", 92*c83a76b0SSuyog Pawar "common/ihevc_weighted_pred.c", 93*c83a76b0SSuyog Pawar "common/ithread.c", 94*c83a76b0SSuyog Pawar "decoder/ihevcd_api.c", 95*c83a76b0SSuyog Pawar "decoder/ihevcd_bitstream.c", 96*c83a76b0SSuyog Pawar "decoder/ihevcd_boundary_strength.c", 97*c83a76b0SSuyog Pawar "decoder/ihevcd_cabac.c", 98*c83a76b0SSuyog Pawar "decoder/ihevcd_common_tables.c", 99*c83a76b0SSuyog Pawar "decoder/ihevcd_deblk.c", 100*c83a76b0SSuyog Pawar "decoder/ihevcd_decode.c", 101*c83a76b0SSuyog Pawar "decoder/ihevcd_fmt_conv.c", 102*c83a76b0SSuyog Pawar "decoder/ihevcd_get_mv.c", 103*c83a76b0SSuyog Pawar "decoder/ihevcd_ilf_padding.c", 104*c83a76b0SSuyog Pawar "decoder/ihevcd_inter_pred.c", 105*c83a76b0SSuyog Pawar "decoder/ihevcd_intra_pred_mode_prediction.c", 106*c83a76b0SSuyog Pawar "decoder/ihevcd_iquant_itrans_recon_ctb.c", 107*c83a76b0SSuyog Pawar "decoder/ihevcd_itrans_recon_dc.c", 108*c83a76b0SSuyog Pawar "decoder/ihevcd_job_queue.c", 109*c83a76b0SSuyog Pawar "decoder/ihevcd_mv_merge.c", 110*c83a76b0SSuyog Pawar "decoder/ihevcd_mv_pred.c", 111*c83a76b0SSuyog Pawar "decoder/ihevcd_nal.c", 112*c83a76b0SSuyog Pawar "decoder/ihevcd_parse_headers.c", 113*c83a76b0SSuyog Pawar "decoder/ihevcd_parse_residual.c", 114*c83a76b0SSuyog Pawar "decoder/ihevcd_parse_slice.c", 115*c83a76b0SSuyog Pawar "decoder/ihevcd_parse_slice_header.c", 116*c83a76b0SSuyog Pawar "decoder/ihevcd_process_slice.c", 117*c83a76b0SSuyog Pawar "decoder/ihevcd_ref_list.c", 118*c83a76b0SSuyog Pawar "decoder/ihevcd_sao.c", 119*c83a76b0SSuyog Pawar "decoder/ihevcd_utils.c", 120*c83a76b0SSuyog Pawar "decoder/ihevcd_version.c", 121*c83a76b0SSuyog Pawar ], 122*c83a76b0SSuyog Pawar 123*c83a76b0SSuyog Pawar arch: { 124*c83a76b0SSuyog Pawar arm64: { 125*c83a76b0SSuyog Pawar cflags: [ 126*c83a76b0SSuyog Pawar "-DARMV8", 127*c83a76b0SSuyog Pawar "-DDISABLE_NEONINTR", 128*c83a76b0SSuyog Pawar "-DARM", 129*c83a76b0SSuyog Pawar "-DARMGCC", 130*c83a76b0SSuyog Pawar 131*c83a76b0SSuyog Pawar "-DDEFAULT_ARCH=D_ARCH_ARMV8_GENERIC", 132*c83a76b0SSuyog Pawar ], 133*c83a76b0SSuyog Pawar local_include_dirs: [ 134*c83a76b0SSuyog Pawar "common/arm", 135*c83a76b0SSuyog Pawar "common/arm64", 136*c83a76b0SSuyog Pawar "decoder/arm", 137*c83a76b0SSuyog Pawar "decoder/arm64", 138*c83a76b0SSuyog Pawar ], 139*c83a76b0SSuyog Pawar 140*c83a76b0SSuyog Pawar srcs: [ 141*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_neon_intr.c", 142*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_neon_intr.c", 143*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_chroma_horz.s", 144*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_chroma_vert.s", 145*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_luma_horz.s", 146*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_luma_vert.s", 147*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_copy.s", 148*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_copy_w16out.s", 149*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_horz.s", 150*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_horz_w16out.s", 151*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert.s", 152*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert_w16inp.s", 153*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert_w16inp_w16out.s", 154*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert_w16out.s", 155*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_horz.s", 156*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_vert.s", 157*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_vert_w16inp.s", 158*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_vert_w16out.s", 159*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_copy.s", 160*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_copy_w16out.s", 161*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_horz_w16out.s", 162*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_vert_w16inp_w16out.s", 163*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_dc.s", 164*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_horz.s", 165*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode2.s", 166*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode_18_34.s", 167*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode_27_to_33.s", 168*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode_3_to_9.s", 169*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_planar.s", 170*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_ver.s", 171*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_chroma_mode_11_to_17.s", 172*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_chroma_mode_19_to_25.s", 173*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_luma_mode_11_to_17.s", 174*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_luma_mode_19_to_25.s", 175*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_dc.s", 176*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_horz.s", 177*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode2.s", 178*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode_18_34.s", 179*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode_27_to_33.s", 180*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode_3_to_9.s", 181*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_planar.s", 182*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_vert.s", 183*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_16x16.s", 184*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_32x32.s", 185*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_4x4.s", 186*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_4x4_ttype1.s", 187*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_8x8.s", 188*c83a76b0SSuyog Pawar "common/arm64/ihevc_mem_fns.s", 189*c83a76b0SSuyog Pawar "common/arm64/ihevc_padding.s", 190*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_band_offset_chroma.s", 191*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_band_offset_luma.s", 192*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class0.s", 193*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class0_chroma.s", 194*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class1.s", 195*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class1_chroma.s", 196*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class2.s", 197*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class2_chroma.s", 198*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class3.s", 199*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class3_chroma.s", 200*c83a76b0SSuyog Pawar "common/arm64/ihevc_weighted_pred_bi.s", 201*c83a76b0SSuyog Pawar "common/arm64/ihevc_weighted_pred_bi_default.s", 202*c83a76b0SSuyog Pawar "common/arm64/ihevc_weighted_pred_uni.s", 203*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_function_selector.c", 204*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_function_selector_noneon.c", 205*c83a76b0SSuyog Pawar "decoder/arm64/ihevcd_fmt_conv_420sp_to_420p.s", 206*c83a76b0SSuyog Pawar "decoder/arm64/ihevcd_fmt_conv_420sp_to_420sp.s", 207*c83a76b0SSuyog Pawar "decoder/arm64/ihevcd_fmt_conv_420sp_to_rgba8888.s", 208*c83a76b0SSuyog Pawar "decoder/arm64/ihevcd_function_selector_av8.c", 209*c83a76b0SSuyog Pawar "decoder/arm64/ihevcd_itrans_recon_dc_chroma.s", 210*c83a76b0SSuyog Pawar "decoder/arm64/ihevcd_itrans_recon_dc_luma.s", 211*c83a76b0SSuyog Pawar ], 212*c83a76b0SSuyog Pawar }, 213*c83a76b0SSuyog Pawar 214*c83a76b0SSuyog Pawar arm: { 215*c83a76b0SSuyog Pawar local_include_dirs: [ 216*c83a76b0SSuyog Pawar "common/arm", 217*c83a76b0SSuyog Pawar "decoder/arm", 218*c83a76b0SSuyog Pawar ], 219*c83a76b0SSuyog Pawar 220*c83a76b0SSuyog Pawar srcs: [ 221*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_function_selector.c", 222*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_function_selector_noneon.c", 223*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_chroma_horz.s", 224*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_chroma_vert.s", 225*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_luma_horz.s", 226*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_luma_vert.s", 227*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_copy.s", 228*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_copy_w16out.s", 229*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_horz.s", 230*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_horz_w16out.s", 231*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert.s", 232*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert_w16inp.s", 233*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s", 234*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert_w16out.s", 235*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_filters_luma_horz.s", 236*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_filters_luma_vert.s", 237*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_filters_luma_vert_w16inp.s", 238*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_copy.s", 239*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_copy_w16out.s", 240*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_horz_w16out.s", 241*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_vert_w16inp_w16out.s", 242*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_dc.s", 243*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_horz.s", 244*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode2.s", 245*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode_18_34.s", 246*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode_27_to_33.s", 247*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode_3_to_9.s", 248*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_planar.s", 249*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_ver.s", 250*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_chroma_mode_11_to_17.s", 251*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_chroma_mode_19_to_25.s", 252*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_luma_mode_11_to_17.s", 253*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_luma_mode_19_to_25.s", 254*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_neon_intr.c", 255*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_dc.s", 256*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_horz.s", 257*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode2.s", 258*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode_18_34.s", 259*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode_27_to_33.s", 260*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode_3_to_9.s", 261*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_planar.s", 262*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_vert.s", 263*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_ref_substitution_a9q.c", 264*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_16x16.s", 265*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_32x32.s", 266*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_4x4.s", 267*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_4x4_ttype1.s", 268*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_8x8.s", 269*c83a76b0SSuyog Pawar "common/arm/ihevc_mem_fns.s", 270*c83a76b0SSuyog Pawar "common/arm/ihevc_padding.s", 271*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_band_offset_chroma.s", 272*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_band_offset_luma.s", 273*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class0.s", 274*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class0_chroma.s", 275*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class1.s", 276*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class1_chroma.s", 277*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class2.s", 278*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class2_chroma.s", 279*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class3.s", 280*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class3_chroma.s", 281*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_bi.s", 282*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_bi_default.s", 283*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_neon_intr.c", 284*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_uni.s", 285*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_fmt_conv_420sp_to_420p.s", 286*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_fmt_conv_420sp_to_420sp.s", 287*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_fmt_conv_420sp_to_rgba8888.s", 288*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_function_selector_a9q.c", 289*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_itrans_recon_dc_chroma.s", 290*c83a76b0SSuyog Pawar "decoder/arm/ihevcd_itrans_recon_dc_luma.s", 291*c83a76b0SSuyog Pawar ], 292*c83a76b0SSuyog Pawar 293*c83a76b0SSuyog Pawar cflags: [ 294*c83a76b0SSuyog Pawar // Modules coded with neon intrinsics are not not included in Android Build. 295*c83a76b0SSuyog Pawar "-DDISABLE_NEONINTR", 296*c83a76b0SSuyog Pawar "-DARM", 297*c83a76b0SSuyog Pawar "-DARMGCC", 298*c83a76b0SSuyog Pawar "-fno-tree-vectorize", 299*c83a76b0SSuyog Pawar "-DDEFAULT_ARCH=D_ARCH_ARM_A9Q", 300*c83a76b0SSuyog Pawar ], 301*c83a76b0SSuyog Pawar 302*c83a76b0SSuyog Pawar instruction_set: "arm", 303*c83a76b0SSuyog Pawar }, 304*c83a76b0SSuyog Pawar 305*c83a76b0SSuyog Pawar x86_64: { 306*c83a76b0SSuyog Pawar cflags: [ 307*c83a76b0SSuyog Pawar "-DX86", 308*c83a76b0SSuyog Pawar "-DDISABLE_AVX2", 309*c83a76b0SSuyog Pawar "-msse4.2", 310*c83a76b0SSuyog Pawar "-mno-avx", 311*c83a76b0SSuyog Pawar "-DDEFAULT_ARCH=D_ARCH_X86_SSE42", 312*c83a76b0SSuyog Pawar ], 313*c83a76b0SSuyog Pawar 314*c83a76b0SSuyog Pawar local_include_dirs: [ 315*c83a76b0SSuyog Pawar "common/x86", 316*c83a76b0SSuyog Pawar "decoder/x86", 317*c83a76b0SSuyog Pawar ], 318*c83a76b0SSuyog Pawar 319*c83a76b0SSuyog Pawar srcs: [ 320*c83a76b0SSuyog Pawar "common/x86/ihevc_16x16_itrans_recon_sse42_intr.c", 321*c83a76b0SSuyog Pawar "common/x86/ihevc_32x32_itrans_recon_sse42_intr.c", 322*c83a76b0SSuyog Pawar "common/x86/ihevc_chroma_intra_pred_filters_sse42_intr.c", 323*c83a76b0SSuyog Pawar "common/x86/ihevc_chroma_intra_pred_filters_ssse3_intr.c", 324*c83a76b0SSuyog Pawar "common/x86/ihevc_deblk_ssse3_intr.c", 325*c83a76b0SSuyog Pawar "common/x86/ihevc_inter_pred_filters_sse42_intr.c", 326*c83a76b0SSuyog Pawar "common/x86/ihevc_inter_pred_filters_ssse3_intr.c", 327*c83a76b0SSuyog Pawar "common/x86/ihevc_intra_pred_filters_sse42_intr.c", 328*c83a76b0SSuyog Pawar "common/x86/ihevc_intra_pred_filters_ssse3_intr.c", 329*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_16x16_ssse3_intr.c", 330*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_32x32_ssse3_intr.c", 331*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_sse42_intr.c", 332*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_ssse3_intr.c", 333*c83a76b0SSuyog Pawar "common/x86/ihevc_mem_fns_ssse3_intr.c", 334*c83a76b0SSuyog Pawar "common/x86/ihevc_padding_ssse3_intr.c", 335*c83a76b0SSuyog Pawar "common/x86/ihevc_sao_ssse3_intr.c", 336*c83a76b0SSuyog Pawar "common/x86/ihevc_tables_x86_intr.c", 337*c83a76b0SSuyog Pawar "common/x86/ihevc_weighted_pred_sse42_intr.c", 338*c83a76b0SSuyog Pawar "common/x86/ihevc_weighted_pred_ssse3_intr.c", 339*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_fmt_conv_ssse3_intr.c", 340*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector.c", 341*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector_generic.c", 342*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector_sse42.c", 343*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector_ssse3.c", 344*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_it_rec_dc_sse42_intr.c", 345*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_it_rec_dc_ssse3_intr.c", 346*c83a76b0SSuyog Pawar ], 347*c83a76b0SSuyog Pawar }, 348*c83a76b0SSuyog Pawar 349*c83a76b0SSuyog Pawar x86: { 350*c83a76b0SSuyog Pawar cflags: [ 351*c83a76b0SSuyog Pawar "-DX86", 352*c83a76b0SSuyog Pawar "-DDISABLE_AVX2", 353*c83a76b0SSuyog Pawar "-msse4.2", 354*c83a76b0SSuyog Pawar "-mno-avx", 355*c83a76b0SSuyog Pawar "-DDEFAULT_ARCH=D_ARCH_X86_SSE42", 356*c83a76b0SSuyog Pawar ], 357*c83a76b0SSuyog Pawar 358*c83a76b0SSuyog Pawar local_include_dirs: [ 359*c83a76b0SSuyog Pawar "common/x86", 360*c83a76b0SSuyog Pawar "decoder/x86", 361*c83a76b0SSuyog Pawar ], 362*c83a76b0SSuyog Pawar 363*c83a76b0SSuyog Pawar srcs: [ 364*c83a76b0SSuyog Pawar "common/x86/ihevc_16x16_itrans_recon_sse42_intr.c", 365*c83a76b0SSuyog Pawar "common/x86/ihevc_32x32_itrans_recon_sse42_intr.c", 366*c83a76b0SSuyog Pawar "common/x86/ihevc_chroma_intra_pred_filters_sse42_intr.c", 367*c83a76b0SSuyog Pawar "common/x86/ihevc_chroma_intra_pred_filters_ssse3_intr.c", 368*c83a76b0SSuyog Pawar "common/x86/ihevc_deblk_ssse3_intr.c", 369*c83a76b0SSuyog Pawar "common/x86/ihevc_inter_pred_filters_sse42_intr.c", 370*c83a76b0SSuyog Pawar "common/x86/ihevc_inter_pred_filters_ssse3_intr.c", 371*c83a76b0SSuyog Pawar "common/x86/ihevc_intra_pred_filters_sse42_intr.c", 372*c83a76b0SSuyog Pawar "common/x86/ihevc_intra_pred_filters_ssse3_intr.c", 373*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_16x16_ssse3_intr.c", 374*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_32x32_ssse3_intr.c", 375*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_sse42_intr.c", 376*c83a76b0SSuyog Pawar "common/x86/ihevc_itrans_recon_ssse3_intr.c", 377*c83a76b0SSuyog Pawar "common/x86/ihevc_mem_fns_ssse3_intr.c", 378*c83a76b0SSuyog Pawar "common/x86/ihevc_padding_ssse3_intr.c", 379*c83a76b0SSuyog Pawar "common/x86/ihevc_sao_ssse3_intr.c", 380*c83a76b0SSuyog Pawar "common/x86/ihevc_tables_x86_intr.c", 381*c83a76b0SSuyog Pawar "common/x86/ihevc_weighted_pred_sse42_intr.c", 382*c83a76b0SSuyog Pawar "common/x86/ihevc_weighted_pred_ssse3_intr.c", 383*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_fmt_conv_ssse3_intr.c", 384*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector.c", 385*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector_generic.c", 386*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector_sse42.c", 387*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_function_selector_ssse3.c", 388*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_it_rec_dc_sse42_intr.c", 389*c83a76b0SSuyog Pawar "decoder/x86/ihevcd_it_rec_dc_ssse3_intr.c", 390*c83a76b0SSuyog Pawar ], 391*c83a76b0SSuyog Pawar }, 392*c83a76b0SSuyog Pawar riscv64: { 393*c83a76b0SSuyog Pawar local_include_dirs: [ 394*c83a76b0SSuyog Pawar "common/riscv64", 395*c83a76b0SSuyog Pawar ], 396*c83a76b0SSuyog Pawar 397*c83a76b0SSuyog Pawar srcs: [ 398*c83a76b0SSuyog Pawar "decoder/riscv64/ihevcd_function_selector.c", 399*c83a76b0SSuyog Pawar "decoder/riscv64/ihevcd_function_selector_generic.c", 400*c83a76b0SSuyog Pawar ], 401*c83a76b0SSuyog Pawar }, 402*c83a76b0SSuyog Pawar }, 403*c83a76b0SSuyog Pawar 404*c83a76b0SSuyog Pawar sanitize: { 405*c83a76b0SSuyog Pawar integer_overflow: true, 406*c83a76b0SSuyog Pawar misc_undefined: ["bounds"], 407*c83a76b0SSuyog Pawar // Enable CFI if this becomes a shared library. 408*c83a76b0SSuyog Pawar cfi: true, 409*c83a76b0SSuyog Pawar config: { 410*c83a76b0SSuyog Pawar cfi_assembly_support: true, 411*c83a76b0SSuyog Pawar }, 412*c83a76b0SSuyog Pawar blocklist: "libhevc_blocklist.txt", 413*c83a76b0SSuyog Pawar }, 414*c83a76b0SSuyog Pawar 415*c83a76b0SSuyog Pawar apex_available: [ 416*c83a76b0SSuyog Pawar "//apex_available:platform", 417*c83a76b0SSuyog Pawar "com.android.media.swcodec", 418*c83a76b0SSuyog Pawar ], 419*c83a76b0SSuyog Pawar min_sdk_version: "29", 420*c83a76b0SSuyog Pawar} 421*c83a76b0SSuyog Pawar 422*c83a76b0SSuyog Pawarcc_test { 423*c83a76b0SSuyog Pawar name: "hevcdec", 424*c83a76b0SSuyog Pawar host_supported: true, 425*c83a76b0SSuyog Pawar cflags: [ 426*c83a76b0SSuyog Pawar "-DPROFILE_ENABLE", 427*c83a76b0SSuyog Pawar "-DARM", 428*c83a76b0SSuyog Pawar "-fPIC", 429*c83a76b0SSuyog Pawar "-DMD5_DISABLE", 430*c83a76b0SSuyog Pawar "-Wall", 431*c83a76b0SSuyog Pawar "-Werror", 432*c83a76b0SSuyog Pawar ], 433*c83a76b0SSuyog Pawar gtest: false, 434*c83a76b0SSuyog Pawar srcs: ["test/decoder/main.c"], 435*c83a76b0SSuyog Pawar static_libs: ["libhevcdec"], 436*c83a76b0SSuyog Pawar target: { 437*c83a76b0SSuyog Pawar darwin: { 438*c83a76b0SSuyog Pawar enabled: false, 439*c83a76b0SSuyog Pawar }, 440*c83a76b0SSuyog Pawar }, 441*c83a76b0SSuyog Pawar} 442*c83a76b0SSuyog Pawar 443*c83a76b0SSuyog Pawarcc_library_static { 444*c83a76b0SSuyog Pawar name: "libhevcenc", 445*c83a76b0SSuyog Pawar vendor_available: true, 446*c83a76b0SSuyog Pawar host_supported: true, 447*c83a76b0SSuyog Pawar cflags: [ 448*c83a76b0SSuyog Pawar "-DENABLE_MAIN_REXT_PROFILE", 449*c83a76b0SSuyog Pawar "-DDISABLE_SEI", 450*c83a76b0SSuyog Pawar "-fPIC", 451*c83a76b0SSuyog Pawar "-O3", 452*c83a76b0SSuyog Pawar "-Wall", 453*c83a76b0SSuyog Pawar "-Wno-unused-variable", 454*c83a76b0SSuyog Pawar "-Wno-unused-parameter", 455*c83a76b0SSuyog Pawar ], 456*c83a76b0SSuyog Pawar 457*c83a76b0SSuyog Pawar export_include_dirs: [ 458*c83a76b0SSuyog Pawar "common", 459*c83a76b0SSuyog Pawar "encoder", 460*c83a76b0SSuyog Pawar ], 461*c83a76b0SSuyog Pawar 462*c83a76b0SSuyog Pawar srcs: [ 463*c83a76b0SSuyog Pawar "common/ihevc_cabac_tables.c", 464*c83a76b0SSuyog Pawar "common/ihevc_chroma_intra_pred_filters.c", 465*c83a76b0SSuyog Pawar "common/ihevc_chroma_itrans_recon.c", 466*c83a76b0SSuyog Pawar "common/ihevc_chroma_itrans_recon_16x16.c", 467*c83a76b0SSuyog Pawar "common/ihevc_chroma_itrans_recon_8x8.c", 468*c83a76b0SSuyog Pawar "common/ihevc_common_tables.c", 469*c83a76b0SSuyog Pawar "common/ihevc_deblk_edge_filter.c", 470*c83a76b0SSuyog Pawar "common/ihevc_deblk_tables.c", 471*c83a76b0SSuyog Pawar "common/ihevc_hbd_deblk_edge_filter.c", 472*c83a76b0SSuyog Pawar "common/ihevc_inter_pred_filters.c", 473*c83a76b0SSuyog Pawar "common/ihevc_intra_pred_filters.c", 474*c83a76b0SSuyog Pawar "common/ihevc_iquant_recon.c", 475*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon.c", 476*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon_16x16.c", 477*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon_32x32.c", 478*c83a76b0SSuyog Pawar "common/ihevc_itrans_recon_8x8.c", 479*c83a76b0SSuyog Pawar "common/ihevc_mem_fns.c", 480*c83a76b0SSuyog Pawar "common/ihevc_padding.c", 481*c83a76b0SSuyog Pawar "common/ihevc_quant_iquant_ssd.c", 482*c83a76b0SSuyog Pawar "common/ihevc_quant_tables.c", 483*c83a76b0SSuyog Pawar "common/ihevc_resi_trans.c", 484*c83a76b0SSuyog Pawar "common/ihevc_sao.c", 485*c83a76b0SSuyog Pawar "common/ihevc_trans_tables.c", 486*c83a76b0SSuyog Pawar "common/ihevc_weighted_pred.c", 487*c83a76b0SSuyog Pawar "encoder/bit_allocation.c", 488*c83a76b0SSuyog Pawar "encoder/cbr_buffer_control.c", 489*c83a76b0SSuyog Pawar "encoder/common_rom.c", 490*c83a76b0SSuyog Pawar "encoder/convert_float_to_fix.c", 491*c83a76b0SSuyog Pawar "encoder/est_sad.c", 492*c83a76b0SSuyog Pawar "encoder/fixed_point_error_bits.c", 493*c83a76b0SSuyog Pawar "encoder/frame_info_collector.c", 494*c83a76b0SSuyog Pawar "encoder/hme_coarse.c", 495*c83a76b0SSuyog Pawar "encoder/hme_common_utils.c", 496*c83a76b0SSuyog Pawar "encoder/hme_err_compute.c", 497*c83a76b0SSuyog Pawar "encoder/hme_fullpel.c", 498*c83a76b0SSuyog Pawar "encoder/hme_function_selector.c", 499*c83a76b0SSuyog Pawar "encoder/hme_globals.c", 500*c83a76b0SSuyog Pawar "encoder/hme_interface.c", 501*c83a76b0SSuyog Pawar "encoder/hme_refine.c", 502*c83a76b0SSuyog Pawar "encoder/hme_search_algo.c", 503*c83a76b0SSuyog Pawar "encoder/hme_subpel.c", 504*c83a76b0SSuyog Pawar "encoder/hme_utils.c", 505*c83a76b0SSuyog Pawar "encoder/ihevce_bitstream.c", 506*c83a76b0SSuyog Pawar "encoder/ihevce_bs_compute_ctb.c", 507*c83a76b0SSuyog Pawar "encoder/ihevce_buffer_que.c", 508*c83a76b0SSuyog Pawar "encoder/ihevce_cabac.c", 509*c83a76b0SSuyog Pawar "encoder/ihevce_cabac_cu_pu.c", 510*c83a76b0SSuyog Pawar "encoder/ihevce_cabac_rdo.c", 511*c83a76b0SSuyog Pawar "encoder/ihevce_cabac_tu.c", 512*c83a76b0SSuyog Pawar "encoder/ihevce_chroma_had_satd.c", 513*c83a76b0SSuyog Pawar "encoder/ihevce_cmn_utils_instr_set_router.c", 514*c83a76b0SSuyog Pawar "encoder/ihevce_coarse_me_pass.c", 515*c83a76b0SSuyog Pawar "encoder/ihevce_common_utils.c", 516*c83a76b0SSuyog Pawar "encoder/ihevce_deblk.c", 517*c83a76b0SSuyog Pawar "encoder/ihevce_decomp_pre_intra_pass.c", 518*c83a76b0SSuyog Pawar "encoder/ihevce_dep_mngr.c", 519*c83a76b0SSuyog Pawar "encoder/ihevce_enc_cu_recursion.c", 520*c83a76b0SSuyog Pawar "encoder/ihevce_enc_loop_inter_mode_sifter.c", 521*c83a76b0SSuyog Pawar "encoder/ihevce_enc_loop_pass.c", 522*c83a76b0SSuyog Pawar "encoder/ihevce_enc_loop_utils.c", 523*c83a76b0SSuyog Pawar "encoder/ihevce_enc_sbh_funcs.c", 524*c83a76b0SSuyog Pawar "encoder/ihevce_enc_subpel_gen.c", 525*c83a76b0SSuyog Pawar "encoder/ihevce_encode_header.c", 526*c83a76b0SSuyog Pawar "encoder/ihevce_encode_header_sei_vui.c", 527*c83a76b0SSuyog Pawar "encoder/ihevce_entropy_cod.c", 528*c83a76b0SSuyog Pawar "encoder/ihevce_entropy_interface.c", 529*c83a76b0SSuyog Pawar "encoder/ihevce_error_check.c", 530*c83a76b0SSuyog Pawar "encoder/ihevce_frame_process.c", 531*c83a76b0SSuyog Pawar "encoder/ihevce_frame_process_utils.c", 532*c83a76b0SSuyog Pawar "encoder/ihevce_function_selector.c", 533*c83a76b0SSuyog Pawar "encoder/ihevce_global_tables.c", 534*c83a76b0SSuyog Pawar "encoder/ihevce_had_satd.c", 535*c83a76b0SSuyog Pawar "encoder/ihevce_hle_interface.c", 536*c83a76b0SSuyog Pawar "encoder/ihevce_hle_q_func.c", 537*c83a76b0SSuyog Pawar "encoder/ihevce_inter_pred.c", 538*c83a76b0SSuyog Pawar "encoder/ihevce_ipe_instr_set_router.c", 539*c83a76b0SSuyog Pawar "encoder/ihevce_ipe_pass.c", 540*c83a76b0SSuyog Pawar "encoder/ihevce_lap_interface.c", 541*c83a76b0SSuyog Pawar "encoder/ihevce_me_instr_set_router.c", 542*c83a76b0SSuyog Pawar "encoder/ihevce_me_pass.c", 543*c83a76b0SSuyog Pawar "encoder/ihevce_memory_init.c", 544*c83a76b0SSuyog Pawar "encoder/ihevce_multi_thrd_funcs.c", 545*c83a76b0SSuyog Pawar "encoder/ihevce_mv_pred.c", 546*c83a76b0SSuyog Pawar "encoder/ihevce_mv_pred_merge.c", 547*c83a76b0SSuyog Pawar "encoder/ihevce_nbr_avail.c", 548*c83a76b0SSuyog Pawar "encoder/ihevce_plugin.c", 549*c83a76b0SSuyog Pawar "encoder/ihevce_profile.c", 550*c83a76b0SSuyog Pawar "encoder/ihevce_rc_interface.c", 551*c83a76b0SSuyog Pawar "encoder/ihevce_recur_bracketing.c", 552*c83a76b0SSuyog Pawar "encoder/ihevce_sao.c", 553*c83a76b0SSuyog Pawar "encoder/ihevce_stasino_helpers.c", 554*c83a76b0SSuyog Pawar "encoder/ihevce_sub_pic_rc.c", 555*c83a76b0SSuyog Pawar "encoder/ihevce_sys_api.c", 556*c83a76b0SSuyog Pawar "encoder/ihevce_tile_interface.c", 557*c83a76b0SSuyog Pawar "encoder/ihevce_trace.c", 558*c83a76b0SSuyog Pawar "encoder/ihevce_tu_tree_selector.c", 559*c83a76b0SSuyog Pawar "encoder/init_qp.c", 560*c83a76b0SSuyog Pawar "encoder/mb_model_based.c", 561*c83a76b0SSuyog Pawar "encoder/osal.c", 562*c83a76b0SSuyog Pawar "encoder/osal_cond_var.c", 563*c83a76b0SSuyog Pawar "encoder/osal_error.c", 564*c83a76b0SSuyog Pawar "encoder/osal_mutex.c", 565*c83a76b0SSuyog Pawar "encoder/osal_semaphore.c", 566*c83a76b0SSuyog Pawar "encoder/osal_thread.c", 567*c83a76b0SSuyog Pawar "encoder/picture_type.c", 568*c83a76b0SSuyog Pawar "encoder/rate_control_api.c", 569*c83a76b0SSuyog Pawar "encoder/rc_rd_model.c", 570*c83a76b0SSuyog Pawar "encoder/rc_rd_model_fix.c", 571*c83a76b0SSuyog Pawar "encoder/rc_sad_acc.c", 572*c83a76b0SSuyog Pawar "encoder/sqrt_interp.c", 573*c83a76b0SSuyog Pawar "encoder/var_q_operator.c", 574*c83a76b0SSuyog Pawar "encoder/vbr_storage_vbv.c", 575*c83a76b0SSuyog Pawar "encoder/vbr_str_prms.c", 576*c83a76b0SSuyog Pawar ], 577*c83a76b0SSuyog Pawar 578*c83a76b0SSuyog Pawar arch: { 579*c83a76b0SSuyog Pawar arm64: { 580*c83a76b0SSuyog Pawar 581*c83a76b0SSuyog Pawar local_include_dirs: [ 582*c83a76b0SSuyog Pawar "common/arm", 583*c83a76b0SSuyog Pawar "common/arm64", 584*c83a76b0SSuyog Pawar "encoder/arm", 585*c83a76b0SSuyog Pawar ], 586*c83a76b0SSuyog Pawar 587*c83a76b0SSuyog Pawar srcs: [ 588*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_neon_intr.c", 589*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_ref_substitution_a9q.c", 590*c83a76b0SSuyog Pawar "common/arm/ihevc_quant_iquant_ssd_neon_intr.c", 591*c83a76b0SSuyog Pawar "common/arm/ihevc_resi_trans_neon.c", 592*c83a76b0SSuyog Pawar "common/arm/ihevc_resi_trans_neon_32x32.c", 593*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_neon_intr.c", 594*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_chroma_horz.s", 595*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_chroma_vert.s", 596*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_luma_horz.s", 597*c83a76b0SSuyog Pawar "common/arm64/ihevc_deblk_luma_vert.s", 598*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_copy.s", 599*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_copy_w16out.s", 600*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_horz.s", 601*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_horz_w16out.s", 602*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert.s", 603*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert_w16inp.s", 604*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert_w16inp_w16out.s", 605*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_chroma_vert_w16out.s", 606*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_horz.s", 607*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_vert.s", 608*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_vert_w16inp.s", 609*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_filters_luma_vert_w16out.s", 610*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_copy.s", 611*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_copy_w16out.s", 612*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_horz_w16out.s", 613*c83a76b0SSuyog Pawar "common/arm64/ihevc_inter_pred_luma_vert_w16inp_w16out.s", 614*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_dc.s", 615*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_horz.s", 616*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode2.s", 617*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode_18_34.s", 618*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode_27_to_33.s", 619*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_mode_3_to_9.s", 620*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_planar.s", 621*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_chroma_ver.s", 622*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_chroma_mode_11_to_17.s", 623*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_chroma_mode_19_to_25.s", 624*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_luma_mode_11_to_17.s", 625*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_filters_luma_mode_19_to_25.s", 626*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_dc.s", 627*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_horz.s", 628*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode2.s", 629*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode_18_34.s", 630*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode_27_to_33.s", 631*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_mode_3_to_9.s", 632*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_planar.s", 633*c83a76b0SSuyog Pawar "common/arm64/ihevc_intra_pred_luma_vert.s", 634*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_16x16.s", 635*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_32x32.s", 636*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_4x4.s", 637*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_4x4_ttype1.s", 638*c83a76b0SSuyog Pawar "common/arm64/ihevc_itrans_recon_8x8.s", 639*c83a76b0SSuyog Pawar "common/arm64/ihevc_mem_fns.s", 640*c83a76b0SSuyog Pawar "common/arm64/ihevc_padding.s", 641*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_band_offset_chroma.s", 642*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_band_offset_luma.s", 643*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class0.s", 644*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class0_chroma.s", 645*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class1.s", 646*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class1_chroma.s", 647*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class2.s", 648*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class2_chroma.s", 649*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class3.s", 650*c83a76b0SSuyog Pawar "common/arm64/ihevc_sao_edge_offset_class3_chroma.s", 651*c83a76b0SSuyog Pawar "common/arm64/ihevc_weighted_pred_bi.s", 652*c83a76b0SSuyog Pawar "common/arm64/ihevc_weighted_pred_bi_default.s", 653*c83a76b0SSuyog Pawar "common/arm64/ihevc_weighted_pred_uni.s", 654*c83a76b0SSuyog Pawar "encoder/arm/ihevce_coarse_layer_sad_neon.c", 655*c83a76b0SSuyog Pawar "encoder/arm/ihevce_common_utils_neon.c", 656*c83a76b0SSuyog Pawar "encoder/arm/ihevce_copy_neon.c", 657*c83a76b0SSuyog Pawar "encoder/arm/ihevce_had_compute_neon.c", 658*c83a76b0SSuyog Pawar "encoder/arm/ihevce_hme_utils_neon.c", 659*c83a76b0SSuyog Pawar "encoder/arm/ihevce_itrans_recon_neon.c", 660*c83a76b0SSuyog Pawar "encoder/arm/ihevce_me_neon.c", 661*c83a76b0SSuyog Pawar "encoder/arm/ihevce_sad_compute_neon.c", 662*c83a76b0SSuyog Pawar "encoder/arm/ihevce_scale_by_2_neon.c", 663*c83a76b0SSuyog Pawar "encoder/arm/ihevce_scan_coeffs_neon.c", 664*c83a76b0SSuyog Pawar "encoder/arm/ihevce_ssd_and_sad_calculator_neon.c", 665*c83a76b0SSuyog Pawar "encoder/arm/ihevce_ssd_calculator_neon.c", 666*c83a76b0SSuyog Pawar "encoder/arm/ihevce_subpel_neon.c", 667*c83a76b0SSuyog Pawar ], 668*c83a76b0SSuyog Pawar 669*c83a76b0SSuyog Pawar cflags: [ 670*c83a76b0SSuyog Pawar "-DENABLE_NEON", 671*c83a76b0SSuyog Pawar "-DARMV8", 672*c83a76b0SSuyog Pawar "-DARM", 673*c83a76b0SSuyog Pawar ], 674*c83a76b0SSuyog Pawar }, 675*c83a76b0SSuyog Pawar 676*c83a76b0SSuyog Pawar arm: { 677*c83a76b0SSuyog Pawar local_include_dirs: [ 678*c83a76b0SSuyog Pawar "common/arm", 679*c83a76b0SSuyog Pawar "encoder/arm", 680*c83a76b0SSuyog Pawar ], 681*c83a76b0SSuyog Pawar 682*c83a76b0SSuyog Pawar srcs: [ 683*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_chroma_horz.s", 684*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_chroma_vert.s", 685*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_luma_horz.s", 686*c83a76b0SSuyog Pawar "common/arm/ihevc_deblk_luma_vert.s", 687*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_copy.s", 688*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_copy_w16out.s", 689*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_horz.s", 690*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_horz_w16out.s", 691*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert.s", 692*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert_w16inp.s", 693*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert_w16inp_w16out.s", 694*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_chroma_vert_w16out.s", 695*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_filters_luma_horz.s", 696*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_filters_luma_vert.s", 697*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_filters_luma_vert_w16inp.s", 698*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_copy.s", 699*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_copy_w16out.s", 700*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_horz_w16out.s", 701*c83a76b0SSuyog Pawar "common/arm/ihevc_inter_pred_luma_vert_w16inp_w16out.s", 702*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_dc.s", 703*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_horz.s", 704*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode2.s", 705*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode_18_34.s", 706*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode_27_to_33.s", 707*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_mode_3_to_9.s", 708*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_planar.s", 709*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_chroma_ver.s", 710*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_chroma_mode_11_to_17.s", 711*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_chroma_mode_19_to_25.s", 712*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_luma_mode_11_to_17.s", 713*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_luma_mode_19_to_25.s", 714*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_filters_neon_intr.c", 715*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_dc.s", 716*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_horz.s", 717*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode2.s", 718*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode_18_34.s", 719*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode_27_to_33.s", 720*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_mode_3_to_9.s", 721*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_planar.s", 722*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_pred_luma_vert.s", 723*c83a76b0SSuyog Pawar "common/arm/ihevc_intra_ref_substitution_a9q.c", 724*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_16x16.s", 725*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_32x32.s", 726*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_4x4.s", 727*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_4x4_ttype1.s", 728*c83a76b0SSuyog Pawar "common/arm/ihevc_itrans_recon_8x8.s", 729*c83a76b0SSuyog Pawar "common/arm/ihevc_mem_fns.s", 730*c83a76b0SSuyog Pawar "common/arm/ihevc_padding.s", 731*c83a76b0SSuyog Pawar "common/arm/ihevc_quant_iquant_ssd_neon_intr.c", 732*c83a76b0SSuyog Pawar "common/arm/ihevc_resi_trans.s", 733*c83a76b0SSuyog Pawar "common/arm/ihevc_resi_trans_32x32_a9q.s", 734*c83a76b0SSuyog Pawar "common/arm/ihevc_resi_trans_neon.c", 735*c83a76b0SSuyog Pawar "common/arm/ihevc_resi_trans_neon_32x32.c", 736*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_band_offset_chroma.s", 737*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_band_offset_luma.s", 738*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class0.s", 739*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class0_chroma.s", 740*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class1.s", 741*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class1_chroma.s", 742*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class2.s", 743*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class2_chroma.s", 744*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class3.s", 745*c83a76b0SSuyog Pawar "common/arm/ihevc_sao_edge_offset_class3_chroma.s", 746*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_bi.s", 747*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_bi_default.s", 748*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_neon_intr.c", 749*c83a76b0SSuyog Pawar "common/arm/ihevc_weighted_pred_uni.s", 750*c83a76b0SSuyog Pawar "encoder/arm/ihevce_coarse_layer_sad_neon.c", 751*c83a76b0SSuyog Pawar "encoder/arm/ihevce_common_utils_neon.c", 752*c83a76b0SSuyog Pawar "encoder/arm/ihevce_copy_neon.c", 753*c83a76b0SSuyog Pawar "encoder/arm/ihevce_had_compute_neon.c", 754*c83a76b0SSuyog Pawar "encoder/arm/ihevce_hme_utils_neon.c", 755*c83a76b0SSuyog Pawar "encoder/arm/ihevce_itrans_recon_neon.c", 756*c83a76b0SSuyog Pawar "encoder/arm/ihevce_me_neon.c", 757*c83a76b0SSuyog Pawar "encoder/arm/ihevce_sad_compute_neon.c", 758*c83a76b0SSuyog Pawar "encoder/arm/ihevce_scale_by_2_neon.c", 759*c83a76b0SSuyog Pawar "encoder/arm/ihevce_scan_coeffs_neon.c", 760*c83a76b0SSuyog Pawar "encoder/arm/ihevce_ssd_and_sad_calculator_neon.c", 761*c83a76b0SSuyog Pawar "encoder/arm/ihevce_ssd_calculator_neon.c", 762*c83a76b0SSuyog Pawar "encoder/arm/ihevce_subpel_neon.c", 763*c83a76b0SSuyog Pawar ], 764*c83a76b0SSuyog Pawar 765*c83a76b0SSuyog Pawar cflags: [ 766*c83a76b0SSuyog Pawar "-DENABLE_NEON", 767*c83a76b0SSuyog Pawar "-DARM", 768*c83a76b0SSuyog Pawar ], 769*c83a76b0SSuyog Pawar instruction_set: "arm", 770*c83a76b0SSuyog Pawar }, 771*c83a76b0SSuyog Pawar 772*c83a76b0SSuyog Pawar x86_64: { 773*c83a76b0SSuyog Pawar local_include_dirs: [ 774*c83a76b0SSuyog Pawar "common/x86", 775*c83a76b0SSuyog Pawar ], 776*c83a76b0SSuyog Pawar }, 777*c83a76b0SSuyog Pawar 778*c83a76b0SSuyog Pawar x86: { 779*c83a76b0SSuyog Pawar local_include_dirs: [ 780*c83a76b0SSuyog Pawar "common/x86", 781*c83a76b0SSuyog Pawar ], 782*c83a76b0SSuyog Pawar }, 783*c83a76b0SSuyog Pawar 784*c83a76b0SSuyog Pawar riscv64: { 785*c83a76b0SSuyog Pawar local_include_dirs: [ 786*c83a76b0SSuyog Pawar "common/riscv64", 787*c83a76b0SSuyog Pawar ], 788*c83a76b0SSuyog Pawar }, 789*c83a76b0SSuyog Pawar }, 790*c83a76b0SSuyog Pawar sanitize: { 791*c83a76b0SSuyog Pawar integer_overflow: true, 792*c83a76b0SSuyog Pawar misc_undefined: ["bounds"], 793*c83a76b0SSuyog Pawar // Enable CFI if this becomes a shared library. 794*c83a76b0SSuyog Pawar cfi: true, 795*c83a76b0SSuyog Pawar config: { 796*c83a76b0SSuyog Pawar cfi_assembly_support: true, 797*c83a76b0SSuyog Pawar }, 798*c83a76b0SSuyog Pawar blocklist: "libhevc_blocklist.txt", 799*c83a76b0SSuyog Pawar }, 800*c83a76b0SSuyog Pawar 801*c83a76b0SSuyog Pawar apex_available: [ 802*c83a76b0SSuyog Pawar "//apex_available:platform", 803*c83a76b0SSuyog Pawar "com.android.media.swcodec", 804*c83a76b0SSuyog Pawar ], 805*c83a76b0SSuyog Pawar min_sdk_version: "29", 806*c83a76b0SSuyog Pawar} 807*c83a76b0SSuyog Pawar 808*c83a76b0SSuyog Pawarcc_test { 809*c83a76b0SSuyog Pawar name: "hevcenc", 810*c83a76b0SSuyog Pawar host_supported: true, 811*c83a76b0SSuyog Pawar cflags: [ 812*c83a76b0SSuyog Pawar "-DARM", 813*c83a76b0SSuyog Pawar "-fPIC", 814*c83a76b0SSuyog Pawar "-Wall", 815*c83a76b0SSuyog Pawar "-Werror", 816*c83a76b0SSuyog Pawar ], 817*c83a76b0SSuyog Pawar gtest: false, 818*c83a76b0SSuyog Pawar srcs: ["test/encoder/main.c"], 819*c83a76b0SSuyog Pawar static_libs: ["libhevcenc"], 820*c83a76b0SSuyog Pawar sanitize: { 821*c83a76b0SSuyog Pawar integer_overflow: true, 822*c83a76b0SSuyog Pawar misc_undefined: ["bounds"], 823*c83a76b0SSuyog Pawar }, 824*c83a76b0SSuyog Pawar} 825