Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

DemosaicAHD

Restores the RGB image from the gray-scale CFA image using AHD algorithm.

Syntax

IppStatus ippiDemosaicAHD_8u_C1C3R(const Ipp8u* pSrc, IppiRect srcRoi, IppiSize srcSize, int srcStep, Ipp8u* pDst, int dstStep, IppiBayerGrid grid, Ipp8u* pTmp, int tmpStep);

IppStatus ippiDemosaicAHD_16u_C1C3R(const Ipp16u* pSrc, IppiRect srcRoi, IppiSize srcSize, int srcStep, Ipp16u* pDst, int dstStep, IppiBayerGrid grid, Ipp16u* pTmp, int tmpStep);

Include Files

ippcc.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h, ippi.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib

Parameters

pSrc

Pointer to the source image.

srcRoi

Region of interest in the source image (of the IppiRect type).

srcSize

Size of the source image.

srcStep

Distance in bytes between starts of consecutive lines in the source image.

pDst

Pointer to the destination image.

dstStep

Distance in bytes between starts of consecutive lines in the destination image.

grid

Specifies the configuration of the Bayer grid in the source image. The following values are possible (see Figure Possible Configurations of the Bayer Grids):

ippiBayerBGGR

ippiBayerRGGB

ippiBayerGBRG

ippiBayerGRBG

pTmp

Pointer to the temporary image of (srcRoi.width + 6, 30) size.

tmpStep

Distance in bytes between starts of consecutive lines in the temporary image.

Description

This function operates with ROI (see Regions of Interest in Intel IPP).

This function transforms the one-channel gray-scale image pSrc that is produced by applying the color filter array (CFA) to 24-bit three-channel RGB image using the adaptive homogeneity-directed demosaicing (AHD) algorithm [Hir05]. The algorithm requires the temporary image pTmp of size srcRoi.width +6.30.

The type of the Bayer grid (see Figure Possible Configurations of the Bayer Grids) is specified by the parameter grid.

Return Values

ippStsNoErr

Indicates no error. Any other value indicates an error.

ippStsNullPtrErr

Indicates an error condition if one of the specified pointer is NULL.

ippStsSizeErr

Indicates an error condition if the srcSize has a field that is less than 5, or if the roiSize has a field with negative or zero value.

ippStsBadArgErr

Indicates an error condition if grid has an illegal value.