⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umc_color_space_converter_yv12.cpp

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 CPP
📖 第 1 页 / 共 2 页
字号:
                                        ConvertParam.PitchDest0,                                        ConvertParam.lpDest1,                                        ConvertParam.PitchDest1,                                        roiSize);    }//#endif} // void ColorSpaceConverter::ConvertFrom_YV12_To_NV12(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_CbYCr(ColorConversionParams &ConvertParam){    // different size. Do resize    if ((ConvertParam.ConversionInit.SizeSource.width != ConvertParam.ConversionInit.SizeDest.width) ||        (ConvertParam.ConversionInit.SizeSource.height != ConvertParam.ConversionInit.SizeDest.height))    {        // resize image to internal buffer        ResizeYV12(ConvertParam);    }//#if !defined (ARM) && !defined (_ARM_)    // equal size. simple convert    {        const vm_byte *(pSrc[3]) = {ConvertParam.lpSource0,                                    ConvertParam.lpSource1,                                    ConvertParam.lpSource2};        size_t srcStep[3] = {ConvertParam.PitchSource0,                             ConvertParam.PitchSource1,                             ConvertParam.PitchSource2};        IppiSize roiSize = {ConvertParam.ConversionInit.SizeDest.width,                            ConvertParam.ConversionInit.SizeDest.height};        ippiYCrCb420ToCbYCr422_8u_P3C2R(pSrc,                                        (int *) srcStep,                                        ConvertParam.lpDest0,                                        ConvertParam.PitchDest0,                                        roiSize);    }//#endif} // void ColorSpaceConverter::ConvertFrom_YV12_To_CbYCr(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_YCbCr(ColorConversionParams &ConvertParam){    // different size. Do resize    if ((ConvertParam.ConversionInit.SizeSource.width != ConvertParam.ConversionInit.SizeDest.width) ||        (ConvertParam.ConversionInit.SizeSource.height != ConvertParam.ConversionInit.SizeDest.height))    {        // resize image to internal buffer        ResizeYV12(ConvertParam);    }//#if !defined (ARM) && !defined (_ARM_)    // equal size. simple convert    {        const vm_byte *(pSrc[3]) = {ConvertParam.lpSource0,                                    ConvertParam.lpSource1,                                    ConvertParam.lpSource2};        size_t srcStep[3] = {ConvertParam.PitchSource0,                             ConvertParam.PitchSource1,                             ConvertParam.PitchSource2};        IppiSize roiSize = {ConvertParam.ConversionInit.SizeDest.width,                            ConvertParam.ConversionInit.SizeDest.height};        ippiYCrCb420ToYCbCr422_8u_P3C2R(pSrc,                                        (int *) srcStep,                                        ConvertParam.lpDest0,                                        ConvertParam.PitchDest0,                                        roiSize);    }//#endif} // void ColorSpaceConverter::ConvertFrom_YV12_To_YCbCr(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_YUV411(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_YV12_To_YUV411(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_YUV420(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_YV12_To_YUV420(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_YUV420M(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_YV12_To_YUV420M(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_RGB32(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_YV12_To_RGB32(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_RGB24(ColorConversionParams &ConvertParam){    // different size. Do resize    if ((ConvertParam.ConversionInit.SizeSource.width != ConvertParam.ConversionInit.SizeDest.width) ||        (ConvertParam.ConversionInit.SizeSource.height != ConvertParam.ConversionInit.SizeDest.height))    {        // resize image to internal buffer        ResizeYV12(ConvertParam);    }    // equal size. simple convert    {        vm_byte *(lpSrc[3]) = {ConvertParam.lpSource0,                               ConvertParam.lpSource2,                               ConvertParam.lpSource1};        size_t iPitchSrc[3] = {ConvertParam.PitchSource0,                               ConvertParam.PitchSource2,                               ConvertParam.PitchSource1};//#if !defined (ARM) && !defined (_ARM_)        IppiSize SizeSource = {ConvertParam.ConversionInit.SizeSource.width, ConvertParam.ConversionInit.SizeSource.height};        ippiYCbCr420ToBGR_8u_P3C3R(lpSrc,                                   (int *) iPitchSrc,                                   ConvertParam.lpDest0,                                   ConvertParam.PitchDest0,                                   SizeSource);//#endif // !defined (ARM) && !defined (_ARM_)    }} // void ColorSpaceConverter::ConvertFrom_YV12_To_RGB24(ColorConversionParams &ConvertParam)} // end namespace UMCnamespace UMC{void ColorSpaceConverter::ConvertFrom_YV12_To_RGB565(ColorConversionParams &ConvertParam){    // different size. Do resize    if ((ConvertParam.ConversionInit.SizeSource.width != ConvertParam.ConversionInit.SizeDest.width) ||        (ConvertParam.ConversionInit.SizeSource.height != ConvertParam.ConversionInit.SizeDest.height))    {        // resize image to internal buffer        ResizeYV12(ConvertParam);    }    // equal size. simple convert    {//#if !defined (ARM) && !defined (_ARM_)        const vm_byte *(lpSrc[3]) = {ConvertParam.lpSource0, ConvertParam.lpSource2, ConvertParam.lpSource1};        size_t iPitchSrc[3] = {ConvertParam.PitchSource0, ConvertParam.PitchSource2, ConvertParam.PitchSource1};        IppiSize SizeSource = {ConvertParam.ConversionInit.SizeSource.width, ConvertParam.ConversionInit.SizeSource.height};        ippiYCbCr420ToBGR565_8u16u_P3C3R(lpSrc,                                         reinterpret_cast<int *> (iPitchSrc),                                         reinterpret_cast<vm_var16 *> (ConvertParam.lpDest0),                                         ConvertParam.PitchDest0,                                         SizeSource);//#endif    }} // void ColorSpaceConverter::ConvertFrom_YV12_To_RGB565(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_RGB555(ColorConversionParams &ConvertParam){    // different size. Do resize    if ((ConvertParam.ConversionInit.SizeSource.width != ConvertParam.ConversionInit.SizeDest.width) ||        (ConvertParam.ConversionInit.SizeSource.height != ConvertParam.ConversionInit.SizeDest.height))    {        // resize image to internal buffer        ResizeYV12(ConvertParam);    }    // equal size. simple convert    {        const vm_byte *(lpSrc[3]) = {ConvertParam.lpSource0, ConvertParam.lpSource2, ConvertParam.lpSource1};        size_t iPitchSrc[3] = {ConvertParam.PitchSource0, ConvertParam.PitchSource2, ConvertParam.PitchSource1};//#if !defined (ARM) && !defined (_ARM_)        IppiSize SizeSource = {ConvertParam.ConversionInit.SizeSource.width, ConvertParam.ConversionInit.SizeSource.height};        ippiYCbCr420ToBGR555_8u16u_P3C3R(lpSrc,                                         reinterpret_cast<int *> (iPitchSrc),                                         reinterpret_cast<vm_var16 *> (ConvertParam.lpDest0),                                         ConvertParam.PitchDest0,                                         SizeSource);//#endif // !defined (ARM) && !defined (_ARM_)    }} // void ColorSpaceConverter::ConvertFrom_YV12_To_RGB555(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_YV12_To_RGB444(ColorConversionParams &ConvertParam){    // different size. Do resize    if ((ConvertParam.ConversionInit.SizeSource.width != ConvertParam.ConversionInit.SizeDest.width) ||        (ConvertParam.ConversionInit.SizeSource.height != ConvertParam.ConversionInit.SizeDest.height))    {        // resize image to internal buffer        ResizeYV12(ConvertParam);    }    // equal size. simple convert    {        const vm_byte *(lpSrc[3]) = {ConvertParam.lpSource0, ConvertParam.lpSource2, ConvertParam.lpSource1};        size_t iPitchSrc[3] = {ConvertParam.PitchSource0, ConvertParam.PitchSource2, ConvertParam.PitchSource1};//#if !defined (ARM) && !defined (_ARM_)        IppiSize SizeSource = {ConvertParam.ConversionInit.SizeSource.width, ConvertParam.ConversionInit.SizeSource.height};        ippiYCbCr420ToBGR444_8u16u_P3C3R(lpSrc,                                         reinterpret_cast<int *> (iPitchSrc),                                         reinterpret_cast<vm_var16 *> (ConvertParam.lpDest0),                                         ConvertParam.PitchDest0,                                         SizeSource);//#endif // !defined (ARM) && !defined (_ARM_)    }} // void ColorSpaceConverter::ConvertFrom_YV12_To_RGB444(ColorConversionParams &ConvertParam)} // end namespace UMC

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -