The registerBuffers/postBuffers methods are used only if the 2D engine is compositing the video, as it is today. If hardware overlay is used, only the createOverlay method is used and IOverlay interface is used instead.
The hardware abstraction layer for IOverlay is here: http://android.git.kernel.org/?p=platform/hardware/libhardware.git;a=blob;f=include/hardware/overlay.h;h=b798c56009eb0e224fc714ab9efbed0121037451;hb=cupcake The overlay can return a virtual memory address that is backed by pmem, or it can be entirely encapsulated in hardware. There is an opaque pointer available to pass from SurfaceFlinger to the MIO so that multiple overlays can be managed. On Dec 18, 4:59 am, hanchao3c <hancha...@gmail.com> wrote: > Hi Sparks. > Now ISurface only has 3 interfaces. > > virtual status_t registerBuffers(int w, int h, int hstride, int > vstride, PixelFormat format, const sp<IMemoryHeap>& heap) = 0; > virtual void postBuffer(ssize_t offset) = 0; > virtual void unregisterBuffers() = 0; > > So It can only use external memory and do memroy copy when > postBuffer. > > Cupcake add this interface: > virtual sp<Overlay> createOverlay( uint32_t w, uint32_t h, int32_t > format) = 0; > > Could we let ISurface give a internal memory, such as mmap from fb > driver or v4l2 out driver ? > > If it is so ,It looks very nice. > > On 12月18日, 下午1时37分, Dave Sparks <davidspa...@android.com> wrote: > > > Yes, that is exactly the kind of hardware overlay we have in mind for > > this. It should also support more sophisticated hardware with alpha > > blend layers. > > > Just remember that the code isn't functional yet, we just want to > > provide a preview of how this will work. The rest of the > > implementation will happen in Q1 2009. > > > On Dec 17, 7:20 pm, hanchao3c <hancha...@gmail.com> wrote: > > > > Thank you very much. Dave Sparks ! > > > I will look at the code. > > > Do you mean this implementation is base on Hardware Video Plane? > > > > I am working on TI OMAP 3430 platform. > > > In this platform the video output device is v4l2 output driver (/dev/ > > > video1 and /dev/video1 ) > > > > Do you think this implement can be implemented on these device? > > > > On Dec 18, 10:28 am, Dave Sparks <davidspa...@android.com> wrote: > > > > > There is a new overlay abstraction for hardware video planes in > > > > SurfaceFlinger. This code will be pushed out to android.git.kernel.org > > > > very soon. The code is not functional yet. There is just a few header > > > > files and some skeleton code in SurfaceFlinger, and nothing has been > > > > done yet in the media framework. However it should give you a good > > > > idea of where we are headed with the design. > > > > > On Dec 17, 6:13 pm, hanchao3c <hancha...@gmail.com> wrote: > > > > > > Hi Dave Sparks ! > > > > > Thank you very much. > > > > > > I think video recorder is another story . > > > > > Now How to using video plane to display video is problem , It happens > > > > > in: > > > > > 1. video playback . > > > > > 2. Camera ViewFinder. > > > > > 3. Video recorder preview (also a view finder) > > > > > > Do you have plan to give a method to solve this case together ? > > > > > > Using video plane will give performance improvement. > > > > > Basic graphic plane for UI element while video plane for video > > > > > output . > > > > > > On Dec 18, 3:22 am, Dave Sparks <davidspa...@android.com> wrote: > > > > > > > We have a new code drop coming soon that will address video record, > > > > > > passing live camera objects from the camera application to the media > > > > > > server for video record, and also hardware video overlays. > > > > > > > It would be helpful if you take a look at that code before you start > > > > > > on your own design. I think it would be better for everyone if we > > > > > > avoid forking the code as much as possible. > > > > > > > On Dec 16, 6:46 pm, hanchao3c <hancha...@gmail.com> wrote: > > > > > > > > I have plan to give a new ISurface to PVPlayer and Camera. > > > > > > > > 1. The ISurface can implement base on Hardware video plane. (such > > > > > > > as > > > > > > > fb driver or v4l driver) > > > > > > > 2.Change SurfaceFlinger to implement new ISurface and Surface > > > > > > > 3.Change some JAVA code to set it. > > > > > > > > The benifit: > > > > > > > 1.The code of PVPlayer and Camera needn't change. > > > > > > > 2.It can solve PVPlayer and Camera together. > > > > > > > > ==================================================== > > > > > > > For PVPlayer > > > > > > > In the file: > > > > > > > external/opencore/android/playerdriver.cpp > > > > > > > status_t PVPlayer::setVideoSurface(const sp<ISurface>& surface) > > > > > > > > android_surface_output.cpp will call this ISurface then give the > > > > > > > frame > > > > > > > data. > > > > > > > > writeAsync->WriteFrameBuf->ISurface::postBuffer > > > > > > > ==================================================== > > > > > > > > ==================================================== > > > > > > > For Camera: > > > > > > > frameworks/base/camera/libcameraservice/CameraService.cpp > > > > > > > In the file: > > > > > > > status_t CameraService::Client::setPreviewDisplay(const > > > > > > > sp<ISurface>& > > > > > > > surface) > > > > > > > > This ISurface is using for viewfinder. > > > > > > > ====================================================- 隐藏被引用文字 - > > > - 显示引用的文字 - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "android-framework" group. To post to this group, send email to android-framework@googlegroups.com To unsubscribe from this group, send email to android-framework+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---