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