I wrote a capture and encoding program. It uses h264enc. The encoding part is built in to a shared library and
an application is calling the functions. It was running fine in Arago mage built along with DVSDK 4.01. I ported it
in to android. I didn't use any Android.mk files. Now the application is receiving SIGILL as soon as it make a call
to CERuntime_init(). There are calls to the same in video/omx_dsp_video_omap3530/package/cfg/omx_dsp_video_omap3530_xv5T.c
and many other files in hardware/ti/omx. They seem to work fine and I am able to play HD videos as well. Do I need to take
care of something else? Should the program or library be linked with any other libraries?
To add, a simple application which opens an engine and create a codec instance is running fine.
I can see the CE_DEBUG messages also.
Currently we don't support directly access DSP interface in Rowboat.
As the simple program is running fine, which I am attaching, I don't think that is the case. Also
the OpenMAX components are doing good. So is there any simple way of accessing the DSP?0537.encoder.txt.
I meant we don't provide technical support on any application development in C/C++ directly accessing DSP interface as in the example you attached.
In Android, multimedia features such as video decoding or encoding are provided as OpenMAX components and integrated in Stagefright (in Gingerbread), Java applications access the multimedia features through Android media player Java interface, for example, the Gallery app Android provided.
I would recommend you to implement H.264 encoding as a OMX component as video decoding in hardware/ti/omx/.
Ah, completely misunderstood the last message. Ok, I will go on with OpenMAX. The problem is me
and something object oriented doesn't go good. And difficult to get a java program to test whatever I
do. So was trying to be independent. :)
That probably is the right way to go.
The problem with implementing apps in C/C++ directly accessing DSP interface is that your apps have to handle all multimedia stuff, such as A/V mux'ing, A/V sync, which is already done in Stagefright framework.