xref: /rockchip-linux_mpp/kmpp/base/test/kmpp_frame_test.c (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1 /* SPDX-License-Identifier: Apache-2.0 OR MIT */
2 /*
3  * Copyright (c) 2025 Rockchip Electronics Co., Ltd.
4  */
5 
6 #define MODULE_TAG "kmpp_frame_test"
7 
8 #include "mpp_debug.h"
9 #include "kmpp_frame.h"
10 
11 #define KMPP_FRAME_TEST_SIZE    1024
12 
13 #define TEST_CHECK(ret, func, ...) \
14     do { \
15         ret = func(__VA_ARGS__); \
16         if (ret) { \
17             mpp_err(MODULE_TAG " %s failed ret %d\n", #func, ret); \
18             goto failed; \
19         } \
20     } while (0)
21 
main()22 int main()
23 {
24     KmppFrame frame = NULL;
25     rk_u32 width = 1920;
26     rk_u32 height = 1080;
27     rk_u32 val = 0;
28     rk_s32 ret = rk_ok;
29 
30     mpp_log(MODULE_TAG " start\n");
31 
32     TEST_CHECK(ret, kmpp_frame_get, &frame);
33     TEST_CHECK(ret, kmpp_frame_set_width, frame, width);
34     TEST_CHECK(ret, kmpp_frame_set_height, frame, height);
35 
36     kmpp_frame_dump(frame, "test");
37 
38     TEST_CHECK(ret, kmpp_frame_get_width, frame, &val);
39     mpp_assert(val == width);
40     TEST_CHECK(ret, kmpp_frame_get_height, frame, &val);
41     mpp_assert(val == height);
42 
43 failed:
44     kmpp_frame_put(frame);
45 
46     mpp_log(MODULE_TAG " %s\n", ret ? "failed" : "success");
47     return ret;
48 }
49