| /rockchip-linux_mpp/osal/ |
| H A D | mpp_queue.c | 11 MppQueue *queue = mpp_malloc(MppQueue, 1); in mpp_queue_create() local 13 queue->list = mpp_list_create(func); in mpp_queue_create() 14 sem_init(&queue->queue_pending, 0, 0); in mpp_queue_create() 15 queue->flush_flag = 0; in mpp_queue_create() 17 return queue; in mpp_queue_create() 20 void mpp_queue_destroy(MppQueue *queue) in mpp_queue_destroy() argument 22 mpp_list_destroy(queue->list); in mpp_queue_destroy() 23 mpp_free(queue); in mpp_queue_destroy() 26 rk_s32 mpp_queue_push(MppQueue *queue, void *data, rk_s32 size) in mpp_queue_push() argument 30 ret = mpp_list_add_at_tail(queue->list, data, size); in mpp_queue_push() [all …]
|
| /rockchip-linux_mpp/mpp/base/ |
| H A D | mpp_task_impl.c | 53 MppTaskQueueImpl *queue; member 92 static MPP_RET mpp_port_init(MppTaskQueueImpl *queue, MppPortType type, MppPort *port) in mpp_port_init() argument 100 mpp_task_dbg_func("enter queue %p type %d\n", queue, type); in mpp_port_init() 103 impl->queue = queue; in mpp_port_init() 117 mpp_task_dbg_func("leave queue %p port %p\n", queue, impl); in mpp_port_init() 133 MppTaskQueueImpl *queue = port_impl->queue; in _mpp_port_poll() local 137 mpp_mutex_lock(&queue->lock); in _mpp_port_poll() 140 if (!queue->ready) { in _mpp_port_poll() 146 curr = &queue->info[port_impl->status_curr]; in _mpp_port_poll() 151 queue->mpp, queue->name, caller, in _mpp_port_poll() [all …]
|
| H A D | mpp_cluster.c | 73 ClusterQueue *queue; member 123 ClusterQueue queue[MAX_PRIORITY]; member 148 #define cluster_queue_lock(queue) cluster_queue_lock_f(__FUNCTION__, queue) argument 149 #define cluster_queue_unlock(queue) cluster_queue_unlock_f(__FUNCTION__, queue) argument 165 static MPP_RET cluster_queue_lock_f(const char *caller, ClusterQueue *queue) in cluster_queue_lock_f() argument 167 MppCluster *cluster = queue->cluster; in cluster_queue_lock_f() 172 ret = pthread_mutex_lock(&queue->lock); in cluster_queue_lock_f() 179 static MPP_RET cluster_queue_unlock_f(const char *caller, ClusterQueue *queue) in cluster_queue_unlock_f() argument 181 MppCluster *cluster = queue->cluster; in cluster_queue_unlock_f() 186 ret = pthread_mutex_unlock(&queue->lock); in cluster_queue_unlock_f() [all …]
|
| H A D | mpp_buf_slot.c | 239 struct list_head queue[QUEUE_BUTT]; member 771 for (i = 0; i < (RK_S32)MPP_ARRAY_ELEMS(impl->queue); i++) { in clear_slots_impl() 772 if (!list_empty(&impl->queue[i])) in clear_slots_impl() 775 mpp_assert(list_empty(&impl->queue[i])); in clear_slots_impl() 833 for (i = 0; i < MPP_ARRAY_ELEMS(impl->queue); i++) { in mpp_buf_slot_init() 834 INIT_LIST_HEAD(&impl->queue[i]); in mpp_buf_slot_init() 1122 list_add_tail(&slot->list, &impl->queue[type]); in mpp_buf_slot_enqueue() 1141 if (list_empty(&impl->queue[type])) { in mpp_buf_slot_dequeue() 1146 slot = list_entry(impl->queue[type].next, MppBufSlotEntry, list); in mpp_buf_slot_dequeue() 1386 is_empty = list_empty(&impl->queue[type]) ? 1 : 0; in mpp_slots_is_empty()
|
| /rockchip-linux_mpp/doc/design/ |
| H A D | 4.mpp_task.txt | 19 1. Mpp task queue 20 Mpp task queue is the manager of tasks. Due to user may incorrectly use the task 21 we choose the design that hold all task inside mpp. Task queue will create and 22 release task. But task queue will not interact with user directly. We use port 26 Mpp port is the transaction interface of task queue. External user and internal 28 interface to poll / dequeue / enqueue the task task queue. Mpp advanced mode is 30 thread. Each task queue has two port: input port and output port. And from a 57 1. task queue 83 On advanced mode mpp uses two task queue: input task queue and output task 84 queue. [all …]
|
| H A D | 1.mpp_design.txt | 57 | | buffer queue manage | | | |
|
| /rockchip-linux_mpp/mpp/base/inc/ |
| H A D | mpp_task_impl.h | 68 MppTaskQueue queue; member 106 MPP_RET mpp_task_queue_init(MppTaskQueue *queue, void *mpp, const char *name); 107 MPP_RET mpp_task_queue_setup(MppTaskQueue queue, RK_S32 task_count); 108 MPP_RET mpp_task_queue_deinit(MppTaskQueue queue); 109 MppPort mpp_task_queue_get_port(MppTaskQueue queue, MppPortType type);
|
| /rockchip-linux_mpp/mpp/codec/enc/h264/ |
| H A D | h264e_slice.c | 773 RK_S32 queue; member 795 ctx->queue = -9; in init_context() 802 if (ctx->queue >= 0) { in h264e_cabac_putbyte() 803 RK_S32 out = ctx->low >> (ctx->queue + 10); in h264e_cabac_putbyte() 805 ctx->low &= (0x400 << ctx->queue) - 1; in h264e_cabac_putbyte() 806 ctx->queue -= 8; in h264e_cabac_putbyte() 815 if (ctx->queue > 0) in h264e_cabac_putbyte() 816 mpp_writer_put_bits(s, carry, ctx->queue & 0x7); in h264e_cabac_putbyte() 823 mpp_writer_put_bits(s, out, MPP_MIN(8, 8 - ctx->queue)); in h264e_cabac_putbyte() 842 ctx->queue += shift; in h264e_cabac_renorm() [all …]
|
| /rockchip-linux_mpp/debian/ |
| H A D | changelog | 189 * [osal]: add queue data type 190 * [mpp]: use the blokcing queue on the input
|
| /rockchip-linux_mpp/ |
| H A D | readme.txt | 202 | | buffer queue manage | | | |
|
| /rockchip-linux_mpp/doc/ |
| H A D | Rockchip_Developer_Guide_MPP_EN.md | 323 By default the MPP instance can receive four input stream packets in the processing queue. If input…
|