Sunday, September 26, 2010

OMAP in Android community


A tiny little heads-up on android community happenings and OMAP presence in community.

Android Community
While Google develops/maintains android exclusively in-house, Mailing lists, IRC were prominent portals for public developers to interact with peer developers around globe and Google engineers too.
Android-Porting, Android-Kernel, Android-Platform, etc, were few popular discussion groups. [http://source.android.com/community/index.html]

TI Android support
We got dedicated OMAPAndroid-Discussion gforge portal-mailinglist to address issues faced by community/customers/TI developers.
As we all very much aware, OMAPPedia portal serves great for all internal/external customers.

OMAP Android Projects
We got many OMAP projects actively going outside OPBU too. Few I’m aware of are,
-          Mentor Graphics: Android Development support on OMAP [Whitepaper]
-          BeagleBoard Projects: Should I add beagleboard redefined OMAP reachability J?  Few projects rowboat, embinux
-          Elinux Portal: Android on OMAP
 -          ... many i guess :)

Android-Porting community
I’m especially interested in this community, as the posts are nothing different from our daily L25x/L27x issues.
Queries posted gets good deal of attention from peer android porting engineers across world, and the key point is frequent direct responses from Google engineers.
Quite surprised initially to see like 2 out of 5 questions were on OMAP, beagle board, zoom. Even on 3430 SDP J
Few TIIers (Akash Choudhari, Keith Deacon, Girish, Myslef, etc...) were members already and active.


Few sample threads from Android-Porting community: (sample threads started/resolved by us)
Video player - native application (HDMI background playback issue. but we took our own hack fix)
Minimum Android 2.2 (froyo) hardware requirements (Keith’s response to Froyo on OMAP)

PS.
Why I love Android?
I can tweet my patch., and was too much excited first time to see my work that public :) 

Saturday, September 11, 2010

debugging video/image formats over JTAG

If you pay 10,000 Euros for a Lauterbach JTAG debugger, you better use it to full extent :P

We can use Lauterbach to debug various image formats with data.image command.


It will be handy to debug/verify output of codec, or check sanity of a frame before posting to display.

Command syntax
Data.IMAGE <address> <horiz> <vert> [/<format> | <options>]
                        
    <format>:       MONO, CGA, GrayScale8, JPEG
                         Palette256 <red> <green> <blue> …
                         Palette256X6 <address>
                         Palette256X12 <address>
                         Palette256X24 <address>
                         RGB111, RGB555, RGB555LE, RGB565, RGB565LE,
                         RGB888, RGB888LE, RGBX888, RGBX888LE,
                         YUV420, YUV422, YUV422P, YUV422PS, YUV422W, YUV422WS
    <options>:     BottomUp
                         FullUpdate
More details can be found in Lauterbach Commands document Lauterbach General Commands Reference
Example commands
to display buffers of various pixel formatFor YUV 4:2:0
Data.IMAGE C:0x40a1b0bc 320. 240. /YUV420

For NV12 YUV 4:2:0 Packed semiplanar, we need to break up into Y buffer and a UV buffer.
Data.IMAGE a:0x60000000 1920. 1080. /STRIDE 0x4000 /GS8
Data.IMAGE a:0x68001000 960. 540. /STRIDE 0x8000 /RGB565


PS.
A sample view is shown above, with Y-buffer, and uv-buffer, with commands used on window header.
(note in this case, we use strided and physical address of  a 2D buffer directly. Also, some padding used by codec is seen as junk on edge of video frame)
 
Copyright 2009 dev.blog. Powered by Blogger. Statistics