Sample Usage
3-7
The actual codec routine to be executed during ISR is provided by
3.2 Handshaking Between Application and Algorithm
Application provides the algorithm with its implementation of functions for
the video task to move to SEM-pend state, when the execution happens in
the co-processor. The algorithm calls these application functions to move
the video task to SEM-pend state.
Framework Provided HDVICP Callback APIs
Figure 3-3. Interaction between Application and Codec.
Note:
Process call architecture to share Host resource among multiple
threads
ISR ownership is with the Host layer resource manager – outside the
codec
process ()
Codec
int _doneSemaphore;
HDVICP_start(handle, hdVicpHandle, ISRFunction)
{
installNonBiosISR ( handle, hdvicpHandle, ISRFunction
);
}
HDVICP_wait(handle, hdVicpHandle)
{
SEM_pend(_doneSemaphore);
}
HDVICP_done(handle, hdVicpHandle) {
SEM_post(_doneSemaphore)
}
#include <…/ires_hdvicp.h>
void _MyCodecISRFunction();
MYCODEC::IVIDENC1::process()
{
// …. set up for frame encode
HDVICP_configure(h264venc, h264venc ->hdvicpHandle,
H264VENCISRFunction);
// … Hand over the DSP to application
HDVICP_wait(h264venc, h264venc->hdvicpHandle);
// Release of HOST
…. End of frame processing
}
void H264VENCISRFunction(IALG_Handle handle)
{ H264VENC_TI_Obj * h264venc = (void *)handle;
HDVICP_done(h264venc, h264venc->hdvicpHandle);
}
Summary of Contents for DM6467
Page 1: ...H 264 1080p 30 BP Encoder on DM6467 User s Guide Literature Number SPRUGN8 October 2009 ...
Page 10: ...x This page is intentionally left blank ...
Page 12: ...xii This page is intentionally left blank ...
Page 18: ...Introduction 1 6 This page is intentionally left blank ...
Page 36: ...Sample Usage 3 10 This page is intentionally left blank ...