xref: /OK3568_Linux_fs/external/mpp/osal/test/mpp_platform_test.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Copyright 2015 Rockchip Electronics Co. LTD
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #define MODULE_TAG "mpp_plat_test"
18 
19 #include "mpp_log.h"
20 #include "mpp_platform.h"
21 #include "vcodec_service.h"
22 
main()23 int main()
24 {
25     const char *dev = NULL;
26     RK_U32 vcodec_type = mpp_get_vcodec_type();
27     MppKernelVersion kernel_version = mpp_get_kernel_version();
28     MppIoctlVersion ioctl_version = mpp_get_ioctl_version();
29 
30     mpp_log("kernel version: %s\n",
31             kernel_version == KERNEL_UNKNOWN ? "unknown" :
32             kernel_version == KERNEL_3_10    ? "3.10"    :
33             kernel_version == KERNEL_4_4     ? "4.4"     :
34             kernel_version == KERNEL_4_19    ? "4.19"    :
35             kernel_version == KERNEL_5_10    ? "5.10"    :
36             NULL);
37     mpp_log("ioctl  version: %s\n",
38             ioctl_version == IOCTL_VCODEC_SERVICE ? "vcodec_service" :
39             ioctl_version == IOCTL_MPP_SERVICE_V1 ? "mpp_service"    :
40             "unknown");
41     mpp_log("\n");
42 
43     mpp_log("chip name: %s\n", mpp_get_soc_name());
44     mpp_log("\n");
45     mpp_log("chip vcodec type %08x\n", vcodec_type);
46 
47     if (vcodec_type & (HAVE_VDPU1 | HAVE_VEPU1))
48         mpp_log("found vpu1 codec\n");
49 
50     if (vcodec_type & (HAVE_VDPU2 | HAVE_VEPU2))
51         mpp_log("found vpu2 codec\n");
52 
53     if (vcodec_type & HAVE_HEVC_DEC)
54         mpp_log("found rk hevc decoder\n");
55 
56     if (vcodec_type & HAVE_RKVDEC)
57         mpp_log("found rkvdec decoder\n");
58 
59     if (vcodec_type & HAVE_AVSDEC)
60         mpp_log("found avs+ decoder\n");
61 
62     if (vcodec_type & HAVE_JPEG_DEC)
63         mpp_log("found rk jpeg decoder\n");
64 
65     if (vcodec_type & HAVE_RKVENC)
66         mpp_log("found rkvenc encoder\n");
67 
68     if (vcodec_type & HAVE_VEPU2)
69         mpp_log("found vpu2 encoder\n");
70 
71     if (vcodec_type & HAVE_VEPU22)
72         mpp_log("found h265 stand-alone encoder\n");
73 
74     mpp_log("\n");
75     mpp_log("start probing decoder device name:\n");
76 
77     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingAVC);
78     mpp_log("H.264 decoder: %s\n", dev);
79 
80     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingHEVC);
81     mpp_log("H.265 decoder: %s\n", dev);
82 
83     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingMJPEG);
84     mpp_log("MJPEG decoder: %s\n", dev);
85 
86     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingVP9);
87     mpp_log("VP9   decoder: %s\n", dev);
88 
89     dev = mpp_get_vcodec_dev_name(MPP_CTX_DEC, MPP_VIDEO_CodingAVSPLUS);
90     mpp_log("avs+  decoder: %s\n", dev);
91 
92     mpp_log("\n");
93     mpp_log("start probing encoder device name:\n");
94 
95     dev = mpp_get_vcodec_dev_name(MPP_CTX_ENC, MPP_VIDEO_CodingAVC);
96     mpp_log("H.264 encoder: %s\n", dev);
97 
98     dev = mpp_get_vcodec_dev_name(MPP_CTX_ENC, MPP_VIDEO_CodingHEVC);
99     mpp_log("H.265 encoder: %s\n", dev);
100 
101     dev = mpp_get_vcodec_dev_name(MPP_CTX_ENC, MPP_VIDEO_CodingMJPEG);
102     mpp_log("MJPEG encoder: %s\n", dev);
103 
104     mpp_log("mpp platform test done\n");
105 
106     return 0;
107 }
108 
109