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