Android DSP Codecs
This wikipage is used to describe how to enable DSP codecs in an Android release. This information will change from release to release so please pay attention to the specific releases that have been used below.
Following were the steps taken to build and test released DSP codecs based on RLS25.10 (tag) and DSP Binaries v1.2 on a production Zoom2 board:
- For building follow instructions here:
- However, after the git reset --hard RLS25.10 step make sure to apply the manual merges by:
- Then build uImage, MLO, u-boot.bin and File System. (See the readme in the tar ball for a “known issue” for which uImage may need to be rebuilt with a minor patch)
For later releases, the application of manual_merges.sh is no longer required.
- During building of the file system you will get this error:
You have tried to change the API from what has been previously approved. To make these errors go away, you have two choices:
1) You can add "@hide" javadoc comments to the methods, etc. listed in the errors above.
2) You can update current.xml by executing the following command:
make update-api To check in the revised current.xml, you will need approval from the android API council.
- Apply the 2nd option and run “make update-api” command and then re-run “make –jX” and this will successfully build your file system.
This is not seen on later releases.
- This step will prepare a directory, called myfs, containing all necessary Android files:
$ mkdir myfs
$ cd myfs
$ cp -Rfp $MYDROID/out/target/product/zoom2/root/* .
$ cp -Rfp $MYDROID/out/target/product/zoom2/system/ .
$ cp -Rfp $MYDROID/out/target/product/zoom2/data/ .
$ mv init.rc init.rc.bak
$ cp -Rfp init.omapzoom2.rc init.rc
- Now edit the file init.rc
Comment out the following lines adding a # sign at the beginning of the line:
“chmod 0660 /dev/ttyS0”
"chown radio radio /dev/ttyS0"
Save the file and exit.
- Install and copy the corresponding DSP Binaries to system\lib\dsp folder in the file system.
- Now your “myfs” folder is ready to be copied to an SD card or a NFS folder. Also you will need to add the line in bold inside the init.rc:
symlink /system/etc /etc
symlink /system/lib /lib
- When you’re ready to boot please use the corresponding bootargs (depending on your booting mechanism some changes to this is expected); please refer to bootargs (This is assuming an SDcard boot mechanism).
For more details please refer to this link http://www.omappedia.org/wiki/Android_Getting_Started#Flashing_Android
Running the supported use cases:
AAC Decode => Music -> Songs -> Click on clip name
JPEG Decode => Gallery -> All Pictures -> Click on Thumbnail
JPEG Encode => Camera -> Capture
H264 Decode => Gallery -> SDcard -> Click on Thumbnail
MPEG4 Decode => Gallery -> SDcard -> Click on Thumbnail
MPEG4 Encode => (Rename libOMX.TI.AMR.encode.so and libOMX.TI.AMR.decode.so in system\lib\) Camcorder -> Record