Community
cancel
Showing results for 
Search instead for 
Did you mean: 
richard_s_2
Beginner
212 Views

color conversion: VPP vs. IPP for RGB to NV12

What are the trade-offs for using VPP vs. IPP for RGB to NV12 color conversion?  I am currently using IPP but am unsure what the implication would be for switching to VPP. Is VPP a GPU implementation of color conversion on the GPU's EUs?

From the VPP tutorial sample #6, it seems that VPP can save memory copies by keeping all execution on the GPU:
"VPPParams.IOPattern = MFX_IOPATTERN_IN_VIDEO_MEMORY | MFX_IOPATTERN_OUT_VIDEO_MEMORY;" 
That seems to be a big difference vs. IPP color conversion where it is necessary to copy data to the CPU before doing a color conversion.  Is my understanding correct?

0 Kudos
4 Replies
Anthony_P_Intel
Employee
212 Views

Yes, it seems you have understood the advantage well.  VPP can also take advantage of video-centric processing like scaling, 'detail' and 'denoise', allowing the CPU to be free for other tasks.

-Tony

richard_s_2
Beginner
212 Views

Thanks!  That clarifies it a lot.

Chuck_De_Sylva
Beginner
212 Views

Richard,

I assume that you are referring to RGB32 correct? Because VPP RGB24 to NV12 color conversion method is deprecated. We do not recommend using it and do not plan to implement workarounds to support it.

- Chuck

richard_s_2
Beginner
212 Views

Chuck: yes, RGB32 is what I am looking for.  Thanks!

Reply