Hi Chris,
I'm sorry for my typo error. Below is my code.
By the way, did you have any examples about showing ? I looked into documents
but they just show the interface of each function.
Thanks,
Quan
static void drawDynamicData( Engine_Handle hEngine, int osdFd, int *time,
int *displayIdx , int *workingIdx , int option ,
int p_index)
{
showJPEG( "Sunset.jpg" , *workingIdx );
// I already used "ls" to check the existence of "Sunset.jpg"
*displayIdx = (*displayIdx + 1) % NUM_BUFS;
*workingIdx = (*workingIdx + 1) % NUM_BUFS;
flipOsdBuffers(osdFd, *displayIdx);
}
int showJPEG( char *filename , int screenIdx )
{
simplewidget_jpeg swjp;
fflush( stdout );
if ( simplewidget_jpeg_create( filename , swjp ) == SIMPLEWIDGET_FAILURE )
{
printf( "Cannot create handle for %s\n" , filename );
return SIMPLEWIDGET_FAILURE;
}
if ( simplewidget_jpeg_show( swjp , simpleScreens[screenIdx] , 0 , 0 ) ==
SIMPLEWIDGET_FAILURE )
{
printf( "Cannot show %s\n" , filename );
return SIMPLEWIDGET_FAILURE;
}
if ( simplewidget_jpeg_delete( swjp ) == SIMPLEWIDGET_FAILURE )
{
printf( "Cannot release resourse of %s\n" , filename );
return SIMPLEWIDGET_FAILURE;
}
return SUCCESS;
}
----- Original Message ----
From: "Ring, Chris" <[EMAIL PROTECTED]>
To: Quan Nguyen <[EMAIL PROTECTED]>; Leonardo DaVinci
<[email protected]>
Sent: Thursday, December 21, 2006 11:53:17 AM
Subject: RE: show JPEG on OSD
Sanity check, in drawDynamicData you're calling showJPEG() with one argument,
instead of the 2 it expects... then, in showJPEG(), you're walking into an
array offset by the unprovided argument (simpleScreens[screenIdx]). Because
screenIdx is random and uninitialized, simpleScreens[screenIdx] may be a
mis-aligned word... causing the alignment trap to fire.
Either this is cut-n-paste error (so please re-send the "real" code), or you're
not listening to your build warnings(!) which probably flag this.
Chris
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Quan Nguyen
Sent: Wednesday, December 20, 2006 1:33 AM
To: Leonardo DaVinci
Subject: show JPEG on OSD
Hi ,
I want to view JPEG while decoding video. So , I wrote some code and embed it
to DECODE demo of DaVinci.
Below are 2 functions :
- showJPEG which I put in ui.c (
/home/<user>/dvevm_1_00_00_32/demos/decode )
- drawDynamicData : which I modified to show JPG only in ctrl.c (
/home/<user>/dvevm_1_00_00_32/demos/decode )
When I ran , i got the following error which is unclear to me :
ShoAlignment trap: decode (1087) PC=0x00010ff0 Instr=0xe19310be
Address=0x005201w
Bus error
Has anyone got this error before ? How can I solve it ?
Thanks in advance ,
Quan
static void drawDynamicData( Engine_Handle hEngine, int osdFd, int *time,
int *displayIdx , int *workingIdx , int option ,
int p_index)
{
showJPEG( "Sunset.jpg" ); // I already
used "ls" to check the existence of "Sunset.jpg"
*displayIdx = (*displayIdx + 1) % NUM_BUFS;
*workingIdx = (*workingIdx + 1) % NUM_BUFS;
flipOsdBuffers(osdFd, *displayIdx);
}
int showJPEG( char *filename , int screenIdx )
{
simplewidget_jpeg swjp;
fflush( stdout );
if ( simplewidget_jpeg_create( filename , swjp ) == SIMPLEWIDGET_FAILURE )
{
printf( "Cannot create handle for %s\n" , filename );
return SIMPLEWIDGET_FAILURE;
}
if ( simplewidget_jpeg_show( swjp , simpleScreens[screenIdx] , 0 , 0 ) ==
SIMPLEWIDGET_FAILURE )
{
printf( "Cannot show %s\n" , filename );
return SIMPLEWIDGET_FAILURE;
}
if ( simplewidget_jpeg_delete( swjp ) == SIMPLEWIDGET_FAILURE )
{
printf( "Cannot release resourse of %s\n" , filename );
return SIMPLEWIDGET_FAILURE;
}
return SUCCESS;
}
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com _______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source