Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Conversion from aRGB format

photo_tom
Beginner
802 Views

I have an image in memorythat is sourced inaRGB format and I need use some of the functionality in IPP. However, I do not see an efficient way to covert between aRGB of my imageto RGB0 formatused by IPPwithout exporting from my aRGB image to a file and then re-importing into IPP.

After looking at the help files for IPP, there does not seem to be another way to do it. Are there any suggestions?

0 Kudos
6 Replies
renegr
New Contributor I
802 Views

ippiSwapChannels_8u_C4IR

- or do you mean Adobe RGB? Then you need ICC processing which isn't part of IPP

0 Kudos
photo_tom
Beginner
802 Views

That looks like I might be able to get it to work, but it I'm not sure. I'm not understanding the documentation well.

However, you gave me an idea to wonder if I could do this with a shift. After downloading another help file, I found ippsLShiftC_32s_I function. If I run this shift 32bits left for 8 bits, I should get the pattern I need.

Thnaks for suggestion.

0 Kudos
Naveen_G_Intel
Employee
802 Views

Hi,

Use ippiCopy_8u_AC4C3R, refer to ippiman.pdf, refer to Image Data Exchange and Initialization Functions

http://software.intel.com/sites/products/documentation/hpc/ipp/pdf/ippiman.pdf

Regards,

Naveen Gv

0 Kudos
Tamer_Assad
Innovator
802 Views

Hi Tom,

You have received the best answer from Naveen Gv (Intel).

For additional information, I have an extended discussion with Artem Vorobiev (Intel) please read this thread:(ippiYCbCr444ToYCbCr420_8u_C2P3R) is there any? + Y211)

URL: http://software.intel.com/en-us/forums/showthread.php?t=71620&o=d&s=lr

Regards,

Tamer

0 Kudos
renegr
New Contributor I
802 Views
If I understood it right, the problem is that the alpha channel is on the first byte - but ippiCopy_8u_AC4C3R assumes the alpha channel on the fourth byte. The A0C4C3R channel format isn't supported in Copy function. Furthermore it can't be executed inplace. So I think shifting or swapping channels is the more correct way. And both can be done inplace if speed is needed. According to ps_ippi.exe SwapChannels seems to be a little bit faster than shifting.
0 Kudos
photo_tom
Beginner
802 Views

Thanks for update, that is sort of what I was wondering. I think I'm going to go with shift/swap channels, then copy in final program.

0 Kudos
Reply