xref: /rockchip-linux_mpp/mpp/base/mpp_task.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_task"
7 
8 #include <string.h>
9 
10 #include "mpp_task.h"
11 #include "mpp_task_impl.h"
12 
mpp_task_meta_set_s32(MppTask task,MppMetaKey key,RK_S32 val)13 MPP_RET mpp_task_meta_set_s32(MppTask task, MppMetaKey key, RK_S32 val)
14 {
15     if (check_mpp_task_name(task))
16         return MPP_NOK;
17 
18     MppTaskImpl *impl = (MppTaskImpl *)task;
19     return mpp_meta_set_s32(impl->meta, key, val);
20 }
21 
mpp_task_meta_set_s64(MppTask task,MppMetaKey key,RK_S64 val)22 MPP_RET mpp_task_meta_set_s64(MppTask task, MppMetaKey key, RK_S64 val)
23 {
24     if (check_mpp_task_name(task))
25         return MPP_NOK;
26 
27     MppTaskImpl *impl = (MppTaskImpl *)task;
28     return mpp_meta_set_s64(impl->meta, key, val);
29 }
30 
mpp_task_meta_set_ptr(MppTask task,MppMetaKey key,void * val)31 MPP_RET mpp_task_meta_set_ptr(MppTask task, MppMetaKey key, void  *val)
32 {
33     if (check_mpp_task_name(task))
34         return MPP_NOK;
35 
36     MppTaskImpl *impl = (MppTaskImpl *)task;
37     return mpp_meta_set_ptr(impl->meta, key, val);
38 }
39 
mpp_task_meta_set_frame(MppTask task,MppMetaKey key,MppFrame frame)40 MPP_RET mpp_task_meta_set_frame(MppTask task, MppMetaKey key, MppFrame frame)
41 {
42     if (check_mpp_task_name(task))
43         return MPP_NOK;
44 
45     MppTaskImpl *impl = (MppTaskImpl *)task;
46     return mpp_meta_set_frame(impl->meta, key, frame);
47 }
48 
mpp_task_meta_set_packet(MppTask task,MppMetaKey key,MppPacket packet)49 MPP_RET mpp_task_meta_set_packet(MppTask task, MppMetaKey key, MppPacket packet)
50 {
51     if (check_mpp_task_name(task))
52         return MPP_NOK;
53 
54     MppTaskImpl *impl = (MppTaskImpl *)task;
55     return mpp_meta_set_packet(impl->meta, key, packet);
56 }
57 
mpp_task_meta_set_buffer(MppTask task,MppMetaKey key,MppBuffer buffer)58 MPP_RET mpp_task_meta_set_buffer(MppTask task, MppMetaKey key, MppBuffer buffer)
59 {
60     if (check_mpp_task_name(task))
61         return MPP_NOK;
62 
63     MppTaskImpl *impl = (MppTaskImpl *)task;
64     return mpp_meta_set_buffer(impl->meta, key, buffer);
65 }
66 
mpp_task_meta_get_s32(MppTask task,MppMetaKey key,RK_S32 * val,RK_S32 default_val)67 MPP_RET mpp_task_meta_get_s32(MppTask task, MppMetaKey key, RK_S32 *val, RK_S32 default_val)
68 {
69     if (check_mpp_task_name(task))
70         return MPP_NOK;
71 
72     MppTaskImpl *impl = (MppTaskImpl *)task;
73     MPP_RET ret = mpp_meta_get_s32(impl->meta, key, val);
74     if (ret)
75         *val = default_val;
76     return ret;
77 }
78 
mpp_task_meta_get_s64(MppTask task,MppMetaKey key,RK_S64 * val,RK_S64 default_val)79 MPP_RET mpp_task_meta_get_s64(MppTask task, MppMetaKey key, RK_S64 *val, RK_S64 default_val)
80 {
81     if (check_mpp_task_name(task))
82         return MPP_NOK;
83 
84     MppTaskImpl *impl = (MppTaskImpl *)task;
85     MPP_RET ret = mpp_meta_get_s64(impl->meta, key, val);
86     if (ret)
87         *val = default_val;
88     return ret;
89 }
90 
mpp_task_meta_get_ptr(MppTask task,MppMetaKey key,void ** val,void * default_val)91 MPP_RET mpp_task_meta_get_ptr(MppTask task, MppMetaKey key, void  **val, void *default_val)
92 {
93     if (check_mpp_task_name(task))
94         return MPP_NOK;
95 
96     MppTaskImpl *impl = (MppTaskImpl *)task;
97     MPP_RET ret = mpp_meta_get_ptr(impl->meta, key, val);
98     if (ret)
99         *val = default_val;
100     return ret;
101 }
102 
mpp_task_meta_get_frame(MppTask task,MppMetaKey key,MppFrame * frame)103 MPP_RET mpp_task_meta_get_frame(MppTask task, MppMetaKey key, MppFrame *frame)
104 {
105     if (check_mpp_task_name(task))
106         return MPP_NOK;
107 
108     MppTaskImpl *impl = (MppTaskImpl *)task;
109     MPP_RET ret = mpp_meta_get_frame(impl->meta, key, frame);
110     if (ret)
111         *frame = NULL;
112     return ret;
113 }
114 
mpp_task_meta_get_packet(MppTask task,MppMetaKey key,MppPacket * packet)115 MPP_RET mpp_task_meta_get_packet(MppTask task, MppMetaKey key, MppPacket *packet)
116 {
117     if (check_mpp_task_name(task))
118         return MPP_NOK;
119 
120     MppTaskImpl *impl = (MppTaskImpl *)task;
121     MPP_RET ret = mpp_meta_get_packet(impl->meta, key, packet);
122     if (ret)
123         *packet = NULL;
124     return ret;
125 }
126 
mpp_task_meta_get_buffer(MppTask task,MppMetaKey key,MppBuffer * buffer)127 MPP_RET mpp_task_meta_get_buffer(MppTask task, MppMetaKey key, MppBuffer *buffer)
128 {
129     if (check_mpp_task_name(task))
130         return MPP_NOK;
131 
132     MppTaskImpl *impl = (MppTaskImpl *)task;
133     MPP_RET ret = mpp_meta_get_buffer(impl->meta, key, buffer);
134     if (ret)
135         *buffer = NULL;
136     return ret;
137 }
138 
139