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