Sample Usage
3-4
Note:
DMAN3 function and IDMA3 interface is not implemented in
DM365/DM368 codecs. Instead, it uses a DMA resource header file,
which gives the framework the flexibility to change DMA resource to
codec.
3.1.3 Process
Call
After algorithm instance creation and initialization, the test application does
the following:
1) Sets the dynamic parameters (if they change during run-time) by
calling the
control()
function with the
XDM_SETPARAMS
command.
2) Sets the input and output buffer descriptors required for the
process()
function call. The input and output buffer descriptors are
obtained by calling the
control()
function with the
XDM_GETBUFINFO
command.
3) Implements the process call based on the mode of operation –
blocking or non-blocking. These different modes of operation are
explained below. The behavior of the algorithm can be controlled using
various dynamic parameters (see section 4.2.1.10). The inputs to the
process()
functions are input and output buffer descriptors, pointer to
the
IVIDENC1_InArgs
and
IVIDENC1_OutArgs
structures.
4) Call
the
process()
function to encode/decode a single frame of data.
After triggering the start of the encode/decode frame start, the video
task can be moved to SEM-pend state using semaphores. On receipt
of interrupt signal for the end of frame encode/decode, the application
should release the semaphore and resume the video task, which
performs book-keeping operations and updates the output parameters
structure -
IVIDENC1_OutArgs
.
Figure 3-2. Process Call with Host Release
Host
System
application
Process call frame n
HDVICP
Tasks
MB level tasks for
frame n
Host Video
Task
HDVICP Busy
Transfer of
tasks at Host
MB level tasks for
frame n+1
Process call frame n+1
Host system
tasks
Interrupt between
HDVICP and Host
Summary of Contents for DM365
Page 10: ...x This page is intentionally left blank ...
Page 12: ...xii This page is intentionally left blank ...
Page 24: ...Introduction 1 12 This page is intentionally left blank ...
Page 34: ...Installation Overview 2 10 This page is intentionally left blank ...
Page 116: ...API Reference 4 70 This page is intentionally left blank ...
Page 120: ...Error Description B 2 This page is intentionally left blank ...
Page 124: ...ARM926 TCM Buffer Usage By Codec D 2 This page is intentionally left blank ...
Page 126: ...Simple Two pass Encoding Sample Usage E 2 Case 1 Case 2 Case 3 Case 4 Frame Skip ...
Page 130: ...Simple Two pass Encoding Sample Usage E 6 This page is intentionally left blank ...