xref: /rockchip-linux_mpp/Android.bp (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisakacc_defaults {
2*437bfbebSnyanmisaka    name: "mpp_defaults",
3*437bfbebSnyanmisaka
4*437bfbebSnyanmisaka    cflags: [
5*437bfbebSnyanmisaka        "-DENABLE_FASTPLAY_ONCE",
6*437bfbebSnyanmisaka        "-DHAVE_AV1D",
7*437bfbebSnyanmisaka        "-DHAVE_AVS2D",
8*437bfbebSnyanmisaka        "-DHAVE_AVSD",
9*437bfbebSnyanmisaka        "-DHAVE_H263D",
10*437bfbebSnyanmisaka        "-DHAVE_H264D",
11*437bfbebSnyanmisaka        "-DHAVE_H264E",
12*437bfbebSnyanmisaka        "-DHAVE_H265D",
13*437bfbebSnyanmisaka        "-DHAVE_H265E",
14*437bfbebSnyanmisaka        "-DHAVE_JPEGD",
15*437bfbebSnyanmisaka        "-DHAVE_JPEGE",
16*437bfbebSnyanmisaka        "-DHAVE_MPEG2D",
17*437bfbebSnyanmisaka        "-DHAVE_MPEG4D",
18*437bfbebSnyanmisaka        "-DHAVE_VP8D",
19*437bfbebSnyanmisaka        "-DHAVE_VP8E",
20*437bfbebSnyanmisaka        "-DHAVE_VP9D",
21*437bfbebSnyanmisaka        "-DHAVE_VPROC",
22*437bfbebSnyanmisaka        "-Wno-implicit-fallthrough",
23*437bfbebSnyanmisaka        "-Wno-pointer-arith",
24*437bfbebSnyanmisaka        "-Wno-typedef-redefinition",
25*437bfbebSnyanmisaka        "-Wno-unused-variable",
26*437bfbebSnyanmisaka    ],
27*437bfbebSnyanmisaka
28*437bfbebSnyanmisaka    local_include_dirs: [
29*437bfbebSnyanmisaka        "mpp/base/inc",
30*437bfbebSnyanmisaka        "mpp/common",
31*437bfbebSnyanmisaka        "mpp/codec/inc",
32*437bfbebSnyanmisaka        "mpp/codec/dec/common",
33*437bfbebSnyanmisaka        "mpp/codec/enc/h264",
34*437bfbebSnyanmisaka        "mpp/codec/enc/h265",
35*437bfbebSnyanmisaka        "mpp/vproc/inc",
36*437bfbebSnyanmisaka        "mpp/hal/inc",
37*437bfbebSnyanmisaka        "mpp/hal/common",
38*437bfbebSnyanmisaka        "mpp/hal/common/av1",
39*437bfbebSnyanmisaka        "mpp/hal/common/h265",
40*437bfbebSnyanmisaka        "mpp/hal/common/h264",
41*437bfbebSnyanmisaka        "mpp/hal/common/jpeg",
42*437bfbebSnyanmisaka        "mpp/hal/rkenc/common",
43*437bfbebSnyanmisaka        "mpp/hal/rkenc/h265e",
44*437bfbebSnyanmisaka        "mpp/hal/rkenc/h264e",
45*437bfbebSnyanmisaka        "mpp/hal/rkenc/jpege",
46*437bfbebSnyanmisaka        "mpp/hal/rkdec/inc",
47*437bfbebSnyanmisaka        "mpp/hal/rkdec/av1d",
48*437bfbebSnyanmisaka        "mpp/hal/vpu/common",
49*437bfbebSnyanmisaka        "mpp/hal/vpu/jpege",
50*437bfbebSnyanmisaka        "mpp/hal/vpu/av1d",
51*437bfbebSnyanmisaka        "mpp/hal/vpu/h264e",
52*437bfbebSnyanmisaka        "mpp/inc",
53*437bfbebSnyanmisaka        "osal",
54*437bfbebSnyanmisaka        "osal/inc",
55*437bfbebSnyanmisaka        "osal/allocator",
56*437bfbebSnyanmisaka        "osal/driver/inc",
57*437bfbebSnyanmisaka        "kmpp/inc",
58*437bfbebSnyanmisaka        "kmpp/base/inc",
59*437bfbebSnyanmisaka        "inc",
60*437bfbebSnyanmisaka    ],
61*437bfbebSnyanmisaka
62*437bfbebSnyanmisaka    generated_headers: ["mpp_version_header"],
63*437bfbebSnyanmisaka}
64*437bfbebSnyanmisaka
65*437bfbebSnyanmisakafilegroup {
66*437bfbebSnyanmisaka    name: "mpp_base_srcs",
67*437bfbebSnyanmisaka    srcs: [
68*437bfbebSnyanmisaka        "mpp/base/*.cpp",
69*437bfbebSnyanmisaka        "mpp/base/*.c",
70*437bfbebSnyanmisaka    ],
71*437bfbebSnyanmisaka}
72*437bfbebSnyanmisaka
73*437bfbebSnyanmisakafilegroup {
74*437bfbebSnyanmisaka    name: "mpp_codec_srcs",
75*437bfbebSnyanmisaka    srcs: [
76*437bfbebSnyanmisaka        "mpp/codec/*.cpp",
77*437bfbebSnyanmisaka        "mpp/codec/dec/**/*.cpp",
78*437bfbebSnyanmisaka        "mpp/codec/dec/**/*.c",
79*437bfbebSnyanmisaka        "mpp/codec/enc/**/*.cpp",
80*437bfbebSnyanmisaka        "mpp/codec/enc/**/*.c",
81*437bfbebSnyanmisaka        "mpp/codec/rc/*.cpp",
82*437bfbebSnyanmisaka        "mpp/codec/rc/*.c",
83*437bfbebSnyanmisaka    ],
84*437bfbebSnyanmisaka}
85*437bfbebSnyanmisaka
86*437bfbebSnyanmisakafilegroup {
87*437bfbebSnyanmisaka    name: "mpp_hal_srcs",
88*437bfbebSnyanmisaka    srcs: [
89*437bfbebSnyanmisaka        "mpp/hal/*.cpp",
90*437bfbebSnyanmisaka        "mpp/hal/common/**/*.c",
91*437bfbebSnyanmisaka        "mpp/hal/common/**/*.cpp",
92*437bfbebSnyanmisaka        "mpp/hal/vpu/**/*.c",
93*437bfbebSnyanmisaka        "mpp/hal/vpu/**/*.cpp",
94*437bfbebSnyanmisaka        "mpp/hal/rkdec/**/*.c",
95*437bfbebSnyanmisaka        "mpp/hal/rkdec/**/*.cpp",
96*437bfbebSnyanmisaka        "mpp/hal/rkenc/common/*.c",
97*437bfbebSnyanmisaka        "mpp/hal/rkenc/h264e/hal_h264e_vepu541.c",
98*437bfbebSnyanmisaka        "mpp/hal/rkenc/h264e/hal_h264e_vepu580.c",
99*437bfbebSnyanmisaka        "mpp/hal/rkenc/h264e/hal_h264e_vepu540c.c",
100*437bfbebSnyanmisaka        "mpp/hal/rkenc/h264e/hal_h264e_vepu510.c",
101*437bfbebSnyanmisaka        "mpp/hal/rkenc/h264e/hal_h264e_vepu511.c",
102*437bfbebSnyanmisaka        "mpp/hal/rkenc/h265e/hal_h265e_vepu541.c",
103*437bfbebSnyanmisaka        "mpp/hal/rkenc/h265e/hal_h265e_vepu580.c",
104*437bfbebSnyanmisaka        "mpp/hal/rkenc/h265e/hal_h265e_vepu540c.c",
105*437bfbebSnyanmisaka        "mpp/hal/rkenc/h265e/hal_h265e_vepu510.c",
106*437bfbebSnyanmisaka        "mpp/hal/rkenc/h265e/hal_h265e_vepu511.c",
107*437bfbebSnyanmisaka        "mpp/hal/rkenc/jpege/hal_jpege_vepu540c.c",
108*437bfbebSnyanmisaka        "mpp/hal/rkenc/jpege/hal_jpege_vepu511.c",
109*437bfbebSnyanmisaka        "mpp/hal/rkenc/jpege/hal_jpege_vpu720.c",
110*437bfbebSnyanmisaka        "mpp/hal/dummy/*.c",
111*437bfbebSnyanmisaka    ],
112*437bfbebSnyanmisaka}
113*437bfbebSnyanmisaka
114*437bfbebSnyanmisakafilegroup {
115*437bfbebSnyanmisaka    name: "mpp_vproc_srcs",
116*437bfbebSnyanmisaka    srcs: [
117*437bfbebSnyanmisaka        "mpp/vproc/*.cpp",
118*437bfbebSnyanmisaka        "mpp/vproc/iep/*.cpp",
119*437bfbebSnyanmisaka        "mpp/vproc/iep2/*.c",
120*437bfbebSnyanmisaka        "mpp/vproc/rga/*.cpp",
121*437bfbebSnyanmisaka        "mpp/vproc/vdpp/*.c",
122*437bfbebSnyanmisaka        "mpp/vproc/vdpp/*.cpp",
123*437bfbebSnyanmisaka    ],
124*437bfbebSnyanmisaka}
125*437bfbebSnyanmisaka
126*437bfbebSnyanmisakafilegroup {
127*437bfbebSnyanmisaka    name: "mpp_kmpp_srcs",
128*437bfbebSnyanmisaka    srcs: [
129*437bfbebSnyanmisaka        "kmpp/base/*.c",
130*437bfbebSnyanmisaka        "kmpp/*.c"
131*437bfbebSnyanmisaka    ],
132*437bfbebSnyanmisaka}
133*437bfbebSnyanmisaka
134*437bfbebSnyanmisakafilegroup {
135*437bfbebSnyanmisaka    name: "mpp_osal_srcs",
136*437bfbebSnyanmisaka    srcs: [
137*437bfbebSnyanmisaka        "osal/*.cpp",
138*437bfbebSnyanmisaka        "osal/*.c",
139*437bfbebSnyanmisaka        "osal/allocator/*.c",
140*437bfbebSnyanmisaka        "osal/android/*.c",
141*437bfbebSnyanmisaka        "osal/driver/*.c",
142*437bfbebSnyanmisaka        "osal/driver/*.cpp",
143*437bfbebSnyanmisaka    ],
144*437bfbebSnyanmisaka}
145*437bfbebSnyanmisaka
146*437bfbebSnyanmisakagenrule {
147*437bfbebSnyanmisaka    name: "mpp_version_header",
148*437bfbebSnyanmisaka    srcs: ["build/cmake/version.in"],
149*437bfbebSnyanmisaka    out: ["version.h"],
150*437bfbebSnyanmisaka    cmd: "VERSION_INFO=`cd hardware/rockchip/libmpp; git log -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s\"`;" +
151*437bfbebSnyanmisaka    "HISTORY_0=`cd hardware/rockchip/libmpp; git log HEAD~0 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
152*437bfbebSnyanmisaka    "HISTORY_1=`cd hardware/rockchip/libmpp; git log HEAD~1 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
153*437bfbebSnyanmisaka    "HISTORY_2=`cd hardware/rockchip/libmpp; git log HEAD~2 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
154*437bfbebSnyanmisaka    "HISTORY_3=`cd hardware/rockchip/libmpp; git log HEAD~3 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
155*437bfbebSnyanmisaka    "HISTORY_4=`cd hardware/rockchip/libmpp; git log HEAD~4 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
156*437bfbebSnyanmisaka    "HISTORY_5=`cd hardware/rockchip/libmpp; git log HEAD~5 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
157*437bfbebSnyanmisaka    "HISTORY_6=`cd hardware/rockchip/libmpp; git log HEAD~6 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
158*437bfbebSnyanmisaka    "HISTORY_7=`cd hardware/rockchip/libmpp; git log HEAD~7 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
159*437bfbebSnyanmisaka    "HISTORY_8=`cd hardware/rockchip/libmpp; git log HEAD~8 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
160*437bfbebSnyanmisaka    "HISTORY_9=`cd hardware/rockchip/libmpp; git log HEAD~9 -1 --oneline --date=short --pretty=format:\"%h author: %<|(30)%an %cd %s %d\"`;" +
161*437bfbebSnyanmisaka    "sed -e \"s|@VERSION_INFO@|\\\"$$VERSION_INFO\\\"|g\" " +
162*437bfbebSnyanmisaka    "    -e \"s|@VERSION_CNT@|10|g\" " +
163*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_0@|\\\"$$HISTORY_0\\\"|g\" " +
164*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_1@|\\\"$$HISTORY_1\\\"|g\" " +
165*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_2@|\\\"$$HISTORY_2\\\"|g\" " +
166*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_3@|\\\"$$HISTORY_3\\\"|g\" " +
167*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_4@|\\\"$$HISTORY_4\\\"|g\" " +
168*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_5@|\\\"$$HISTORY_5\\\"|g\" " +
169*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_6@|\\\"$$HISTORY_6\\\"|g\" " +
170*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_7@|\\\"$$HISTORY_7\\\"|g\" " +
171*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_8@|\\\"$$HISTORY_8\\\"|g\" " +
172*437bfbebSnyanmisaka    "    -e \"s|@VERSION_HISTORY_9@|\\\"$$HISTORY_9\\\"|g\" " +
173*437bfbebSnyanmisaka    " $(in)>$(out)",
174*437bfbebSnyanmisaka}
175*437bfbebSnyanmisaka
176*437bfbebSnyanmisakacc_library_static {
177*437bfbebSnyanmisaka    name: "libmpputils-static",
178*437bfbebSnyanmisaka    srcs: [
179*437bfbebSnyanmisaka        "utils/*.c",
180*437bfbebSnyanmisaka    ],
181*437bfbebSnyanmisaka    export_include_dirs: [
182*437bfbebSnyanmisaka        "utils",
183*437bfbebSnyanmisaka    ],
184*437bfbebSnyanmisaka    defaults: [
185*437bfbebSnyanmisaka        "mpp_defaults",
186*437bfbebSnyanmisaka    ],
187*437bfbebSnyanmisaka}
188*437bfbebSnyanmisaka
189*437bfbebSnyanmisakacc_library_headers {
190*437bfbebSnyanmisaka    name: "libmpp_headers",
191*437bfbebSnyanmisaka    export_include_dirs: [
192*437bfbebSnyanmisaka        "inc",
193*437bfbebSnyanmisaka        "osal/inc",
194*437bfbebSnyanmisaka    ],
195*437bfbebSnyanmisaka    vendor_available: true,
196*437bfbebSnyanmisaka}
197*437bfbebSnyanmisaka
198*437bfbebSnyanmisakacc_library {
199*437bfbebSnyanmisaka    name: "libmpp",
200*437bfbebSnyanmisaka    srcs: [
201*437bfbebSnyanmisaka        "mpp/*.cpp",
202*437bfbebSnyanmisaka        ":mpp_base_srcs",
203*437bfbebSnyanmisaka        ":mpp_codec_srcs",
204*437bfbebSnyanmisaka        ":mpp_vproc_srcs",
205*437bfbebSnyanmisaka        ":mpp_kmpp_srcs",
206*437bfbebSnyanmisaka        ":mpp_hal_srcs",
207*437bfbebSnyanmisaka        ":mpp_osal_srcs",
208*437bfbebSnyanmisaka    ],
209*437bfbebSnyanmisaka
210*437bfbebSnyanmisaka    export_include_dirs: [
211*437bfbebSnyanmisaka        "inc",
212*437bfbebSnyanmisaka        "osal/inc",
213*437bfbebSnyanmisaka    ],
214*437bfbebSnyanmisaka
215*437bfbebSnyanmisaka    shared_libs: [
216*437bfbebSnyanmisaka        "liblog",
217*437bfbebSnyanmisaka    ],
218*437bfbebSnyanmisaka
219*437bfbebSnyanmisaka    defaults: [
220*437bfbebSnyanmisaka        "mpp_defaults",
221*437bfbebSnyanmisaka    ],
222*437bfbebSnyanmisaka
223*437bfbebSnyanmisaka    vendor_available: true,
224*437bfbebSnyanmisaka}
225*437bfbebSnyanmisaka
226*437bfbebSnyanmisakacc_library {
227*437bfbebSnyanmisaka    name: "libvpu",
228*437bfbebSnyanmisaka    srcs: [
229*437bfbebSnyanmisaka        "mpp/legacy/vpu.c",
230*437bfbebSnyanmisaka        "mpp/legacy/vpu_api.cpp",
231*437bfbebSnyanmisaka        "mpp/legacy/vpu_api_legacy.cpp",
232*437bfbebSnyanmisaka        "mpp/legacy/vpu_api_mlvec.cpp",
233*437bfbebSnyanmisaka        "mpp/legacy/vpu_mem_legacy.c",
234*437bfbebSnyanmisaka        "mpp/legacy/rk_list.cpp",
235*437bfbebSnyanmisaka        "mpp/legacy/ppOp.cpp",
236*437bfbebSnyanmisaka        "mpp/mpp_info.cpp",
237*437bfbebSnyanmisaka    ],
238*437bfbebSnyanmisaka
239*437bfbebSnyanmisaka    export_include_dirs: [
240*437bfbebSnyanmisaka        "inc"
241*437bfbebSnyanmisaka    ],
242*437bfbebSnyanmisaka
243*437bfbebSnyanmisaka    shared_libs: [
244*437bfbebSnyanmisaka        "libmpp",
245*437bfbebSnyanmisaka    ],
246*437bfbebSnyanmisaka
247*437bfbebSnyanmisaka    defaults: [
248*437bfbebSnyanmisaka        "mpp_defaults",
249*437bfbebSnyanmisaka    ],
250*437bfbebSnyanmisaka
251*437bfbebSnyanmisaka    vendor_available: true,
252*437bfbebSnyanmisaka}
253*437bfbebSnyanmisaka
254*437bfbebSnyanmisakacc_test {
255*437bfbebSnyanmisaka    name: "mpp_info",
256*437bfbebSnyanmisaka    srcs: ["test/mpp_info_test.c"],
257*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
258*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
259*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
260*437bfbebSnyanmisaka}
261*437bfbebSnyanmisaka
262*437bfbebSnyanmisakacc_test {
263*437bfbebSnyanmisaka    name: "mpi_dec",
264*437bfbebSnyanmisaka    srcs: ["test/mpi_dec_test.c"],
265*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
266*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
267*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
268*437bfbebSnyanmisaka}
269*437bfbebSnyanmisaka
270*437bfbebSnyanmisakacc_test {
271*437bfbebSnyanmisaka    name: "mpi_dec_mt",
272*437bfbebSnyanmisaka    srcs: ["test/mpi_dec_mt_test.c"],
273*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
274*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
275*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
276*437bfbebSnyanmisaka}
277*437bfbebSnyanmisaka
278*437bfbebSnyanmisakacc_test {
279*437bfbebSnyanmisaka    name: "mpi_dec_nt",
280*437bfbebSnyanmisaka    srcs: ["test/mpi_dec_nt_test.c"],
281*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
282*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
283*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
284*437bfbebSnyanmisaka}
285*437bfbebSnyanmisaka
286*437bfbebSnyanmisakacc_test {
287*437bfbebSnyanmisaka    name: "mpi_enc",
288*437bfbebSnyanmisaka    srcs: ["test/mpi_enc_test.c"],
289*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
290*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
291*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
292*437bfbebSnyanmisaka}
293*437bfbebSnyanmisaka
294*437bfbebSnyanmisakacc_test {
295*437bfbebSnyanmisaka    name: "mpi_enc_mt",
296*437bfbebSnyanmisaka    srcs: ["test/mpi_enc_mt_test.cpp"],
297*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
298*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
299*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
300*437bfbebSnyanmisaka}
301*437bfbebSnyanmisaka
302*437bfbebSnyanmisakacc_test {
303*437bfbebSnyanmisaka    name: "mpi_rc2",
304*437bfbebSnyanmisaka    srcs: ["test/mpi_rc2_test.c"],
305*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
306*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
307*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
308*437bfbebSnyanmisaka}
309*437bfbebSnyanmisaka
310*437bfbebSnyanmisakacc_test {
311*437bfbebSnyanmisaka    name: "mpi_dec_multi",
312*437bfbebSnyanmisaka    srcs: ["test/mpi_dec_multi_test.c"],
313*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
314*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
315*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
316*437bfbebSnyanmisaka}
317*437bfbebSnyanmisaka
318*437bfbebSnyanmisakacc_test {
319*437bfbebSnyanmisaka    name: "mpi_dec_slt",
320*437bfbebSnyanmisaka    srcs: ["test/mpi_dec_slt_test.c"],
321*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
322*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
323*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
324*437bfbebSnyanmisaka}
325*437bfbebSnyanmisaka
326*437bfbebSnyanmisakacc_test {
327*437bfbebSnyanmisaka    name: "mpi_enc_slt",
328*437bfbebSnyanmisaka    srcs: ["test/mpi_enc_slt_test.c"],
329*437bfbebSnyanmisaka    shared_libs: ["libmpp"],
330*437bfbebSnyanmisaka    static_libs: ["libmpputils-static"],
331*437bfbebSnyanmisaka    defaults: ["mpp_defaults"],
332*437bfbebSnyanmisaka}
333