xref: /rockchip-linux_mpp/osal/test/mpp_platform_test.c (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2 /*
3  * Copyright (c) 2015 Rockchip Electronics Co., Ltd.
4  */
5 
6 #define MODULE_TAG "mpp_plat_test"
7 
8 #include "mpp_log.h"
9 #include "mpp_platform.h"
10 #include "vcodec_service.h"
11 
main()12 int main()
13 {
14     const char *dev = NULL;
15     RK_U32 vcodec_type = mpp_get_vcodec_type();
16     MppKernelVersion kernel_version = mpp_get_kernel_version();
17     MppIoctlVersion ioctl_version = mpp_get_ioctl_version();
18 
19     mpp_log("kernel version: %s\n",
20             kernel_version == KERNEL_UNKNOWN ? "unknown" :
21             kernel_version == KERNEL_3_10    ? "3.10"    :
22             kernel_version == KERNEL_4_4     ? "4.4"     :
23             kernel_version == KERNEL_4_19    ? "4.19"    :
24             kernel_version == KERNEL_5_10    ? "5.10"    :
25             kernel_version == KERNEL_6_1     ? "6.1"     :
26             NULL);
27     mpp_log("ioctl  version: %s\n",
28             ioctl_version == IOCTL_VCODEC_SERVICE ? "vcodec_service" :
29             ioctl_version == IOCTL_MPP_SERVICE_V1 ? "mpp_service"    :
30             "unknown");
31     mpp_log("\n");
32 
33     mpp_log("chip name: %s\n", mpp_get_soc_name());
34     mpp_log("\n");
35     mpp_log("chip vcodec type %08x\n", vcodec_type);
36 
37     if (vcodec_type & (HAVE_VDPU1 | HAVE_VEPU1))
38         mpp_log("found vpu1 codec\n");
39 
40     if (vcodec_type & (HAVE_VDPU2 | HAVE_VEPU2))
41         mpp_log("found vpu2 codec\n");
42 
43     if (vcodec_type & HAVE_HEVC_DEC)
44         mpp_log("found rk hevc decoder\n");
45 
46     if (vcodec_type & HAVE_RKVDEC)
47         mpp_log("found rkvdec decoder\n");
48 
49     if (vcodec_type & HAVE_AVSDEC)
50         mpp_log("found avs+ decoder\n");
51 
52     if (vcodec_type & HAVE_JPEG_DEC)
53         mpp_log("found rk jpeg decoder\n");
54 
55     if (vcodec_type & HAVE_JPEG_ENC)
56         mpp_log("found rk jpeg encoder\n");
57 
58     if (vcodec_type & HAVE_RKVENC)
59         mpp_log("found rkvenc encoder\n");
60 
61     if (vcodec_type & HAVE_VEPU2)
62         mpp_log("found vpu2 encoder\n");
63 
64     if (vcodec_type & HAVE_VEPU22)
65         mpp_log("found h265 stand-alone encoder\n");
66 
67     mpp_log("\n");
68     mpp_log("start probing decoder device name:\n");
69 
70     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingAVC);
71     mpp_log("H.264 decoder: %s\n", dev);
72 
73     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingHEVC);
74     mpp_log("H.265 decoder: %s\n", dev);
75 
76     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingMJPEG);
77     mpp_log("MJPEG decoder: %s\n", dev);
78 
79     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingVP9);
80     mpp_log("VP9   decoder: %s\n", dev);
81 
82     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingAVSPLUS);
83     mpp_log("avs+  decoder: %s\n", dev);
84 
85     mpp_log("\n");
86     mpp_log("start probing encoder device name:\n");
87 
88     dev = mpp_get_vcodec_dev_name(MPP_CTX_ENC, MPP_VIDEO_CodingAVC);
89     mpp_log("H.264 encoder: %s\n", dev);
90 
91     dev = mpp_get_vcodec_dev_name(MPP_CTX_ENC, MPP_VIDEO_CodingHEVC);
92     mpp_log("H.265 encoder: %s\n", dev);
93 
94     dev = mpp_get_vcodec_dev_name(MPP_CTX_ENC, MPP_VIDEO_CodingMJPEG);
95     mpp_log("MJPEG encoder: %s\n", dev);
96 
97     mpp_log("mpp platform test done\n");
98 
99     return 0;
100 }
101 
102