File: //usr/local/cuda-12/include/nppi_color_conversion.h
/* Copyright 2009-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
*
* NOTICE TO LICENSEE:
*
* The source code and/or documentation ("Licensed Deliverables") are
* subject to NVIDIA intellectual property rights under U.S. and
* international Copyright laws.
*
* The Licensed Deliverables contained herein are PROPRIETARY and
* CONFIDENTIAL to NVIDIA and are being provided under the terms and
* conditions of a form of NVIDIA software license agreement by and
* between NVIDIA and Licensee ("License Agreement") or electronically
* accepted by Licensee. Notwithstanding any terms or conditions to
* the contrary in the License Agreement, reproduction or disclosure
* of the Licensed Deliverables to any third party without the express
* written consent of NVIDIA is prohibited.
*
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
* SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. THEY ARE
* PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
* DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
* NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
* LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
* SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THESE LICENSED DELIVERABLES.
*
* U.S. Government End Users. These Licensed Deliverables are a
* "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
* 1995), consisting of "commercial computer software" and "commercial
* computer software documentation" as such terms are used in 48
* C.F.R. 12.212 (SEPT 1995) and are provided to the U.S. Government
* only as a commercial end item. Consistent with 48 C.F.R.12.212 and
* 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
* U.S. Government End Users acquire the Licensed Deliverables with
* only those rights set forth herein.
*
* Any use of the Licensed Deliverables in individual and commercial
* software must include, in the user documentation and internal
* comments to the code, the above Disclaimer and U.S. Government End
* Users Notice.
*/
#ifndef NV_NPPI_COLOR_CONVERSION_H
#define NV_NPPI_COLOR_CONVERSION_H
/**
* \file nppi_color_conversion.h
* NPP Image Processing Functionality.
*/
#include "nppdefs.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* \page image_color_conversion Color and Sampling Conversion
* @defgroup image_color_conversion Color and Sampling Conversion
* @ingroup nppi
*
* Routines manipulating an image's color model and sampling format.
*
* @{
*
* These functions can be found in the nppicc library. Linking to only the sub-libraries that you use can significantly
* save link time, application load time, and CUDA runtime startup time when using dynamic libraries.
*
*/
/**
* @defgroup image_color_model_conversion Color Model Conversion
*
* Routines for converting between various image color models.
*
* @{
*
*/
/** @defgroup rgbtoyuv RGBToYUV
* RGB to YUV color conversion.
*
* Here is how NPP converts gamma corrected RGB or BGR to YUV. For digital RGB values in the range [0..255],
* Y has the range [0..255], U varies in the range [-112..+112],
* and V in the range [-157..+157]. To fit in the range of [0..255], a constant value
* of 128 is added to computed U and V values, and V is then saturated.
*
* \code
* Npp32f nY = 0.299F * R + 0.587F * G + 0.114F * B;
* Npp32f nU = (0.492F * ((Npp32f)nB - nY)) + 128.0F;
* Npp32f nV = (0.877F * ((Npp32f)nR - nY)) + 128.0F;
* if (nV > 255.0F)
* nV = 255.0F;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed YUV color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed YUV color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned planar YUV color conversion with alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_AC4P4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned planar YUV color conversion with alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV_8u_AC4P4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/** @} rgbtoyuv */
/** @defgroup bgrtoyuv BGRToYUV
* BGR to YUV color conversion.
*
* Here is how NPP converts gamma corrected RGB or BGR to YUV. For digital RGB values in the range [0..255],
* Y has the range [0..255], U varies in the range [-112..+112],
* and V in the range [-157..+157]. To fit in the range of [0..255], a constant value
* of 128 is added to computed U and V values, and V is then saturated.
*
* \code
* Npp32f nY = 0.299F * R + 0.587F * G + 0.114F * B;
* Npp32f nU = (0.492F * ((Npp32f)nB - nY)) + 128.0F;
* Npp32f nV = (0.877F * ((Npp32f)nR - nY)) + 128.0F;
* if (nV > 255.0F)
* nV = 255.0F;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned packed YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned packed YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned packed YUV color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned packed YUV color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned planar YUV color conversion with alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_AC4P4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned planar YUV color conversion with alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV_8u_AC4P4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/** @} bgrtoyuv */
/** @defgroup yuvtorgb YUVToRGB
* YUV to RGB color conversion.
*
* Here is how NPP converts YUV to gamma corrected RGB or BGR.
*
* \code
* Npp32f nY = (Npp32f)Y;
* Npp32f nU = (Npp32f)U - 128.0F;
* Npp32f nV = (Npp32f)V - 128.0F;
* Npp32f nR = nY + 1.140F * nV;
* if (nR < 0.0F)
* nR = 0.0F;
* if (nR > 255.0F)
* nR = 255.0F;
* Npp32f nG = nY - 0.394F * nU - 0.581F * nV;
* if (nG < 0.0F)
* nG = 0.0F;
* if (nG > 255.0F)
* nG = 255.0F;
* Npp32f nB = nY + 2.032F * nU;
* if (nB < 0.0F)
* nB = 0.0F;
* if (nB > 255.0F)
* nB = 255.0F;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit packed YUV with alpha to 4 channel 8-bit unsigned packed RGB color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit packed YUV with alpha to 4 channel 8-bit unsigned packed RGB color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGB_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} yuvtorgb */
/** @defgroup yuvtorgbbatch YUVToRGBBatch
* YUV to RGB batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* NPP converts YUV to gamma corrected RGB the same way as in \ref yuvtorgb.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_C3R_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_C3R(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} yuvtorgbbatch */
/** @defgroup yuvtorgbbatchadvanced YUVToRGBBatchAdvanced
* YUV to RGB batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* NPP converts YUV to gamma corrected RGB the same way as in \ref yuvtorgb.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_C3R_Advanced_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_C3R_Advanced(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToRGBBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} yuvtorgbbatchadvanced */
/** @defgroup yuvtobgr YUVToBGR
* YUV to BGR color conversion.
*
* Here is how NPP converts YUV to gamma corrected RGB or BGR.
*
* \code
* Npp32f nY = (Npp32f)Y;
* Npp32f nU = (Npp32f)U - 128.0F;
* Npp32f nV = (Npp32f)V - 128.0F;
* Npp32f nR = nY + 1.140F * nV;
* if (nR < 0.0F)
* nR = 0.0F;
* if (nR > 255.0F)
* nR = 255.0F;
* Npp32f nG = nY - 0.394F * nU - 0.581F * nV;
* if (nG < 0.0F)
* nG = 0.0F;
* if (nG > 255.0F)
* nG = 255.0F;
* Npp32f nB = nY + 2.032F * nU;
* if (nB < 0.0F)
* nB = 0.0F;
* if (nB > 255.0F)
* nB = 255.0F;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit packed YUV with alpha to 4 channel 8-bit unsigned packed BGR color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit packed YUV with alpha to 4 channel 8-bit unsigned packed BGR color conversion with alpha, not affecting alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} yuvtobgr */
/** @defgroup yuvtobgrbatch YUVToBGRBatch
* YUV to BGR batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* NPP converts YUV to gamma corrected BGR the same way as in \ref yuvtobgr.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_C3R_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_C3R(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} yuvtobgrbatch */
/** @defgroup yuvtobgrbatchadvanced YUVToBGRBatchAdvanced
* YUV to BGR batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* NPP converts YUV to gamma corrected BGR the same way as in \ref yuvtobgr.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_C3R_Advanced_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YUV to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_C3R_Advanced(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUVToBGRBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} yuvtobgrbatchadvanced */
/** @defgroup rgbtoyuv422 RGBToYUV422
* RGB to YUV422 color conversion.
*
* NPP converts YUV to gamma corrected BGR the same way as in \ref yuvtobgr.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed YUV422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed YUV422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YUV422 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YUV422 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YUV422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YUV422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} rgbtoyuv422 */
/** @defgroup yuv422torgb YUV422ToRGB
* YUV422 to RGB color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed YUV422 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YUV422 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_C2C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_P3C3R_Ctx(const Npp8u* const pSrc[3], int rSrcStep[3], Npp8u* pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_P3C3R(const Npp8u* const pSrc[3], int rSrcStep[3], Npp8u* pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV422 to 4 channel 8-bit unsigned packed RGB color conversion with alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_P3AC4R_Ctx(const Npp8u* const pSrc[3], int rSrcStep[3], Npp8u* pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 4 channel 8-bit unsigned packed RGB color conversion with alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_P3AC4R(const Npp8u* const pSrc[3], int rSrcStep[3], Npp8u* pDst, int nDstStep, NppiSize oSizeROI);
/** @} yuv422torgb */
/** @defgroup yuv422torgbbatch YUV422ToRGBBatch
* Planar YUV422 to packed RGB batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGBBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGBBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} yuv422torgbbatch */
/** @defgroup yuv422torgbbatchadvanced YUV422ToRGBBatchAdvanced
* Planar YUV422 to packed RGB batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGBBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGBBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} yuv422torgbbatchadvanced */
/** @defgroup yuv422tobgrbatch YUV422ToBGRBatch
* Planar YUV422 to packed BGR batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToBGRBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToBGRBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} yuv422tobgrbatch */
/** @defgroup yuv422tobgrbatchadvanced YUV422ToBGRBatchAdvanced
* Planar YUV422 to packed BGR batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToBGRBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV422 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToBGRBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} yuv422tobgrbatchadvanced */
/** @defgroup rgbtoyuv420 RGBToYUV420
* RGB to YUV420 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YUV420 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YUV420 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YUV420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YUV420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} rgbtoyuv420 */
/** @defgroup yuv420torgb YUV420ToRGB
* YUV420 to RGB color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV420 to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3C4R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV420 to 4 channel 8-bit unsigned packed RGB color conversion with alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3AC4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 4 channel 8-bit unsigned packed RGB color conversion with alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_P3AC4R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} yuv420torgb */
/** @defgroup yuv420torgbbatch YUV420ToRGBBatch
* Planar YUV420 to packed RGB batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents Y planes.
* The second element of array (pSrcBatchList[1]) represents U planes. The third element of array (pSrcBatchList[2])
* represents V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGBBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents Y planes.
* The second element of array (pSrcBatchList[1]) represents U planes. The third element of array (pSrcBatchList[2])
* represents V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGBBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} yuv420torgbbatch */
/** @defgroup yuv420torgbbatchadvanced YUV420ToRGBBatchAdvanced
* Planar YUV420 to packed RGB batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGBBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGBBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} yuv420torgbbatchadvanced */
/** @defgroup nv12torgb NV12ToRGB
* NV12 to RGB color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each source plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_8u_P2C3R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each source plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_8u_P2C3R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 HDTV full color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_709HDTV_8u_P2C3R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 HDTV full color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_709HDTV_8u_P2C3R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 CSC color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_709CSC_8u_P2C3R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 CSC color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_709CSC_8u_P2C3R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} nv12torgb */
/** @defgroup nv21torgb NV21ToRGB
* NV21 to RGB color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned planar NV21 to 4 channel 8-bit unsigned packed RGBA color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y plane, one for VU plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV21ToRGB_8u_P2C4R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV21 to 4 channel 8-bit unsigned packed RGBA color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y plane, one for VU plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV21ToRGB_8u_P2C4R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} nv21torgb */
/** @defgroup bgrtoyuv420 BGRToYUV420
* BGR to YUV420 color conversion.
*
* @{
*
*/
/**
* 4 channel 8-bit unsigned pacmed BGR with alpha to 3 channel 8-bit unsigned planar YUV420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV420_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned pacmed BGR with alpha to 3 channel 8-bit unsigned planar YUV420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYUV420_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoyuv420 */
/** @defgroup yuv420tobgr YUV420ToBGR
* YUV420 to BGR color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YUV420 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGR_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGR_8u_P3C4R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} yuv420tobgr */
/** @defgroup yuv420tobgrbatch YUV420ToBGRBatch
* Planar YUV420 to packed BGR batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents Y planes.
* The second element of array (pSrcBatchList[1]) represents U planes. The third element of array (pSrcBatchList[2])
* represents V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGRBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents Y planes.
* The second element of array (pSrcBatchList[1]) represents U planes. The third element of array (pSrcBatchList[2])
* represents V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGRBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} yuv420tobgrbatch */
/** @defgroup yuv420tobgrbatchadvanced YUV420ToBGRBatchAdvanced
* Planar YUV420 to packed BGR batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGRBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YUV420 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of U planes. The third element of array
* (pSrcBatchList[2]) represents a batch of V planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToBGRBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} yuv420tobgrbatchadvanced */
/** @defgroup nv12tobgr NV12ToBGR
* NV12 to BGR color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToBGR_8u_P2C3R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToBGR_8u_P2C3R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 HDTV full color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToBGR_709HDTV_8u_P2C3R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 HDTV full color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToBGR_709HDTV_8u_P2C3R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 CSC color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToBGR_709CSC_8u_P2C3R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit
* unsigned packed RGB 709 CSC color conversion. Note that HDTV conversion assumes full color range of 0 - 255, use CSC version for limited range color.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y
* plane, one for UV plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToBGR_709CSC_8u_P2C3R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} nv12tobgr */
/** @defgroup nv21tobgr NV21ToBGR
* NV21 to BGR color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned planar NV21 to 4 channel 8-bit unsigned packed BGRA color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y plane, one for VU plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV21ToBGR_8u_P2C4R_Ctx(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV21 to 4 channel 8-bit unsigned packed BGRA color conversion with constant alpha (0xFF).
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y plane, one for VU plane).
* \param rSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV21ToBGR_8u_P2C4R(const Npp8u * const pSrc[2], int rSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} nv21tobgr */
/** @defgroup rgbtoycbcr RGBToYCbCr
* RGB to YCbCr color conversion.
*
* Here is how NPP converts gamma corrected RGB or BGR to YCbCr. In the YCbCr model,
* Y is defined to have a nominal range [16..235], while Cb and Cr are defined
* to have a range [16..240], with the value of 128 as corresponding to zero.
*
* \code
* Npp32f nY = 0.257F * R + 0.504F * G + 0.098F * B + 16.0F;
* Npp32f nCb = -0.148F * R - 0.291F * G + 0.439F * B + 128.0F;
* Npp32f nCr = 0.439F * R - 0.368F * G - 0.071F * B + 128.0F;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel unsigned 8-bit packed YCbCr color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiRGBToYCbCr_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel unsigned 8-bit packed YCbCr color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiRGBToYCbCr_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel unsigned 8-bit packed YCbCr with alpha color conversion, not affecting alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel unsigned 8-bit packed YCbCr with alpha color conversion, not affecting alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel planar 8-bit unsigned RGB to 3 channel planar 8-bit YCbCr color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel planar 8-bit unsigned RGB to 3 channel planar 8-bit YCbCr color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel unsigned 8-bit planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel unsigned 8-bit planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 3 channel 8-bit unsigned planar YCbCr color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 3 channel 8-bit unsigned planar YCbCr color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/** @} rgbtoycbcr */
/**
* @defgroup ycbcrtorgb YCbCr To RGB
* YCbCr to RGB color conversion.
*
* Here is how NPP converts YCbCr to gamma corrected RGB or BGR. The output RGB values are saturated to the range [0..255].
*
* \code
* Npp32f nY = 1.164F * ((Npp32f)Y - 16.0F);
* Npp32f nR = ((Npp32f)Cr - 128.0F); Npp32f nB = ((Npp32f)Cb
* - 128.0F); Npp32f nG = nY - 0.813F * nR - 0.392F * nB; if (nG > 255.0F)
* nG = 255.0F;
* nR = nY + 1.596F * nR;
* if (nR > 255.0F)
* nR = 255.0F;
* nB = nY + 2.017F * nB;
* if (nB > 255.0F)
* nB = 255.0F;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed YCbCr with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion, not affecting alpha.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed YCbCr with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion, not affecting alpha.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst , int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGB_8u_P3C4R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst , int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcrtorgb */
/** @defgroup ycbcrtorgbbatch YCbCrToRGBBatch
* YCbCr to RGB batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* NPP converts YCbCr to gamma corrected RGB the same way as in \ref ycbcrtorgb.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_C3R_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_C3R(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} ycbcrtorgbbatch */
/** @defgroup ycbcrtorgbbatchadvanced YCbCrToRGBBatchAdvanced
* YCbCr to RGB batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* NPP converts YCbCr to gamma corrected RGB the same way as in \ref ycbcrtorgb.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_C3R_Advanced_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_C3R_Advanced(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToRGBBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} ycbcrtorgbbatchadvanced */
/** @defgroup ycbcrtobgr YCbCrToBGR
* YCbCr to BGR color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_8u_P3C4R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcrtobgr */
/** @defgroup ycbcrtobgrbatch YCbCrToBGRBatch
* YCbCr to BGR batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* NPP converts YCbCr to gamma corrected BGR the same way as in \ref ycbcrtobgr.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_C3R_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input and output images passed in pSrcBatchList and pSrcBatchList
* arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the borders of any of provided images.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_C3R(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} ycbcrtobgrbatch */
/** @defgroup ycbcrtobgrbatchadvanced YCbCrToBGRBatchAdvanced
* YCbCr to BGR batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* NPP converts YCbCr to gamma corrected BGR the same way as in \ref ycbcrtobgr.
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_C3R_Advanced_Ctx(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair of input/output images has own ROI.
* Provided oMaxSizeROI must contain the maximum width and the maximum height of all ROIs defined in pDstBatchList. API user must ensure that
* ROI from pDstBatchList for each pair of input and output images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList \ref source_batch_images_pointer.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_C3R_Advanced(const NppiImageDescriptor* pSrcBatchList, NppiImageDescriptor* pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGRBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} ycbcrtobgrbatchadvanced */
/** @defgroup ycbcrtobgr709 YCbCrToBGR_709CSC
* YCbCr to BGR_709CSC color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR_709CSC color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_709CSC_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 3 channel 8-bit unsigned packed BGR_709CSC color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_709CSC_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr to 4 channel 8-bit unsigned packed BGR_709CSC color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_709CSC_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr to 4 channel 8-bit unsigned packed BGR_709CSC color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCrToBGR_709CSC_8u_P3C4R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcrtobgr709 */
/**
*
* @defgroup rgbToycbcr422 RGB To YCbCr422
* RGB to YCbCr422 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 2 channel 8-bit unsigned packed YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 2 channel 8-bit unsigned packed YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_8u_P3C2R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtoycbcr422 */
/** @defgroup ycbcr422torgb YCbCr422 To RGB
* YCbCr422 to RGB color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_8u_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_8u_C2C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycbcr422torgb */
/** @defgroup ycbcr422torgbbatch YCbCr422ToRGBBatch
* Planar YCbCr422 to packed RGB batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGBBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGBBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} ycbcr422torgbbatch */
/** @defgroup ycbcr422torgbbatchadvanced YCbCr422ToRGBBatchAdvanced
* Planar YCbCr422 to packed RGB batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGBBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGBBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} ycbcr422torgbbatchadvanced */
/** @defgroup rgbtoycrcb422 RGBToYCrCb422
* RGB to YCrCb422 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCrCb422_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCrCb422_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCrCb422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCrCb422_8u_P3C2R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtoycrcb422 */
/** @defgroup ycrcb422torgb YCrCb422ToRGB
* YCrCb422 to RGB color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToRGB_8u_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToRGB_8u_C2C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToRGB_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToRGB_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/** @} ycrcb422torgb */
/** @defgroup bgrtoycbcr422 BGRToYCbCr422
* BGR to YCbCr422 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed BGR to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_AC4C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 2 channel 8-bit unsigned packed YCrCb422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_AC4C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycbcr422 */
/** @defgroup ycbcr422tobgr YCbCr422ToBGR
* YCbCr422 to BGR color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned packed BGR color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_8u_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned packed BGR color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_8u_C2C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_8u_C2C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_8u_C2C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR color conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycbcr422tobgr */
/** @defgroup ycbcr422tobgrbatch YCbCr422ToBGRBatch
* Planar YCbCr422 to packed BGR batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGRBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGRBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} ycbcr422tobgrbatch */
/** @defgroup ycbcr422tobgrbatchadvanced YCbCr422ToBGRBatchAdvanced
* Planar YCbCr422 to packed BGR batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGRBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGRBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} ycbcr422tobgrbatchadvanced */
/** @defgroup rgbtocbycr422 RGBToCbYCr422
* RGB to CbYCr422 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed CbYCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToCbYCr422_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 2 channel 8-bit unsigned packed CbYCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToCbYCr422_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB first gets forward gamma corrected then converted to 2 channel 8-bit unsigned packed CbYCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToCbYCr422Gamma_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB first gets forward gamma corrected then converted to 2 channel 8-bit unsigned packed CbYCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToCbYCr422Gamma_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtocbycr422 */
/** @defgroup cbcr422torgb CbYCr422ToRGB
* CbYCr422 to RGB color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed CbYCrC22 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToRGB_8u_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCrC22 to 3 channel 8-bit unsigned packed RGB color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToRGB_8u_C2C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} cbcr422torgb */
/** @defgroup bgrtocbycr422 BGRToCbYCr422
* BGR to CbYCr422 color conversion.
*
* @{
*
*/
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 2 channel 8-bit unsigned packed CbYCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToCbYCr422_8u_AC4C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 2 channel 8-bit unsigned packed CbYCr422 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToCbYCr422_8u_AC4C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} bgrtocbycr422 */
/** @defgroup bgrtocbycr422709HDTV BGRToCbYCr422_709HDTV
* BGR to CbYCr422_709HDTV color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed BGR to 2 channel 8-bit unsigned packed CbYCr422_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToCbYCr422_709HDTV_8u_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 2 channel 8-bit unsigned packed CbYCr422_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToCbYCr422_709HDTV_8u_C3C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 2 channel 8-bit unsigned packed CbYCr422_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToCbYCr422_709HDTV_8u_AC4C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 2 channel 8-bit unsigned packed CbYCr422_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToCbYCr422_709HDTV_8u_AC4C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} bgrtocbycr422709HDTV */
/** @defgroup cbycr422tobgr CbYCr422ToBGR
* CbYCr422 to BGR color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 4 channel 8-bit unsigned packed BGR color conversion with alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToBGR_8u_C2C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 4 channel 8-bit unsigned packed BGR color conversion with alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToBGR_8u_C2C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} cbycr422tobgr */
/** @defgroup cbycr422tobgr709hdtv CbYCr422ToBGR_709HDTV
* CbYCr422 to BGR_709HDTV color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned packed BGR_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToBGR_709HDTV_8u_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned packed BGR_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToBGR_709HDTV_8u_C2C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 4 channel 8-bit unsigned packed BGR_709HDTV color conversion with constant alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToBGR_709HDTV_8u_C2C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 4 channel 8-bit unsigned packed BGR_709HDTV color conversion with constant alpha.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToBGR_709HDTV_8u_C2C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} cbycr422tobgr709hdtv */
/** @defgroup rgbtoycbcr420 RGBToYCbCr420
* RGB to YCbCr420 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr420_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr420_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} rgbtoycbcr420 */
/** @defgroup ycbcr420torgb YCbCr420ToRGB
* YCbCr420 to RGB color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGB_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGB_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycbcr420torgb */
/** @defgroup ycbcr420torgbbatch YCbCr420ToRGBBatch
* Planar YCbCr420 to packed RGB batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGBBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed RGB batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGBBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} ycbcr420torgbbatch */
/** @defgroup ycbcr420torgbbatchadvanced YCbCr420ToRGBBatchAdvanced
* Planar YCbCr420 to packed RGB batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGBBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed RGB batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGBBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} ycbcr420torgbbatchadvanced */
/** @defgroup rgbtoycrcb420 RGBToYCrCb420
* RGB to YCrCb420 color conversion.
*
* @{
*
*/
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 3 channel 8-bit unsigned planar YCrCb420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCrCb420_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 3 channel 8-bit unsigned planar YCrCb420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCrCb420_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} rgbtoycrcb420 */
/** @defgroup ycrcb420torgb YCrCb420ToRGB
* YCrCb420 to RGB color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToRGB_8u_P3C4R_Ctx(const Npp8u * const pSrc[3],int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToRGB_8u_P3C4R(const Npp8u * const pSrc[3],int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycrcb420torgb */
/** @defgroup bgrtoycbcr420 BGRToYCbCr420
* BGR to YCbCr420 color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycbcr420 */
/** @defgroup bgrtoycbcr420709csc BGRToYCbCr420_709CSC
* BGR to YCbCr420_709CSC color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_709CSC_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_709CSC_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_709CSC_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_709CSC_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycbcr420709csc */
/** @defgroup bgrtoycbcr420709hdtv BGRToYCbCr420_709HDTV
* BGR to YCbCr420_709HDTV color conversion.
*
* @{
*
*/
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr420_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_709HDTV_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr420_709HDTV color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_709HDTV_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycbcr420709hdtv */
/** @defgroup bgrtoycrdb420709csc BGRToYCrCb420_709CSC
* BGR to YCrCb420_709CSC color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCrCb420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_709CSC_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCrCb420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_709CSC_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCrCb420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_709CSC_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCrCb420_709CSC color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_709CSC_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycrdb420709csc */
/** @defgroup ycbcr420tobgr YCbCr420ToBGR
* YCbCr420 to BGR color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3],Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_8u_P3C4R(const Npp8u * const pSrc[3], int rSrcStep[3],Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcr420tobgr */
/** @defgroup ycbcr420tobgrbatch YCbCr420ToBGRBatch
* Planar YCbCr420 to packed BGR batch color conversion with a single \ref roi_specification for all pairs of input/output images provided in batches.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGRBatch_8u_P3C3R_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR batch color conversion for a single ROI.
* Provided oSizeROI will be used for all pairs of input planes making input images and output packed images passed in
* pSrcBatchList and pSrcBatchList arguments. API user must ensure that provided ROI (oSizeROI) does not go beyond the
* borders of any of provided images.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize A number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGRBatch_8u_P3C3R(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oSizeROI);
/** @} ycbcr420tobgrbatch */
/** @defgroup ycbcr420tobgrbatchadvanced YCbCr420ToBGRBatchAdvanced
* Planar YCbCr420 to packed BGR batch color conversion where each pair of input/output images from provided batches has own \ref roi_specification.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGRBatch_8u_P3C3R_Advanced_Ctx(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR batch color conversion where each pair
* of input/output images has own ROI. Provided oMaxSizeROI must contain the maximum width and the maximum height of all
* ROIs defined in pDstBatchList. API user must ensure that ROI from pDstBatchList for each pair of input and output
* images does not go beyond the borders of images in each pair.
*
* \param pSrcBatchList An array where each element is a batch of images representing one of planes in planar images,
* \ref source_batch_images_pointer. The first element of array (pSrcBatchList[0]) represents a batch of Y planes.
* The second element of array (pSrcBatchList[1]) represents a batch of Cb planes. The third element of array
* (pSrcBatchList[2]) represents a batch of Cr planes.
* \param pDstBatchList \ref destination_batch_images_pointer.
* \param nBatchSize Number of \ref NppiImageDescriptor structures processed in this call (must be > 1).
* \param oMaxSizeROI \ref roi_specification, must contain the maximum width and the maximum height from all destination ROIs used for processing data.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGRBatch_8u_P3C3R_Advanced(const NppiImageDescriptor * const pSrcBatchList[3], NppiImageDescriptor * pDstBatchList, int nBatchSize, NppiSize oMaxSizeROI);
/** @} ycbcr420tobgrbatchadvanced */
/** @defgroup ycbcr420tobgr709csc YCbCr420ToBGR_709CSC
* YCbCr420_709CSC to BGR color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR_709CSC color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_709CSC_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR_709CSC color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_709CSC_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycbcr420tobgr709csc */
/** @defgroup ycbcr420tobgr709hdtv YCbCr420ToBGR_709HDTV
* YCbCr420_709HDTV to BGR color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 4 channel 8-bit unsigned packed BGR_709HDTV color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_709HDTV_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 4 channel 8-bit unsigned packed BGR_709HDTV color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_709HDTV_8u_P3C4R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcr420tobgr709hdtv */
/** @defgroup bgrtoycrcb420 BGRToYCrCb420
* BGR to YCrCb420 color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCrCb420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCrCb420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCrCb420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCrCb420 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCrCb420_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycrcb420 */
/** @defgroup bgrtoycbcr411 BGRToYCbCr411
* BGR to YCbCr411 color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} bgrtoycbcr411 */
/** @defgroup rgbtoycbcr411 RGBToYCbCr411
* RGB to YCbCr411 color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} rgbtoycbcr411 */
/** @defgroup bgrtoycbcr BGRToYCbCr
* BGR to YCbCr color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr_8u_AC4P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 3 channel 8-bit unsigned planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr_8u_AC4P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr_8u_AC4P4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned planar YCbCr color conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr_8u_AC4P4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/** @} bgrtoycbcr */
/** @defgroup ycbcr411tobgr YCbCr411ToBGR
* YCbCr411 to BGR color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 4 channel 8-bit unsigned packed BGR color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_8u_P3C4R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcr411tobgr */
/** @defgroup ycbcr411torgb YCbCr411ToRGB
* YCbCr411 to RGB color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_8u_P3C3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_8u_P3C4R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 4 channel 8-bit unsigned packed RGB color conversion with constant alpha.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nAval 8-bit unsigned alpha constant.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_8u_P3C4R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nAval);
/** @} ycbcr411torgb */
/** @defgroup rgbtoxyz RGBToXYZ
* RGB to XYZ color conversion.
*
* Here is how NPP converts gamma corrected RGB or BGR to XYZ.
*
* \code
* Npp32f nNormalizedR = (Npp32f)R * 0.003921569F; // / 255.0F
* Npp32f nNormalizedG = (Npp32f)G * 0.003921569F;
* Npp32f nNormalizedB = (Npp32f)B * 0.003921569F;
* Npp32f nX = 0.412453F * nNormalizedR + 0.35758F * nNormalizedG + 0.180423F * nNormalizedB;
* if (nX > 1.0F)
* nX = 1.0F;
* Npp32f nY = 0.212671F * nNormalizedR + 0.71516F * nNormalizedG + 0.072169F * nNormalizedB;
* if (nY > 1.0F)
* nY = 1.0F;
* Npp32f nZ = 0.019334F * nNormalizedR + 0.119193F * nNormalizedG + 0.950227F * nNormalizedB;
* if (nZ > 1.0F)
* nZ = 1.0F;
* X = (Npp8u)(nX * 255.0F);
* Y = (Npp8u)(nY * 255.0F);
* Z = (Npp8u)(nZ * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed XYZ color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToXYZ_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed XYZ color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToXYZ_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed XYZ with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToXYZ_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed XYZ with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToXYZ_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtoxyz */
/** @defgroup xyztorgb XYZToRGB
* XYZ to RGB color conversion.
*
* Here is how NPP converts XYZ to gamma corrected RGB or BGR. The code assumes that X,Y, and Z values are in the range [0..1].
*
* \code
* Npp32f nNormalizedX = (Npp32f)X * 0.003921569F; // / 255.0F
* Npp32f nNormalizedY = (Npp32f)Y * 0.003921569F;
* Npp32f nNormalizedZ = (Npp32f)Z * 0.003921569F;
* Npp32f nR = 3.240479F * nNormalizedX - 1.53715F * nNormalizedY - 0.498535F * nNormalizedZ;
* if (nR > 1.0F)
* nR = 1.0F;
* Npp32f nG = -0.969256F * nNormalizedX + 1.875991F * nNormalizedY + 0.041556F * nNormalizedZ;
* if (nG > 1.0F)
* nG = 1.0F;
* Npp32f nB = 0.055648F * nNormalizedX - 0.204043F * nNormalizedY + 1.057311F * nNormalizedZ;
* if (nB > 1.0F)
* nB = 1.0F;
* R = (Npp8u)(nR * 255.0F);
* G = (Npp8u)(nG * 255.0F);
* B = (Npp8u)(nB * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed XYZ to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiXYZToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed XYZ to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiXYZToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed XYZ with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiXYZToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed XYZ with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiXYZToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} xyztorgb */
/** @defgroup rgbtoluv RGBToLUV
* RGB to LUV color conversion.
*
* Here is how NPP converts gamma corrected RGB or BGR to CIE LUV using the CIE XYZ D65 white point with a Y luminance of 1.0.
* The computed values of the L component are in the range [0..100], U component in the range [-134..220],
* and V component in the range [-140..122]. The code uses cbrtf() the 32 bit floating point cube root math function.
*
* \code
* // use CIE D65 chromaticity coordinates
* #define nCIE_XYZ_D65_xn 0.312713F
* #define nCIE_XYZ_D65_yn 0.329016F
* #define nn_DIVISOR (-2.0F * nCIE_XYZ_D65_xn + 12.0F * nCIE_XYZ_D65_yn + 3.0F)
* #define nun (4.0F * nCIE_XYZ_D65_xn / nn_DIVISOR)
* #define nvn (9.0F * nCIE_XYZ_D65_yn / nn_DIVISOR)
*
* // First convert to XYZ
* Npp32f nNormalizedR = (Npp32f)R * 0.003921569F; // / 255.0F
* Npp32f nNormalizedG = (Npp32f)G * 0.003921569F;
* Npp32f nNormalizedB = (Npp32f)B * 0.003921569F;
* Npp32f nX = 0.412453F * nNormalizedR + 0.35758F * nNormalizedG + 0.180423F * nNormalizedB;
* Npp32f nY = 0.212671F * nNormalizedR + 0.71516F * nNormalizedG + 0.072169F * nNormalizedB;
* Npp32f nZ = 0.019334F * nNormalizedR + 0.119193F * nNormalizedG + 0.950227F * nNormalizedB;
* // Now calculate LUV from the XYZ value
* Npp32f nTemp = nX + 15.0F * nY + 3.0F * nZ;
* Npp32f nu = 4.0F * nX / nTemp;
* Npp32f nv = 9.0F * nY / nTemp;
* Npp32f nL = 116.0F * cbrtf(nY) - 16.0F;
* if (nL < 0.0F)
* nL = 0.0F;
* if (nL > 100.0F)
* nL = 100.0F;
* nTemp = 13.0F * nL;
* Npp32f nU = nTemp * (nu - nun);
* if (nU < -134.0F)
* nU = -134.0F;
* if (nU > 220.0F)
* nU = 220.0F;
* Npp32f nV = nTemp * (nv - nvn);
* if (nV < -140.0F)
* nV = -140.0F;
* if (nV > 122.0F)
* nV = 122.0F;
* L = (Npp8u)(nL * 255.0F * 0.01F); // / 100.0F
* U = (Npp8u)((nU + 134.0F) * 255.0F * 0.0028249F); // / 354.0F
* V = (Npp8u)((nV + 140.0F) * 255.0F * 0.0038168F); // / 262.0F
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed LUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToLUV_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed LUV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToLUV_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed LUV with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToLUV_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed LUV with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToLUV_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtoluv */
/** @defgroup luvtorgb LUVToRGB
* LUV to RGB color conversion.
*
* Here is how NPP converts CIE LUV to gamma corrected RGB or BGR using the CIE XYZ D65 white point with a Y luminance of 1.0.
* The code uses powf() the 32 bit floating point power math function.
*
* \code
* // use CIE D65 chromaticity coordinates
* #define nCIE_XYZ_D65_xn 0.312713F
* #define nCIE_XYZ_D65_yn 0.329016F
* #define nn_DIVISOR (-2.0F * nCIE_XYZ_D65_xn + 12.0F * nCIE_XYZ_D65_yn + 3.0F)
* #define nun (4.0F * nCIE_XYZ_D65_xn / nn_DIVISOR)
* #define nvn (9.0F * nCIE_XYZ_D65_yn / nn_DIVISOR)
*
* // First convert normalized LUV back to original CIE LUV range
* Npp32f nL = (Npp32f)L * 100.0F * 0.003921569F; // / 255.0F
* Npp32f nU = ((Npp32f)U * 354.0F * 0.003921569F) - 134.0F;
* Npp32f nV = ((Npp32f)V * 262.0F * 0.003921569F) - 140.0F;
* // Now convert LUV to CIE XYZ
* Npp32f nTemp = 13.0F * nL;
* Npp32f nu = nU / nTemp + nun;
* Npp32f nv = nV / nTemp + nvn;
* Npp32f nNormalizedY;
* if (nL > 7.9996248F)
* {
* nNormalizedY = (nL + 16.0F) * 0.008621F; // / 116.0F
* nNormalizedY = powf(nNormalizedY, 3.0F);
* }
* else
* {
* nNormalizedY = nL * 0.001107F; // / 903.3F
* }
* Npp32f nNormalizedX = (-9.0F * nNormalizedY * nu) / ((nu - 4.0F) * nv - nu * nv);
* Npp32f nNormalizedZ = (9.0F * nNormalizedY - 15.0F * nv * nNormalizedY - nv * nNormalizedX) / (3.0F * nv);
* Npp32f nR = 3.240479F * nNormalizedX - 1.53715F * nNormalizedY - 0.498535F * nNormalizedZ;
* if (nR > 1.0F)
* nR = 1.0F;
* if (nR < 0.0F)
* nR = 0.0F;
* Npp32f nG = -0.969256F * nNormalizedX + 1.875991F * nNormalizedY + 0.041556F * nNormalizedZ;
* if (nG > 1.0F)
* nG = 1.0F;
* if (nG < 0.0F)
* nG = 0.0F;
* Npp32f nB = 0.055648F * nNormalizedX - 0.204043F * nNormalizedY + 1.057311F * nNormalizedZ;
* if (nB > 1.0F)
* nB = 1.0F;
* if (nB < 0.0F)
* nB = 0.0F;
* R = (Npp8u)(nR * 255.0F);
* G = (Npp8u)(nG * 255.0F);
* B = (Npp8u)(nB * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed LUV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiLUVToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed LUV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiLUVToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed LUV with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiLUVToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed LUV with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiLUVToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} luvtorgb */
/** @defgroup bgrtolab BGRToLab
* BGR to Lab color conversion.
*
* This is how NPP converts gamma corrected BGR or RGB to Lab using the CIE Lab D65 white point with a Y luminance of 1.0.
* The computed values of the L component are in the range [0..100], a and b component values are in the range [-128..127].
* The code uses cbrtf() the 32 bit floating point cube root math function.
*
* \code
* // use CIE Lab chromaticity coordinates
* #define nCIE_LAB_D65_xn 0.950455F
* #define nCIE_LAB_D65_yn 1.0F
* #define nCIE_LAB_D65_zn 1.088753F
* // First convert to XYZ
* Npp32f nNormalizedR = (Npp32f)R * 0.003921569F; // / 255.0F
* Npp32f nNormalizedG = (Npp32f)G * 0.003921569F;
* Npp32f nNormalizedB = (Npp32f)B * 0.003921569F;
* Npp32f nX = 0.412453F * nNormalizedR + 0.35758F * nNormalizedG + 0.180423F * nNormalizedB;
* Npp32f nY = 0.212671F * nNormalizedR + 0.71516F * nNormalizedG + 0.072169F * nNormalizedB;
* Npp32f nZ = 0.019334F * nNormalizedR + 0.119193F * nNormalizedG + 0.950227F * nNormalizedB;
* Npp32f nL = cbrtf(nY);
* Npp32f nA; Npp32f nB; Npp32f nfX = nX * 1.052128F; // / nCIE_LAB_D65_xn; Npp32f nfY = nY; Npp32f nfZ = nZ * 0.918482F; // /
* nCIE_LAB_D65_zn; nfY = nL - 16.0F; nL = 116.0F * nL - 16.0F; nA = cbrtf(nfX) - 16.0F; nA = 500.0F
* * (nA - nfY); nB = cbrtf(nfZ) - 16.0F; nB = 200.0F * (nfY - nB); // Now scale Lab range nL = nL * 255.0F
* * 0.01F; // / 100.0F nA = nA + 128.0F; nB = nB + 128.0F; L = (Npp8u)nL; a = (Npp8u)nA; b = (Npp8u)nB;
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned packed Lab color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToLab_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned packed Lab color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToLab_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} bgrtolab */
/** @defgroup labtobgr LabToBGR
* Lab to BGR color conversion.
*
* This is how NPP converts Lab to gamma corrected BGR or RGB using the CIE Lab D65 white point with a Y luminance of 1.0.
* The code uses powf() the 32 bit floating point power math function.
*
* \code
* // use CIE Lab chromaticity coordinates
* #define nCIE_LAB_D65_xn 0.950455F
* #define nCIE_LAB_D65_yn 1.0F
* #define nCIE_LAB_D65_zn 1.088753F
* // First convert Lab back to original range then to CIE XYZ
* Npp32f nL = (Npp32f)L * 100.0F * 0.003921569F; // / 255.0F
* Npp32f nA = (Npp32f)a - 128.0F;
* Npp32f nB = (Npp32f)b - 128.0F;
* Npp32f nP = (nL + 16.0F) * 0.008621F; // / 116.0F
* Npp32f nNormalizedY = nP * nP * nP; // powf(nP, 3.0F);
* Npp32f nNormalizedX = nCIE_LAB_D65_xn * powf((nP + nA * 0.002F), 3.0F); // / 500.0F
* Npp32f nNormalizedZ = nCIE_LAB_D65_zn * powf((nP - nB * 0.005F), 3.0F); // / 200.0F
* Npp32f nR = 3.240479F * nNormalizedX - 1.53715F * nNormalizedY - 0.498535F * nNormalizedZ;
* if (nR > 1.0F)
* nR = 1.0F;
* Npp32f nG = -0.969256F * nNormalizedX + 1.875991F * nNormalizedY + 0.041556F * nNormalizedZ;
* if (nG > 1.0F)
* nG = 1.0F;
* nB = 0.055648F * nNormalizedX - 0.204043F * nNormalizedY + 1.057311F * nNormalizedZ;
* if (nB > 1.0F)
* nB = 1.0F;
* R = (Npp8u)(nR * 255.0F);
* G = (Npp8u)(nG * 255.0F);
* B = (Npp8u)(nB * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed Lab to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiLabToBGR_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed Lab to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiLabToBGR_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} labtobgr */
/** @defgroup rgbtoycc RGBToYCC
* RGB to PhotoYCC color conversion.
*
* This is how NPP converts gamma corrected BGR or RGB to PhotoYCC.
* The computed Y, C1, C2 values are then quantized and converted to fit in the range [0..1] before expanding to 8 bits.
*
* \code
* Npp32f nNormalizedR = (Npp32f)R * 0.003921569F; // / 255.0F
* Npp32f nNormalizedG = (Npp32f)G * 0.003921569F;
* Npp32f nNormalizedB = (Npp32f)B * 0.003921569F;
* Npp32f nY = 0.299F * nNormalizedR + 0.587F * nNormalizedG + 0.114F * nNormalizedB;
* Npp32f nC1 = nNormalizedB - nY;
* nC1 = 111.4F * 0.003921569F * nC1 + 156.0F * 0.003921569F;
* Npp32f nC2 = nNormalizedR - nY;
* nC2 = 135.64F * 0.003921569F * nC2 + 137.0F * 0.003921569F;
* nY = 1.0F * 0.713267F * nY; // / 1.402F
* Y = (Npp8u)(nY * 255.0F);
* C1 = (Npp8u)(nC1 * 255.0F);
* C2 = (Npp8u)(nC2 * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed YCC color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCC_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed YCC color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCC_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed YCC with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCC_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed YCC with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCC_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtoycc */
/** @defgroup ycctorgb YCCToRGB
* PhotoYCC to RGB color conversion.
*
* This is how NPP converts PhotoYCC to gamma corrected RGB or BGR.
*
* \code
* Npp32f nNormalizedY = ((Npp32f)Y * 0.003921569F) * 1.3584F; // / 255.0F
* Npp32f nNormalizedC1 = (((Npp32f)C1 * 0.003921569F) - 156.0F * 0.003921569F) * 2.2179F;
* Npp32f nNormalizedC2 = (((Npp32f)C2 * 0.003921569F) - 137.0F * 0.003921569F) * 1.8215F;
* Npp32f nR = nNormalizedY + nNormalizedC2;
* if (nR > 1.0F)
* nR = 1.0F;
* Npp32f nG = nNormalizedY - 0.194F * nNormalizedC1 - 0.509F * nNormalizedC2;
* if (nG > 1.0F)
* nG = 1.0F;
* Npp32f nB = nNormalizedY + nNormalizedC1;
* if (nB > 1.0F)
* nB = 1.0F;
* R = (Npp8u)(nR * 255.0F);
* G = (Npp8u)(nG * 255.0F);
* B = (Npp8u)(nB * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed YCC to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCCToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCC to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCCToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed YCC with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCCToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed YCC with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCCToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycctorgb */
/** @defgroup yccktocmyk601 YCCKToCMYK_JPEG
* This function partially converts JPEG YCCK to CMYK.
*
* This is how NPP converts JPEG YCCK to CMYK. NPP only performs and initial YCC to RGB conversion using the 601 conversion coefficients
* and the RGB to CMY inversion leaving K unmodified. To complete this conversion to useful RGB values an additional RGB conversion needs
* to follow this function using the color profile contained in the YCCK JPEG file metadata section. NPP does not directly support
* this conversion but potentially nppiColorTwist can be used to perform it once the conversion coefficients are known.
*
* \code
* Npp32f nY = static_cast<Npp32f>(Y);
* Npp32f nC1 = static_cast<Npp32f>(Cb);
* Npp32f nC2 = static_cast<Npp32f>(Cr);
* Npp32f nR = nY + 1.402F * nC2 - 179.456F;
* Npp32f nG = nY - 0.34414F * nC1 - 0.71414F * nC2 + 135.45984F;
* Npp32f nB = nY + 1.772F * nC1 - 226.816F;
*
* Npp8u nC = static_cast<Npp8u>(255.0F - nR);
* Npp8u nM = static_cast<Npp8u>(255.0F - nG);
* Npp8u nM = static_cast<Npp8u>(255.0F - nB);
* Npp8u nK = K;
* \endcode
*
* @{
*/
/**
* 4 channel 8-bit unsigned planar JPEG YCCK color format to 4 channel 8-bit unsigned planar CMYK color conversion using 601 RGB color coefficients and CMY inversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCCKToCMYK_JPEG_601_8u_P4R_Ctx(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar JPEG YCCK color format to 4 channel 8-bit unsigned planar CMYK color conversion using 601 RGB color coefficients and CMY inversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCCKToCMYK_JPEG_601_8u_P4R(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/** @} yccktocmyk601 */
/** @defgroup ycckorcmyktorgb CMYK_OR_YCCK_JPEG_TO_RGB
* These functions convert JPEG CMYK or YCCK color format images to either planar or packed RGB images for images which need no color profile conversion.
*
* @{
*/
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned planar RGB color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToRGB_JPEG_8u_P4P3R_Ctx(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned planar RGB color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToRGB_JPEG_8u_P4P3R(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned packed RGB color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToRGB_JPEG_8u_P4C3R_Ctx(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned packed RGB color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToRGB_JPEG_8u_P4C3R(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycckorcmyktorgb */
/** @defgroup ycckorcmyktobgr CMYK_OR_YCCK_JPEG_TO_BGR
* These functions convert JPEG CMYK or YCCK color format images to either planar or packed BGR images for images which need no color profile conversion.
*
* @{
*/
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned planar BGR color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToBGR_JPEG_8u_P4P3R_Ctx(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned planar BGR color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToBGR_JPEG_8u_P4P3R(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned packed BGR color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToBGR_JPEG_8u_P4C3R_Ctx(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar JPEG CMYK or YCCK color model image to 3 channel 8-bit unsigned packed BGR color model image without color profile conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCMYKOrYCCKToBGR_JPEG_8u_P4C3R(const Npp8u * pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} ycckorcmyktobgr */
/** @defgroup rgbtohls RGBToHLS
* RGB to HLS color conversion.
*
* This is how NPP converts gamma corrected RGB or BGR to HLS.
* This code uses the fmaxf() and fminf() 32 bit floating point math functions.
*
* \code
* Npp32f nNormalizedR = (Npp32f)R * 0.003921569F; // / 255.0F
* Npp32f nNormalizedG = (Npp32f)G * 0.003921569F;
* Npp32f nNormalizedB = (Npp32f)B * 0.003921569F;
* Npp32f nS;
* Npp32f nH;
* // Lightness
* Npp32f nMax = fmaxf(nNormalizedR, nNormalizedG);
* nMax = fmaxf(nMax, nNormalizedB);
* Npp32f nMin = fminf(nNormalizedR, nNormalizedG);
* nMin = fminf(nMin, nNormalizedB);
* Npp32f nL = (nMax + nMin) * 0.5F;
* Npp32f nDivisor = nMax - nMin;
* // Saturation
* if (nDivisor == 0.0F) // achromatics case
* {
* nS = 0.0F;
* nH = 0.0F;
* }
* else // chromatics case
* {
* if (nL > 0.5F)
* nS = nDivisor / (1.0F - (nMax + nMin - 1.0F));
* else
* nS = nDivisor / (nMax + nMin);
* }
* // Hue
* Npp32f nCr = (nMax - nNormalizedR) / nDivisor;
* Npp32f nCg = (nMax - nNormalizedG) / nDivisor;
* Npp32f nCb = (nMax - nNormalizedB) / nDivisor;
* if (nNormalizedR == nMax)
* nH = nCb - nCg;
* else if (nNormalizedG == nMax)
* nH = 2.0F + nCr - nCb;
* else if (nNormalizedB == nMax)
* nH = 4.0F + nCg - nCr;
* nH = nH * 0.166667F; // / 6.0F
* if (nH < 0.0F)
* nH = nH + 1.0F;
* H = (Npp8u)(nH * 255.0F);
* L = (Npp8u)(nL * 255.0F);
* S = (Npp8u)(nS * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed HLS color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHLS_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed HLS color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHLS_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed HLS with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHLS_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed HLS with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHLS_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtohls */
/** @defgroup hlstorgb HLSToRGB
* HLS to RGB color conversion.
*
* This is how NPP converts HLS to gamma corrected RGB or BGR.
*
* \code
* Npp32f nNormalizedH = (Npp32f)H * 0.003921569F; // / 255.0F
* Npp32f nNormalizedL = (Npp32f)L * 0.003921569F;
* Npp32f nNormalizedS = (Npp32f)S * 0.003921569F;
* Npp32f nM1;
* Npp32f nM2;
* Npp32f nR;
* Npp32f nG;
* Npp32f nB;
* Npp32f nh = 0.0F;
* if (nNormalizedL <= 0.5F)
* nM2 = nNormalizedL * (1.0F + nNormalizedS);
* else
* nM2 = nNormalizedL + nNormalizedS - nNormalizedL * nNormalizedS;
* nM1 = 2.0F * nNormalizedL - nM2;
* if (nNormalizedS == 0.0F)
* nR = nG = nB = nNormalizedL;
* else
* {
* nh = nNormalizedH + 0.3333F;
* if (nh > 1.0F)
* nh -= 1.0F;
* }
* Npp32f nMDiff = nM2 - nM1;
* if (0.6667F < nh)
* nR = nM1;
* else
* {
* if (nh < 0.1667F)
* nR = (nM1 + nMDiff * nh * 6.0F); // / 0.1667F
* else if (nh < 0.5F)
* nR = nM2;
* else
* nR = nM1 + nMDiff * ( 0.6667F - nh ) * 6.0F; // / 0.1667F
* }
* if (nR > 1.0F)
* nR = 1.0F;
* nh = nNormalizedH;
* if (0.6667F < nh)
* nG = nM1;
* else
* {
* if (nh < 0.1667F)
* nG = (nM1 + nMDiff * nh * 6.0F); // / 0.1667F
* else if (nh < 0.5F)
* nG = nM2;
* else
* nG = nM1 + nMDiff * (0.6667F - nh ) * 6.0F; // / 0.1667F
* }
* if (nG > 1.0F)
* nG = 1.0F;
* nh = nNormalizedH - 0.3333F;
* if (nh < 0.0F)
* nh += 1.0F;
* if (0.6667F < nh)
* nB = nM1;
* else
* {
* if (nh < 0.1667F)
* nB = (nM1 + nMDiff * nh * 6.0F); // / 0.1667F
* else if (nh < 0.5F)
* nB = nM2;
* else
* nB = nM1 + nMDiff * (0.6667F - nh ) * 6.0F; // / 0.1667F
* }
* if (nB > 1.0F)
* nB = 1.0F;
* R = (Npp8u)(nR * 255.0F);
* G = (Npp8u)(nG * 255.0F);
* B = (Npp8u)(nB * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed HLS to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed HLS to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed HLS with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed HLS with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} hlstorgb */
/** @defgroup bgrtohls BGRToHLS
* BGR to HLS color conversion.
* @{
*/
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned packed HLS with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned packed HLS with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar HLS color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar HLS color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned planar HLS with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AC4P4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed BGR with alpha to 4 channel 8-bit unsigned planar HLS with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AC4P4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned packed HLS color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned packed HLS color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned planar BGR with alpha to 4 channel 8-bit unsigned packed HLS with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AP4C4R_Ctx(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar BGR with alpha to 4 channel 8-bit unsigned packed HLS with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AP4C4R(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar HLS color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar HLS color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned planar BGR with alpha to 4 channel 8-bit unsigned planar HLS with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AP4R_Ctx(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar BGR with alpha to 4 channel 8-bit unsigned planar HLS with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToHLS_8u_AP4R(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/** @} bgrtohls */
/** @defgroup hlstobgr HLSToBGR
* HLS to BGR color conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned packed HLS to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed HLS to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed HLS with alpha to 4 channel 8-bit unsigned planar BGR with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_AC4P4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed HLS with alpha to 4 channel 8-bit unsigned planar BGR with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_AC4P4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar HLS to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar HLS to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned planar HLS with alpha to 4 channel 8-bit unsigned planar BGR with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_AP4R_Ctx(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar HLS with alpha to 4 channel 8-bit unsigned planar BGR with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_AP4R(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst[4], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar HLS to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar HLS to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned planar HLS with alpha to 4 channel 8-bit unsigned packed BGR with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_AP4C4R_Ctx(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned planar HLS with alpha to 4 channel 8-bit unsigned packed BGR with alpha color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHLSToBGR_8u_AP4C4R(const Npp8u * const pSrc[4], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} hlstobgr */
/** @defgroup rgbtohsv RGBToHSV
* RGB to HSV color conversion.
*
* This is how NPP converts gamma corrected RGB or BGR to HSV.
* This code uses the fmaxf() and fminf() 32 bit floating point math functions.
*
* \code
* Npp32f nNormalizedR = (Npp32f)R * 0.003921569F; // / 255.0F
* Npp32f nNormalizedG = (Npp32f)G * 0.003921569F;
* Npp32f nNormalizedB = (Npp32f)B * 0.003921569F;
* Npp32f nS;
* Npp32f nH;
* // Value
* Npp32f nV = fmaxf(nNormalizedR, nNormalizedG);
* nV = fmaxf(nV, nNormalizedB);
* // Saturation
* Npp32f nTemp = fminf(nNormalizedR, nNormalizedG);
* nTemp = fminf(nTemp, nNormalizedB);
* Npp32f nDivisor = nV - nTemp;
* if (nV == 0.0F) // achromatics case
* {
* nS = 0.0F;
* nH = 0.0F;
* }
* else // chromatics case
* nS = nDivisor / nV;
* // Hue:
* Npp32f nCr = (nV - nNormalizedR) / nDivisor;
* Npp32f nCg = (nV - nNormalizedG) / nDivisor;
* Npp32f nCb = (nV - nNormalizedB) / nDivisor;
* if (nNormalizedR == nV)
* nH = nCb - nCg;
* else if (nNormalizedG == nV)
* nH = 2.0F + nCr - nCb;
* else if (nNormalizedB == nV)
* nH = 4.0F + nCg - nCr;
* nH = nH * 0.166667F; // / 6.0F
* if (nH < 0.0F)
* nH = nH + 1.0F;
* H = (Npp8u)(nH * 255.0F);
* S = (Npp8u)(nS * 255.0F);
* V = (Npp8u)(nV * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed HSV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHSV_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned packed HSV color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHSV_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed HSV with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHSV_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 4 channel 8-bit unsigned packed HSV with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToHSV_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} rgbtohsv */
/** @defgroup hsvtorgb HSVToRGB
* HSV to RGB color conversion.
*
* This is how NPP converts HSV to gamma corrected RGB or BGR.
* This code uses the floorf() 32 bit floating point math function.
*
* \code
* Npp32f nNormalizedH = (Npp32f)H * 0.003921569F; // / 255.0F
* Npp32f nNormalizedS = (Npp32f)S * 0.003921569F;
* Npp32f nNormalizedV = (Npp32f)V * 0.003921569F;
* Npp32f nR;
* Npp32f nG;
* Npp32f nB;
* if (nNormalizedS == 0.0F)
* {
* nR = nG = nB = nNormalizedV;
* }
* else
* {
* if (nNormalizedH == 1.0F)
* nNormalizedH = 0.0F;
* else
* nNormalizedH = nNormalizedH * 6.0F; // / 0.1667F
* }
* Npp32f nI = floorf(nNormalizedH);
* Npp32f nF = nNormalizedH - nI;
* Npp32f nM = nNormalizedV * (1.0F - nNormalizedS);
* Npp32f nN = nNormalizedV * (1.0F - nNormalizedS * nF);
* Npp32f nK = nNormalizedV * (1.0F - nNormalizedS * (1.0F - nF));
* if (nI == 0.0F)
* { nR = nNormalizedV; nG = nK; nB = nM; }
* else if (nI == 1.0F)
* { nR = nN; nG = nNormalizedV; nB = nM; }
* else if (nI == 2.0F)
* { nR = nM; nG = nNormalizedV; nB = nK; }
* else if (nI == 3.0F)
* { nR = nM; nG = nN; nB = nNormalizedV; }
* else if (nI == 4.0F)
* { nR = nK; nG = nM; nB = nNormalizedV; }
* else if (nI == 5.0F)
* { nR = nNormalizedV; nG = nM; nB = nN; }
* R = (Npp8u)(nR * 255.0F);
* G = (Npp8u)(nG * 255.0F);
* B = (Npp8u)(nB * 255.0F);
* \endcode
*
* @{
*/
/**
* 3 channel 8-bit unsigned packed HSV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHSVToRGB_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed HSV to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHSVToRGB_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed HSV with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHSVToRGB_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed HSV with alpha to 4 channel 8-bit unsigned packed RGB with alpha color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiHSVToRGB_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} hsvtorgb */
/**
* @defgroup image_JPEG_color_conversion JPEG Color Conversion
* The set of JPEG color conversion functions available in the library.
* @{
*
*/
/** @name RGBToYCbCr_JPEG Planar to planar.
* JPEG RGB to YCbCr color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr420_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr420_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr444_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar RGB to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr444_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr444_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar BGR to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr444_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGB_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGB_JPEG_8u_P3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_JPEG_8u_P3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_JPEG_8u_P3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToRGB_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToRGB_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_JPEG_8u_P3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_JPEG_8u_P3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_JPEG_8u_P3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToBGR_JPEG_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned planar BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToBGR_JPEG_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/** @} */
/** @name RGBToYCbCr_JPEG Planar to packed.
* JPEG RGB to YCbCr color conversion.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr420_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr420_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr422_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr411_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr444_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYCbCr444_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr420 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr420_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr422 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr422_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr411 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr411_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr444_JPEG_8u_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed BGR to 3 channel 8-bit unsigned planar YCbCr444 color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiBGRToYCbCr444_JPEG_8u_C3P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed YCbCr420 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGB_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr420 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToRGB_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToRGB_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed YCbCr411 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed YCbCr411 to 3 channel 8-bit unsigned planar RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToRGB_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToRGB_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned packed RGB color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToRGB_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToBGR_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToBGR_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToBGR_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int aSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToBGR_JPEG_8u_P3C3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr444 to 3 channel 8-bit unsigned packed BGR color conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr444ToBGR_JPEG_8u_P3C3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @} image_JPEG_color_conversion */
/** @} image_color_model_conversion */
/**
* @defgroup image_color_to_gray ColorToGray Conversion
* Routines for converting color images to grayscale.
*
* @{
*
*/
/** @name RGBToGray
* RGB to CCIR601 Gray conversion.
*
* Here is how NPP converts gamma corrected RGB to CCIR601 Gray.
*
* \code
* nGray = 0.299F * R + 0.587F * G + 0.114F * B;
* \endcode
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_8u_C3C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_8u_C3C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_8u_AC4C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/NppStatus nppiRGBToGray_8u_AC4C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 16-bit unsigned packed RGB to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16u_C3C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned packed RGB to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16u_C3C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 16-bit unsigned packed RGB with alpha to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16u_AC4C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned packed RGB with alpha to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16u_AC4C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 16-bit signed packed RGB to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16s_C3C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed packed RGB to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16s_C3C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 16-bit signed packed RGB with alpha to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16s_AC4C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed packed RGB with alpha to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_16s_AC4C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 32-bit floating point packed RGB to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_32f_C3C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point packed RGB to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_32f_C3C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 32-bit floating point packed RGB with alpha to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_32f_AC4C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point packed RGB with alpha to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToGray_32f_AC4C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @name ColorToGray
* RGB Color to Gray conversion using user supplied conversion coefficients.
*
* Here is how NPP converts gamma corrected RGB Color to Gray using user supplied conversion coefficients.
*
* \code
* nGray = aCoeffs[0] * R + aCoeffs[1] * G + aCoeffs[2] * B;
* \endcode
*
* For the C4C1R versions of the functions the calculations are as follows.
* For BGRA or other formats with alpha just rearrange the coefficients accordingly.
*
* \code
* nGray = aCoeffs[0] * R + aCoeffs[1] * G + aCoeffs[2] * B + aCoeffs[3] * A;
* \endcode
*
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_8u_C3C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_8u_C3C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_8u_AC4C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGB with alpha to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_8u_AC4C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 8-bit unsigned packed RGBA to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_8u_C4C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed RGBA to 1 channel 8-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_8u_C4C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4]);
/**
* 3 channel 16-bit unsigned packed RGB to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16u_C3C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned packed RGB to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16u_C3C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 16-bit unsigned packed RGB with alpha to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16u_AC4C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned packed RGB with alpha to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16u_AC4C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 16-bit unsigned packed RGBA to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16u_C4C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned packed RGBA to 1 channel 16-bit unsigned packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16u_C4C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4]);
/**
* 3 channel 16-bit signed packed RGB to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16s_C3C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed packed RGB to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16s_C3C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 16-bit signed packed RGB with alpha to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16s_AC4C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed packed RGB with alpha to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16s_AC4C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 16-bit signed packed RGBA to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16s_C4C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed packed RGBA to 1 channel 16-bit signed packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_16s_C4C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4]);
/**
* 3 channel 32-bit floating point packed RGB to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_32f_C3C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point packed RGB to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_32f_C3C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 32-bit floating point packed RGB with alpha to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_32f_AC4C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point packed RGB with alpha to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_32f_AC4C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[3]);
/**
* 4 channel 32-bit floating point packed RGBA to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_32f_C4C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point packed RGBA to 1 channel 32-bit floating point packed Gray conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aCoeffs fixed size array of constant floating point conversion coefficient values, one per color channel.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiColorToGray_32f_C4C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, const Npp32f aCoeffs[4]);
/** @} */
/** @name GradientColorToGray
* RGB Color to Gray Gradient conversion using user selected gradient distance method.
*
* @{
*
*/
/**
* 3 channel 8-bit unsigned packed RGB to 1 channel 8-bit unsigned packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_8u_C3C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed RGB to 1 channel 8-bit unsigned packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_8u_C3C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm);
/**
* 3 channel 16-bit unsigned packed RGB to 1 channel 16-bit unsigned packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_16u_C3C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm, NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned packed RGB to 1 channel 16-bit unsigned packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_16u_C3C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm);
/**
* 3 channel 16-bit signed packed RGB to 1 channel 16-bit signed packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_16s_C3C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm, NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed packed RGB to 1 channel 16-bit signed packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_16s_C3C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm);
/**
* 3 channel 32-bit floating point packed RGB to 1 channel 32-bit floating point packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_32f_C3C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm, NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point packed RGB to 1 channel 32-bit floating point packed Gray Gradient conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param eNorm Gradient distance method to use.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGradientColorToGray_32f_C3C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI, NppiNorm eNorm);
/** @} */
/** @} image_color_to_gray */
/**
* @defgroup image_color_debayer ColorDebayer
* Grayscale Color Filter Array to RGB Color Debayer conversion.
*
* Generates one RGB color pixel for every grayscale source pixel.
* Source and destination images must have even width and height. Missing pixel colors are generated using bilinear interpolation
* with chroma correlation of generated green values (eInterpolation MUST be set to 0). eGrid allows the user to specify the Bayer grid
* registration position at source image location oSrcROI.x, oSrcROI.y relative to pSrc. Possible registration positions are:
*
* \code
* NPPI_BAYER_BGGR NPPI_BAYER_RGGB NPPI_BAYER_GBRG NPPI_BAYER_GRBG
*
* B G R G G B G R
* G R G B R G B G
*
* \endcode
*
* If it becomes necessary to access source pixels outside source image then the source image borders are mirrored.
*
* Here is how the algorithm works. R, G, and B base pixels from the source image are used unmodified. To generate R values for those
* G pixels, the average of R(x - 1, y) and R(x + 1, y) or R(x, y - 1) and R(x, y + 1) is used depending on whether the left and right
* or top and bottom pixels are R base pixels. To generate B values for those G pixels, the same algorithm is used using nearest B values.
* For an R base pixel, if there are no B values in the upper, lower, left, or right adjacent pixels then B is the average of B values
* in the 4 diagonal (G base) pixels. The same algorithm is used using R values to generate the R value of a B base pixel.
* Chroma correlation is applied to generated G values only, for a B base pixel G(x - 1, y) and G(x + 1, y) are averaged or G(x, y - 1)
* and G(x, y + 1) are averaged depending on whether the absolute difference between B(x, y) and the average of B(x - 2, y) and B(x + 2, y)
* is smaller than the absolute difference between B(x, y) and the average of B(x, y - 2) and B(x, y + 2). For an R base pixel the same
* algorithm is used testing against the surrounding R values at those offsets. If the horizontal and vertical differences are the same
* at one of those pixels then the average of the four left, right, upper and lower G values is used instead.
*
*
* @{
*
*/
/**
* 1 channel 8-bit unsigned packed CFA grayscale Bayer pattern to 3 channel 8-bit unsigned packed RGB conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGB_8u_C1C3R_Ctx(const Npp8u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp8u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned packed CFA grayscale Bayer pattern to 3 channel 8-bit unsigned packed RGB conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGB_8u_C1C3R(const Npp8u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp8u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation);
/**
* 1 channel 8-bit unsigned packed CFA grayscale Bayer pattern to 4 channel 8-bit unsigned packed RGB conversion with alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nAlpha constant alpha value to be written to each destination pixel
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGBA_8u_C1AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp8u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, Npp8u nAlpha, NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned packed CFA grayscale Bayer pattern to 4 channel 8-bit unsigned packed RGB conversion with alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nAlpha constant alpha value to be written to each destination pixel
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGBA_8u_C1AC4R(const Npp8u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp8u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, Npp8u nAlpha);
/**
* 1 channel 16-bit unsigned packed CFA grayscale Bayer pattern to 3 channel 16-bit unsigned packed RGB conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGB_16u_C1C3R_Ctx(const Npp16u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp16u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit unsigned packed CFA grayscale Bayer pattern to 3 channel 16-bit unsigned packed RGB conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGB_16u_C1C3R(const Npp16u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp16u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation);
/**
* 1 channel 16-bit unsigned packed CFA grayscale Bayer pattern to 4 channel 16-bit unsigned packed RGB conversion with alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nAlpha constant alpha value to be written to each destination pixel
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGBA_16u_C1AC4R_Ctx(const Npp16u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp16u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, Npp16u nAlpha, NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit unsigned packed CFA grayscale Bayer pattern to 4 channel 16-bit unsigned packed RGB conversion with alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nAlpha constant alpha value to be written to each destination pixel
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGBA_16u_C1AC4R(const Npp16u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp16u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, Npp16u nAlpha);
//32u
/**
* 1 channel 32-bit unsigned packed CFA grayscale Bayer pattern to 3 channel 32-bit unsigned packed RGB conversion.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGB_32u_C1C3R_Ctx(const Npp32u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp32u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, NppStreamContext nppStreamCtx);
/**
* 1 channel 32-bit unsigned packed CFA grayscale Bayer pattern to 4 channel 32-bit unsigned packed RGB conversion with alpha.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param oSrcSize full source image width and height relative to pSrc.
* \param oSrcROI rectangle specifying starting source image pixel x and y location relative to pSrc and ROI width and height.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param eGrid enumeration value specifying bayer grid registration position at location oSrcROI.x, oSrcROI.y relative to pSrc.
* \param eInterpolation MUST be NPPI_INTER_UNDEFINED
* \param nAlpha constant alpha value to be written to each destination pixel
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiCFAToRGBA_32u_C1AC4R_Ctx(const Npp32u * pSrc, int nSrcStep, NppiSize oSrcSize, NppiRect oSrcROI,
Npp32u * pDst, int nDstStep, NppiBayerGridPosition eGrid, NppiInterpolationMode eInterpolation, Npp32u nAlpha, NppStreamContext nppStreamCtx);
/** @} image_color_debayer */
/**
* @defgroup image_color_sampling_format_conversion Color Sampling Format Conversion
*
* Routines for converting between various image color sampling formats.
*
*
* @{
*/
/** @defgroup ycbcr420toycbcr411 YCbCr420 To YCbCr411
* YCbCr420 to YCbCr411 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr411_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u* pDstY, int nDstYStep, Npp8u* pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr411_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u* pDstY, int nDstYStep, Npp8u* pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr411_8u_P2P3R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u* pSrcCbCr, int nSrcCbCrStep, Npp8u* pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr411_8u_P2P3R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u* pSrcCbCr, int nSrcCbCrStep, Npp8u* pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr422toycbcr422 YCbCr422 To YCbCr422
* YCbCr422 to YCbCr422 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422_8u_P3C2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr422toycrcb422 YCbCr422 To YCrCb422
* YCbCr422 to YCrCb422 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned packed YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCrCb422_8u_C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned packed YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCrCb422_8u_C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned packed YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCrCb422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned packed YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCrCb422_8u_P3C2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr422tocbycr422 YCbCr422 To CbYCr422
* YCbCr422 to CbYCr422 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned packed CbYCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToCbYCr422_8u_C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned packed CbYCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToCbYCr422_8u_C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup cbycr422toycbcr411 CbYCr422 To YCbCr411
* CbYCr422 to YCbCr411 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr411_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr411_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr422toycbcr420 YCbCr422 To YCbCr420
* YCbCr422 to YCbCr420 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_C2P2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr420_8u_C2P2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb420toycbcr422 YCrCb420 To YCbCr422
* YCrCb420 to YCbCr422 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr422_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr422_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr422_8u_P3C2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr422toycrcb420 YCbCr422 To YCrCb420
* YCbCr422 to YCrCb420 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCrCb420_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCrCb420_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr422toycbcr411 YCbCr422 To YCbCr411
* YCbCr422 to YCbCr411 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr422 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_C2P2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCbCr422 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr422ToYCbCr411_8u_C2P2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb422toycbcr422 YCrCb422 To YCbCr422
* YCrCb422 to YCbCr422 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToYCbCr422_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToYCbCr422_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb422toycbcr420 YCrCb422 To YCbCr420
* YCrCb422 to YCbCr420 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToYCbCr420_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToYCbCr420_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb422toycbcr411 YCrCb422 To YCbCr411
* YCrCb422 to YCbCr411 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToYCbCr411_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed YCrCb422 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb422ToYCbCr411_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup cbycr422toycbcr422 CbYCr422 To YCbCr422
* CbYCr422 to YCbCr422 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr422_8u_C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr422_8u_C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr422_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr422_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup cbycr422toycbcr420 CbYCr422 To YCbCr420
* CbYCr422 to YCbCr420 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr420_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr420_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr420_8u_C2P2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCbCr420_8u_C2P2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/** @} */
/** @defgroup cbycr422toycrcb420 CbYCr422 To YCrCb420
* CbYCr422 to YCrCb420 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCrCb420_8u_C2P3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned packed CbYCr422 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
* images.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCbYCr422ToYCrCb420_8u_C2P3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr420toycbcr420 YCbCr420 To YCbCr420
* YCbCr420 to YCbCr420 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420_8u_P2P3R_Ctx(const Npp8u * const pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420_8u_P2P3R(const Npp8u * const pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr420toycbcr422 YCbCr420 To YCbCr422
* YCbCr420 to YCbCr422 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr422_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr422_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr422_8u_P2P3R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr422_8u_P2P3R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr422_8u_P2C2R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCbCr422_8u_P2C2R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr420tocbycr422 YCbCr420 To CbYCr422
* YCbCr420 to CbYCr422 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned packed CbYCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToCbYCr422_8u_P2C2R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 2 channel 8-bit unsigned packed CbYCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToCbYCr422_8u_P2C2R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr420toycrcb420 YCbCr420 To YCrCb420
* YCbCr420 to YCrCb420 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCrCb420_8u_P2P3R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr420 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr420ToYCrCb420_8u_P2P3R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb420tocbycr422 YCrCb420 To CbYCr422
* YCrCb420 to CbYCr422 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned packed CbYCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToCbYCr422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned packed CbYCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToCbYCr422_8u_P3C2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb420toycbcr420 YCrCb420 To YCbCr420
* YCrCb420 to YCbCr420 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr420_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr420_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycrcb420toycbcr411 YCrCb420 To YCbCr411
* YCrCb420 to YCbCr411 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr411_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCrCb420 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCrCb420ToYCbCr411_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr411toycbcr411 YCbCr411 To YCbCr411
* YCbCr411 to YCbCr411 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411_8u_P2P3R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr411 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411_8u_P2P3R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr411toycbcr422 YCbCr411 To YCbCr422
* YCbCr411 to YCbCr422 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P3C2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P2P3R_Ctx(const Npp8u * const pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P2P3R(const Npp8u * const pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P2C2R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned packed YCbCr422 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr422_8u_P2C2R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr411toycrcb422 YCbCr411 To YCrCb422
* YCbCr411 to YCrCb422 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCrCb422_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCrCb422_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned packed YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCrCb422_8u_P3C2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned packed YCrCb422 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCrCb422_8u_P3C2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr411toycbcr420 YCbCr411 To YCbCr420
* YCbCr411 to YCbCr420 sampling format conversion.
* @{
*/
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr420_8u_P3R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDst \ref destination_planar_image_pointer_array.
* \param nDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr420_8u_P3R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDst[3], int nDstStep[3], NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr420_8u_P3P2R_Ctx(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar YCbCr411 to 2 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
* images.
*
* \param pSrc \ref source_planar_image_pointer_array.
* \param rSrcStep \ref source_planar_image_line_step_array.
* \param pDstY \ref destination_planar_image_pointer.
* \param nDstYStep \ref destination_planar_image_line_step.
* \param pDstCbCr \ref destination_planar_image_pointer.
* \param nDstCbCrStep \ref destination_planar_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr420_8u_P3P2R(const Npp8u * const pSrc[3], int rSrcStep[3], Npp8u * pDstY, int nDstYStep, Npp8u * pDstCbCr, int nDstCbCrStep, NppiSize oSizeROI);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr420_8u_P2P3R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCbCr420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCbCr420_8u_P2P3R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup ycbcr411toycrcb420 YCbCr411 To YCrCb420
* YCbCr411 to YCrCb420 sampling format conversion.
* @{
*/
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCrCb420_8u_P2P3R_Ctx(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar YCbCr411 to 3 channel 8-bit unsigned planar YCrCb420 sampling format conversion.
*
* \param pSrcY \ref source_planar_image_pointer.
* \param nSrcYStep \ref source_planar_image_line_step.
* \param pSrcCbCr \ref source_planar_image_pointer.
* \param nSrcCbCrStep \ref source_planar_image_line_step.
* \param pDst \ref destination_planar_image_pointer_array.
* \param rDstStep \ref destination_planar_image_line_step_array.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYCbCr411ToYCrCb420_8u_P2P3R(const Npp8u * pSrcY, int nSrcYStep, const Npp8u * pSrcCbCr, int nSrcCbCrStep, Npp8u * pDst[3], int rDstStep[3], NppiSize oSizeROI);
/** @} */
/** @defgroup nv12toyuv420 NV12 To YUV420
* NV12 to YUV420 color conversion.
*
* @{
*
*/
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit unsigned planar YUV420 color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y plane, one for UV plane).
* \param nSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToYUV420_8u_P2P3R_Ctx(const Npp8u * const pSrc[2], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned planar NV12 to 3 channel 8-bit unsigned planar YUV420 color conversion.
*
* \param pSrc \ref source_planar_image_pointer_array (one for Y plane, one for UV plane).
* \param nSrcStep \ref source_planar_image_line_step. Same value is used for each plane.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToYUV420_8u_P2P3R(const Npp8u * const pSrc[2], int nSrcStep, Npp8u * pDst[3], int aDstStep[3], NppiSize oSizeROI);
/** @} */
/** @} image_color_sampling_format_conversion */
/**
* @defgroup image_color_processing Color Processing
*
* Routines for performing image color manipulation.
*
* @{
*
*/
/**
* @defgroup image_color_gamma_correction Color Gamma Correction
*
* Routines for correcting image color gamma.
*
* @{
*
*/
/** @name GammaFwd
* Forward gamma correction.
* @{
*/
#ifndef NPP_PLUS
/**
* 3 channel 8-bit unsigned packed color not in place forward gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed color not in place forward gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed color in place forward gamma correction.
*
* \param pSrcDst in place packed pixel image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_C3IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed color in place forward gamma correction.
*
* \param pSrcDst in place packed pixel image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_C3IR(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed color with alpha not in place forward gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed color with alpha not in place forward gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed color with alpha in place forward gamma correction.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_AC4IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed color with alpha in place forward gamma correction.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_AC4IR(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar color not in place forward gamma correction.
*
* \param pSrc source planar pixel format image pointer array.
* \param nSrcStep source planar pixel format image line step.
* \param pDst destination planar pixel format image pointer array.
* \param nDstStep destination planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar color not in place forward gamma correction.
*
* \param pSrc source planar pixel format image pointer array.
* \param nSrcStep source planar pixel format image line step.
* \param pDst destination planar pixel format image pointer array.
* \param nDstStep destination planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar color in place forward gamma correction.
*
* \param pSrcDst in place planar pixel format image pointer array.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_IP3R_Ctx(Npp8u * const pSrcDst[3], int nSrcDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar color in place forward gamma correction.
*
* \param pSrcDst in place planar pixel format image pointer array.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaFwd_8u_IP3R(Npp8u * const pSrcDst[3], int nSrcDstStep, NppiSize oSizeROI);
#endif
/** @} */
/** @name GammaInv
* Inverse gamma correction.
* @{
*/
#ifndef NPP_PLUS
/**
* 3 channel 8-bit unsigned packed color not in place inverse gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed color not in place inverse gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned packed color in place inverse gamma correction.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_C3IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed color in place inverse gamma correction.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_C3IR(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed color with alpha not in place inverse gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed color with alpha not in place inverse gamma correction.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI);
/**
* 4 channel 8-bit unsigned packed color with alpha in place inverse gamma correction.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_AC4IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed color with alpha in place inverse gamma correction.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_AC4IR(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar color not in place inverse gamma correction.
*
* \param pSrc source planar pixel format image pointer array.
* \param nSrcStep source planar pixel format image line step.
* \param pDst destination planar pixel format image pointer array.
* \param nDstStep destination planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar color not in place inverse gamma correction.
*
* \param pSrc source planar pixel format image pointer array.
* \param nSrcStep source planar pixel format image line step.
* \param pDst destination planar pixel format image pointer array.
* \param nDstStep destination planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * pDst[3], int nDstStep, NppiSize oSizeROI);
/**
* 3 channel 8-bit unsigned planar color in place inverse gamma correction.
*
* \param pSrcDst in place planar pixel format image pointer array.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_IP3R_Ctx(Npp8u * const pSrcDst[3], int nSrcDstStep, NppiSize oSizeROI, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar color in place inverse gamma correction.
*
* \param pSrcDst in place planar pixel format image pointer array.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiGammaInv_8u_IP3R(Npp8u * const pSrcDst[3], int nSrcDstStep, NppiSize oSizeROI);
#endif
/** @} */
/** @} image_color_gamma_correction */
/**
* @defgroup image_complement_color_key Complement Color Key
*
* Routines for performing complement color key replacement.
*
* @{
*
*/
/** @name CompColorKey
* Complement color key replacement.
* @{
*/
/**
* 1 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCompColorKey_8u_C1R_Ctx(const Npp8u * pSrc1, int nSrc1Step, const Npp8u * pSrc2, int nSrc2Step, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nColorKeyConst, NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCompColorKey_8u_C1R(const Npp8u * pSrc1, int nSrc1Step, const Npp8u * pSrc2, int nSrc2Step, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nColorKeyConst);
/**
* 3 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant array
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCompColorKey_8u_C3R_Ctx(const Npp8u * pSrc1, int nSrc1Step, const Npp8u * pSrc2, int nSrc2Step, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nColorKeyConst[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant array
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCompColorKey_8u_C3R(const Npp8u * pSrc1, int nSrc1Step, const Npp8u * pSrc2, int nSrc2Step, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nColorKeyConst[3]);
/**
* 4 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant array
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCompColorKey_8u_C4R_Ctx(const Npp8u * pSrc1, int nSrc1Step, const Npp8u * pSrc2, int nSrc2Step, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nColorKeyConst[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant array
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiCompColorKey_8u_C4R(const Npp8u * pSrc1, int nSrc1Step, const Npp8u * pSrc2, int nSrc2Step, Npp8u * pDst, int nDstStep, NppiSize oSizeROI, Npp8u nColorKeyConst[4]);
/**
* 4 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2 with alpha blending.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param nAlpha1 source1 image alpha opacity (0 - max channel pixel value).
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param nAlpha2 source2 image alpha opacity (0 - max channel pixel value).
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant array
* \param nppAlphaOp NppiAlphaOp alpha compositing operation selector (excluding premul ops).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiAlphaCompColorKey_8u_AC4R_Ctx(const Npp8u * pSrc1, int nSrc1Step, Npp8u nAlpha1, const Npp8u * pSrc2, int nSrc2Step, Npp8u nAlpha2, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, Npp8u nColorKeyConst[4], NppiAlphaOp nppAlphaOp, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned packed color complement color key replacement of source image 1 by source image 2 with alpha blending.
*
* \param pSrc1 source1 packed pixel format image pointer.
* \param nSrc1Step source1 packed pixel format image line step.
* \param nAlpha1 source1 image alpha opacity (0 - max channel pixel value).
* \param pSrc2 source2 packed pixel format image pointer.
* \param nSrc2Step source2 packed pixel format image line step.
* \param nAlpha2 source2 image alpha opacity (0 - max channel pixel value).
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param nColorKeyConst color key constant array
* \param nppAlphaOp NppiAlphaOp alpha compositing operation selector (excluding premul ops).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiAlphaCompColorKey_8u_AC4R(const Npp8u * pSrc1, int nSrc1Step, Npp8u nAlpha1, const Npp8u * pSrc2, int nSrc2Step, Npp8u nAlpha2, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, Npp8u nColorKeyConst[4], NppiAlphaOp nppAlphaOp);
/** @} */
/** @} image_complement_color_key */
/**
* @defgroup image_color_twist ColorTwist
*
* Routines for converting between various image color models using user supplied matrix coefficients.
*
* @{
*
*/
/** @name ColorTwist
*
* Perform color twist pixel processing. Color twist consists of applying the following formula to each
* image pixel using coefficients from the user supplied color twist host matrix array as follows where
* dst[x] and src[x] represent destination pixel and source pixel channel or plane x. The full sized
* coefficient matrix should be sent for all pixel channel sizes, the function will process the appropriate
* coefficients and channels for the corresponding pixel size.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3]
* \endcode
*
* @{
*/
/**
* 1 channel 8-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 8-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C1IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C1IR(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 8-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C2R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C2R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 8-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C2IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C2IR(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C3IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C3IR(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit unsigned color twist, with alpha copy.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned color twist, with alpha copy.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit unsigned in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is unmodified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C4IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is unmodified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_C4IR(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit unsigned color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit unsigned in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_AC4IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_AC4IR(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit unsigned color twist with 4x4 matrix and constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned color twist with 4x4 matrix and constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4]);
/**
* 4 channel 8-bit unsigned in place color twist with 4x4 matrix and an additional constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_8u_C4IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned in place color twist with 4x4 matrix and an additional constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_8u_C4IR(Npp8u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4]);
/**
* 3 channel 8-bit unsigned planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_P3R_Ctx(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_P3R(const Npp8u * const pSrc[3], int nSrcStep, Npp8u * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit unsigned planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_IP3R_Ctx(Npp8u * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8u_IP3R(Npp8u * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 8-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C1R_Ctx(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C1R(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 8-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C1IR_Ctx(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C1IR(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 8-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C2R_Ctx(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C2R(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 8-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C2IR_Ctx(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 8-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C2IR(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C3R_Ctx(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C3R(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C3IR_Ctx(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C3IR(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit signed color twist, with alpha copy.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C4R_Ctx(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit signed color twist, with alpha copy.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C4R(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit signed in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is unmodified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C4IR_Ctx(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit signed in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is unmodified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_C4IR(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit signed color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_AC4R_Ctx(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit signed color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_AC4R(const Npp8s * pSrc, int nSrcStep, Npp8s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 8-bit signed in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_AC4IR_Ctx(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit signed in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_AC4IR(Npp8s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit signed planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_P3R_Ctx(const Npp8s * const pSrc[3], int nSrcStep, Npp8s * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit signed planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_P3R(const Npp8s * const pSrc[3], int nSrcStep, Npp8s * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 8-bit signed planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_IP3R_Ctx(Npp8s * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit signed planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_8s_IP3R(Npp8s * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 16-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 16-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C1IR_Ctx(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C1IR(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 16-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C2R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 16-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C2R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 16-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C2IR_Ctx(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 16-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C2IR(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C3R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C3R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C3IR_Ctx(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_C3IR(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit unsigned color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_AC4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_AC4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit unsigned in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_AC4IR_Ctx(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_AC4IR(Npp16u * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit unsigned planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_P3R_Ctx(const Npp16u * const pSrc[3], int nSrcStep, Npp16u * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_P3R(const Npp16u * const pSrc[3], int nSrcStep, Npp16u * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit unsigned planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_IP3R_Ctx(Npp16u * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16u_IP3R(Npp16u * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 16-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 16-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C1IR_Ctx(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C1IR(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 16-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C2R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 16-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C2R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 16-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C2IR_Ctx(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 16-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C2IR(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C3R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C3R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C3IR_Ctx(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_C3IR(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit signed color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_AC4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_AC4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit signed in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_AC4IR_Ctx(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_AC4IR(Npp16s * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit signed planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_P3R_Ctx(const Npp16s * const pSrc[3], int nSrcStep, Npp16s * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_P3R(const Npp16s * const pSrc[3], int nSrcStep, Npp16s * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit signed planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_IP3R_Ctx(Npp16s * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16s_IP3R(Npp16s * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 16-bit floating point color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C1R_Ctx(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit floating point color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C1R(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 16-bit floating point in place color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C1IR_Ctx(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit floating point in place color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C1IR(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 16-bit floating point color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C2R_Ctx(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 16-bit floating point color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C2R(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 16-bit floating point in place color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C2IR_Ctx(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 16-bit floating point in place color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C2IR(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit floating point color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C3R_Ctx(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit floating point color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C3R(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 16-bit floating point in place color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C3IR_Ctx(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit floating point in place color twist.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C3IR(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit floating point color twist, with alpha copy.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C4R_Ctx(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point color twist, with alpha copy.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C4R(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit floating point in place color twist, not affecting Alpha.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not modified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C4IR_Ctx(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point in place color twist, not affecting Alpha.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not modified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32f_16f_C4IR(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 16-bit floating point color twist with 4x4 matrix and constant vector addition.
*
* An input 4x4 color twist matrix with 32-bit floating-point coefficient values with an additional 32-bit floating point constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_16f_C4R_Ctx(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point color twist with 4x4 matrix and constant vector addition.
*
* An input 4x4 color twist matrix with 32-bit floating-point coefficient values with an additional 32-bit floating point constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_16f_C4R(const Npp16f * pSrc, int nSrcStep, Npp16f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4]);
/**
* 4 channel 16-bit floating point in place color twist with 4x4 matrix and an additional constant vector addition.
*
* An input 4x4 color twist matrix with 32-bit floating-point coefficient values with an additional 32-bit floating point constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_16f_C4IR_Ctx(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point in place color twist with 4x4 matrix and an additional constant vector addition.
*
* An input 4x4 color twist matrix with 32-bit floating-point coefficient values with an additional 32-bit floating point constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist32fC_16f_C4IR(Npp16f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4]);
/**
* 1 channel 32-bit floating point color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 32-bit floating point color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 1 channel 32-bit floating point in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C1IR_Ctx(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 1 channel 32-bit floating point in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C1IR(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 32-bit floating point color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C2R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 32-bit floating point color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C2R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 2 channel 32-bit floating point in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C2IR_Ctx(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 2 channel 32-bit floating point in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C2IR(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 32-bit floating point color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C3R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C3R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 32-bit floating point in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C3IR_Ctx(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C3IR(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 32-bit floating point color twist, with alpha copy.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point color twist, with alpha copy.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is copied unmodified from the source pixel to the destination pixel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 32-bit floating point in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not modified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C4IR_Ctx(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not modified.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_C4IR(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 32-bit floating point color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_AC4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_AC4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 32-bit floating point in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_AC4IR_Ctx(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point in place color twist, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied with
* in ROI.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_AC4IR(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 4 channel 32-bit floating point color twist with 4x4 matrix and constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32fC_C4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point color twist with 4x4 matrix and constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32fC_C4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4]);
/**
* 4 channel 32-bit floating point in place color twist with 4x4 matrix and an additional constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32fC_C4IR_Ctx(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point in place color twist with 4x4 matrix and an additional constant vector addition.
*
* An input 4x4 color twist matrix with floating-point coefficient values with an additional constant vector addition
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aConstants[0]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aConstants[1]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aConstants[2]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aConstants[3]
* \endcode
*
* \param pSrcDst in place packed pixel format image pointer.
* \param nSrcDstStep in place packed pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param aConstants fixed size array of constant values, one per channel..
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32fC_C4IR(Npp32f * pSrcDst, int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[4][4], const Npp32f aConstants[4]);
/**
* 3 channel 32-bit floating point planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_P3R_Ctx(const Npp32f * const pSrc[3], int nSrcStep, Npp32f * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point planar color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_P3R(const Npp32f * const pSrc[3], int nSrcStep, Npp32f * const pDst[3], int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/**
* 3 channel 32-bit floating point planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_IP3R_Ctx(Npp32f * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point planar in place color twist.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI.
*
* \param pSrcDst in place planar pixel format image pointer array, one pointer per plane.
* \param nSrcDstStep in place planar pixel format image line step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwist_32f_IP3R(Npp32f * const pSrcDst[3], int nSrcDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4]);
/** @} color_twist */
/** @} image_color_twist */
/**
* @defgroup image_color_twist_batch ColorTwistBatch
*
* Routines for converting between various image color models using user supplied matrix coefficients on batches of images.
*
* @{
*
*/
/** @name ColorTwistBatch
*
* Perform color twist pixel batch processing. Color twist consists of applying the following formula to each
* image pixel using coefficients from one or more user supplied color twist device memory matrix arrays as follows where
* dst[x] and src[x] represent destination pixel and source pixel channel or plane x. The full sized
* coefficient matrix should be sent for all pixel channel sizes, the function will process the appropriate
* coefficients and channels for the corresponding pixel size. ColorTwistBatch generally takes the same parameter list as ColorTwist
* except that there is a list of N instances of those parameters (N > 1) and that list is passed in device memory; The matrix
* pointers referenced for each image in the batch also need to point to device memory matrix values. A convenient
* data structure is provided that allows for easy initialization of the parameter lists. The only restriction on these functions is
* that there is one single ROI which is applied respectively to each image in the batch. The primary purpose of this function is to
* provide improved performance for batches of smaller images as long as GPU resources are available. Therefore it is recommended
* that the function not be used for very large images as there may not be resources available for processing several large images
* simultaneously.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3]
* \endcode
*
* @{
*/
/**
* 1 channel 8-bit unsigned integer color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C1R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned integer color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C1R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 1 channel 8-bit unsigned integer in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C1IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 1 channel 8-bit unsigned integer in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C1IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 3 channel 8-bit unsigned integer color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C3R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned integer color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C3R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 3 channel 8-bit unsigned integer in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C3IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned integer in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C3IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 8-bit unsigned integer color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned integer color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 8-bit unsigned integer in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned integer in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_C4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 8-bit unsigned integer color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_AC4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned integer color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_AC4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 8-bit unsigned integer in place color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_AC4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned integer in place color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_8u_AC4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 8-bit unsigned integer color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_8u_C4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned integer color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_8u_C4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 8-bit unsigned integer in place color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_8u_C4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned integer in place color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_8u_C4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 1 channel 32-bit floating point color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C1R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 1 channel 32-bit floating point color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C1R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 1 channel 32-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C1IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 1 channel 32-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C1IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 3 channel 32-bit floating point color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C3R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C3R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 3 channel 32-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C3IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C3IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 32-bit floating point color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 32-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_C4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 32-bit floating point color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_AC4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_AC4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 32-bit floating point in place color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_AC4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point in place color twist batch, not affecting Alpha.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32f_AC4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 32-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32fC_C4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32fC_C4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel in place 32-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32fC_C4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel in place 32-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch_32fC_C4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 1 channel 16-bit floating point color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C1R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit floating point color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C1R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 1 channel 16-bit floating point in place color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C1IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 1 channel 16-bit floating point in place color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C1IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 3 channel 16-bit floating point color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C3R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit floating point color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C3R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 3 channel 16-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C3IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit floating point in place color twist batch.
*
* An input color twist matrix with floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C3IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 16-bit floating point color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within the ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 16-bit floating point in place color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point in place color twist batch.
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32f_16f_C4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel 16-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with 32-bit floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_16f_C4R_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with 32-bit floating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_16f_C4R(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/**
* 4 channel in place 16-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with 32-bitfloating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_16f_C4IR_Ctx(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize, NppStreamContext nppStreamCtx);
/**
* 4 channel in place 16-bit floating point color twist with 4x5 matrix including a constant vector (20 coefficients total).
*
* An input 4x5 color twist matrix with 32-bitfloating-point coefficient values including a constant (in the fourth column) vector
* is applied within ROI. For this particular version of the function the result is generated as shown below.
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3] * src[3] + aTwist[0][4]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3] * src[3] + aTwist[1][4]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3] * src[3] + aTwist[2][4]
* dst[3] = aTwist[3][0] * src[0] + aTwist[3][1] * src[1] + aTwist[3][2] * src[2] + aTwist[3][3] * src[3] + aTwist[3][4]
* \endcode
*
* An input color twist matrix with 32-bit floating-point coefficient values is applied
* within ROI for each image in batch. Color twist matrix can vary per image. The same ROI is applied to each image.
*
* \param nMin Minimum clamp value.
* \param nMax Maximum saturation and clamp value.
* \param oSizeROI \ref roi_specification.
* \param pBatchList Device memory pointer to nBatchSize list of NppiColorTwistBatchCXR structures.
* \param nBatchSize Number of NppiColorTwistBatchCXR structures in this call (must be > 1).
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus
nppiColorTwistBatch32fC_16f_C4IR(Npp32f nMin, Npp32f nMax, NppiSize oSizeROI, NppiColorTwistBatchCXR * pBatchList, int nBatchSize);
/** @} color_twist_batch */
/** @} image_color_twist_batch */
/**
* @defgroup image_color_LUT ColorLUT
* Perform image color processing using members of various types of color look up tables.
*
* @{
*/
/**
* 8-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 8-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 8-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C1IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 8-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C1IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 8-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 8-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C3IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C3IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 8-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 8-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C4IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_C4IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 8-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 8-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_AC4IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_8u_AC4IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C1IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C1IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C3R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C3R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C3IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C3IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C4IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_C4IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_AC4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_AC4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_AC4IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16u_AC4IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C1IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C1IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C3R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C3R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C3IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C3IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C4IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_C4IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit signed look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_AC4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_AC4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit signed look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_AC4IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_16s_AC4IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels);
/**
* 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C1IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C1IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels);
/**
* 3 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C3R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C3R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 3 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C3IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C3IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 4 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points with no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4]);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C4IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_C4IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4]);
/**
* 4 channel 32-bit floating point look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_AC4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_AC4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_AC4IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_32f_AC4IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/** @} image_color_LUT */
/** @defgroup image_color_LUT_Linear ColorLUTLinear
* Perform image color processing using linear interpolation between members of various types of color look up tables.
*
* @{
*/
/**
* 8-bit unsigned linear interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is now a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is now a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 8-bit unsigned linear interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is now a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is now a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 8-bit unsigned linear interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C1IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 8-bit unsigned linear interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C1IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 8-bit unsigned linear interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be host memory pointers to arrays of device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned linear interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be host memory pointers to arrays of device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 8-bit unsigned linear interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C3IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned linear interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C3IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be host memory pointers to arrays of device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be host memory pointers to arrays of device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C4IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_C4IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
* Alpha channel is the last channel and is not processed.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be host memory pointers to arrays of device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
* Alpha channel is the last channel and is not processed.
*
* >>>>>>> ATTENTION ATTENTION <<<<<<<
*
* NOTE: As of the 5.0 release of NPP, the pValues and pLevels pointers need to be host memory pointers to arrays of device memory pointers.
*
* >>>>>>> <<<<<<<
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_AC4IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned linear interpolated look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through linear interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Linear_8u_AC4IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C1IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C1IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C3R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C3R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C3IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C3IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C4IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_C4IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_AC4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_AC4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_AC4IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16u_AC4IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C1IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C1IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C3R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C3R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C3IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C3IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C4IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_C4IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit signed look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_AC4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_AC4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit signed look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_AC4IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_16s_AC4IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels);
/**
* 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C1IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C1IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels);
/**
* 3 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C3R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C3R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 3 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C3IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C3IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 4 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using linear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4]);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C4IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_C4IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4]);
/**
* 4 channel 32-bit floating point look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_AC4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_AC4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_AC4IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Linear_32f_AC4IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/** @} image_color_LUT_linear */
/** @defgroup image_color_LUT_cubic ColorLUTCubic
* Perform image color processing using linear interpolation between members of various types of color look up tables.
*
* @{
*/
/**
* 8-bit unsigned cubic interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 8-bit unsigned cubic interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 8-bit unsigned cubic interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C1IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 8-bit unsigned cubic interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C1IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 8-bit unsigned cubic interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned cubic interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 8-bit unsigned cubic interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C3IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 8-bit unsigned cubic interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C3IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C4IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_C4IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_AC4IR_Ctx( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 8-bit unsigned cubic interpolated look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Cubic_8u_AC4IR( Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C1IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C1IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C3R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C3R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C3IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C3IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C4IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_C4IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_AC4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_AC4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_AC4IR_Ctx( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit unsigned look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16u_AC4IR( Npp16u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C1R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C1R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C1IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C1IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues, const Npp32s * pLevels, int nLevels);
/**
* 3 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C3R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C3R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 3 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C3IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C3IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C4IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_C4IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[4], const Npp32s * pLevels[4], int nLevels[4]);
/**
* 4 channel 16-bit signed look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_AC4R_Ctx(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_AC4R(const Npp16s * pSrc, int nSrcStep, Npp16s * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 4 channel 16-bit signed look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_AC4IR_Ctx( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 16-bit signed look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_16s_AC4IR( Npp16s * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32s * pValues[3], const Npp32s * pLevels[3], int nLevels[3]);
/**
* 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C1R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C1R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels);
/**
* 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C1IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels, NppStreamContext nppStreamCtx);
/**
* 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Pointer to an array of user defined OUTPUT values (this is a device memory pointer)
* \param pLevels Pointer to an array of user defined INPUT values (this is a device memory pointer)
* \param nLevels Number of user defined number of input/output mapping points (levels)
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C1IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues, const Npp32f * pLevels, int nLevels);
/**
* 3 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C3R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C3R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 3 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C3IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 3 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C3IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 4 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points through cubic interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4]);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C4IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 4 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_C4IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[4], const Npp32f * pLevels[4], int nLevels[4]);
/**
* 4 channel 32-bit floating point look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_AC4R_Ctx(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_AC4R(const Npp32f * pSrc, int nSrcStep, Npp32f * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_AC4IR_Ctx( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3], NppStreamContext nppStreamCtx);
/**
* 4 channel 32-bit floating point look-up-table in place color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points using no interpolation.
* Alpha channel is the last channel and is not processed.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT values.
* \param pLevels Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined INPUT values.
* \param nLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per color CHANNEL.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 1024 (the current size limit).
*/
NppStatus
nppiLUT_Cubic_32f_AC4IR( Npp32f * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
const Npp32f * pValues[3], const Npp32f * pLevels[3], int nLevels[3]);
/** @} image_color_LUT_cubic */
/** @defgroup image_color_LUT_Trilinear ColorLUTTrilinear
* Perform image color processing using 3D trilinear interpolation between members of various types of color look up tables.
*
* @{
*/
/**
* Four channel 8-bit unsigned 3D trilinear interpolated look-up-table color conversion, with alpha copy.
* Alpha channel is the last channel and is copied to the destination unmodified.
*
* The LUT is derived from a set of user defined mapping points through trilinear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Device pointer to aLevels[2] number of contiguous 2D x,y planes of 4-byte packed RGBX values
* containing the user defined base OUTPUT values at that x,y, and z (R,G,B) level location. Each level must contain x * y 4-byte
* packed pixel values (4th byte is used for alignement only and is ignored) in row (x) order.
* \param pLevels Host pointer to an array of 3 host pointers, one per cube edge, pointing to user defined INPUT level values.
* \param aLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per 3D cube edge.
* aLevels[0] represents the number of x axis levels (Red), aLevels[1] represents the number of y axis levels (Green),
* and aLevels[2] represets the number of z axis levels (Blue).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Trilinear_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
Npp32u * pValues, Npp8u * pLevels[3], int aLevels[3], NppStreamContext nppStreamCtx);
/**
* Four channel 8-bit unsigned 3D trilinear interpolated look-up-table color conversion, with alpha copy.
* Alpha channel is the last channel and is copied to the destination unmodified.
*
* The LUT is derived from a set of user defined mapping points through trilinear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Device pointer to aLevels[2] number of contiguous 2D x,y planes of 4-byte packed RGBX values
* containing the user defined base OUTPUT values at that x,y, and z (R,G,B) level location. Each level must contain x * y 4-byte
* packed pixel values (4th byte is used for alignement only and is ignored) in row (x) order.
* \param pLevels Host pointer to an array of 3 host pointers, one per cube edge, pointing to user defined INPUT level values.
* \param aLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per 3D cube edge.
* aLevels[0] represents the number of x axis levels (Red), aLevels[1] represents the number of y axis levels (Green),
* and aLevels[2] represets the number of z axis levels (Blue).
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Trilinear_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
Npp32u * pValues, Npp8u * pLevels[3], int aLevels[3]);
/**
* Four channel 8-bit unsigned 3D trilinear interpolated look-up-table color conversion, not affecting alpha.
* Alpha channel is the last channel and is not processed.
*
* The LUT is derived from a set of user defined mapping points through trilinear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Device pointer to aLevels[2] number of contiguous 2D x,y planes of 4-byte packed RGBX values
* containing the user defined base OUTPUT values at that x,y, and z (R,G,B) level location. Each level must contain x * y 4-byte
* packed pixel values (4th byte is used for alignement only and is ignored) in row (x) order.
* \param pLevels Host pointer to an array of 3 host pointers, one per cube edge, pointing to user defined INPUT level values.
* \param aLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per 3D cube edge.
* aLevels[0] represents the number of x axis levels (Red), aLevels[1] represents the number of y axis levels (Green),
* and aLevels[2] represets the number of z axis levels (Blue).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Trilinear_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
Npp32u * pValues, Npp8u * pLevels[3], int aLevels[3], NppStreamContext nppStreamCtx);
/**
* Four channel 8-bit unsigned 3D trilinear interpolated look-up-table color conversion, not affecting alpha.
* Alpha channel is the last channel and is not processed.
*
* The LUT is derived from a set of user defined mapping points through trilinear interpolation.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Device pointer to aLevels[2] number of contiguous 2D x,y planes of 4-byte packed RGBX values
* containing the user defined base OUTPUT values at that x,y, and z (R,G,B) level location. Each level must contain x * y 4-byte
* packed pixel values (4th byte is used for alignement only and is ignored) in row (x) order.
* \param pLevels Host pointer to an array of 3 host pointers, one per cube edge, pointing to user defined INPUT level values.
* \param aLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per 3D cube edge.
* aLevels[0] represents the number of x axis levels (Red), aLevels[1] represents the number of y axis levels (Green),
* and aLevels[2] represets the number of z axis levels (Blue).
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Trilinear_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
Npp32u * pValues, Npp8u * pLevels[3], int aLevels[3]);
/**
* Four channel 8-bit unsigned 3D trilinear interpolated look-up-table in place color conversion, not affecting alpha.
* Alpha channel is the last channel and is not processed.
*
* The LUT is derived from a set of user defined mapping points through trilinear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Device pointer aLevels[2] number of contiguous 2D x,y planes of 4-byte packed RGBX values
* containing the user defined base OUTPUT values at that x,y, and z (R,G,B) level location. Each level must contain x * y 4-byte
* packed pixel values (4th byte is used for alignement only and is ignored) in row (x) order.
* \param pLevels Host pointer to an array of 3 host pointers, one per cube edge, pointing to user defined INPUT level values.
* \param aLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per 3D cube edge.
* aLevels[0] represents the number of x axis levels (Red), aLevels[1] represents the number of y axis levels (Green),
* and aLevels[2] represets the number of z axis levels (Blue).
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Trilinear_8u_AC4IR_Ctx(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
Npp32u * pValues, Npp8u * pLevels[3], int aLevels[3], NppStreamContext nppStreamCtx);
/**
* Four channel 8-bit unsigned 3D trilinear interpolated look-up-table in place color conversion, not affecting alpha.
* Alpha channel is the last channel and is not processed.
*
* The LUT is derived from a set of user defined mapping points through trilinear interpolation.
*
* \param pSrcDst \ref in_place_image_pointer.
* \param nSrcDstStep \ref in_place_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pValues Device pointer aLevels[2] number of contiguous 2D x,y planes of 4-byte packed RGBX values
* containing the user defined base OUTPUT values at that x,y, and z (R,G,B) level location. Each level must contain x * y 4-byte
* packed pixel values (4th byte is used for alignement only and is ignored) in row (x) order.
* \param pLevels Host pointer to an array of 3 host pointers, one per cube edge, pointing to user defined INPUT level values.
* \param aLevels Host pointer to an array of 3 user defined number of input/output mapping points, one per 3D cube edge.
* aLevels[0] represents the number of x axis levels (Red), aLevels[1] represents the number of y axis levels (Green),
* and aLevels[2] represets the number of z axis levels (Blue).
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_NUMBER_OF_LEVELS_ERROR if the number of levels is less than 2 or greater than 256.
*/
NppStatus
nppiLUT_Trilinear_8u_AC4IR(Npp8u * pSrcDst, int nSrcDstStep, NppiSize oSizeROI,
Npp32u * pValues, Npp8u * pLevels[3], int aLevels[3]);
/** @} image_color_LUT_Trilinear */
/**
* @defgroup image_color_LUT_palette ColorLUTPalette
* Perform image color processing using various types of bit range restricted palette color look up tables.
*
* @{
*/
/**
* One channel 8-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 8-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize);
/**
* One channel 8-bit unsigned bit range restricted 24-bit palette look-up-table color conversion with 24-bit destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (3 bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u24u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 8-bit unsigned bit range restricted 24-bit palette look-up-table color conversion with 24-bit destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (3 bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u24u_C1R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize);
/**
* One channel 8-bit unsigned bit range restricted 32-bit palette look-up-table color conversion with 32-bit destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u32u_C1R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp32u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 8-bit unsigned bit range restricted 32-bit palette look-up-table color conversion with 32-bit destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u32u_C1R(const Npp8u * pSrc, int nSrcStep, Npp32u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32u * pTable, int nBitSize);
/**
* Three channel 8-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_C3R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[3], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_C3R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[3], int nBitSize);
/**
* Four channel 8-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_C4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[4], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Four channel 8-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_C4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[4], int nBitSize);
/**
* Four channel 8-bit unsigned bit range restricted palette look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_AC4R_Ctx(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[3], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Four channel 8-bit unsigned bit range restricted palette look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPalette_8u_AC4R(const Npp8u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[3], int nBitSize);
/**
* One channel 16-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 16-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_C1R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTable, int nBitSize);
/**
* One channel 16-bit unsigned bit range restricted 8-bit unsigned palette look-up-table color conversion with 8-bit unsigned destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (1 unsigned byte per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u8u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 16-bit unsigned bit range restricted 8-bit unsigned palette look-up-table color conversion with 8-bit unsigned destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (1 unsigned byte per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u8u_C1R(const Npp16u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize);
/**
* One channel 16-bit unsigned bit range restricted 24-bit unsigned palette look-up-table color conversion with 24-bit unsigned destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (3 unsigned bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u24u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 16-bit unsigned bit range restricted 24-bit unsigned palette look-up-table color conversion with 24-bit unsigned destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (3 unsigned bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u24u_C1R(const Npp16u * pSrc, int nSrcStep, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTable, int nBitSize);
/**
* One channel 16-bit unsigned bit range restricted 32-bit palette look-up-table color conversion with 32-bit unsigned destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u32u_C1R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp32u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32u * pTable, int nBitSize, NppStreamContext nppStreamCtx);
/**
* One channel 16-bit unsigned bit range restricted 32-bit palette look-up-table color conversion with 32-bit unsigned destination output per pixel.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 bytes per pixel).
* \param oSizeROI \ref roi_specification.
* \param pTable Pointer to an array of user defined OUTPUT palette values (this is a device memory pointer)
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u32u_C1R(const Npp16u * pSrc, int nSrcStep, Npp32u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp32u * pTable, int nBitSize);
/**
* Three channel 16-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_C3R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[3], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_C3R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[3], int nBitSize);
/**
* Four channel 16-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_C4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[4], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Four channel 16-bit unsigned bit range restricted palette look-up-table color conversion.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 4 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_C4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[4], int nBitSize);
/**
* Four channel 16-bit unsigned bit range restricted palette look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_AC4R_Ctx(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[3], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Four channel 16-bit unsigned bit range restricted palette look-up-table color conversion, not affecting Alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* Alpha channel is the last channel and is not processed.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPalette_16u_AC4R(const Npp16u * pSrc, int nSrcStep, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[3], int nBitSize);
/**
* Three channel 8-bit unsigned source bit range restricted palette look-up-table color conversion to four channel 8-bit unsigned destination output with alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* This function also reverses the source pixel channel order in the destination so the Alpha channel is the first channel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step (3 bytes per pixel).
* \param nAlphaValue Signed alpha value that will be used to initialize the pixel alpha channel position in all modified destination pixels.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 bytes per pixel with alpha).
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* Alpha values < 0 or > 255 will cause destination pixel alpha channel values to be unmodified.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPaletteSwap_8u_C3A0C4R_Ctx(const Npp8u * pSrc, int nSrcStep, int nAlphaValue, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[3], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned source bit range restricted palette look-up-table color conversion to four channel 8-bit unsigned destination output with alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* This function also reverses the source pixel channel order in the destination so the Alpha channel is the first channel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step (3 bytes per pixel).
* \param nAlphaValue Signed alpha value that will be used to initialize the pixel alpha channel position in all modified destination pixels.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 bytes per pixel with alpha).
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* Alpha values < 0 or > 255 will cause destination pixel alpha channel values to be unmodified.
* \param nBitSize Number of least significant bits (must be > 0 and <= 8) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 8.
*/
NppStatus
nppiLUTPaletteSwap_8u_C3A0C4R(const Npp8u * pSrc, int nSrcStep, int nAlphaValue, Npp8u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp8u * pTables[3], int nBitSize);
/**
* Three channel 16-bit unsigned source bit range restricted palette look-up-table color conversion to four channel 16-bit unsigned destination output with alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* This function also reverses the source pixel channel order in the destination so the Alpha channel is the first channel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step (3 unsigned short integers per pixel).
* \param nAlphaValue Signed alpha value that will be used to initialize the pixel alpha channel position in all modified destination pixels.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 unsigned short integers per pixel with alpha).
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* Alpha values < 0 or > 65535 will cause destination pixel alpha channel values to be unmodified.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPaletteSwap_16u_C3A0C4R_Ctx(const Npp16u * pSrc, int nSrcStep, int nAlphaValue, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[3], int nBitSize, NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned source bit range restricted palette look-up-table color conversion to four channel 16-bit unsigned destination output with alpha.
*
* The LUT is derived from a set of user defined mapping points in a palette and
* source pixels are then processed using a restricted bit range when looking up palette values.
* This function also reverses the source pixel channel order in the destination so the Alpha channel is the first channel.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step (3 unsigned short integers per pixel).
* \param nAlphaValue Signed alpha value that will be used to initialize the pixel alpha channel position in all modified destination pixels.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step (4 unsigned short integers per pixel with alpha).
* \param oSizeROI \ref roi_specification.
* \param pTables Host pointer to an array of 3 device memory pointers, one per color CHANNEL, pointing to user defined OUTPUT palette values.
* Alpha values < 0 or > 65535 will cause destination pixel alpha channel values to be unmodified.
* \param nBitSize Number of least significant bits (must be > 0 and <= 16) of each source pixel value to use as index into palette table during conversion.
* \return \ref image_data_error_codes, \ref roi_error_codes
* - NPP_LUT_PALETTE_BITSIZE_ERROR if nBitSize is < 1 or > 16.
*/
NppStatus
nppiLUTPaletteSwap_16u_C3A0C4R(const Npp16u * pSrc, int nSrcStep, int nAlphaValue, Npp16u * pDst, int nDstStep, NppiSize oSizeROI,
const Npp16u * pTables[3], int nBitSize);
/** @} image_color_LUT_palette */
/** @name RGBToYUVColorTwist
*
* Normally, color twist is a 3-channel operation that takes place on RGB data. The following functions also
* perform the color twist operation, but while converting between image formats: RGBToYUV420, RGBToYUV422,
* and RGBToNV12.
*
* To recap color twist pixel processing: Color twist consists of applying the following formula to each
* image pixel using coefficients from the user supplied color twist host matrix array as follows where
* dst[x] and src[x] represent destination pixel and source pixel channel or plane x. The full sized
* coefficient matrix should be sent for all pixel channel sizes, the function will process the appropriate
* coefficients and channels for the corresponding pixel size.
*
* This is how the matrix works for a RGB->YUV420/YUV422/NV12 forward transform:
*
* \code
* dst[0] = aTwist[0][0] * src[0] + aTwist[0][1] * src[1] + aTwist[0][2] * src[2] + aTwist[0][3]
* dst[1] = aTwist[1][0] * src[0] + aTwist[1][1] * src[1] + aTwist[1][2] * src[2] + aTwist[1][3]
* dst[2] = aTwist[2][0] * src[0] + aTwist[2][1] * src[1] + aTwist[2][2] * src[2] + aTwist[2][3]
* \endcode
*
* @{
*/
/**
* Three channel 8-bit unsigned planar RGB convertion to three channel 8-bit unsigned planar YUV 4:2:0, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_8u_ColorTwist32f_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar RGB convertion to three channel 16-bit unsigned planar YUV 4:2:0, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_16u_ColorTwist32f_P3R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned packed RGB convertion to three channel 8-bit unsigned planar YUV 4:2:0, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_8u_ColorTwist32f_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep,
Npp8u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned packed RGB convertion to three channel 16-bit unsigned planar YUV 4:2:0, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV420_16u_ColorTwist32f_C3P3R_Ctx(const Npp16u * pSrc, int nSrcStep,
Npp16u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar RGB convertion to three channel 8-bit unsigned planar YUV 4:2:2, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_ColorTwist32f_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar RGB convertion to three channel 16-bit unsigned planar YUV 4:2:2, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_16u_ColorTwist32f_P3R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned packed RGB convertion to two channel 8-bit unsigned packed YUV 4:2:2, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_ColorTwist32f_C3C2R_Ctx(const Npp8u * pSrc, int nSrcStep,
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned packed RGB convertion to two channel 16-bit unsigned packed YUV 4:2:2, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_16u_ColorTwist32f_C3C2R_Ctx(const Npp16u * pSrc, int nSrcStep,
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned packed RGB convertion to three channel 8-bit unsigned planar YUV 4:2:2, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_8u_ColorTwist32f_C3P3R_Ctx(const Npp8u * pSrc, int nSrcStep,
Npp8u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned packed RGB convertion to three channel 16-bit unsigned planar YUV 4:2:2, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToYUV422_16u_ColorTwist32f_C3P3R_Ctx(const Npp16u * pSrc, int nSrcStep,
Npp16u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned packed RGB convertion to two channel 8-bit unsigned planar NV12, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToNV12_8u_ColorTwist32f_C3P2R_Ctx(const Npp8u * pSrc, int nSrcStep,
Npp8u * pDst[2], int aDstStep[2],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned packed RGB convertion to two channel 16-bit unsigned planar NV12, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToNV12_16u_ColorTwist32f_C3P2R_Ctx(const Npp16u * pSrc, int nSrcStep,
Npp16u * pDst[2], int aDstStep[2],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar RGB convertion to two channel 8-bit unsigned planar NV12, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToNV12_8u_ColorTwist32f_P3P2R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst[2], int aDstStep[2],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar RGB convertion to two channel 16-bit unsigned planar NV12, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiRGBToNV12_16u_ColorTwist32f_P3P2R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst[2], int aDstStep[2],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/** @} RGBToYUVColorTwist*/
/** @name YUVToRGBColorTwist
*
* This is the inverse color twist, a 3-channel operation that takes place on YUV/NV12 data to produce RGB data,
* supporting the following conversions: YUV420ToRGB, YUV422ToRGB, and NV12ToRGB.
*
* The INVERSE Color twist consists of applying the following formula to each image pixel using
* coefficients from the user supplied color twist host matrix array as follows where dst[x] and src[x]
* represent destination pixel and source pixel channel or plane x. The full sized coefficient matrix
* should be sent for all pixel channel sizes, the function will process the appropriate coefficients
* and channels for the corresponding pixel size.
*
* This is how the matrix works for the YUV420/YUV/422/NV12->RGB INVERSE transform:
*
* (note- do the offsets first):
*
* \code
* src[0]' = src[0] + aTwist[0][3]
* src[1]' = src[1] + aTwist[1][3]
* src[2]' = src[2] + aTwist[2][3]
* \endcode
*
* And then the remaining 3x3 twist matrix is applied using those modified values:
*
* \code
* dst[0] = aTwist[0][0] * src[0]' + aTwist[0][1] * src[1]' + aTwist[0][2] * src[2]'
* dst[1] = aTwist[1][0] * src[0]' + aTwist[1][1] * src[1]' + aTwist[1][2] * src[2]'
* dst[2] = aTwist[2][0] * src[0]' + aTwist[2][1] * src[1]' + aTwist[2][2] * src[2]'
* \endcode
*
* Since the 4th column of the matrix is the offsets (either 0 or half-max to shift the values to
* be positive), as they're applied last in the forward transform (to YUV), they need to be applied
* FIRST in the inverse transform (back to RGB). This does mean that +-16384 has to be used for
* 16u images where there was a +-128 for 8u images in both forward and inverse cases.
*
* @{
*/
/**
* Three channel 8-bit unsigned planar YUV4:2:0 convertion to three channel 8-bit unsigned planar RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_ColorTwist32f_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar YUV4:2:0 convertion to three channel 16-bit unsigned planar RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_16u_ColorTwist32f_P3R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:0 convertion to three channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_ColorTwist32f_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar YUV4:2:0 convertion to three channel 16-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_16u_ColorTwist32f_P3C3R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:0 convertion to four channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic, with constant alpha (0xFF).
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_ColorTwist32f_P3C4R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar YUV4:2:0 convertion to four channel 16-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic, with constant alpha (0xFFFF).
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_16u_ColorTwist32f_P3C4R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:0 convertion to four channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic, with user set alpha.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nAlpha 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_8u_ColorTwist32f_P3AC4R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], const Npp8u nAlpha, NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar YUV4:2:0 convertion to four channel 16-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic, with user set alpha.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nAlpha 16-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV420ToRGB_16u_ColorTwist32f_P3AC4R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], const Npp16u nAlpha, NppStreamContext nppStreamCtx);
/**
* Two channel 8-bit unsigned packed YUV4:2:2 convertion to three channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_ColorTwist32f_C2C3R_Ctx(const Npp8u * pSrc, int nSrcStep,
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Two channel 16-bit unsigned packed YUV4:2:2 convertion to three channel 16-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param nSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_16u_ColorTwist32f_C2C3R_Ctx(const Npp16u * pSrc, int nSrcStep,
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:2 convertion to three channel 8-bit unsigned planar RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_ColorTwist32f_P3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar YUV4:2:2 convertion to three channel 16-bit unsigned planar RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param aDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_16u_ColorTwist32f_P3R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst[3], int aDstStep[3],
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:2 convertion to three channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_ColorTwist32f_P3C3R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:2 convertion to three channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_16u_ColorTwist32f_P3C3R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Three channel 8-bit unsigned planar YUV4:2:2 convertion to three channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic, with user set alpha.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nAlpha 8-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_8u_ColorTwist32f_P3AC4R_Ctx(const Npp8u * const pSrc[3], int aSrcStep[3],
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], const Npp8u nAlpha, NppStreamContext nppStreamCtx);
/**
* Three channel 16-bit unsigned planar YUV4:2:2 convertion to three channel 16-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic, with user set alpha.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nAlpha 16-bit unsigned alpha constant.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiYUV422ToRGB_16u_ColorTwist32f_P3AC4R_Ctx(const Npp16u * const pSrc[3], int aSrcStep[3],
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], const Npp16u nAlpha, NppStreamContext nppStreamCtx);
/**
* Two channel 8-bit unsigned planar NV12 convertion to three channel 8-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_8u_ColorTwist32f_P2C3R_Ctx(const Npp8u * const pSrc[2], int aSrcStep[2],
Npp8u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/**
* Two channel 16-bit unsigned planar NV12 convertion to three channel 16-bit unsigned packed RGB, using a Color Twist to compute the exact
* color space arithmetic.
*
* \param pSrc \ref source_image_pointer.
* \param aSrcStep \ref source_image_line_step.
* \param pDst \ref destination_image_pointer.
* \param nDstStep \ref destination_image_line_step.
* \param oSizeROI \ref roi_specification.
* \param aTwist The color twist matrix with floating-point coefficient values.
* \param nppStreamCtx \ref application_managed_stream_context.
* \return \ref image_data_error_codes, \ref roi_error_codes
*/
NppStatus nppiNV12ToRGB_16u_ColorTwist32f_P2C3R_Ctx(const Npp16u * const pSrc[2], int aSrcStep[2],
Npp16u * pDst, int nDstStep,
NppiSize oSizeROI, const Npp32f aTwist[3][4], NppStreamContext nppStreamCtx);
/** @} YUVToRGBColorTwist*/
/** @} image_color_processing */
/** @} image_color_conversion */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* NV_NPPI_COLOR_CONVERSION_H */