DeinterlaceFilterTriangle

Deinterlaces video plane.

Syntax

IppStatus ippiDeinterlaceFilterTriangle_8u_C1R(const Ipp8u* pSrc, Ipp32s srcStep, Ipp8u* pDst, Ipp32s dstStep, IppiSize roiSize, Ipp32u centerWeight, Ipp32u layout);

IppStatus ippiDeinterlaceFilterTriangle_8u_C2R(const Ipp8u* pSrc, Ipp32s srcStep, Ipp8u* pDst, Ipp32s dstStep, IppiSize roiSize, Ipp32u centerWeight, Ipp32u layout);

Parameters

pSrc

Pointer to the source video plane. For DeinterlaceFilterTriangle_8u_C2R, in nv12 format.

srcStep

Distance in bytes between starts of the consecutive lines in the source video plane.

pDst

Pointer to the destination video plane.

dstStep

Distance in bytes between starts of the consecutive lines in the destination video plane.

roiSize

Size of ROI; height should be greater than 3.

centerWeight

Weight of filtered pixel, must lie within the range from 0 to 256.

layout

Plane layout, required when the plane is only a part of the frame. Takes the following values:

IPP_UPPER for the first slice

IPP_CENTER for the middle slices

IPP_LOWER for the last slice

IPP_LOWER&&IPP_UPPER&&IPP_CENTER for the image that is not sliced.

Description

The functions ippiDeinterlaceFilterTriangle_8u_C1R and ippiDeinterlaceFilterTriangle_8u_C2R are declared in the ippvc.h header file. These functions deinterlace a video plane. The functions perform triangle filtering of the image to remove interlacing flicker effect that arises when analogue interlaced TV data is viewed on a computer monitor. The ippiDeinterlaceFilterTriangle_8u_C2R function works with the nv12 format.

Pixels are filtered by the following formula:

pixel_new = [pixel_above*(256 - centerWeight)/2

+ pixel*centerWeight + pixel_below*(256 - centerWeight)/2]/256.

Use recommended values in range from 128 to 256 as centerWeight. Otherwise, the final result may be unpredictable.

When layout takes the value of IPP_CENTER or IPP_LOWER, the last data row from the previous slice should be accessible, that is, pSrc[- srcStep] should also be a valid pointer.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one input pointer is NULL.

ippStsSizeErr

Indicates an error when roiSize has a field with a zero or negative value.

ippStsBadArgErr

Indicates an invalid argument.


Submit feedback on this help topic

Copyright © 2000 - 2010, Intel Corporation. All rights reserved.