Lines Matching refs:task
1 MPP task design (2017.4.7)
4 Mpp task is the contain component for transaction with external user in advanced
8 Mpp task has mpp_meta as the rich content carrier. Mpp meta uses KEY and value
9 pair for extension. One task can carries multiple data into or out of mpp.
10 The typical case is encoder with OSD and motion detection. One task may contain
16 Mpp task transaction
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
23 and task status to control the transaction.
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
31 global view the task will always flow from input port to output port.
33 3. Mpp task status
34 There are four status for one task. Mpp use list_head to represent the status.
37 successfully enqueue a task then the task is on this status.
39 INPUT_HOLD : When input port user successfully dequeue a task then the task is
42 OUTPUT_PORT: When input port user successfully enqueue a task then the task is
43 on OUTPUT_PORT status. And this task is ready for dequeue from
46 OUTPUT_HOLD: When output port user successfully dequeue a task then the task is
49 4. Mpp task / port transaction
51 When port user call the transaction function task will be transfer from one
55 The overall relationship graph of task / port / status is shown below.
57 1. task queue
80 Mpp task transaction of a complete work flow
83 On advanced mode mpp uses two task queue: input task queue and output task
85 Input task queue connects input side external user to internal worker thread.
86 Output task queue connects internal worker thread to output side external user.
103 | | input task queue | | output task queue | |