FilterRow

Filter with an integer horizontal row kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterRow_8u_C1R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_8u_C3R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_8u_C4R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_8u_AC4R ( const Fw8u * pSrcint srcStepFw8u * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_16s_C1R ( const Fw16s * pSrcint srcStepFw16s * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_16s_C3R ( const Fw16s * pSrcint srcStepFw16s * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_16s_C4R ( const Fw16s * pSrcint srcStepFw16s * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_16s_AC4R ( const Fw16s * pSrcint srcStepFw16s * pDstint dstStepFwiSize dstRoiSizeconst Fw32s * pKernelint kernelSizeint xAnchorint divisor );
FwStatus   fwiFilterRow_32f_C1R ( const Fw32f * pSrcint srcStepFw32f * pDstint dstStepFwiSize dstRoiSizeconst Fw32f * pKernelint kernelSizeint xAnchor );
FwStatus   fwiFilterRow_32f_C3R ( const Fw32f * pSrcint srcStepFw32f * pDstint dstStepFwiSize dstRoiSizeconst Fw32f * pKernelint kernelSizeint xAnchor );
FwStatus   fwiFilterRow_32f_C4R ( const Fw32f * pSrcint srcStepFw32f * pDstint dstStepFwiSize dstRoiSizeconst Fw32f * pKernelint kernelSizeint xAnchor );
FwStatus   fwiFilterRow_32f_AC4R ( const Fw32f * pSrcint srcStepFw32f * pDstint dstStepFwiSize dstRoiSizeconst Fw32f * pKernelint kernelSizeint xAnchor );

Parameters

divisor   An integer value by which a result is divided.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
kernelSize   Specifies the size of the kernel used in calculations.
pDst   Pointer to a location in a destination buffer.
pKernel   Pointer to the kernel array.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).
xAnchor   Anchor cell that specifies the horizontal alignment of the kernel with respect to the input pixel.

Description

These functions step through an ROI in a source buffer, calculate the sum of products of the kernel values and the corresponding pixel values in an area defined by the kernel size and anchor coordinate, then divide by the divisor.

The filtered data is written to a destination buffer.

The horizontal row kernel is an array of signed 32-bit integer values; the anchor coordinate location is relative to the right side of the kernel.

Functions that operate on 8-bit unsigned data assume that the kernel values are small.

If the results of intermediate calculations exceed 24 bits, calculation errors may occur.

For very small kernel values, the functions use very fast code, at the expense of accuracy (+/- 1.5).