- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does ipp7.0 have NV12toRGB converstion?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Seems no exact one if U,V areinterleaved. But it may depends on the storageand the conversion formula. Intel IPP contains color conversion functions list in IPP manaul. You may search them and find the one or two, combine some foryou needed,
like
ippiYUV420ToRGB_8u_P3
ippiYCbCr420ToRGB_8u_P2C3R
ippiYCbCr420ToBGR_709CSC
ippiYCbCr420ToBGR_709HDTV
ippiYCbCr411ToYCbCr420_8u_P3P2R
Regards,
Ying H.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As workaround, I guess two ipp function combination may complete it
NV12 to BGR
If NV12 are stored in 2 Plane: Y plan and UV interlaced,
IppStatus ippiYCbCr420ToRGB_8u_P2C3R(const Ipp8u* pSrcY, int srcYStep, const Ipp8u* pSrcCbCr, int srcCbCrStep, Ipp8u* pDst, int dstStep, IppiSize roiSize);
Then change the RGB to BGR byswap channel
IppStatus ippiSwapChannels_
BGR to NV12
IppStatus ippiBGRToYCbCr420_8u_C3P3R(const Ipp8u* pSrc, int srcStep, Ipp8u* pDst[3], int dstStep[3], IppiSize roiSize);
Then
IppStatus ippiYCbCr420_8u_P3P2R(const Ipp8u* pSrc[3], int srcStep[3], Ipp8u* pDstY, int dstYStep, Ipp8u* pDstCbCr, int dstCbCrStep, IppiSize roiSize);
Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your time and support I found where I was going wrong it was infact OpenCV2 where my problem was I was doing the following:
cv::Mat RGB32DST(pmfxOutSurface->Info.Height, pmfxOutSurface->Info.Width,CV_8UC3,(Ipp8u *)RGB32Dst);
were I should of had:
cv::Mat RGB24DST(pmfxOutSurface->Info.Height, pmfxOutSurface->Info.Width,CV_8UC4,(Ipp8u *)RGB24Dst);
now I can keep to IPP and without implementing OPENCV to do the same job IPP is doing. ippiSwapChannel(..) works fine now as well.
Always something stilly and stupid that causes errors
One other question regarding IPP 7 dose it implement the second and third generation i7 CPU hardware decoding or should I use the intel media SDK for the decoding as im new to the intel api's
Regards
Nigel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry for the delay. No , IPP 7 don't include hardware decoding. Intel media SDk may help.
You may post your quesiton to http://software.intel.com/en-us/forums/showthread.php?t=107071&o=a&s=lr.
Thanks
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear All,
Just update if the feature is still interesting? Please feel free to reply in the threads.
Thanks
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just add some comments:
Available in ippCC
ippiYCbCr420ToBGR_8u_P2C3R NV12 -> BGR
ippiYCbCr420ToBGR_8u_P2C4R NV12 -> BGRX
there is no in ippCC
BGR -> NV12
BGRX-> NV12
There is in ippCC (YV12<>NV12 )
ippiYCbCr420ToYCrCb420_8u_P2P3R NV12 -> YV12
ippiYCrCb420ToYCbCr420_8u_P3P2R YV12 -> NV12
Best Regards,
Ying

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page