Frame buffer , Hardware overlay, rendering

264 views
Skip to first unread message

Girish H T

unread,
Nov 10, 2011, 7:55:00 AM11/10/11
to android-...@googlegroups.com, android...@googlegroups.com
Hi,
 
Sorry for cross posting. Stuck up with a problem , hope to get the solution at this forum.
 
I am trying to capture the frame from framebuffer device. /dev/graphics/fb0 in a rooted device. It works well to some extent. But when i try to play a video and , capture frame buffer the trouble starts. That is there is a black hole in the captured frame i can see.
 
As i read from the google groups there is hardware overlay which the decoded data is directly rendered to, this part i cant understand. As there is only one display logically everything should be muxed and given to display. But i am still not able to understand how the video buffer is rendered seperately without frame buffer memory area.
 
Could some one clarify how exactly the hardware overlaid rendering happens without directly writing to the frame buffer memory area. Is that area be accessible ?
 
Regards
Girish

Matt Shao

unread,
Nov 10, 2011, 8:15:12 AM11/10/11
to htgi...@gmail.com, android-...@googlegroups.com, android...@googlegroups.com
image there are more than one display buffer(let's say two frame buffer),  the hardware will merge two buffer and send to the screen

in most modern arm cpu, such kind of hardware is always exist.... 

2011/11/10 Girish H T <htgi...@gmail.com>

Ron M

unread,
Nov 13, 2011, 3:34:45 PM11/13/11
to android-...@googlegroups.com, android...@googlegroups.com, htgi...@gmail.com

so where would be the place to capture the entire display? e.g. if I wanted to implement something like "cp /dev/fb0" in order to later deserialize it in another place (something like taking a screenshot)? 
acheiving something like this should be straight forward, and I know that in the first android versions it was implemented somewhere natively because they did a vnc hook, but I don't knoe where to start from.

thanks.

--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=en.

Eric Finseth

unread,
Nov 13, 2011, 4:52:16 PM11/13/11
to android-...@googlegroups.com, android...@googlegroups.com, htgi...@gmail.com
I'm not sure you can. My understanding of moderm ARM SOCs is this.

The kernel maintains separate pipelines for graphics and video. It is
only in the ARM SOC hardware, directly before sending output to the
display, that the two pipelines are merged.

Note that the video pipeline is often referred to as a video overlay,
and Android has liboverlay as a hardware abstraction library. You
might be able to trace down more information by looking there.

-Eric

Ryan Wei

unread,
Nov 15, 2011, 12:17:58 AM11/15/11
to android-...@googlegroups.com

Figure above may help you to understand how overlay rendering work and how overlay and frame buffer composition work.

2011/11/10 Girish H T <htgi...@gmail.com>
Hi,
--

Shyam

unread,
Nov 17, 2011, 2:29:02 AM11/17/11
to android-platform
Hi Ryan,
Where is the figure?


On Nov 15, 10:17 am, Ryan Wei <xiaosong....@gmail.com> wrote:
> Figure above may help you to understand how overlay rendering work and how
> overlay and frame buffer composition work.
>
> 2011/11/10 Girish H T <htgir...@gmail.com>

Girish

unread,
Nov 17, 2011, 5:18:11 AM11/17/11
to android-platform
Hi Ryan,

Can you reattach the figure. Figure you intended to share is missing.

Regards
Girish
Reply all
Reply to author
Forward
0 new messages