<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Hi George,</span></div><div><br></div><div>Yes, I have something but is a complete mess, I hope you can find something useful in it.</div><div>I think you misunderstand me in that mail, what I tried to say that the android is doing conversion form YUV to RGB for you, and it seem is doing it very fast, the problem was how to get that image from that texture back to main memory very fast, that why I'm trying another approach which I tried to describe it in this [1] mail, basically instead to read the texture from graphics memory, I'd like to push the TLW images to the graphics memory, but before I'll start the work, I'm waiting for some people who know OpenGL to take a look to it and review the idea.</div><div><br></div><div>Cheers,</div><div>BogDan.</div><div><br><span></span></div><div>[1]
 http://mail.kde.org/pipermail/necessitas-devel/2012-May/000913.html</div><div><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> George Tavares <tavares.george@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> BogDan <bog_dan_ro@yahoo.com> <br> <b><span style="font-weight: bold;">Sent:</span></b> Monday, May 7, 2012 2:48 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: Qt Multimedia status on Android<br> </font> </div> <br>
<meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv848923466">


  
  

<div>
Yes, you can share it.<br>
<br>
I didn't send to list because the attachment.<br>
<br>
BogDan, in your first email, you talk about <tt><font color="#2e3436">SurfaceTextureClient</font></tt> and <tt><font color="#2e3436">ISurfaceTexture</font></tt> . Did you have any kind of poc of this to I try use my shader code?<br>
<br>
On Sun, 2012-05-06 at 02:21 -0700, BogDan wrote:
<blockquote type="CITE">
    Hi,
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    I'll look at your code next week.
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    Many thanks.
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    Cheers,
</blockquote>
<blockquote type="CITE">
    BogDan..
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    P.S. Is ok with your to share your findings with the community (forward your message to necessitas-devel mailing list) ?<br>
    <br>
</blockquote>
<blockquote type="CITE">
    <br>
    <br>
</blockquote>
<blockquote type="CITE">
    <blockquote>
        
<hr align="center" size="1">
<br>
        <b><font size="2">From:</font></b><font size="2"> George Tavares <tavares.george@gmail.com></font><br>
        <b><font size="2">To:</font></b><font size="2"> BogDan <bog_dan_ro@yahoo.com> </font><br>
        <b><font size="2">Sent:</font></b><font size="2"> Friday, May 4, 2012 3:23 PM</font><br>
        <b><font size="2">Subject:</font></b><font size="2"> Re: Qt Multimedia status on Android</font><br>
        <br>
    </blockquote>
</blockquote>
<blockquote type="CITE">
    <blockquote>
        <br>
    </blockquote>
</blockquote>
<blockquote type="CITE">
    <blockquote>
        Hello BogDan<br>
        <br>
        I am sending my code attached. To use my code you must replace your industrius QtCamara.java with mine, supplied in industrius_patch's folder.<br>
        <br>
        I read your complains about surface, but I think that is possible use this code in non-gl widget, because I get glcontext using QGLContext::currentContext() . This functions always will be true, even for non gl widgets, if libandroidGL-X.so is loaded.<br>
        <br>
        After I get context, I applied the world transform to position de opengl draw to correct position. No TLW is necessary to do that.<br>
        <br>
        The shader is write by myself. The paint method and world transform is based in libqmlshaderplugin.<br>
        <br>
        I hope that you can run my sample. If you any problem contact me. <br>
        <br>
        <br>
        <br>
        On Fri, 2012-05-04 at 00:38 -0700, BogDan wrote: 
        <blockquote type="CITE">
<pre>Hello George,

>________________________________
> From: George Tavares <<a rel="nofollow" ymailto="mailto:tavares.george@gmail.com" target="_blank" href="mailto:tavares.george@gmail.com">tavares.george@gmail.com</a>>
>To: <a rel="nofollow" ymailto="mailto:necessitas-devel@kde.org" target="_blank" href="mailto:necessitas-devel@kde.org">necessitas-devel@kde.org</a>
>Sent: Thursday, May 3, 2012 11:13 PM
>Subject: Re: Qt Multimedia status on Android

>
>Hello BogDan
>
>I am making some work with android multimedia  too, but in Camera support and I make some progress that I can share with you.
>

Maybe we should join forces ?:)


>
>I started with QtCamera.java/androidcamjni.cpp available in your sdk, and tried direct render the image previews received in androidcamjni.cpp to a QDeclarativeItem. The performance was not good.
>
>I look in QtCamera.java and saw that frames are encoded to jpeg , and later loaded to QImage,  I decided elimate this step, sending the bytearrey of preview direct to CPP side and use a Method from Ketai project! (decodeYUV420SP) to decode frame. After running, it continue slow.
>

:)

>
>However, I am running qt with opengl enabled, then I decided upload YUV frame like a texture and make de YUV decode in a shader. It now it is fast. I can't see differences in my camera   support  (800x600) and the camera from Android application. 
>
>I have only one problem implementing the shader. the YUV format appears like that:
>YYYYYYYYY
>UVUV
>
>When I tried to load this like textures, I choose first load in two textures, one with Y component of type GL_LUMINANCE  and other with UV component with a type GL_LUMINANCE_ALPHA . In fragment shader I tried load these components but the GL_LUMINANCE_ALPHA has some kind of bug that the components are not load correctly. Then I decided to unscramble the image in this format:
>YYYYYYYYY
>UUVV
>
>Then I load the U and V texture separately. 
>

Great, can you please share with us the shader sources ?

As I sad I already have the texture, the problem is how to display it on a non-gl widget ...
Using OpenGL for rendering everything it can be a solution but sadly on android we 

are limited to a single windowsurface, so the UI is (extremely) limited to a single 

Top Level Widget, this means you can't use controls which needs another TLW
(e.g. dialog, combobox, etc.). 

Check http://code.google.com/p/android-lighthouse/issues/detail?id=4#c24 for 

more informations.



Thanks,


Cheers,
BogDan.

P.S. Please join the mailing list to <a rel="nofollow" target="_blank" href="https://mail.kde.org/mailman/listinfo/necessitas-devel">https://mail.kde.org/mailman/listinfo/necessitas-devel</a> 
_______________________________________________
Necessitas-devel mailing list
<a rel="nofollow" ymailto="mailto:Necessitas-devel@kde.org" target="_blank" href="mailto:Necessitas-devel@kde.org">Necessitas-devel@kde.org</a>
<a rel="nofollow" target="_blank" href="https://mail.kde.org/mailman/listinfo/necessitas-devel">https://mail.kde.org/mailman/listinfo/necessitas-devel</a>
</pre>
        </blockquote>
        <br>
        <br>
    </blockquote>
</blockquote>
<blockquote type="CITE">
    <blockquote>
        <br>
        <br>
        <br>
    </blockquote>
</blockquote>
<br>
</div>

</div><meta http-equiv="x-dns-prefetch-control" content="on"><br><br> </div> </div> </blockquote></div>   </div></body></html>