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

📄 umc_color_space_converter_rgb32.cpp

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 CPP
字号:
/*////              INTEL CORPORATION PROPRIETARY INFORMATION//  This software is supplied under the terms of a license  agreement or//  nondisclosure agreement with Intel Corporation and may not be copied//  or disclosed except in  accordance  with the terms of that agreement.//    Copyright (c) 2003-2005 Intel Corporation. All Rights Reserved.//*/#include <stdlib.h>#include <ippi.h>#include <ippcc.h>#include "umc_color_space_converter.h"#include "vm_debug.h"namespace UMC{void ColorSpaceConverter::ConvertFrom_RGB32_To_YV12(ColorConversionParams &/*ConvertParam*/){    /** THIS IS AVAILABLE    ippiBGRToYCrCb420_8u_AC4P3R */} // void ColorSpaceConverter::ConvertFrom_RGB32_To_YV12(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_NV12(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_NV12(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_CbYCr(ColorConversionParams &ConvertParam){    // equal size. simple convert    if ((ConvertParam.ConversionInit.SizeSource.width == ConvertParam.ConversionInit.SizeDest.width) &&        (ConvertParam.ConversionInit.SizeSource.height == ConvertParam.ConversionInit.SizeDest.height))    {//#if !defined (ARM) && !defined (_ARM_)        IppiSize SizeDest = {ConvertParam.ConversionInit.SizeDest.width, ConvertParam.ConversionInit.SizeDest.height};        ippiBGRToCbYCr422_8u_AC4C2R(ConvertParam.lpSource0,                                    ConvertParam.PitchSource0,                                    ConvertParam.lpDest0,                                    ConvertParam.PitchDest0,                                    SizeDest);//#endif    }    // resize & convert    else    {        size_t lNeededSize;        vm_byte *lpBGRA;;        IppiSize SizeSrc = {ConvertParam.ConversionInit.SizeSource.width, ConvertParam.ConversionInit.SizeSource.height};        IppiRect RectSrc = {0, 0, SizeSrc.width, SizeSrc.height};        IppiSize SizeDst = {ConvertParam.ConversionInit.SizeDest.width, ConvertParam.ConversionInit.SizeDest.height};        // calc needed internal buffer size        lNeededSize = SizeDst.width * SizeDst.height * 4;        if (lNeededSize > m_lBufferSize)        {            if (false == AllocateInternalBuffer(lNeededSize))                return;        };        lpBGRA = reinterpret_cast<vm_byte *> (m_lpvBuffer);        // resize image to internal buffer//#if !defined (ARM) && !defined (_ARM_)        ippiResize_8u_AC4R( ConvertParam.lpSource0,                            SizeSrc,                            ConvertParam.PitchSource0,                            RectSrc,                            lpBGRA,                            SizeDst.width * 4,                            SizeDst,                            static_cast<double> (SizeDst.width) / static_cast<double> (SizeSrc.width),                            static_cast<double> (SizeDst.height) / static_cast<double> (SizeSrc.height),                            ConvertParam.ConversionInit.lInterpolation);        // convert to destination format, using original dest size(s)        IppiSize SizeDest = {ConvertParam.ConversionInit.SizeDest.width, ConvertParam.ConversionInit.SizeDest.height};        ippiBGRToCbYCr422_8u_AC4C2R(lpBGRA,                                    SizeDst.width * 4,                                    ConvertParam.lpDest0,                                    ConvertParam.PitchDest0,                                    SizeDest);//#endif    };} // void ColorSpaceConverter::ConvertFrom_RGB32_To_CbYCr(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_YCbCr(ColorConversionParams &/*ConvertParam*/){    /** THIS IS AVAILABLE    ippiBGRToYCbCr422_8u_AC4C2R */} // void ColorSpaceConverter::ConvertFrom_RGB32_To_YCbCr(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_YUV411(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_YUV411(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_YUV420(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_YUV420(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_YUV420M(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_YUV420M(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB32(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB32(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB24(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB24(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB565(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB565(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB555(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB555(ColorConversionParams &ConvertParam)void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB444(ColorConversionParams &/*ConvertParam*/){    vm_debug_msg(0, __VM_STRING("This function isn't realized."));} // void ColorSpaceConverter::ConvertFrom_RGB32_To_RGB444(ColorConversionParams &ConvertParam)} // end namespace UMC

⌨️ 快捷键说明

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