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