Texture streaming on Omap4

This topic contains 7 replies, has 3 voices, and was last updated by  Joe Davis 5 years, 8 months ago.

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #30700

    fanchb
    Member

    Hello,

     

     I need to implement an application with real time video using the Omap4’s SGX540 to perform various image processing. I would like to know if a module such as bc-cat is available on Omap4 allowing texture streaming.

     

    If yes, how is it possible to use functions like myglTexBindStreamIMG() ? Do I need to get access to a special DDK library ?

     

    Any advice to get that functionality would be appreciated.

     

    Thank you!

     

    Francois
    #35269

    Joe Davis
    Member

    Hi Francois,

    You can use the glGetString(GL_EXTENSIONS) function to query if the drivers on your target platform support the texture streaming extension.

    If texture streaming is exposed on your platform, the interface and implementation of it for creating texture stream buffers and writing to them would have been done entirely by TI, or by the OEM for your device. Because this interface can vary between platforms, I can’t suggest a generic way of accessing these buffers. You should contact TI for assistance with this.

    Joe

    #35270

    fanchb
    Member

    Hello Joe,

     

    Thank you for your feedback. I have checked the OpenGL extensions on TI’s evaluation tablet (called Blaze) and the extension GL_IMG_texture_streaming_2 is present. They even have a test application called GLES2TextureStream but which does not work on the tablet.

     

    I am contacting TI to know more about their support of texture streaming. If they tell me that it is the case, will I need the DDK from Imagination to perform such streaming ? In the TI’s Gingerbread distributions I see the following libraries:

    file /system/vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so.1.1.17.4403

    file /system/vendor/lib/libusc.so.1.1.17.4403

    file /system/vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so.1.1.17.4403

    file /system/vendor/lib/libglslcompiler.so.1.1.17.4403

    file /system/vendor/lib/libIMGegl.so.1.1.17.4403

    file /system/vendor/lib/egl/libEGL_POWERVR_SGX540_120.so.1.1.17.4403

    file /system/vendor/lib/libpvr2d.so.1.1.17.4403

    file /system/vendor/lib/libsrv_um.so.1.1.17.4403

    file /system/vendor/lib/libsrv_init.so.1.1.17.4403

    file /system/vendor/lib/libPVRScopeServices.so.1.1.17.4403

    file /system/vendor/lib/libpvrANDROID_WSEGL.so.1.1.17.4403

    Do you believe I have all required libraries from Imagination ? As you mentioned, I understand that I would need from TI an implementation equivalent to the bc-cat module they developed for Omap3.

     

    Any other advice would be appreciated.

     

    Francois

    #35271

    Joe Davis
    Member

    Hi Francois,

    Depending on what you are trying to achieve, our DDK may help you. You can get the DDK by licensing it directly from us (which is priced for our chip manufacturing customers to take, so may be too expensive for use in a single application) or (possibly) sub license the DDK from TI. As texture streaming is very platform dependent, it would be best asking TI if it is supported and if they can help you before considering licensing the DDK.

    I think your list is missing a texture streaming specific library . You would have to ask TI about this though.

    Thanks,
    Joe

    #35272

    fanchb
    Member

    Hello Joe,

     

    Do you have an idea about the possible name of such a library ? Another name, for instance the one used on Omap3 with the SGX530 would be helpful.

     

    Thank you!

     

    Francois
    #35273

    prabindh
    Member

    On Android – it is better to use eglimage with YUV streaming, rather than bufferclass (/ bc-cat) approach for various reasons. Check with the TI support team

    #35274

    fanchb
    Member

    Hello Prabindh and Joe,

     

    Thank you for the new hint. On Android, there is a SurfaceTexture object that does Texture Streaming job. According to the GL_OES_EGL_image_external extension specification by Khronos, Android seems to use EGLimage to support Texture Streaming.

     

    Since YUV to RGB conversion is done in that texture streaming operation, do you know which processor does the conversion, the CPU or the PowerVR GPU ?

     

    Thank you!

     

    fanchb
    #35275

    Joe Davis
    Member

    I believe that the GPU does the conversion when this extension is available. You should contact TI to confirm this though.

    Thanks,
    Joe

Viewing 8 posts - 1 through 8 (of 8 total)
You must be logged in to reply to this topic.