xref: /rockchip-linux_mpp/mpp/base/test/mpp_dec_cfg_test.c (revision 437bfbeb9567cca9cd9080e3f6954aa9d6a94f18)
1*437bfbebSnyanmisaka /*
2*437bfbebSnyanmisaka  * Copyright 2020 Rockchip Electronics Co. LTD
3*437bfbebSnyanmisaka  *
4*437bfbebSnyanmisaka  * Licensed under the Apache License, Version 2.0 (the "License");
5*437bfbebSnyanmisaka  * you may not use this file except in compliance with the License.
6*437bfbebSnyanmisaka  * You may obtain a copy of the License at
7*437bfbebSnyanmisaka  *
8*437bfbebSnyanmisaka  *      http://www.apache.org/licenses/LICENSE-2.0
9*437bfbebSnyanmisaka  *
10*437bfbebSnyanmisaka  * Unless required by applicable law or agreed to in writing, software
11*437bfbebSnyanmisaka  * distributed under the License is distributed on an "AS IS" BASIS,
12*437bfbebSnyanmisaka  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*437bfbebSnyanmisaka  * See the License for the specific language governing permissions and
14*437bfbebSnyanmisaka  * limitations under the License.
15*437bfbebSnyanmisaka  */
16*437bfbebSnyanmisaka 
17*437bfbebSnyanmisaka #define MODULE_TAG "mpp_dec_cfg_test"
18*437bfbebSnyanmisaka 
19*437bfbebSnyanmisaka #include "mpp_log.h"
20*437bfbebSnyanmisaka #include "mpp_mem.h"
21*437bfbebSnyanmisaka #include "mpp_time.h"
22*437bfbebSnyanmisaka #include "mpp_common.h"
23*437bfbebSnyanmisaka 
24*437bfbebSnyanmisaka #include "rk_vdec_cfg.h"
25*437bfbebSnyanmisaka #include "mpp_dec_cfg.h"
26*437bfbebSnyanmisaka 
main()27*437bfbebSnyanmisaka int main()
28*437bfbebSnyanmisaka {
29*437bfbebSnyanmisaka     MPP_RET ret = MPP_OK;
30*437bfbebSnyanmisaka     MppDecCfg cfg;
31*437bfbebSnyanmisaka     RK_S64 end = 0;
32*437bfbebSnyanmisaka     RK_S64 start = 0;
33*437bfbebSnyanmisaka 
34*437bfbebSnyanmisaka     mpp_dec_cfg_show();
35*437bfbebSnyanmisaka 
36*437bfbebSnyanmisaka     mpp_log("mpp_dec_cfg_test start\n");
37*437bfbebSnyanmisaka 
38*437bfbebSnyanmisaka     ret = mpp_dec_cfg_init(&cfg);
39*437bfbebSnyanmisaka     if (ret) {
40*437bfbebSnyanmisaka         mpp_err("mpp_dec_cfg_init failed\n");
41*437bfbebSnyanmisaka         goto DONE;
42*437bfbebSnyanmisaka     }
43*437bfbebSnyanmisaka 
44*437bfbebSnyanmisaka     RK_S32 fast_out = 1;
45*437bfbebSnyanmisaka 
46*437bfbebSnyanmisaka     MppDecCfgSet *impl = (MppDecCfgSet *)cfg;
47*437bfbebSnyanmisaka 
48*437bfbebSnyanmisaka     mpp_log("before set: fast_out %d\n", impl->base.fast_out);
49*437bfbebSnyanmisaka 
50*437bfbebSnyanmisaka     start = mpp_time();
51*437bfbebSnyanmisaka     ret = mpp_dec_cfg_set_u32(cfg, "base:fast_out", fast_out);
52*437bfbebSnyanmisaka     end = mpp_time();
53*437bfbebSnyanmisaka     mpp_log("set u32 time %lld us\n", end - start);
54*437bfbebSnyanmisaka 
55*437bfbebSnyanmisaka     mpp_log("after  get: fast_out %d\n", fast_out);
56*437bfbebSnyanmisaka 
57*437bfbebSnyanmisaka     ret = mpp_dec_cfg_deinit(cfg);
58*437bfbebSnyanmisaka     if (ret) {
59*437bfbebSnyanmisaka         mpp_err("mpp_dec_cfg_deinit failed\n");
60*437bfbebSnyanmisaka         goto DONE;
61*437bfbebSnyanmisaka     }
62*437bfbebSnyanmisaka 
63*437bfbebSnyanmisaka DONE:
64*437bfbebSnyanmisaka     mpp_log("mpp_dec_cfg_test done %s\n", ret ? "failed" : "success");
65*437bfbebSnyanmisaka     return ret;
66*437bfbebSnyanmisaka }
67