I need a little bit more of information before I can answer this
properly. Is your raw YUV frame being passed to the GPU as an OpenGL
ES texture? Is this YUV frame a static image, or it changes
dynamically (like, is it being captured from a live videocamera in
real time)?

Doing the math to (a) properly scale your data ([0...256] to
[0.0...1.0], or whatever range you need) is trivial, then (b)
converting from YUV to RGB is simple enough (http://en.wikipedia.org/
wiki/Yuv#Converting_between_Y.27UV_and_RGB), and then fitting the
result into an appropriate OpenGL texture format is easy.

The decision you need to make is when you will perform this math. If
it is a static frame (it doesn't change frequently), you can just do
it in the CPU; this is the easy case.The tricky part is if your YUV is
supposed to change frequently. If this is the case, then:
-If your demo is in OpenGL ES 2.0, this is not too bad. You could
update the OpenGL texture with your new YUV frame, and then use a GLSL
ES fragment shader to do the math. You will need to be careful so it
is optimized. Keep in mind that most OpenGL ES 2.0 mobile GPUs out
there aren't very friendly to fragment-shader-intensive operations in
terms of performance. I have done this in the past, and it is not hard
to do at all (just a matrix-vector multiplication!)
-If your demo is in OpenGL ES 1.x, or if your fragment shader is too
slow, then you should look into optimizing your CPU conversion.
Possibly look at ARM NEON extensions and see if that would speed your
math (if your platform supports NEON, since not all ARM licensees have
it).

On Nov 3, 10:26 pm, 袁堂夫 <[email protected]> wrote:
> I think the FBO does not surppot  YUV format texture,so do you have
> some good idea?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to