Fast YUYV (YUY2) -> RGB, RGBA conversion doen in OpenGl HW ??

I have a data available in standard memory in YUYV format …
I need to do very fast HW acceerated YUYV -> RGBA RGBA conversion
(from two pixels I will get two pixels) … The result shuld be put in a part
of a OpenGl texture …
I know how to do that in following ways:

  1. manualy, in assambler , using additional buffer for depacking (to slow, too much memory acces)
  2. by the help of OML_subsaple OML_resample extenisons (works only on Wildcat 6XXX)
  3. by the help of OpenGl 2.0 pack/unpack procesor (uder development on Wildcat VP only)

Does anybody have some clever idea how to do that in another way (e.g. by the help of GL_ARB_imaging extension, combination of color matrix operation and
convolution … ) ?

I need to do that fast especialy on nVidia HW …

Well, It’s not an Open-GL solution, but assuming you’re on an Intel processor, there are performance libraries available that provide routines that use assorted special instructions to make this sort of thing blazingly fast. Check intel.com, look for the Imaging Library in the developer’s section. They do cost $$, but most of them have some sort of free trial or evaluation version.

I imagine AMD supports these, or perhaps have their own such libraries…

-Chris Bond

I use Intel Image Procesing Library (it is freeware). But this is not a solution, it is to slow. I have a lot of higly SSE/MMX optimized codes for this purpose as well …
It makes expansion from standard memory to standard memory. I nedd YUYV expanasion from standard memory into OpenGl texture memory (into RGBARGBA) fast and done in HW. I know that Wildcat OML extenison can do that, but I need something similar on common graphic cards …