Specifications
CORE LOGIC Proprietary and Confidential
57
www.corelogic.co.kr │
Encoding Pseudo Code
U16 Sara_FlowStillCapture(U16 *stillImg, U32 *stillsize)
{
Define the variables.
CamStatusSetMode(); // Status Register Clear. must.
FlowSetRegSize(); // Set a Flow control register
DoCameraOperation(Sara_STILL_CAPTURE); // Do Still Capture
// Encoding Start -> Wait , JPEG Encode End Or write pointer is over thre_pos
while(1)
{
cmd_status = CamCommandStatus();
write_ptr = FlowGetWriteAddress();
if((cmd_status != 0) || (write_ptr >= thre_pos) ) break;
}
if(cmd_status isn’t a zero)
{
// JPEG Encoding Done or Error
if(cmd_status isn’t encoding done)
Error Processing. Return.
If(flow status == Overflow)
Error Processing. Return
*stillsize = Flow_EncodeDone(stillImg, read_size);
Terminate Operation.
return TRUE;
}
DoCameraOperation(Sara_STILL_CAPTURE|Sara_DO_STILL_UPLOAD);
Read a WP register. Read the data.
while(1)
{
flow_status = FlowInterruptStatus();
cmd_status = CamCommandStatus();
if(cmd_status isn’t a zero)
{
// JPEG Encoding Done or Error
if(cmd_status isn’t encoding done)
Error Processing. Return.
if(flow status == Overflow)
Error Processing. Return
*stillsize = Flow_EncodeDone(stillImg, read_size);
Terminate Operation.
return TRUE;
}
if(flow status isn’t a zero)
Error Processing. Return
Calculate a size for reading.
Read the Data.










