Framewave

Version 1.3.0 | Dec, 2008

 

Programming Reference

 

Copyright and Trademarks
Table of Contents
Function Quick Reference

This is the NOFRAMES version
Click HERE for the Frames version

Table of Contents

Copyright, Trademarks, and Disclaimers

Change History

Introduction

About This Manual

Data Types

Return Value Glossary

Processing Operators

References

Installation and Operation

Library Files

Library Directory Hierarchy

Setting Up Framewave

Linker Issues

Base Library

Basic Concepts

Library Version

GetLibVersion

Core Functions

GetStatusString

GetCpuType

GetCpuClocks

StaticInit

StaticInitCpu

SetNumThreads

GetNumThreads

Malloc

Free

AlignPtr

SetNumThreads_local

Run

Wait

GetInitType

BaseData

Image Processing Library

Basic Concepts

Library Version

GetLibVersion

Support Functions

Malloc

Free

Image Data Exchange and Initialization Functions

Convert

Copy

Swap

ZigZag

Set

Scale

Arithmetic and Logic Functions

Abs

AbsDiff

AbsDiffC

Add

AddC

AddProduct

AddSquare

AddWeighted

Div

DivC

Exp

Ln

Mul

MulC

MulScale

MulCScale

Sqr

Sqrt

Sub

SubC

And

AndC

Comp

Not

Or

OrC

LShiftC

RShiftC

Xor

XorC

Color Model Conversion Functions

RGBToYUV

YUVToRGB

RGBToYUV422

YUV422ToRGB

RGBToYUV420

YUV420ToRGB

YUV420ToBGR

YUV420ToRGB*

YUV420ToBGR*

RGBToYCbCr

YCbCrToRGB

YCbCrToRGB*

YCbCrToBGR*

RGBToYCbCr422

YCbCr422ToRGB

RGBToCbYCr422*

CbYCr422ToRGB

BGRToCbYCr422

CbYCr422ToBGR

YCbCr422ToRGB*

YCbCr422ToBGR*

RGBToYCbCr420

BGRToYCbCr420

YCbCr420ToRGB

YCbCr422ToYCbCr420

YCbCr420ToRGB*

YCbCr420ToBGR

YCbCr420ToBGR*

YCbCr411ToBGR

RGBToXYZ

XYZToRGB

RGBToLUV

LUVToRGB

BGRToLab

LabToBGR

RGBToYCC

YCCToRGB

RGBToHLS

HLSToRGB

BGRToHLS

HLSToBGR

RGBToHSV

HSVToRGB

ColorToGray

RGBToGray

YCbCr422

CbYCr422ToYCbCr

Statistical Functions

Sum

Threshold and Compare Functions

Threshold

Threshold_GT

Threshold_LT

Threshold_Val

Threshold_GTVal

Threshold_LTVal

Threshold_LTValGTVal

Compare

CompareC

CompareEqualEps

CompareEqualEpsC

Morphological Operations

Dilate3X3

Digital Filter Functions

Sharpen

FilterBox

FilterBoxInplace

FilterMin

FilterMax

SumWindowRow

SumWindow

FilterMedian

FilterMedianHoriz

FilterMedianVert

FilterMedianCross

FilterMedianColor

Filter

Filter32f

FilterColumn

FilterColumn32f

FilterRow

FilterRow32f

FilterPrewittHoriz

FiltePrewittVert

FilterScharrHoriz

FilterScharrVert

FilterSobelHoriz

FilterSobelVert

FilterSobelHorizSecond

FilterSobelVertSecond

FilterSobelCross

FilterRobertsDown

FilterRobertsUp

FilterLaplace

FilterGauss

FilterHipass

FilterLowpass

Linear Transformation Functions

DCT8X8

Geometric Transform Functions

Resize

ResizeCenter

GetResizeFract

ResizeShift

ResizeSqrPixelGetBufSize

ResizeSqrPixel

ResizeYUV422

Mirror

Remap

Rotate

GetRotateShift

AddRotateShift

GetRotateQuad

GetRotateBound

RotateCenter

Shear

GetShearQuad

GetShearBound

WarpAffine

WarpAffineBack

WarpAffineQuad

GetAffineQuad

GetAffineBound

GetAffineTransform

WarpPerspective

WarpPerspectiveBack

WarpPerspectiveQuad

GetPerspectiveQuad

GetPerspectiveBound

GetPerspectiveTransform

WarpBilinear

WarpBilinearBack

WarpBilinearQuad

GetBilinearQuad

GetBilinearBound

GetBilinearTransform

3D Look-up functions

LookUp3DSpecInitAlloc

LookUp3DSpecInitAlloc

LookUp3DSpecFree

JPEG Library

Basic Concepts

Library Version

GetLibVersion

Image Compression Functions

RGBToY_JPEG

BGRToY_JPEG

RGBToYCbCr_JPEG

YCbCrToRGB_JPEG

RGB5X5ToYCbCr_JPEG

YCbCrToRGB5X5_JPEG

BGRToYCbCr_JPEG

YCbCrToBGR_JPEG

BGR5X5ToYCbCr_JPEG

YCbCrToBGR5X5_JPEG

CMYKToYCCK_JPEG

YCCKToCMYK_JPEG

RGBToYCbCr444LS_MCU

RGBToYCbCr422LS_MCU

RGBToYCbCr411LS_MCU

BGRToYCbCr444LS_MCU

BGRToYCbCr422LS_MCU

BGRToYCbCr411LS_MCU

CMYKToYCCK444LS_MCU

CMYKToYCCK422LS_MCU

CMYKToYCCK411LS_MCU

YCbCr4XXToRGBLS_MCU

YCbCr4XXLS_MCUToBGR

YCCK4XXToCMYKLS_MCU

QuantFwdRawTableInit_JPEG

QuantFwdTableInit_JPEG

QuantFwd8X8_JPEG

QuantInvTableInit_JPEG

QuantInv8X8_JPEG

DCTQuantFwd8X8_JPEG

DCTQuantFwd8X8LS_JPEG

DCTQuantInv8X8_JPEG

DCTQuantInv8X8LS_JPEG

Sub128_JPEG

Add128_JPEG

SampleDownH2V1_JPEG

SampleDownH2V2_JPEG

SampleDownRowH2V1_JPEG

SampleDownRowH2V2_JPEG

SampleUpH2V1_JPEG

SampleUpH2V2_JPEG

SampleUpRowH2V1_JPEG

SampleUpRowH2V2_JPEG

SampleDown4xxLS_MCU

SampleUp4xxLS_MCU

Split422LS_MCU

Join422LS_MCU

EncodeHuffmanRawTableInit

EncodeHuffmanSpecGetBufSize

EncodeHuffmanSpecInit

EncodeHuffmanSpecInitAlloc

EncodeHuffmanSpecFree

EncodeHuffmanStateGetBufSize

EncodeHuffmanStateInit

EncodeHuffmanStateInitAlloc

EncodeHuffmanStateFree

EncodeHuffman8X8

EncodeHuffman8X8_Direct

EncodeHuffman8X8_DCFirst

EncodeHuffman8X8_DCRefine

EncodeHuffman8X8_ACFirst

EncodeHuffman8X8_ACRefine

GetHuffmanStatistics8X8

GetHuffmanStatistics8X8_DCFirst

DecodeHuffmanSpecGetBufSize

DecodeHuffmanSpecInit

DecodeHuffmanSpecInitAlloc

DecodeHuffmanSpecFree

DecodeHuffmanStateGetBufSize

DecodeHuffmanStateInit

DecodeHuffmanStateInitAlloc

DecodeHuffmanStateFree

DecodeHuffman8X8

DecodeHuffman8X8_Direct

DecodeHuffman8X8_DCFirst

DecodeHuffman8X8_DCRefine

DecodeHuffman8X8_ACFirst

DecodeHuffman8X8_ACRefine

Signal Processing Library

Basic Concepts

Library Version

GetLibVersion

Essential Vector Functions

Add

AddC

Sub

SubC

SubCRev

AddProduct

And

Or

Xor

AndC

OrC

XorC

Not

LShiftC

RShiftC

Mul

MulC

Abs

Sqrt

Sqr

Normalize

Div

DivC

DivCRev

Cubrt

Exp

Ln

10Log10

Arctan

Threshold_LTVal

Threshold_GTVal

Threshold_LTValGTVal

Threshold_LT

Threshold_GT

Threshold

Threshold_LTInv

Magnitude

Convert

Max

MaxIndx

MaxAbs

MaxAbsIndx

Min

MinIndx

MinAbs

MinAbsIndx

MinMax

MinMaxIndx

Norm_Inf

Norm_L1

Norm_L2

NormDiff_Inf

NormDiff_L1

NormDiff_L2

Mean

MaxEvery

MinEvery

DotProd

Sum

StdDev

Fixed Accuracy Arithmetic Functions

Inv

Div

Sqrt

InvSqrt

Cbrt

InvCbrt

Pow

Powx

Exp

Ln

Log10

Cos

Sin

Tan

Acos

Asin

Atan

Atan2

Cosh

Sinh

Tanh

Acosh

Asinh

Atanh

Vector Initialization Functions

Copy

Move

Set

Zero

Find

Find

Autocorrelation

fwsMalloc

fwsFree

Video Library

Basic Concepts

Library Version

GetLibVersion

Video Coding Functions

DecodeCAVLCCoeffs_H264

DecodeCAVLCChromaDcCoeffs_H264

DecodeExpGolombOne_H264

FilterDeblockingLuma_VerEdge_H264

FilterDeblockingLuma_HorEdge_H264

FilterDeblockingChroma_HorEdge_H264

FilterDeblockingChroma_VerEdge_H264

InterpolateLuma_H264

InterpolateLumaTop_H264

InterpolateLumaBottom_H264

InterpolateChroma_H264

InterpolateChromaTop_H264

InterpolateChromaBottom_H264

PredictIntra_4x4_H264

PredictIntra_16x16_H264

PredictIntraChroma8x8_H264

ReconstructChromaInterMB_H264

ReconstructChromaIntraMB_H264

ReconstructLumaInterMB_H264

ReconstructLumaIntraMB_H264

TransformDequantChromaDC_H264

DequantTransformResidual_H264

HuffmanTableInitAlloc

HuffmanRunLevelTableInitAlloc

DecodeHuffmanOne

DecodeHuffmanPair

HuffmanTableFree

MC16x16

MC16x8

MC8x16

MC8x8

MC8x4

MC4x8

MC4x4

MC2x4

MC4x2

MC2x2

MC16x4

MC16x8UV

MC16x16B

MC16x8B

MC8x16B

MC8x8B

MC8x4B

MC4x8B

MC4x4B

MC2x4B

MC4x2B

MC2x2B

MC16x4B

MC16x8BUV

GetDiff16x16

GetDiff16x8

GetDiff8x8

GetDiff8x16

GetDiff8x4

GetDiff4x4

GetDiff16x16B

GetDiff16x8B

GetDiff8x8B

GetDiff8x16B

GetDiff8x4B

SqrDiff16x16

SqrDiff16x16B

VarMean8x8

VarMeanDiff16x16

VarMeanDiff16x8

Variance16x16

EdgesDetect16x16

SAD16x16

SAD8x8

SAD4x4

SAD16x16Blocks8x8

SAD16x16Blocks4x4

SumsDiff16x16Blocks4x4

SumsDiff8x8Blocks4x4

QuantInv_MPEG2

QuantInvIntra_MPEG2

ReconstructDCTBlock_MPEG1

ReconstructDCTBlockIntra_MPEG1

ReconstructDCTBlock_MPEG2

ReconstructDCTBlockIntra_MPEG2

DCT8x8Inv_AANTransposed_Channel

DCT8x8Inv_AANTransposed_Plane

Function Quick Reference

Copyright, Trademarks, and Disclaimers

Copyright © 2007-2009 The Framewave Group. All Rights Reserved.

Framewave is a trademark of The Framewave Group.

AMD is a registered trademark of Advanced Micro Devices, Inc.

Microsoft and Windows are registered trademarks of Microsoft Corporation.

Sun and Solaris are registered trademarks of Sun Microsystems, Inc.

Linux is a registered trademark of Linus Torvalds.

Apple and Mac OS are registered trademarks of Apple, Inc.

Change History

Date

Version

Description of Change

02/2008

1.0.0

Initial release.

03/2008

1.0.1

Removed Video Library.

05/2008

1.1.0

New functions:

H.264 Deblock filter functions

fwiFilterDeblockingChroma_HorEdge_H264_8u_C1IR

fwiFilterDeblockingChroma_VerEdge_H264_8u_C1IR

fwiFilterDeblockingLuma_HorEdge_H264_8u_C1IR

fwiFilterDeblockingLuma_VerEdge_H264_8u_C1IR

Color to gray scale conversion functions

fwiColorToGray_8u_C3C1R

fwiColorToGray_16u_C3C1R

fwiColorToGray_16s_C3C1R

fwiColorToGray_32f_C3C1R

fwiColorToGray_8u_AC4C1R

fwiColorToGray_16u_AC4C1R

fwiColorToGray_16s_AC4C1R

fwiColorToGray_32f_AC4C1R

fwiRGBToGray_8u_C3C1R

fwiRGBToGray_16u_C3C1R

fwiRGBToGray_16s_C3C1R

fwiRGBToGray_32f_C3C1R

fwiRGBToGray_8u_AC4C1R

fwiRGBToGray_16u_AC4C1R

fwiRGBToGray_16s_AC4C1R

fwiRGBToGray_32f_AC4C1R

Color format conversion functions

fwiYCbCr422ToYCbCr420_8u_C2P3R

fwiYCbCr422ToYCbCr420_8u_P3R

fwiYCbCr422_8u_P3C2R

64s support for Add and Sub functions

fwsAdd_64s

fwsSub_64s

Image statistics functions

fwiSum_8u_C1R

fwiSum_16s_C1R

Min and Max functions

fwsMin_8s

fwsMin_64u

fwsMax_8s

fwsMax_64u

Optimized functions:

JPEG color conversion functions

fwiRGBToYCbCr422LS_MCU_8u16s_C3P3R

fwiRGBToYCbCr444LS_MCU_8u16s_C3P3R

fwiRGBToYCbCr411LS_MCU_8u16s_C3P3R

fwiBGRToYCbCr411LS_MCU_8u16s_C3P3R

fwiBGRToYCbCr444LS_MCU_8u16s_C3P3R

Normal color conversion functions

fwiRGBToHSV_8u_C3R

fwiYCbCr422_8u_P3C2R

fwiRGBToYCbCr420_8u_C3P3R

JPEG inverse quantisation and level shift functions

fwiQuantInv8x8_JPEG_16s_C1I

fwiAdd128_JPEG_16s8u_C1R

Resize functions

fwiResizeSqrPixel_8u_C1R

fwiResizeSqrPixel_8u_C3R

fwiResizeSqrPixel_8u_C4R

fwiResizeSqrPixel_8u_AC4R

Rotate functions

fwiRotate_8u_C1R

fwiRotate_8u_C3R

fwiRotate_8u_C4R

fwiRotate_8u_AC4R

fwiRotate_16u_C1R

fwiRotate_16u_C3R

fwiRotate_16u_C4R

fwiRotate_16u_AC4R

fwiRotate_32f_C1R

fwiRotate_32f_C3R

fwiRotate_32f_C4R

fwiRotate_32f_AC4R

Updated functions for bug fixes:

fwiQuantInv_MPEG2_16s_C1I

fwiQuantInvIntra_MPEG2_16s_C1I

fwiRotate_8u_C4R

fwiYCbCr411ToRGBLS_MCU_16s8u_P3C3R

fwiFilterLowpass_8u_C1R

fwiFilterGauss_8u_C1R

fwiFilterLaplace_8u_C1R

fwiFilterHipass_8u_C1R

Other new features:

Enabled threading support for Min, Max and MInMax statistical functions in fwSignal

Implemented workaround for GCC 4.3 bug to improve performance for all arithmetic, logical, and statistic functions.

Bug summary: Framewave uses integer load/store and GCC introduces additional memory moves if the actual data type is float or double.

Older versions of GCC may perform more slowly due to the bug summarized above and GCC bug 34043, which is solved in GCC 4.3.

08/2008

1.2.0

New functions:

3D-Lookup based Color Space Conversion

fwiLookUp3D_16u_C3R

fwiLookUp3D_16u_C3IR

Auto-Correlation functions

fwsAutoCorr_32f

fwsAutoCorr_NormA_32f

fwsAutoCorr_NormB_32f

fwsAutoCorr_64f

fwsAutoCorr_NormA_64f

fwsAutoCorr_NormB_64f

fwsAutoCorr_32fc

fwsAutoCorr_NormA_32fc

fwsAutoCorr_NormB_32fc

fwsAutoCorr_64fc

fwsAutoCorr_NormA_64fc

fwsAutoCorr_NormB_64fc

Optimized functions:

JPEG Functions

fwiRGBToY_JPEG_8u_C3C1R

fwiYCCKToCMYK_JPEG_8u_P4C4R

fwiYCbCrToRGB_JPEG_8u_P3C3R

fwiCMYKToYCCK_JPEG_8u_C4P4R

fwiDCTQuantInv8x8LS_JPEG_16s8u_C1R

fwiYCbCr411ToBGRLS_MCU_16s8u_P3C3R

fwiBGRToYCbCr422LS_MCU_8u16s_C3P3R

fwiYCbCr422ToRGBLS_MCU_16s8u_P3C3R

fwiYCbCr422ToBGRLS_MCU_16s8u_P3C3R

Other new features:

Framewave re-factored to use SSEPlus project (http://sourceforge.net/projects/SSEPlus)

Framewave is now tested on Visual Studio 2008 for Windows and GCC 4.3 on Linux

12/2008

1.3.0

New functions:

Convert functions

fwsConvert_16u32s

fwsConvert_8u16s

fwsConvert_32u16s

fwsConvert_32u32f

fwsConvert_32u64f

fwsConvert_16u32f_Sfs

fwiConvert_32f8u_C1R

fwiConvert_32f8u_C3R

fwiConvert_32f8u_C4R

fwiConvert_32f8u_AC4R

fwiConvert_32f8s_C1R

fwiConvert_32f8s_C3R

fwiConvert_32f8s_C4R

fwiConvert_32f8s_AC4R

fwiConvert_32f16s_C1R

fwiConvert_32f16s_C3R

fwiConvert_32f16s_C4R

fwiConvert_32f16s_AC4R

fwiConvert_32f16u_C1R

fwiConvert_32f16u_C3R

fwiConvert_32f16u_C4R

fwiConvert_32f16u_AC4R

Memory management functions

fwsMalloc_8u

fwsMalloc_16u

fwsMalloc_32u

fwsMalloc_8s

fwsMalloc_16s

fwsMalloc_32s

fwsMalloc_64s

fwsMalloc_32f

fwsMalloc_64f

fwsMalloc_16sc

fwsMalloc_32sc

fwsMalloc_64sc

fwsMalloc_32fc

fwsMalloc_64fc

Introduction

Framewave (FW) is a collection of libraries that contain highly-optimized functions for use in a variety of programming domains. All implementations of the libraries provide C and C++ programmers ANSI C style interfaces.

Framewave consists of the following libraries:

Framewave functions are geared to yield maximum performance on the x86 and the AMD64 hardware architectures. Current implementations exploit multicore architecture and single instruction multiple data (SIMD) instructions. Specifically, streaming SIMD extensions and AMD® family 10h technologies are used to optimize for speed. Programmers can concentrate on task functionality because Framewave handles performance. Many of the functions are threaded internally; the programmer has the flexibility of controlling the number of threads and of turning off threading. As architecture changes and new instructions are added, new code paths to take advantage of extensions can be added to Framewave without changing the programming interface and existing functionality.

About This Manual

This documentation is intended for experienced software developers. To understand the functional descriptions, a developer must be reasonably proficient in the C programming language, and must have a working knowledge of application-specific terminology and techniques.

The documentation is divided into sections for each library. Within the sections, Basic Concepts chapters provide overview information related to the library and subsequent chapters provide detailed descriptions of the library functions.

Each detailed description consists of a Function Name followed by a short description, a Synopsis of the function syntax, a list of function Parameters, a detailed Description of the function, and a list of Return Values.

When a function is optimized for one or more technologies, a list of Supported Technologies is provided after the short description. Most function groups are optimized for the same technologies, but the lists are function-specific; the use of a particular optimization in a single function does not indicate that all the functions in the group are optimized for that technology. When no list of optimizations is present, a function has only reference code. Absence of optimizations does not mean that a function runs more slowly -- use of a particular optimization may not increase the performance of the function.

The Function Quick Reference provides an index and snapshot view of function optimizations.

Data Types

Framewave function definitions use the following data types.

Fw16s   16-bit signed integer
Fw16sc   16-bit signed complex number
Fw16u   16-bit unsigned integer
Fw32f   32-bit floating-point number
Fw32fc   32-bit floating-point complex number
Fw32s   32-bit signed integer
Fw32sc   32-bit signed complex number
Fw32u   32-bit unsigned integer
Fw64f   64-bit floating-point number
Fw64fc   64-bit floating-point complex number
Fw64s   64-bit signed integer
Fw64sc   64-bit signed complex number
Fw64u   64-bit unsigned integer
Fw8s   8-bit signed integer
Fw8u   8-bit unsigned integer

Return Value Glossary

All Framewave functions return the enumerated integer value FwStatus, which precisely reports the result of execution. The following return value definitions are used.

fwStsAnchorErr   The anchor is located outside the mask.
fwStsBadArgErr   Some argument is invalid.
fwStsBorderErr   The morphology borderType is an invalid value.
fwStsChannelOrderErr   The given destination order is not valid (contains values other than 0,1,2).
fwStsCoeffErr   The coefficient values have errors.
fwStsContextMatchErr   The specification struture does not match the function or is invalid.
fwStsCpuMismatch   The specified CPU type cannot be assigned.
fwStsDivByZeroErr   The divisor is zero.
fwStsDivisorErr   The divisor is zero.
fwStsDomain   Argument out of function domain warning status code.
fwStsDoubleSize   Image height and/or width is not a multiple of two warning status code.
fwStsEpsValErr   Eps is a negative value.
fwStsH263VLCCodeErr   Illegal Huffman code encountered during VLC stream processing.
fwStsInterpolationErr   The interpolation value is incorrect or unsupported for the specified function.
fwStsLengthErr   Invalid string length.
fwStsLnNegArg   Negative input buffer element warning status code.
fwStsLnZeroArg   Zero-valued input buffer element warning status code.
fwStsMaskErr   The mask size is invalid.
fwStsMaskSizeErr   The mask has an invalid value.
fwStsMemAllocErr   The function failed to allocate memory.
fwStsMirrorFlipErr   The mirror flip value is invalid.
fwStsNoErr   No error detected.
fwStsNotEvenStepErr   A step value for a floating point image is not divisible by four.
fwStsNullPtrErr   A pointer passed to the function is null.
fwStsNumChannelErr   The number of channels is incorrect.
fwStsOutOfRangeErr   An a rgument is out of range or a point is outside an image.
fwStsOverflow   Overflow in operation warning status code.
fwStsQuadErr   The source or destination quadrangle degenerates into a triangle, line, or points; or the destination quadrangle has conflicted vertex coordinates.
fwStsRectErr   The width or height of the source ROI has a value less than or equal to one.
fwStsResFloor   All result values are floored.
fwStsResizeFactorErr   The resize factor is less than or equal to zero.
fwStsResizeNoOperationErr   A destination image dimension is less than one pixel.
fwStsSingularity   Singularity in operation warning status code.
fwStsSizeErr   The size is invalid (usually indicates negative or zero size).
fwStsStepErr   The step value for the buffer is invalid.
fwStsThresholdErr   The less-than threshold is greater than the greater-than threshold.
fwStsUnderflow   Underflow in operation warning status code.
fwStsWrongIntersectQuad   The quadrangle does not intersect the source or destination image (no operation is performed).
fwStsWrongIntersectROI   The ROI does not intersect the source or destination image (no operation is performed).
fwStsZeroMaskValuesErr   All mask values are equal to zero.

Refer to individual function descriptions for detailed information about return values.

Processing Operators

Framewave function definitions use the following notation to indicate specific operations.

I   Function operates in-place (source and destination locations are the same)
R   Function operates on an ROI (iterative, used only in the Image Processing library)
M   Function performs a masking operation
Sfs   Function performs a scaled integer calculation

References

AMD64 Architecture Programmers Manual:

Volume 1, Application Programming, Order Number 24592

Volume 2, System Programming, Order Number 24593

Volume 3, General-Purpose and System Instructions, Order Number 24594

Volume 4, 128-Bit Media Instructions, Order Number 26568

Volume 5, 64-Bit Media and x87 Floating-Point Instructions, Order Number 26569

Installation and Operation

This section contains general information about installing and using Framewave. Please refer to the README file in the installation package for the most recent information.

Library Files

The include directory contains the following files.

fwBase.h contains definitions of data types, data structures, enumerations, and declarations for core functions.

fwSignal.h contains function declarations for signal processing.

Essential Vector Calculation (Add, Sub, Or, Xor, etc.)

Fixed Accuracy Arithmetic (Inverse, Divide, Ln, etc.)

Vector Initialization Tasks (Copy, Move, etc.)

Domain Transform (Multiplication of vectors, etc.)

fwImage.h contains function declarations for image processing.

Arithmetic and Logic operations (Add, Sub, Or, etc.)

Digital Filter Functions (Box Filter, Sobel Filter, etc.)

Color Model Conversion (RGBToYUV, RGBToYCbCr, etc.)

Threshold and Compare

Morphologic Operations

Geometric Operations

3D - LUT functions

fwVideo.h contains function declarations for video processing.

H.264 Decoder

H.264 Inverse Transform

H.264 Reconstruction

H.264 Intra-predict

H.264 Interpolation

H.264 Deblock Filtering

Motion Compensation

Motion Estimation

MPEG-1:Decoder, Inverse DCT, Inverse Quantization, Reconstruction of DCT block, Variable Length decoding

MPEG-2:Decoder, Inverse DCT, Inverse Quantization, Reconstruction of DCT block, Variable Length decoding

fwJPEG.h contains function declarations for JPEG processing.

JPEG Color Conversion

JPEG Sampling

JPEG Level Shift, Planar-to-Pixel and Pixel-to-Planar

Quantization and Combined DCT

Huffman Codec

Library Directory Hierarchy

The directory hierarchy for each type of installation is as follows.

Microsoft® Windows® Operating Systems

DLL Directories

The fwImage/fwSignal/fwBase/fwJPEG/fwVideo.lib files contain the import address table (IAT) for the corresponding functions. Rather than fetching the address of the function during run time, the .lib files are used to link against a DLL at compile time.

The fwImage/fwSignal/fwBase/fwJPEG/fwVideo.dll files contain implemented functions.

Linux® Operating Systems

LIB Directories

The libfwImage.so/libfwSignal.so/libfwBase.so/libfwJPEG.so/libfwVideo.so files contain all shared libraries.

Sun® Solaris® Operating System

LIB Directories

The libfwImage.so/libfwSignal.so/libfwBase.so/libfwJPEG.so/libfwVideo.so files contain all shared libraries.

Apple® Mac OS® Operating Systems

LIB Directories

The libfwImage.dylib/libfwSignal.dylib/libfwBase.dylib/libfwJPEG.dylib/libfwVideo.dylib files contain all shared libraries.

Setting Up Framewave

Set up each type of installation as follows.

Microsoft® Windows® Operating Systems

Make sure the DLL files are in the search PATH using one of the following methods.

Add the Framewave folder to the include search path within Microsoft Visual Studio (Project>Properties>Configuration Properties>C/C++>General> Additional Include Directories).

Add the Framewave lib folder to the libraries search path within Visual Studio (Project>properties>Configuration Properties>Linker>General> Additional Library Directories).

Linux® Operating Systems

Assume this is a 64-bit installation and the installation directory is "ExampleDir".

To use the shared libraries, create the following symbolic links.

     cd ExampleDir/FW_1.0_Lin64/lib
     ln -sf ./libfwBase.so.1.0.0 libfwBase.so
     ln -sf ./libfwImage.so.1.0.0 libfwImage.so
     ln -sf ./libfwJPEG.so.1.0.0 libfwJPEG.so
     ln -sf ./libfwSignal.so.1.0.0 libfwSignal.so
     ln -sf ./libfwVideo.so.1.0.0 libfwVideo.so

Create similar symbolic links with the .so.1 extension.

To compile a cpp file that uses Framewave, for example test.cpp:

     g++ -m64 -c -IExampleDir/FW_1.0_Lin64 test.cpp

All Framewave libraries have dependency on fwBase.

For example, to link with with the Image library,

     g++ -m64 -LExampleDir/FW_1.0_Lin64/lib test.o -lfwImage -lfwBase

It may be necessary to explicitly link in the stdc++, pthreads, or math libraries if they are not automatically linked in.

Before running the application, make sure the ExampleDir/FW_1.0_Lin64/lib is in the shared library search path for the environment.

Sun® Solaris® Operating Systems

Assume this is a 64-bit installation and the installation directory is "ExampleDir".

To use the shared libraries, create the following symbolic links.

     cd ExampleDir/FW_1.0_Sol64/lib
     ln -sf ./libfwBase.so.1.0.0 libfwBase.so
     ln -sf ./libfwImage.so.1.0.0 libfwImage.so
     ln -sf ./libfwJPEG.so.1.0.0 libfwJPEG.so
     ln -sf ./libfwSignal.so.1.0.0 libfwSignal.so
     ln -sf ./libfwVideo.so.1.0.0 libfwVideo.so

Create similar symbolic links with the .so.1 extension.

To compile a cpp file that uses Framewave, for example test.cpp:

     CC -m64 -c -IExampleDir/FW_1.0_Sol64 test.cpp

All Framewave libraries have dependency on fwBase.

For example, to link with with the Image library,

     CC -m64 -LExampleDir/FW_1.0_Sol64/lib test.o -lfwImage -lfwBase -lrt

Before running the application, make sure the ExampleDir/FW_1.0_Sol64/lib is in the shared library search path for the environment.

Apple® Mac OS® Operating Systems

Assume this is a 64-bit installation and the installation directory is "ExampleDir".

To use the shared libraries, create the following symbolic links.

     cd ExampleDir/FW_1.0_Mac64/lib
    ln -sf ./libfwBase-1.0.dylib libfwBase.dylib
    ln -sf ./libfwImage-1.0.dylib libfwImage.dylib
    ln -sf ./libfwJPEG-1.0.dylib libfwJPEG.dylib
    ln -sf ./libfwSignal-1.0.dylib libfwSignal.dylib
    ln -sf ./libfwVideo-1.0.dylib libfwVideo.dylib

Create similar symbolic links with the .1.dylib extension.

To compile a cpp file that uses Framewave, for example test.cpp:

     g++ -m64 -c -IExampleDir/FW_1.0_Mac64 test.cpp

All Framewave libraries have dependency on fwBase.

For example, to link with with the Image library,

     g++ -m64 -LExampleDir/FW_1.0_Mac64/lib test.o -lfwImage -lfwBase

It may be necessary to explicitly link in the stdc++, pthreads, or math libraries if they are not automatically linked in.

Before running the application, make sure the ExampleDir/FW_1.0_Mac64/lib is in the shared library search path for the environment.

Linker Issues

This section describes how to resolve errors that occur while linking code to the Framewave static library for Microsoft® Windows® operating systems. This information does not apply to code that links to the dynamic DLL (shared) version of the Framewave library for Microsoft Windows, or to versions of the Framewave library for other operating systems.

Framewave static libraries for Microsoft Windows have a dependency on Microsoft Visual C++ 2005 C run-time libraries. The project (executable or DLL) also has a dependency on the C run-time library. The linker automatically links to the run-time library used by the static library as well as to the run-time library specified in the project settings. A version mismatch between the library in the static library and the library specified in the project can cause the linker to display error messages and terminate.

To resolve this issue, use a static run-time library in the project.

When linking to a release version of the static Framewave library, use the /MT compiler switch in the project settings. This links the project to the same static multithreaded version of the run-time Framewave library used by the static Framewave library.

When linking to a debug version of the static Framewave library (common in debug configurations), use the /MTd compiler switch in the project settings. This links the project to the static multithreaded debug version of the run-time library.

Most code generated by the Visual C++ compiler has some dependency on the C runtime libraries. Microsoft provides several different flavors of the run-time libraries (static vs. dynamic (DLL), debug vs. release), and functions are implemented differently in each flavor. These differences can cause linker errors if a project is linked to the wrong library flavor. The runtime library flavor is normally specified by a compiler switch (/MT, /MTd, /MD, /MDd). Mixing different library types in the same module (executable or DLL) can also lead to various linker or run-time issues, and is not recommended.

For more information see:

http://msdn2.microsoft.com/en-us/library/2kzt1wy3(VS.80).aspx

http://support.microsoft.com/kb/154753

Base Library

Base Library functions are essential for primary tasks such as memory allocation and functions that manage the performance of other library functions.

This section is organized as follows.

Within the section, the Basic Concepts chapter provides overview information related to the functions in the library, and subsequent chapters provide detailed descriptions of library functions that perform operations of the same kind.

Each detailed description consists of a Function Name followed by a short description, a Synopsis of the function syntax, a list of function Parameters, a detailed Description of the function, and a list of Return Values.

When a function is optimized for one or more technologies, a list of Supported Technologies is provided after the short description.

The Function Quick Reference provides an index and snapshot view of function optimizations.

Basic Concepts

This chapter provides an overview of the information contained in the functional descriptions.

Base library functional descriptions include the following types of information.

Data Structures

Base and other libraries function definitions use the following data structures.

FwLibraryVersion   Library version information.
FwRoundMode   Rounding mode used in data type conversion.
FwWinType   Type of window used to generate FIR filter coefficients.

Enumerators

Base and other libraries function definitions use the following enumerators.

FwBool   Type of Boolean values.
FwCmpOp   Type of comparison operation.
FwCpuType   Type of CPU with presence of streaming SIMD extensions.
FwHintAlgorithm   Hint to favor speed or accuracy.

Parameter Glossary

Base library function definitions use the following parameters.

StsCode   Specifies the status code used by the FwStatus function.
alignBytes   Specifies the number of bytes for alignment, must be a power of 2. NULL is returned if the value is less than 2.
cpu   Specifies a CPU type.
length   Specifies a number of bytes to be allocated.
numThr   Specifies the maximum number of threads that can be used by any Framewave function.
param   Specifies some parameter.
ptr   Pointer to a memory buffer.
workFn   Specifies work function.

Library Version

This chapter describes the function that provides library version information.

GetLibVersion

Library version

Synopsis

const FwLibraryVersion*   fwGetLibVersion (    );

Description

This function returns a pointer to the FwLibraryVersion structure which contains FW Library version information.

Core Functions

This chapter describes the status string, CPU type, CPU clocking, CPU initialization, threading control, and memory allocation functions.

GetStatusString

Get status message string

Synopsis

const char *   fwGetStatusString ( FwStatus  StsCode );

Parameters

StsCode   Specifies the status code used by the FwStatus function.

Description

This function returns a string that describes the meaning of any FwStatus enumerated integer.

GetCpuType

Get CPU Type

Synopsis

FwCpuType   fwGetCpuType (    );

Description

This function returns the level of SSE support that is present. It can be used to identify the CPU type.

GetCpuClocks

Get CPU clock cycles

Synopsis

Fw64u   fwGetCpuClocks (    );

Description

This function returns the number of CPU clock cycles elapsed since CPU power on.

A code segment can be timed by invoking the function at two different points, then subtracting the first return value from the second return value.

StaticInit

Initialize to an appropriate CPU type

Synopsis

FwStatus   fwStaticInit (    );

Description

This function initializes the FW internal dispatcher to use the most appropriate CPU type.

StaticInitCpu

Initialize to a specified CPU type

Synopsis

FwStatus   fwStaticInitCpu ( FwCpuType  cpu );

Parameters

cpu   Specifies a CPU type.

Description

This function initializes the FW internal dispatcher to use a specified CPU type.

SetNumThreads

Set number of threads

Synopsis

FwStatus   fwSetNumThreads ( unsigned int  numThr );

Parameters

numThr   Specifies the maximum number of threads that can be used by any Framewave function.

Description

This function defines the maximum number of threads that can be used by any FW function. Set numThr to 1 to turn threading off.

GetNumThreads

Get number of threads

Synopsis

Fw32u   fwGetNumThreads (    );

Description

This function returns the maximum number of threads that can be used by any FW function.

Malloc

Allocate memory

Synopsis

void *   fwMalloc ( int  length );

Parameters

length   Specifies a number of bytes to be allocated.

Description

This function allocates a memory buffer of length bytes and returns a pointer to it.

Free

Free memory

Synopsis

void   fwFree ( void *  ptr );

Parameters

ptr   Pointer to a memory buffer.

Description

This function frees the memory buffer pointed to by ptr.

AlignPtr

Align a buffer

Synopsis

void *   fwAlignPtr ( void *  ptrint  alignBytes );

Parameters

alignBytes   Specifies the number of bytes for alignment, must be a power of 2. NULL is returned if the value is less than 2.
ptr   Pointer to a memory buffer.

Description

This function aligns the buffer pointed to by ptr to a specified alignment boundary.

SetNumThreads_local

SetNumThreads_local

Synopsis

FwStatus   fwSetNumThreads_local ( unsigned int  numThr );

Parameters

numThr   Specifies the maximum number of threads that can be used by any Framewave function.

Description

This function is reserved for FW internal use.

Run

Run

Synopsis

void   fwRun ( WorkFn  workFnvoid*  param );

Parameters

param   Specifies some parameter.
workFn   Specifies work function.

Description

This function is reserved for FW internal use.

Wait

Wait

Synopsis

void   fwWait (    );

Description

This function is reserved for FW internal use.

GetInitType

GetInitType

Synopsis

int   fwGetInitType (    );

Description

This function is reserved for FW internal use.

BaseData

BaseData

Synopsis

void *   fwBaseData (    );

Description

This function is reserved for FW internal use.

Image Processing Library

Image Processing Library functions perform a variety of tasks related to image processing.

This section is organized as follows.

Within the section, the Basic Concepts chapter provides overview information related to the functions in the library, and subsequent chapters provide detailed descriptions of library functions that perform operations of the same kind.

Each detailed description consists of a Function Name followed by a short description, a Synopsis of the function syntax, a list of function Parameters, a detailed Description of the function, and a list of Return Values.

When a function is optimized for one or more technologies, a list of Supported Technologies is provided after the short description.

The Function Quick Reference provides an index and snapshot view of function optimizations.

Basic Concepts

This chapter provides an overview of the information contained in the functional descriptions.

Image library functional descriptions include the following types of information.

Data Structures

Image library function definitions use the following data structures.

FwiDecodeHuffmanSpec   Huffman decoder specification.
FwiDecodeHuffmanState   Huffman decoder state.
FwiEncodeHuffmanSpec   Huffman encoder specification.
FwiEncodeHuffmanState   Huffman encoder state.
FwiLUTSpec   Internal data structure for 3D-LUT table.
FwiMorphAdvState   Advanced morphology state.
FwiMorphGrayState   Advanced morphology state.
FwiMorphState   Morphology state.
FwiPoint   The point represented by (x, y).
FwiRect   The position and size of a rectangle represented by (x, y, width, height).
FwiSize   The size of a rectangle represented by (width, height).

Enumerators

Image library function definitions use the following enumerators.

FwiAlphaType   Type of compositing operation for alpha composition functions.
FwiAxis   Image intensity ramp for fwiImageRamp functions or flip axes for fwiMirror functions.
FwiBorderType   Border type for filter functions.
FwiDitherType   Type of dithering for fwiReduceBits function.
FwiMaskSize   Neighborhood area for filter and morphological functions.

Color Channel Buffers

Image library function definitions use the following color channel buffer types.

C1   Single-channel color
C2   Two-channel color
C3   Three-channel color
C4   Four-channel color
AC4   Three-channel color with an additional alpha (transparency) channel

A channel is a pixel-ordered grayscale representation of a single color. The RGB color model uses three channels, one each for red, green, and blue color data. RGBA adds a fourth channel for transparency.

Image processing functions generally show source and destination buffers in a combined pair, such as C4P4. Use of a single buffer type indicates either that the source and destination buffers are of the same type, or that the function writes data back to the source location.

Color Plane Buffers

Image library functions use the following color plane buffer types.

P1   Single-plane color
P3   Three-plane color
P4   Four-plane color

Planes map color spaces. A color space is defined by a color model and a gamut, or range of colors. Many color spaces can be represented by three planes (XYZ coordinated), but there are spaces of greater and lesser dimensions. A single-plane color can be viewed as a slice through a larger color space.

Functions generally show source and destination buffers in a combined pair, such as P4C4. Use of a single buffer type indicates either that the source and destination buffers are of the same type, or that the function writes data back to the source buffer.

Regions of Interest

Many image library functions use the concept of a Region of Interest (ROI). A programmer can choose to manipulate specific regions of an image buffer rather than the entire image. The following figure shows an ROI for a typical in-place (same source and destination) operation.

ROI Diagram

The outer rectangle represents an image buffer. The inner grey rectangle represents the ROI inside the buffer.

Four items of information are required to define the ROI:

A pointer to the starting pixel of the ROI (pSrcDst).

The number of bytes from the starting pixel of the ROI to the end of that image row (srcDstStep).

The number of pixels in one row of the ROI (roiSize.width).

The number of pixels in one column of the ROI (roiSize.height).

ROIs for operations that use separate source and destination buffers are defined in the same way.

Image Masking

In an iterative operation that involves image buffers, it may be necessary to skip operating on certain portions of the ROI. This is accomplished by using a mask of the same size as the ROI. When a mask is used, the function writes a result to a destination pixel only when the corresponding pixel value in the mask is non-zero. The function does not write a result to a destination pixel when the corresponding pixel value in the mask is zero.

Borders In Image Functions

Many Framewave image processing functions that use the values of adjscent pixels to calculate a destination value require source images with defined border areas. Image processing functions typically assume that referenced adjacent pixels are available, but this is not always the case. The area on which a function operates is defined by ROI position, by kernel or mask size, and by anchor cell position. The following diagram shows a source image with borders, a destination image, and a kernel mask with anchor points.

Border Diagram

Anchors position the kernel so that an anchor cell coincides with an input pixel. However, when an input pixel is near the edge of an image, the kernel can include adjacent pixels locations that are outside the source image or ROI. Data for these adjacent locations must be provided in order for the function to work correctly.

The general approach is to first determine whether additional border pixels are required, then define the pixels as needed. When an ROI includes boundary pixels, border extension is required; when an ROI does not include boundary pixels, border extension in not required. To define the border pixels, either use an Framewave function that fills in the border with defined pixel values, or apply a locally-developed extension method.

The following order fill methods are used.

Zero fill - the border area is extended with zeros.

Constant fill - the border area is extended with a specified constant value.

Extension - the border area is created by copying the edge and corner pixels.

Reflection - the border area is created by reflection of the outer edge of the source image.

Wrap - the border area is created by toroidal wrapping of the image plane, effectively joining opposite edges of the image.

For example, the FilterSharpen function always uses a 3X3 kernel mask with the anchor in the center, location (1,1) in zero-based coordinates, relative to the top left corner of the mask. For the function to operate correctly, the source image must have a complete one-pixel border on both sides, top and bottom.

Consider a Filter32f function with variable-size mask and anchor:

Let the source image be 19 by 17 pixels.

Let the mask size be 4 by 5 pixels.

Let the anchor coordinates be (2,1) relative to the top left corner.

The maximum ROI size that can be safely used with the source image is 16 by 13 pixels, and the minimum destination image size is 16 by 13.

Assume that:

Wsrc and Hsrc are the width and height of the source image in pixels.

Wmask and Hmask are the width and height of the mask in pixels.

Xanchor and Yanchor are the zero-based coordinates of the anchor point, relative to the top left corner of the mask.

Channels is the number of channels in the image (in non-planar format).

ElementSize is the size of a single value in the source image, for example, four (bytes) for single precision floating point.

The following formulas calculate the offset from the top left corner of the image to the top left corner of the non-border area of the image.

Offset = StepSizesrc x Yanchor + Xanchor x Channels x ElementSize

Where:

StepSizesrc = Wsrc x Channels x ElementSize

Maximum ROI size is:

WROI = Wsrc - Wmask + 1

HROI = Hsrc - Hmask + 1

The destination image size is at least the size of the ROI.

Some Framewave functions assume that the anchor coordinates are relative to the bottom right corner of the mask. In this case, the formulas must be modified accordingly.

It is possible to have a source image with a much larger source step-size value than specified in the formula. This typically occurs when using an Framewave function to process a small part of a source image. In this case, the offset value can also be much larger, pointing somewhere in the middle of the source image data buffer. The developer must make sure there is a safe border area around the image that the function can safely read or modify.

Interpolation Modes

The following interpolation modes are available in functions that use the interpolation parameter.

FWI_INTER_NN: nearest neighbor interpolation

FWI_INTER_LINEAR: linear interpolation

FWI_INTER_CUBIC: cubic interpolation

FWI_INTER_SUPER: supersampling

FWI_INTER_LANCZOS: interpolation with Lanczos window function

Parameter Glossary

Image library function definitions use the following parameters.

alpha   Alpha (RGBA transparency) constant value.
anchor   A pixel locating the kernel (mask) according to source image.
angle   Specifies the rotation angle in degrees, counterclockwise.
axis   An enumeration that describes the type of gradiation in ImageRamp functions.
border   The set of source image boundary pixels.
borderType   Specifies a boundary type.
borderValue   A constant value assigned to the pixels in a constant border (not used by any other border type).
borderValue[3]   A three-channel constant value assigned to the pixels in a constant border (not used by any other border type).
bound[2][2]   Boundary rectangle vertex coordinates for a transformed source ROI.
coeffs[2][3]   Coefficients for Warp Affine transform.
coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
coeffs[3]   Transformation coefficient values.
coeffs[3][3]   Coefficients for Warp Affine Perspective transform.
const   Constant value.
cubeDimensions   dimensions of the 3D-LUT cube in x, y and z directions .(eg. (17,17,17), (33,33,33) etc)
cubeMax   The maximum values that can occur in 3D-LUT cube in x, y and z directions.(eg. (1023,1023,1023),4095,4095,4095) for 10 bit and 12 bit outputs respectively)
divisor   An integer value by which a result is divided.
dst1Step   Destination buffer one step size (width of the buffer in bytes).
dst2Step   Destination buffer two step size (width of the buffer in bytes).
dstOrder[3]   Specifies destination buffer channel order. For example, dstOrder[1] = 0 indicates that source channel 0 is destination channel 1.
dstQuad[4][2]   Destination quadrangle vertex coordinates.
dstRoi   Destination image ROI.
dstRoiSize   Destination image ROI size.
dstSize   Destination image size.
dstStep   Destination buffer step size (width of the buffer in bytes).
dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
eps   Tolerance value.
flip   Image mirror flip mode.
fwCmpOp   Specifies a comparison operation to be performed (fwCmpLess, fwCmpGreater, fwCmpLessEq, fwCmpEq, or fwCmpGreaterEq).
heightPixels   Height of an image (number of pixels in one column of image).
hint   Suggests a level of precision using one of the following values (fwAlgHintNone, fwAlgHintFast, fwAlgHintAccurate).
imgSize   Specifies the dimensions of an entire image.
interpolation   Specifies the method of interpolation.
kernelSize   Specifies the size of the kernel used in calculations.
mask   An analysis window (only non-zero mask array values are processed).
maskSize   Specifies the size of a mask used in calculations.
maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
nChannel   Number of channels in the image.
offset   A floating-point value that specifies the starting offset for ImageRamp functions.
pBuffer   Pointer to the location of a temporary buffer.
pBufferSize   Pointer to the size of a temporary buffer.
pCube   Pointer to the 3d_LUT cube. The pixel values in the table should be filled along z-axis first, then along y-axis and finally along x-axis
pDst   Pointer to a location in a destination buffer.
pDst1   Pointer to a location in destination buffer one.
pDst2   Pointer to a location in destination buffer two.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pKernel   Pointer to the kernel array.
pLUTSpec   pointer to the FwiLUTSpec structure
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
pSize   Pointer to the size of an internal structure.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
pState   Pointer to the morphology state structure.
pStepBytes   Pointer to the step size, in bytes.
pSum   Pointer to the sum of values.
ppDst   Double pointer to the destination image ROI.
ppLUTSpec   pointer to a pointer to FwiLUTSpec structure
ppState   Double pointer to the morphology state structure.
ptr   Pointer to a buffer.
pxMap   Pointer to X axis mapping table array.
pyMap   Pointer to Y axis mapping table array.
quad[4][2]   Quadrangle vertex coordinates.
roiSize   Specifies the height and width of an ROI.
roiWidth   Width of ROI image in pixels.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
slope   A floating-point value that specifies the amount of gradiation in ImageRamp functions.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcQuad[4][2]   Source quadrangle vertex coordinates.
srcRoi   Source image ROI.
srcSize   Source image size.
srcSize1   Specifies the size of source image one.
srcSize2   Specifies the size of source image two.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep1   Source image one step size (width of the buffer in bytes).
srcStep2   Source image two step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).
threshold   Threshold for each pixel.
thresholdGT   Three-channel threshold for each pixel in greater-than operation.
thresholdGT[3]   Three-channel threshold for each pixel in greater-than operation.
thresholdLT   Threshold for each pixel in less-than operation.
thresholdLT[3]   Three-channel threshold for each pixel in less-than operation.
threshold[3]   Three-channel threshold for each pixel.
threshold[4]   Four-channel threshold for each pixel.
vMax   Maximum value.
vMin   Minimum value.
value   Specified value.
valueGT   Threshold for each pixel in greater-than operation.
valueGT[3]   Three-channel threshold for each pixel in greater-than operation.
valueLT   Threshold for each pixel in less-than operation.
valueLT[3]   Three-channel threshold for each pixel in less-than operation.
value[3]   An array of three specified values.
value[4]   An array of four specified values.
widthPixels   Width of an image (number of pixels in one row of image).
xAnchor   Anchor cell that specifies the horizontal alignment of the kernel with respect to the input pixel.
xCenter   X coordinate of center.
xFactor   Factor value for X axis direction.
xFr   Inverse factor value for X axis direction.
xMapStep   X axis mapping table step size (width of the buffer in bytes).
xShear   Shear value for X axis in Shear transformation.
xShift   Shift value for X axis direction.
yAnchor   Anchor cell that specifies the vertical alignment of the kernel with respect to the input pixel.
yCenter   Y coordinate of center.
yFactor   Factor value for Y axis direction .
yFr   Inverse factor value for Y axis direction .
yMapStep   Y axis mapping table step size (width of the buffer in bytes).
yShear   Shear value for Y axis in Shear transformation.
yShift   Shift value for Y axis direction.

Library Version

This chapter describes the function that provides library version information.

GetLibVersion

Get library version

Synopsis

const FwLibraryVersion*   fwiGetLibVersion (    );

Description

This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.

Support Functions

This chapter describes FW functions that support other FW functions.

Malloc

Memory allocation

Synopsis

Fw8u *   fwiMalloc_8u_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw8u *   fwiMalloc_8u_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw8u *   fwiMalloc_8u_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw8u *   fwiMalloc_8u_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw8u *   fwiMalloc_8u_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16u *   fwiMalloc_16u_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16u *   fwiMalloc_16u_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16u *   fwiMalloc_16u_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16u *   fwiMalloc_16u_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16u *   fwiMalloc_16u_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16s*   fwiMalloc_16s_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16s*   fwiMalloc_16s_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16s*   fwiMalloc_16s_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16s*   fwiMalloc_16s_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw16s*   fwiMalloc_16s_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32s*   fwiMalloc_32s_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32s*   fwiMalloc_32s_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32s*   fwiMalloc_32s_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32s*   fwiMalloc_32s_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32s*   fwiMalloc_32s_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32f*   fwiMalloc_32f_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32f*   fwiMalloc_32f_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32f*   fwiMalloc_32f_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32f*   fwiMalloc_32f_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32f*   fwiMalloc_32f_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32sc*   fwiMalloc_32sc_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32sc*   fwiMalloc_32sc_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32sc*   fwiMalloc_32sc_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32sc*   fwiMalloc_32sc_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32sc*   fwiMalloc_32sc_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32fc*   fwiMalloc_32fc_C1 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32fc*   fwiMalloc_32fc_C2 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32fc*   fwiMalloc_32fc_C3 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32fc*   fwiMalloc_32fc_C4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );
Fw32fc*   fwiMalloc_32fc_AC4 ( int  widthPixelsint  heightPixelsint *  pStepBytes );

Parameters

heightPixels   Height of an image (number of pixels in one column of image).
pStepBytes   Pointer to the step size, in bytes.
widthPixels   Width of an image (number of pixels in one row of image).

Description

These functions allocate memory for image processing. Every row is aligned to 32-bit boundaries. Zero-padding is used to force alignment.

Free

Free allocated memory

Synopsis

void   fwiFree ( void *  ptr );

Parameters

ptr   Pointer to a buffer.

Description

These functions free memory allocated by the Malloc functions.

Image Data Exchange and Initialization Functions

This chapter describes functions that set the initial value of an image data buffer, copy data from one buffer to another, convert data type, and scale image data.

Note: All the data exchange and initialization functions support negative step sizes. Negative step sizes can be used to "flip" data copied from a source buffer to a destination buffer. This is a common requirement when displaying a BMP image. To flip an image horizontally, call the copy function with pSrc pointing to the last row of the source buffer, a negative srcStep, pDst pointing to the start of the destination buffer, and a positive dstStep.

Convert

Convert data from one type to another

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiConvert_8u16u_C1R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16u_C4R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16u_AC4R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16s_C3R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16s_C4R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u16s_AC4R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32s_C1R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32s_C3R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32s_C4R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32s_AC4R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32s_C1R ( const Fw8s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32s_C3R ( const Fw8s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32s_C4R ( const Fw8s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32s_AC4R ( const Fw8s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32s_C1R ( const Fw16u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32s_C3R ( const Fw16u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32s_C4R ( const Fw16u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32s_AC4R ( const Fw16u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32f_C1R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32f_C3R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32f_C4R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8u32f_AC4R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32f_C1R ( const Fw8s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32f_C3R ( const Fw8s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32f_C4R ( const Fw8s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_8s32f_AC4R ( const Fw8s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32f_C1R ( const Fw16u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32f_C3R ( const Fw16u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32f_C4R ( const Fw16u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u32f_AC4R ( const Fw16u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s32f_C1R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s32f_C3R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s32f_C4R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s32f_AC4R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u8u_C1R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u8u_C3R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u8u_C4R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16u8u_AC4R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s8u_C1R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s8u_C3R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s8u_C4R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_16s8u_AC4R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8u_C1R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8u_C3R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8u_C4R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8u_AC4R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8s_C1R ( const Fw32s *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8s_C3R ( const Fw32s *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8s_C4R ( const Fw32s *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32s8s_AC4R ( const Fw32s *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8u_C1R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8u_C3R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8u_C4R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8u_AC4R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8s_C1R ( const Fw32f *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8s_C3R ( const Fw32f *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8s_C4R ( const Fw32f *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f8s_AC4R ( const Fw32f *  pSrcint  srcStepFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16s_C1R ( const Fw32f *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16s_C3R ( const Fw32f *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16s_C4R ( const Fw32f *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16s_AC4R ( const Fw32f *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16u_C1R ( const Fw32f *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16u_C3R ( const Fw32f *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16u_C4R ( const Fw32f *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiConvert_32f16u_AC4R ( const Fw32f *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data to another data type, and write the converted data to a destination buffer.

Copy

Copy values

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiCopy_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C3AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_AC4C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C3CR ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C4CR ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C3C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C4C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C1C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C1C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C3AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_AC4C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C3CR ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C4CR ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C3C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C4C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C1C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C1C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C3R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_AC4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C3AC4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_AC4C3R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C3CR ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C4CR ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C3C1R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C4C1R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C1C3R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C1C4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C3AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_AC4C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C3CR ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C4CR ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C3C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C4C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C1C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C1C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C4P4R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_P4C4R ( const Fw8u * const  pSrc[4]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C3P3R ( const Fw16s *  pSrcint  srcStepFw16s * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_C4P4R ( const Fw16s *  pSrcint  srcStepFw16s * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_P3C3R ( const Fw16s * const  pSrc[3]int  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_16s_P4C4R ( const Fw16s * const  pSrc[4]int  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C3P3R ( const Fw32s *  pSrcint  srcStepFw32s * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_C4P4R ( const Fw32s *  pSrcint  srcStepFw32s * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_P3C3R ( const Fw32s * const  pSrc[3]int  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32s_P4C4R ( const Fw32s * const  pSrc[4]int  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C3P3R ( const Fw32f *  pSrcint  srcStepFw32f * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_C4P4R ( const Fw32f *  pSrcint  srcStepFw32f * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_P3C3R ( const Fw32f * const  pSrc[3]int  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_32f_P4C4R ( const Fw32f * const  pSrc[4]int  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiCopy_8u_C1MR ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_8u_C3MR ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_8u_C4MR ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_8u_AC4MR ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_16s_C1MR ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_16s_C3MR ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_16s_C4MR ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_16s_AC4MR ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32s_C1MR ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32s_C3MR ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32s_C4MR ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32s_AC4MR ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32f_C1MR ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32f_C3MR ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32f_C4MR ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiCopy_32f_AC4MR ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and copy the source data to a destination buffer.

Swap

Change channel order

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiSwapChannels_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_32s_C3R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_32s_AC4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst int  dstOrder[3] );
FwStatus   fwiSwapChannels_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst int  dstOrder[3] );

Parameters

dstOrder[3]   Specifies destination buffer channel order. For example, dstOrder[1] = 0 indicates that source channel 0 is destination channel 1.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, swap the source buffer channels as specified by the destination order, and write the channel data to the destination buffer.

For example, dstOrder[1] = 0 places channel 0 in the source buffer into channel 1 of the destination buffer.

ZigZag

Convert to and from zigzag order

Supported Technologies

MT

Synopsis

FwStatus   fwiZigzagFwd8x8_16s_C1 ( const Fw16s *  pSrcFw16s *  pDst );
FwStatus   fwiZigzagInv8x8_16s_C1 ( const Fw16s *  pSrcFw16s *  pDst );

Parameters

pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.

Description

These functions convert to and from zigzag order.

The forward version of the function converts an 8X8 image block from conventional order to zigzag order.

The inverse version of the function converts an 8X8 image block from zigzag order to conventional order.

Set

Set buffer to a value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiSet_8u_C1R ( Fw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_8u_C3R ( const Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_8u_AC4R ( const Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_8u_C4R ( const Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_8u_C3CR ( Fw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_8u_C4CR ( Fw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_16s_C1R ( Fw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_16s_C3R ( const Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_16s_AC4R ( const Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_16s_C4R ( const Fw16s  value[4]Fw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_16s_C3CR ( Fw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_16s_C4CR ( Fw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32s_C1R ( Fw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32s_C3R ( const Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32s_AC4R ( const Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32s_C4R ( const Fw32s  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32s_C3CR ( Fw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32s_C4CR ( Fw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32f_C1R ( Fw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32f_C3R ( const Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32f_AC4R ( const Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32f_C4R ( const Fw32f  value[4]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32f_C3CR ( Fw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_32f_C4CR ( Fw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSet_8u_C1MR ( Fw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_8u_C3MR ( const Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_8u_AC4MR ( const Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_8u_C4MR ( const Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_16s_C1MR ( Fw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_16s_C3MR ( const Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_16s_AC4MR ( const Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_16s_C4MR ( const Fw16s  value[4]Fw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32s_C1MR ( Fw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32s_C3MR ( const Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32s_AC4MR ( const Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32s_C4MR ( const Fw32s  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32f_C1MR ( Fw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32f_C3MR ( const Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32f_AC4MR ( const Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );
FwStatus   fwiSet_32f_C4MR ( const Fw32f  value[4]Fw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw8u *  pMaskint  maskStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
roiSize   Specifies the height and width of an ROI.
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions write a specified value to a destination buffer.

Scale

Scale buffer data

Supported Technologies

MT

Synopsis

FwStatus   fwiScale_8u16u_C1R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16u_C4R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16u_AC4R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16s_C3R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16s_C4R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u16s_AC4R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u32s_C1R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u32s_C3R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u32s_C4R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_8u32s_AC4R ( const Fw8u *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiScale_16u8u_C1R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16u8u_C3R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16u8u_C4R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16u8u_AC4R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16s8u_C1R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16s8u_C3R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16s8u_C4R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_16s8u_AC4R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_32s8u_C1R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_32s8u_C3R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_32s8u_C4R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_32s8u_AC4R ( const Fw32s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwHintAlgorithm  hint );
FwStatus   fwiScale_8u32f_C1R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_8u32f_C3R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_8u32f_C4R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_8u32f_AC4R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_32f8u_C1R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_32f8u_C3R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_32f8u_C4R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );
FwStatus   fwiScale_32f8u_AC4R ( const Fw32f *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  vMinFw32f  vMax );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
hint   Suggests a level of precision using one of the following values (fwAlgHintNone, fwAlgHintFast, fwAlgHintAccurate).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
vMax   Maximum value.
vMin   Minimum value.

Description

These functions step through an ROI in a source buffer, scale the source data, and write the scaled data to a destination buffer.

The output is scaled so that the median value in the source range is the median value in the destination range.

Arithmetic and Logic Functions

This chapter describes general-purpose mathematic functions and functions that perform specific mathematic operations related to image processing.

Note: All the arithmetic and logic functions support negative step sizes. Negative step sizes can be used to "flip" data copied from a source buffer to a destination buffer. This is a common requirement when displaying a BMP image. To flip an image horizontally, call the copy function with pSrc pointing to the last row of the source buffer, a negative srcStep, pDst pointing to the start of the destination buffer, and a positive dstStep.

Abs

Get absolute value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAbs_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_C4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbs_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and calculate the absolute value of the source data.

The results can be written to a destination buffer, or back to the source buffer.

AbsDiff

Absolute difference of two source values

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAbsDiff_8u_C1R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbsDiff_16u_C1R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAbsDiff_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers, calculate the absolute value of the difference between the data in source buffer 1 and the data in source buffer 2, and write the results to a destination buffer.

AbsDiffC

Absolute difference of a source value and a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAbsDiffC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  value );
FwStatus   fwiAbsDiffC_16u_C1R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  value );
FwStatus   fwiAbsDiffC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  value );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.

Description

These functions step through an ROI in a source buffer, calculate the absolute value of the difference between the source data and a specified constant, and write the result to a destination buffer.

Add

Add

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAdd_8u_C1IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_8u_C3IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_8u_C4IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_8u_AC4IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_C1IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_C3IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_C4IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_AC4IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16sc_C1IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16sc_C3IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16sc_AC4IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32sc_C1IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32sc_C3IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32sc_AC4IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32f_C1IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_C3IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_C4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_AC4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32fc_C1IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32fc_C3IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32fc_AC4IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_8u32f_C1IR ( const Fw8u *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_8s32f_C1IR ( const Fw8s *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_16u32f_C1IR ( const Fw16u *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_8u32f_C1IMR ( const Fw8u *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_8s32f_C1IMR ( const Fw8s *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_16u32f_C1IMR ( const Fw16u *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_C1IMR ( const Fw32f *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAdd_8u_C1RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_8u_C3RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_8u_C4RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_8u_AC4RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_C1RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_C3RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_C4RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16s_AC4RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16sc_C1RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16sc_C3RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_16sc_AC4RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32sc_C1RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32sc_C3RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32sc_AC4RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAdd_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_C3R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_C4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAdd_32f_AC4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAdd_32fc_C1R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAdd_32fc_C3R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAdd_32fc_AC4R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and add the data in buffer 2 to the data in buffer 1.

The sum can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results. Other versions add signed and unsigned integers and write 32-bit floating point results; variations of these functions can also perform a masking operation before writing the results.

AddC

Add constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAddC_8u_C1IRSfs ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_8u_C3IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_8u_AC4IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_8u_C4IRSfs ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_C1IRSfs ( Fw16s  valueFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_C3IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_AC4IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_C4IRSfs ( const Fw16s  value[4]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16sc_C1IRSfs ( Fw16sc  valueFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16sc_C3IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16sc_AC4IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32sc_C1IRSfs ( Fw32sc  valueFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32sc_C3IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32sc_AC4IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32f_C1IR ( Fw32f  valueFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_32f_C3IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_32f_AC4IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_32f_C4IR ( const Fw32f  value[4]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_32fc_C1IR ( Fw32fc  valueFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_32fc_C3IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_32fc_AC4IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddC_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_8u_AC4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_8u_C4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_AC4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16s_C4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[4]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16sc_C1RSfs ( const Fw16sc *  pSrcint  srcStepFw16sc  valueFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16sc_C3RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_16sc_AC4RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32sc_C1RSfs ( const Fw32sc *  pSrcint  srcStepFw32sc  valueFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32sc_C3RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32sc_AC4RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiAddC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAddC_32f_C3R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAddC_32f_AC4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAddC_32f_C4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[4]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAddC_32fc_C1R ( const Fw32fc *  pSrcint  srcStepFw32fc  valueFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAddC_32fc_C3R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAddC_32fc_AC4R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and add a specified constant value to the source data.

The sum can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

AddProduct

Add product

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiAddProduct_8u32f_C1IR ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_8s32f_C1IR ( const Fw8s *  pSrc1int  src1Stepconst Fw8s *  pSrc2int  src2StepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_16u32f_C1IR ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_32f_C1IR ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_8u32f_C1IMR ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2Stepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_8s32f_C1IMR ( const Fw8s *  pSrc1int  src1Stepconst Fw8s *  pSrc2int  src2Stepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_16u32f_C1IMR ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2Stepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddProduct_32f_C1IMR ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2Stepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );

Parameters

maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

These functions step through ROIs in two source buffers, add the product of the data in buffer 1 and the data in buffer 2 to the data in buffer 1, and write the sum back to the source location.

There are versions of the functions that perform a masking operation before writing the results.

AddSquare

Add square

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiAddSquare_8u32f_C1IR ( const Fw8u *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_8s32f_C1IR ( const Fw8s *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_16u32f_C1IR ( const Fw16u *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_32f_C1IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_8u32f_C1IMR ( const Fw8u *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_8s32f_C1IMR ( const Fw8s *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_16u32f_C1IMR ( const Fw16u *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAddSquare_32f_C1IMR ( const Fw32f *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );

Parameters

maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers, add the square of the data in buffer 1 to the data in buffer 2, and write the sum back to the source location.

There are versions of the functions that perform a masking operation before writing the results.

AddWeighted

Add weighted

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiAddWeighted_8u32f_C1IR ( const Fw8u *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_8s32f_C1IR ( const Fw8s *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_16u32f_C1IR ( const Fw16u *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_32f_C1IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_8u32f_C1IMR ( const Fw8u *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_8s32f_C1IMR ( const Fw8s *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_16u32f_C1IMR ( const Fw16u *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );
FwStatus   fwiAddWeighted_32f_C1IMR ( const Fw32f *  pSrcint  srcStepconst Fw8u *  pMaskint  maskStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  alpha );

Parameters

alpha   Alpha (RGBA transparency) constant value.
maskStep   Mask buffer step size in bytes (width of the buffer in bytes).
pMask   Pointer to a location in a buffer that contains a mask to be used in the operation.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers, multiply the data in buffer 1 by an alpha scaling factor, multiply the data in buffer 2 by a scaling factor of 1 minus alpha, add the two products, and write the sum back to the source location.

There are versions of the functions that perform a masking operation before writing the results.

Div

Divide

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiDiv_8u_C1IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_8u_C3IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16s_C1IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16s_C3IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16sc_C1IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16sc_C3IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16sc_AC4IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32sc_C1IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32sc_C3IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32sc_AC4IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32f_C1IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_32f_C3IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_32f_C4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_32f_AC4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_32fc_C1IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_32fc_C3IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_32fc_AC4IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDiv_8u_C1RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_8u_C3RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16s_C1RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16s_C3RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16sc_C1RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16sc_C3RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_16sc_AC4RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32sc_C1RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32sc_C3RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32sc_AC4RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDiv_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDiv_32f_C3R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDiv_32f_C4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDiv_32f_AC4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDiv_32fc_C1R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDiv_32fc_C3R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDiv_32fc_AC4R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and divide the data in buffer 2 by the data in buffer 1.

The quotient can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

DivC

Divide by a constant

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiDivC_8u_C1IRSfs ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_8u_C3IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_8u_AC4IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16s_C1IRSfs ( Fw16s  valueFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16s_C3IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16s_AC4IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16sc_C1IRSfs ( Fw16sc  valueFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16sc_C3IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16sc_AC4IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32sc_C1IRSfs ( Fw32sc  valueFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32sc_C3IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32sc_AC4IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32f_C1IR ( Fw32f  valueFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDivC_32f_C3IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDivC_32f_AC4IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDivC_32fc_C1IR ( Fw32fc  valueFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDivC_32fc_C3IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDivC_32fc_AC4IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiDivC_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_8u_AC4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16s_AC4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16sc_C1RSfs ( const Fw16sc *  pSrcint  srcStepFw16sc  valueFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16sc_C3RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_16sc_AC4RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32sc_C1RSfs ( const Fw32sc *  pSrcint  srcStepFw32sc  valueFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32sc_C3RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32sc_AC4RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiDivC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDivC_32f_C3R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDivC_32f_AC4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDivC_32fc_C1R ( const Fw32fc *  pSrcint  srcStepFw32fc  valueFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDivC_32fc_C3R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiDivC_32fc_AC4R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.

Description

These functions step through an ROI in a source buffer and divide the source data by a constant value.

The quotient can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

Exp

Raise base e to a power

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiExp_8u_C1IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_8u_C3IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_16s_C1IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_16s_C3IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiExp_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiExp_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiExp_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiExp_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and raise the base e to the power specified by the source data.

Results can be written back to the source location or to a destination buffer.

The 8-bit unsigned and 16-bit signed versions of the functions perform an integer scaling operation before writing the results.

These functions are the inverses of the Ln functions.

Ln

Natural logarithm

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiLn_8u_C1IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_8u_C3IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_16s_C1IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_16s_C3IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLn_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLn_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiLn_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLn_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and calculate the natural logarithms of the source data.

Results can be written back to the source location or to a destination buffer.

The 8-bit unsigned and 16-bit signed versions of the functions perform an integer scaling operation before writing the results.

Mul

Multiply

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiMul_8u_C1IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_8u_C3IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_8u_C4IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_8u_AC4IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_C1IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_C3IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_C4IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_AC4IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16sc_C1IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16sc_C3IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16sc_AC4IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32sc_C1IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32sc_C3IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32sc_AC4IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32f_C1IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_32f_C3IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_32f_C4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_32f_AC4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_32fc_C1IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_32fc_C3IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_32fc_AC4IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMul_8u_C1RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_8u_C3RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_8u_C4RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_8u_AC4RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_C1RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_C3RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_C4RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16s_AC4RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16sc_C1RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16sc_C3RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_16sc_AC4RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32sc_C1RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32sc_C3RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32sc_AC4RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMul_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMul_32f_C3R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMul_32f_C4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMul_32f_AC4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMul_32fc_C1R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMul_32fc_C3R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMul_32fc_AC4R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and multiply the data in buffer 1 by the data in buffer 2.

The product can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

MulC

Multiply by a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiMulC_8u_C1IRSfs ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_8u_C3IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_8u_AC4IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_8u_C4IRSfs ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_C1IRSfs ( Fw16s  valueFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_C3IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_AC4IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_C4IRSfs ( const Fw16s  value[4]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16sc_C1IRSfs ( Fw16sc  valueFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16sc_C3IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16sc_AC4IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32sc_C1IRSfs ( Fw32sc  valueFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32sc_C3IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32sc_AC4IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32f_C1IR ( Fw32f  valueFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_32f_C3IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_32f_AC4IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_32f_C4IR ( const Fw32f  value[4]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_32fc_C1IR ( Fw32fc  valueFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_32fc_C3IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_32fc_AC4IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulC_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_8u_AC4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_8u_C4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_AC4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16s_C4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[4]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16sc_C1RSfs ( const Fw16sc *  pSrcint  srcStepFw16sc  valueFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16sc_C3RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_16sc_AC4RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32sc_C1RSfs ( const Fw32sc *  pSrcint  srcStepFw32sc  valueFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32sc_C3RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32sc_AC4RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiMulC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulC_32f_C3R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulC_32f_AC4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulC_32f_C4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[4]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulC_32fc_C1R ( const Fw32fc *  pSrcint  srcStepFw32fc  valueFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulC_32fc_C3R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulC_32fc_AC4R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and multiply the source data by a specified constant value.

The product can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

MulScale

Multiply with scaling

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiMulScale_8u_C1IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_C3IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_C4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_AC4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_C1IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_C3IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_C4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_AC4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_C1R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_C3R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_C4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_8u_AC4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_C1R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_C3R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_C4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulScale_16u_AC4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers, multiply the data in buffer 1 by the data in buffer 2, then divide the product by a scaling factor equal to the upper bound of the range of values that can be represented by the source data type.

Results can be written back to the source location or to a destination buffer.

MulCScale

Multiply by constant with scaling

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiMulCScale_8u_C1IR ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_C3IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_AC4IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_C4IR ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_C1IR ( Fw16u  valueFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_C3IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_AC4IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_C4IR ( const Fw16u  value[4]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_C1R ( const Fw16u *  pSrcint  srcStepFw16u  valueFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_C3R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_AC4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiMulCScale_16u_C4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer, multiply the source data by a specified constant value, then divide the product by a scaling factor equal to the upper bound of the range of values that can be represented by the source data type.

Results can be written back to the source location or to a destination buffer.

Sqr

Square

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiSqr_8u_C1IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_8u_C3IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_8u_C4IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_8u_AC4IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_C1IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_C3IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_C4IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_AC4IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_C1IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_C3IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_C4IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_AC4IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqr_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqr_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqr_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqr_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_8u_C4RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_8u_AC4RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_C1RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_C3RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_C4RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16u_AC4RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_C4RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_16s_AC4RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqr_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSqr_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSqr_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and calculate the square of the source data.

Results can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit unsigned, and 16-bit signed versions of the functions perform an integer scaling operation before writing the results.

Sqrt

Square root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiSqrt_8u_C1IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_8u_C3IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_8u_AC4IRSfs ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16s_C1IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16s_C3IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16s_AC4IRSfs ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16u_C1IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16u_C3IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16u_AC4IRSfs ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqrt_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqrt_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqrt_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSqrt_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_8u_AC4RSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16s_AC4RSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16u_C1RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16u_C3RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_16u_AC4RSfs ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSqrt_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSqrt_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSqrt_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and calculate the square root of the source data.

Results can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit unsigned, and 16-bit signed versions of the functions perform an integer scaling operation before writing the results.

Sub

Subtract

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiSub_8u_C1IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_8u_C3IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_8u_C4IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_8u_AC4IRSfs ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_C1IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_C3IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_C4IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_AC4IRSfs ( const Fw16s *  pSrcint  srcStepFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16sc_C1IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16sc_C3IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16sc_AC4IRSfs ( const Fw16sc *  pSrcint  srcStepFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32sc_C1IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32sc_C3IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32sc_AC4IRSfs ( const Fw32sc *  pSrcint  srcStepFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32f_C1IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_32f_C3IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_32f_C4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_32f_AC4IR ( const Fw32f *  pSrcint  srcStepFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_32fc_C1IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_32fc_C3IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_32fc_AC4IR ( const Fw32fc *  pSrcint  srcStepFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSub_8u_C1RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_8u_C3RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_8u_C4RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_8u_AC4RSfs ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_C1RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_C3RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_C4RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16s_AC4RSfs ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16sc_C1RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16sc_C3RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_16sc_AC4RSfs ( const Fw16sc *  pSrc1int  src1Stepconst Fw16sc *  pSrc2int  src2StepFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32sc_C1RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32sc_C3RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32sc_AC4RSfs ( const Fw32sc *  pSrc1int  src1Stepconst Fw32sc *  pSrc2int  src2StepFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSub_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSub_32f_C3R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSub_32f_C4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSub_32f_AC4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSub_32fc_C1R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSub_32fc_C3R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSub_32fc_AC4R ( const Fw32fc *  pSrc1int  src1Stepconst Fw32fc *  pSrc2int  src2StepFw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and subtract the data in buffer 1 from the data in buffer 2.

The difference can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

SubC

Subtract a constant value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiSubC_8u_C1IRSfs ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_8u_C3IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_8u_AC4IRSfs ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_8u_C4IRSfs ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_C1IRSfs ( Fw16s  valueFw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_C3IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_AC4IRSfs ( const Fw16s  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_C4IRSfs ( const Fw16s  value[4]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16sc_C1IRSfs ( Fw16sc  valueFw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16sc_C3IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16sc_AC4IRSfs ( const Fw16sc  value[3]Fw16sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32sc_C1IRSfs ( Fw32sc  valueFw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32sc_C3IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32sc_AC4IRSfs ( const Fw32sc  value[3]Fw32sc *  pSrcDstint  srcDstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32f_C1IR ( Fw32f  valueFw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_32f_C3IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_32f_AC4IR ( const Fw32f  value[3]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_32f_C4IR ( const Fw32f  value[4]Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_32fc_C1IR ( Fw32fc  valueFw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_32fc_C3IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_32fc_AC4IR ( const Fw32fc  value[3]Fw32fc *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiSubC_8u_C1RSfs ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_8u_C3RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_8u_AC4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_8u_C4RSfs ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_C1RSfs ( const Fw16s *  pSrcint  srcStepFw16s  valueFw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_C3RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_AC4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16s_C4RSfs ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[4]Fw16s *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16sc_C1RSfs ( const Fw16sc *  pSrcint  srcStepFw16sc  valueFw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16sc_C3RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_16sc_AC4RSfs ( const Fw16sc *  pSrcint  srcStepconst Fw16sc  value[3]Fw16sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32sc_C1RSfs ( const Fw32sc *  pSrcint  srcStepFw32sc  valueFw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32sc_C3RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32sc_AC4RSfs ( const Fw32sc *  pSrcint  srcStepconst Fw32sc  value[3]Fw32sc *  pDstint  dstStepFwiSize  roiSizeint  scaleFactor );
FwStatus   fwiSubC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f  valueFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSubC_32f_C3R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSubC_32f_AC4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSubC_32f_C4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[4]Fw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSubC_32fc_C1R ( const Fw32fc *  pSrcint  srcStepFw32fc  valueFw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSubC_32fc_C3R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiSubC_32fc_AC4R ( const Fw32fc *  pSrcint  srcStepconst Fw32fc  value[3]Fw32fc *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
scaleFactor   Specifies the integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and subtract a specified constant value from the source data.

The difference can be written back to the source location or to a destination buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

And

AND

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAnd_8u_C1IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_C3IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_C4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_AC4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_C1IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_C3IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_C4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_AC4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_C1IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_C3IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_C4IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_AC4IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_C1R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_C3R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_C4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_8u_AC4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_C1R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_C3R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_C4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_16u_AC4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_C1R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_C3R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_C4R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAnd_32s_AC4R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and perform a bitwise logical AND of the data in buffer 1 and the data in buffer 2.

The results can be written back to the source location or to a destination buffer.

AndC

AND with constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiAndC_8u_C1IR ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_C3IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_AC4IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_C4IR ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_C1IR ( Fw16u  valueFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_C3IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_AC4IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_C4IR ( const Fw16u  value[4]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_C1IR ( Fw32s  valueFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_C3IR ( const Fw32s  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_AC4IR ( const Fw32s  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_C4IR ( const Fw32s  value[4]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_C1R ( const Fw16u *  pSrcint  srcStepFw16u  valueFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_C3R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_AC4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_16u_C4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_C3R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_AC4R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiAndC_32s_C4R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and perform a bitwise logical AND of the source data and a specified constant.

The results can be written back to the source location or to a destination buffer.

Comp

Complement

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiComplement_32s_C1IR ( Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );

Parameters

pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function steps through an ROI in a source buffer, performs a logical complementation of the source data, and writes the results back to the source location.

Not

NOT

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiNot_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_C4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiNot_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and perform a bitwise negation of the source data.

The results can be written back to the source location or to a destination buffer.

Or

OR

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiOr_8u_C1IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_C3IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_C4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_AC4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_C1IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_C3IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_C4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_AC4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_C1IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_C3IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_C4IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_AC4IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_C1R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_C3R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_C4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_8u_AC4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_C1R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_C3R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_C4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_16u_AC4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_C1R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_C3R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_C4R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOr_32s_AC4R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and perform a bitwise inclusive logical OR of the data in buffer 1 and the data in buffer 2.

The results can be written back to the source location or to a destination buffer.

OrC

OR with constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiOrC_8u_C1IR ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_C3IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_AC4IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_C4IR ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_C1IR ( Fw16u  valueFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_C3IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_AC4IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_C4IR ( const Fw16u  value[4]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_C1IR ( Fw32s  valueFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_C3IR ( const Fw32s  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_AC4IR ( const Fw32s  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_C4IR ( const Fw32s  value[4]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_C1R ( const Fw16u *  pSrcint  srcStepFw16u  valueFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_C3R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_AC4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_16u_C4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_C3R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_AC4R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiOrC_32s_C4R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and perform a bitwise inclusive logical OR of the source data and a specified constant.

The results can be written back to the source location or to a destination buffer.

LShiftC

Left shift by a constant value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiLShiftC_8u_C1IR ( Fw32u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_C3IR ( const Fw32u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_AC4IR ( const Fw32u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_C4IR ( const Fw32u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_C1IR ( Fw32u  valueFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_C3IR ( const Fw32u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_AC4IR ( const Fw32u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_C4IR ( const Fw32u  value[4]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_C1IR ( Fw32u  valueFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_C3IR ( const Fw32u  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_AC4IR ( const Fw32u  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_C4IR ( const Fw32u  value[4]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw32u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw32u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw32u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw32u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_C1R ( const Fw16u *  pSrcint  srcStepFw32u  valueFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_C3R ( const Fw16u *  pSrcint  srcStepconst Fw32u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_AC4R ( const Fw16u *  pSrcint  srcStepconst Fw32u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_16u_C4R ( const Fw16u *  pSrcint  srcStepconst Fw32u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32u  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_C3R ( const Fw32s *  pSrcint  srcStepconst Fw32u  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_AC4R ( const Fw32s *  pSrcint  srcStepconst Fw32u  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLShiftC_32s_C4R ( const Fw32s *  pSrcint  srcStepconst Fw32u  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and shift the bits of the source data a specified number of bit positions to the left.

The results can be written back to the source location or to a destination buffer.

Left-shifting is equivalent to multiplying by 2 to the constant power.

RShiftC

Right shift by a constant value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiRShiftC_8u_C1IR ( Fw32u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_C3IR ( const Fw32u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_AC4IR ( const Fw32u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_C4IR ( const Fw32u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_C1IR ( Fw32u  valueFw8s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_C3IR ( const Fw32u  value[3]Fw8s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_AC4IR ( const Fw32u  value[3]Fw8s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_C4IR ( const Fw32u  value[4]Fw8s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_C1IR ( Fw32u  valueFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_C3IR ( const Fw32u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_AC4IR ( const Fw32u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_C4IR ( const Fw32u  value[4]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_C1IR ( Fw32u  valueFw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_C3IR ( const Fw32u  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_AC4IR ( const Fw32u  value[3]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_C4IR ( const Fw32u  value[4]Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_C1IR ( Fw32u  valueFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_C3IR ( const Fw32u  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_AC4IR ( const Fw32u  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_C4IR ( const Fw32u  value[4]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw32u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw32u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw32u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw32u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_C1R ( const Fw8s *  pSrcint  srcStepFw32u  valueFw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_C3R ( const Fw8s *  pSrcint  srcStepconst Fw32u  value[3]Fw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_AC4R ( const Fw8s *  pSrcint  srcStepconst Fw32u  value[3]Fw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_8s_C4R ( const Fw8s *  pSrcint  srcStepconst Fw32u  value[4]Fw8s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_C1R ( const Fw16u *  pSrcint  srcStepFw32u  valueFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_C3R ( const Fw16u *  pSrcint  srcStepconst Fw32u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_AC4R ( const Fw16u *  pSrcint  srcStepconst Fw32u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16u_C4R ( const Fw16u *  pSrcint  srcStepconst Fw32u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_C1R ( const Fw16s *  pSrcint  srcStepFw32u  valueFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_C3R ( const Fw16s *  pSrcint  srcStepconst Fw32u  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_AC4R ( const Fw16s *  pSrcint  srcStepconst Fw32u  value[3]Fw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_16s_C4R ( const Fw16s *  pSrcint  srcStepconst Fw32u  value[4]Fw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32u  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_C3R ( const Fw32s *  pSrcint  srcStepconst Fw32u  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_AC4R ( const Fw32s *  pSrcint  srcStepconst Fw32u  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRShiftC_32s_C4R ( const Fw32s *  pSrcint  srcStepconst Fw32u  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and shift the bits of the source data a specified number of bit positions to the right.

The results can be written back to the source location or to a destination buffer.

Xor

XOR

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiXor_8u_C1IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_C3IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_C4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_AC4IR ( const Fw8u *  pSrcint  srcStepFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_C1IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_C3IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_C4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_AC4IR ( const Fw16u *  pSrcint  srcStepFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_C1IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_C3IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_C4IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_AC4IR ( const Fw32s *  pSrcint  srcStepFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_C1R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_C3R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_C4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_8u_AC4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_C1R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_C3R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_C4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_16u_AC4R ( const Fw16u *  pSrc1int  src1Stepconst Fw16u *  pSrc2int  src2StepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_C1R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_C3R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_C4R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXor_32s_AC4R ( const Fw32s *  pSrc1int  src1Stepconst Fw32s *  pSrc2int  src2StepFw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and perform a bitwise exclusive logical OR (XOR) of the data in buffer 1 and the data in buffer 2.

The results can be written back to the source location or to a destination buffer.

XorC

XOR with constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiXorC_8u_C1IR ( Fw8u  valueFw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_C3IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_AC4IR ( const Fw8u  value[3]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_C4IR ( const Fw8u  value[4]Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_C1IR ( Fw16u  valueFw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_C3IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_AC4IR ( const Fw16u  value[3]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_C4IR ( const Fw16u  value[4]Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_C1IR ( Fw32s  valueFw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_C3IR ( const Fw32s  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_AC4IR ( const Fw32s  value[3]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_C4IR ( const Fw32s  value[4]Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_C1R ( const Fw16u *  pSrcint  srcStepFw16u  valueFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_C3R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_AC4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_16u_C4R ( const Fw16u *  pSrcint  srcStepconst Fw16u  value[4]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32s  valueFw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_C3R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_AC4R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[3]Fw32s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXorC_32s_C4R ( const Fw32s *  pSrcint  srcStepconst Fw32s  value[4]Fw32s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and perform a bitwise exclusive logical OR (XOR) of the source data and a specified constant.

The results can be written back to the source location or to a destination buffer.

Color Model Conversion Functions

This chapter describes functions that convert image data from one color model or space to another.

RGBToYUV

Convert from RGB to YUV

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiRGBToYUV_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYUV_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYUV_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYUV_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDst[3]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the YUV color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to a YUV image (pDst).

The following conversion formulas are used:

 Y = 0.299*R + 0.587*G + 0.114*B
 U = -0.147*R + 0.289*G + 0.436*B
 V = 0.615*R - 0.515*G - 0.100*B
Where:

The input RGB contains the range [0 to 255].
The output Y contains the range [0 to 255].
The output U contains the range [16 to 240], with 128 corresponding to zero.
The output V ranges from [-157 to 157].

In order to fit the range [0 to 255], a constant value of 128 is added and the values are saturated to the range [0 to 255].

YUVToRGB

Convert from YUV to RGB

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYUVToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUVToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUVToRGB_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiYUVToRGB_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YUV color space to the RGB color model, and write the converted data to a destination buffer.

A YUV image (pSrc) declared in the ROI (roiSize) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

RGBToYUV422

Convert from RGB to YUV with 4:2:2 sampling

Synopsis

FwStatus   fwiRGBToYUV422_8u_C3C2R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYUV422_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiRGBToYUV422_8u_P3 ( const Fw8u * const  pSrc[3]Fw8u *  pDst[3]FwiSize  imgSize );
FwStatus   fwiRGBToYUV422_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiRGBToYUV422_8u_C3P3 ( const Fw8u *  pSrcFw8u *  pDst[3]FwiSize  imgSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
imgSize   Specifies the dimensions of an entire image.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions convert data in a source buffer from the RGB color model to the YUV color space with 4:2:2 chroma subsampling, and write the converted data to a destination buffer.

The repeating versions of the functions step through an ROI in a source buffer and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) is converted to a YUV image with 4:2:2 chroma subsampling.

The following conversion formulas are used:

 Y = 0.299*R + 0.587*G + 0.114*B
 U = -0.147*R + 0.289*G + 0.436*B
 V = 0.615*R - 0.515*G - 0.100*B
Where:

The input RGB contains the range [0 to 255].
The output Y contains the range [0 to 255].
The output U contains the range [16 to 240], with 128 corresponding to zero.
The output V ranges from [-157 to 157].

Versions of the functions that don't specify an ROI apply the conversion to the whole image buffer.

YUV422ToRGB

Convert from YUV with 4:2:2 sampling to RGB

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYUV422ToRGB_8u_C2C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV422ToRGB_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiYUV422ToRGB_8u_P3 ( const Fw8u * const  pSrc[3]Fw8u * const  pDst[3]FwiSize  imgSize );
FwStatus   fwiYUV422ToRGB_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV422ToRGB_8u_P3AC4R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV422ToRGB_8u_P3C3 ( const Fw8u * const  pSrc[3]Fw8u *  pDstFwiSize  imgSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
imgSize   Specifies the dimensions of an entire image.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions convert data in a source buffer from the YUV color space with 4:2:2 chroma subsampling to the RGB model, and write the converted data to a destination buffer.

The repeating versions of the functions step through an ROI in a source buffer and write the converted data to a destination buffer.

A YUV image with 4:2:2 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

Versions of the functions that don't specify an ROI apply the conversion to the whole image buffer.

RGBToYUV420

Convert from RGB to YUV with 4:2:0 sampling

Synopsis

FwStatus   fwiRGBToYUV420_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u * const  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiRGBToYUV420_8u_P3 ( const Fw8u * const  pSrc[3]Fw8u * const  pDst[3]FwiSize  imgSize );
FwStatus   fwiRGBToYUV420_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiRGBToYUV420_8u_C3P3 ( const Fw8u *  pSrcFw8u * const  pDst[3]FwiSize  imgSize );

Parameters

dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
imgSize   Specifies the dimensions of an entire image.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions convert the data in a source buffer from the RGB color model to the YUV color space with 4:2:0 chroma subsampling, and write the converted data to a destination buffer.

The repeating versions of the functions step through an ROI in a source buffer and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) is converted to a YUV image with 4:2:0 chroma subsampling.

The following conversion formulas are used:

 Y = 0.299*R + 0.587*G + 0.114*B
 U = -0.147*R + 0.289*G + 0.436*B
 V = 0.615*R - 0.515*G - 0.100*B
Where:

The input RGB contains the range [0 to 255].
The output Y contains the range [0 to 255].
The output U contains the range [16 to 240], with 128 corresponding to zero.
The output V ranges from [-157 to 157].

Versions of the functions that don't specify an ROI apply the conversion to the whole image buffer.

YUV420ToRGB

Convert from YUV with 4:2:0 sampling to RGB

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYUV420ToRGB_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToRGB_8u_P3 ( const Fw8u * const  pSrc[3]Fw8u * const  pDst[3]FwiSize  imgSize );
FwStatus   fwiYUV420ToRGB_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToRGB_8u_P3AC4R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToRGB_8u_P3C3 ( const Fw8u * const  pSrc[3]Fw8u *  pDstFwiSize  imgSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
imgSize   Specifies the dimensions of an entire image.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions convert data in an ROI in a source buffer from the YUV color space with 4:2:0 chroma subsampling to the RGB model, and write the converted data to a destination buffer.

The repeating versions of the functions step through an ROI in a source buffer and write the converted data to a destination buffer.

A YUV image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

Versions of the functions that don't specify an ROI apply the conversion to the whole image buffer.

YUV420ToBGR

Converts from YUV with 4:2:0 sampling to BGR

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYUV420ToBGR_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the YUV color space with 4:2:0 chroma subsampling to the BGR model, and writes the converted data to a destination buffer.

A YUV image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

YUV420ToRGB*

Convert from YUV with 4:2:0 sampling to 16-bit per pixel RGB

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYUV420ToRGB565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToRGB555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToRGB444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YUV color space with 4:2:0 chroma subsampling to the 16-bit RGB model, and write the converted data to a destination buffer.

A YUV image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

YUV420ToBGR*

Convert from YUV with 4:2:0 sampling to 16-bit per pixel BGR

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYUV420ToBGR565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToBGR555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYUV420ToBGR444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YUV color space with 4:2:0 chroma subsampling to the 16-bit BGR model, and write the converted data to a destination buffer.

A YUV image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

RGBToYCbCr

Convert from RGB to YCbCr

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiRGBToYCbCr_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCbCr_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCbCr_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the YCbCr color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI (roiSize) is converted to a YCbCr image (pDst).

The following conversion formulas are used:

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.

YCbCrToRGB

Convert from YCbCr to RGB

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiYCbCrToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space to the RGB model, and write the converted data to a destination buffer.

A YUV image (pSrc) declared in the ROI (roiSize) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

YCbCrToRGB*

Convert from YCbCr to 16-bit per pixel RGB

Supported Technologies

MT

Synopsis

FwStatus   fwiYCbCrToRGB565_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB555_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB444_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space to the 16-bit RGB model, and write the converted data to a destination buffer.

A YCbCr image (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

YCbCrToBGR*

Convert from YCbCr to 16-bit per pixel BGR

Supported Technologies

MT

Synopsis

FwStatus   fwiYCbCrToBGR565_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToBGR555_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToBGR444_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToBGR565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToBGR555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToBGR444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space to the 16-bit BGR model, and write the converted data to a destination buffer.

A YCbCr image (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

RGBToYCbCr422

Convert from RGB to 16-bit per pixel YCbCr with 4:2:2 sampling

Synopsis

FwStatus   fwiRGBToYCbCr422_8u_C3C2R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCbCr422_8u_P3C2R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the YCbCr color space with 4:2:2 chroma subsampling, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) is converted to a 16-bit per pixel YCbCr image with 4:2:2 chroma subsampling.

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.

YCbCr422ToRGB

Convert 16-bit per pixel YCbCr with 4:2:2 sampling to RGB

Synopsis

FwStatus   fwiYCbCr422ToRGB_8u_C2C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB_8u_C2P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space with 4:2:2 chroma subsampling to the RGB model, and write the converted data to a destination buffer.

A 16-bit per pixel YCbCr image with 4:2:2 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

RGBToCbYCr422*

Convert from RGB to 16-bit per pixel CbYCr with 4:2:2 sampling

Synopsis

FwStatus   fwiRGBToCbYCr422_8u_C3C2R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToCbYCr422Gamma_8u_C3C2R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the CbYCr color space with 4:2:2 chroma subsampling, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) is converted to a 16-bit per pixel CbYCr image with 4:2:2 chroma subsampling.

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.

*A version of this function supports CbYCr gamma correction.

CbYCr422ToRGB

Convert 16-bit per pixel CbYCr with 4:2:2 sampling to RGB

Synopsis

FwStatus   fwiCbYCr422ToRGB_8u_C2C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the CbYCr color space with 4:2:2 chroma subsampling to the RGB model, and writes the converted data to a destination buffer.

A 16-bit per pixel CbYCr image with 4:2:2 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

BGRToCbYCr422

Convert from BGR to 16-bit per pixel CbYCr with 4:2:2 sampling

Synopsis

FwStatus   fwiBGRToCbYCr422_8u_AC4C2R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the BGR color model to the CbYCr color space with 4:2:2 chroma subsampling, and writes the converted data to a destination buffer.

A gamma-corrected BGR image (pSrc) is converted to a 16-bit per pixel CbYCr image with 4:2:2 chroma subsampling.

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.

CbYCr422ToBGR

Convert 16-bit per pixel CbYCr with 4:2:2 sampling to BGR

Synopsis

FwStatus   fwiCbYCr422ToBGR_8u_C2C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  alpha );

Parameters

alpha   Alpha (RGBA transparency) constant value.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the CbYCr color space with 4:2:2 chroma subsampling to the BGR model, and writes the converted data to a destination buffer.

A 16-bit per pixel CbYCr image with 4:2:2 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

YCbCr422ToRGB*

Convert from 16-bit per pixel YCbCr with 4:2:2 sampling to 16-bit per pixel RGB

Synopsis

FwStatus   fwiYCbCr422ToRGB565_8u16u_C2C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB555_8u16u_C2C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB444_8u16u_C2C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToRGB444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space with 4:2:2 chroma subsampling to the 16-bit RGB model, and write the converted data to a destination buffer.

A YCbCr image with 4:2:2 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

YCbCr422ToBGR*

Convert from 16-bit per pixel YCbCr with 4:2:2 sampling to 16-bit per pixel BGR

Synopsis

FwStatus   fwiYCbCr422ToBGR565_8u16u_C2C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToBGR555_8u16u_C2C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToBGR444_8u16u_C2C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToBGR565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToBGR555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr422ToBGR444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space with 4:2:2 chroma subsampling to the 16-bit BGR model, and write the converted data to a destination buffer.

A YCbCr image with 4:2:2 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

RGBToYCbCr420

Convert from RGB to YCbCr with 4:2:0 sampling

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRGBToYCbCr420_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStep[3]FwiSize  roiSize );

Parameters

dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the RGB color model to the YCbCr color space with 4:2:0 chroma subsampling, and writes the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) is converted to a YCbCr image with 4:2:0 chroma subsampling.

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.

BGRToYCbCr420

Convert from BGR to YCbCr with 4:2:0 sampling

Synopsis

FwStatus   fwiBGRToYCbCr420_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiBGRToYCbCr420_8u_AC4P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStep[3]FwiSize  roiSize );

Parameters

dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the BGR color model to the YCbCr color space with 4:2:0 chroma subsampling, and writes the converted data to a destination buffer.

A gamma-corrected BGR image (pSrc) is converted to a YCbCr image with 4:2:0 chroma subsampling.

 Y = 0.257*R + 0.504*G + 0.098*B + 16
 Cb = -0.148*R - 0.291*G + 0.439*B + 128
 Cr = 0.439*R - 0.368*G - 0.071*B + 128

The input RGB contains the range [0 to 255].

The output Y nominally contains the range [16 to 235].

The output Cb and Cr contains the range [16 to 240], with 128 corresponding to zero.

YCbCr420ToRGB

Convert from YCbCr with 4:2:0 sampling to RGB

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiYCbCr420ToRGB_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the YCbCr color space with 4:2:0 chroma subsampling to the RGB color model, and writes the converted data to a destination buffer.

A YCbCr image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

YCbCr422ToYCbCr420

Convert from YCbCr with 4:2:2 sampling to YCbCr with 4:2:0 sampling

Synopsis

FwStatus   fwiYCbCr422ToYCbCr420_8u_P3R ( const Fw8u*  pSrc[3]int  srcStep[3]Fw8u*  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiYCbCr422ToYCbCr420_8u_C2P3R ( const Fw8u*  pSrcint  srcStepFw8u*  pDst[3]int  dstStep[3]FwiSize  roiSize );

Parameters

dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer or buffers, convert the source data from the YCbCr color space with 4:2:2 chroma subsampling to YCbCr color space with 4:2:0 chroma subsampling, and writes the converted data to a destination buffer or buffers.

The source buffer can be two-channel or three-planar data. The destination is planar data with two or three planes.

The format of the two-channel data is Y1, Cb1, Y2, Cr1, Y3, Cb2, Y4, Cr2... etc

The format of the two-plane data is Y1, Y2, Y3, Y4... etc in the first plane and Cb1, Cr1, Cb2, Cr2... etc in the second plane.

YCbCr420ToRGB*

Convert from YCbCr with 4:2:0 sampling to 16-bit per pixel RGB

Synopsis

FwStatus   fwiYCbCr420ToRGB565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr420ToRGB555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr420ToRGB444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space with 4:2:0 chroma subsampling to the 16-bit RGB color model, and write the converted data to a destination buffer.

A YCbCr image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected RGB image (pDst).

The following conversion formulas are used:

 R = Y + 1.140*V
 G = Y - 0.394*U - 0.581*V
 B = Y + 2.032*U

*The destination image is a packed RGB 16-bit per pixel image with reduced bit depth. The three channel intensities are packed into two consecutive bytes. After the conversion is performed, the bit reduction discards the least significant bits in the image.

There are 3 possible packed formats:

 RGB565 - 5 bits for Red, 6 bits for Green, 5 bits for Blue
 RGB555 - 5 bits for Red, 5 bits for Green, 5 bits for Blue
 RGB444 - 4 bits for Red, 4 bits for Green, 4 bits for Blue

YCbCr420ToBGR

Convert from YCbCr with 4:2:0 sampling to BGR

Synopsis

FwStatus   fwiYCbCr420ToBGR_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the YCbCr color space with 4:2:0 chroma subsampling to the BGR color model with dithering, and writes the converted data to a destination buffer.

A YCbCr image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

YCbCr420ToBGR*

Convert from YCbCr with 4:2:0 sampling to 16-bit BGR

Synopsis

FwStatus   fwiYCbCr420ToBGR565_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr420ToBGR555_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr420ToBGR444_8u16u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the YCbCr color space with 4:2:0 chroma subsampling to the BGR color model, and writes the converted data to a destination buffer.

A YCbCr image with 4:2:0 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

YCbCr411ToBGR

Convert from YCbCr with 4:1:1 sampling to BGR

Synopsis

FwStatus   fwiYCbCr411ToBGR_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCr411ToBGR_8u_P3C4R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  alpha );

Parameters

alpha   Alpha (RGBA transparency) constant value.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space with 4:1:1 chroma subsampling to the BGR color model, and write the converted data to a destination buffer.

A YCbCr image with 4:1:1 chroma subsampling (pSrc) is converted to a gamma-corrected BGR image (pDst).

The following conversion formulas are used:

 R = 1.164*(Y-16) + 1.596*(Cr-128)
 G = 1.164*(Y-16) - 0.392*(Cb-128) - 0.813*(Cr-128)
 B = 1.164*(Y-16) + 2.017*(Cb-128)

RGBToXYZ

Convert from RGB to XYZ

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiRGBToXYZ_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToXYZ_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the XYZ color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to a CIE XYZ image (pDst).

The following formulas are used:

 X = 0.412453*R + 0.35758 *G + 0.180423*B
 Y = 0.212671*R + 0.71516 *G + 0.072169*B
 Z = 0.019334*R + 0.119193*G + 0.950227*B

The formulas assume that R, G, and B values are normalized to [0 to 1] for integer data types.

For floating point data types, the data must already be in the range [0 to 1]

For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range

For floating point data type, data is saturated to [0 to 1].

XYZToRGB

Convert from XYZ to RGB

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiXYZToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiXYZToRGB_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the XYZ color space to the RGB color model, and write the converted data to a destination buffer.

A CIE XYZ image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst).

The following formulas are used:

 R =  3.240479*R - 1.537150*G - 0.498535*B
 G = -0.969256*R + 1.875991*G + 0.041556*B
 B =  0.055648*R - 0.204043*G + 1.057311*B

 The formulas assume that R, G, and B values are normalized to [0 to 1] for integer data types.
 For floating point data types, the data must already be in the range [0 to 1].
 For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range.
 For floating point data type, data is saturated to [0 to 1].

RGBToLUV

Convert from RGB to LUV

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiRGBToLUV_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToLUV_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the LUV color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to a CIE LUV image (pDst) in two steps.

1. Convert( ) RGBToXYZ( ) using the following formulas.

 X = 0.412453*R + 0.35758 *G + 0.180423*B
 Y = 0.212671*R + 0.71516 *G + 0.072169*B
 Z = 0.019334*R + 0.119193*G + 0.950227*B

 The formulas assume that R, G, and B values are normalized to [0 to 1] for integer data types.
 For floating point data types, the data must already be in the range [0 to 1].
 For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range.
 For floating point data type, data is saturated to [0 to 1].

2. Convert( ) XYZ to LUV as follows.

D65 white point:

 CIE chromaticity coordinates:

  xn = 0.312713
  yn = 0.329016

 CIE luminance:

  Yn = 1.0

 un = 4*xn / (-2*xn + 12*yn + 3)
 vn = 9*yn / (-2*xn + 12*yn + 3)
 u = 4*X / (X + 15*Y + 3*Z)
 v = 9*Y / (X + 15*Y + 3*Z)
 L = 116 * (Y/Yn)^(1/3) - 16
 U = 13*L*(u-un)
 V = 13*L*(v-vn)

 Computed L component values are in the range [0 to 100].
 Computed U component values are in the range [-124 to 220].
 Computed V component values are in the range [-140 to 116].

 The formulas assume that R, G, and B values are normalized to [0 to1] for integer data types.
 For floating point data types, the data must already be in the range [0 to 1].
 For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range.

Scaling is performed as follows.

8U data type:

 L = L * FW_MAX_8U / 100
 U = (U + 134) * FW_MAX_8U / 354
 V = (V + 140) * FW_MAX_8U / 256

16U data type:

 L = L * FW_MAX_16U / 100
 U = (U + 134) * FW_MAX_16U / 354
 V = (V + 140) * FW_MAX_16U / 256

16S data type:

 L = L * FW_MAX_16U / 100 + FW_MIN_16S
 U = (U + 134) * FW_MAX_16U / 354 + FW_MIN_16S
 V = (V + 140) * FW_MAX_16U / 256 + FW_MIN_16S

32F data type:

 No conversion is applied, so the components remain in their ranges.

LUVToRGB

Convert from LUV to RGB

Supported Technologies

MT

Synopsis

FwStatus   fwiLUVToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLUVToRGB_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

A CIE LUV image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) in two steps.

1. Convert( ) CIE LUV to XYZ as follows.

Scale( ) data to the range [0 to 1]

8U data type:

 L = L * 100 / FW_MAX_8U
 U = (U * 354 / FW_MAX_8U) - 134
 V = (V * 256 / FW_MAX_8U) - 140

16U data type:

 L = L * 100 / FW_MAX_16U
 U = (U * 354 / FW_MAX_16U) - 134
 V = (V * 256 / FW_MAX_16U) - 140

16S data type:

 U = ((U - FW_MIN_16S) * 354 / FW_MAX_16U) - 134
 V = ((V - FW_MIN_16S) * 256 / FW_MAX_16U) - 140

32F data type:

 L, U, and V must already be in the range [0...1]

D65 white point:

 CIE chromaticity coordinates:

  xn = 0.312713
  yn = 0.329016

 CIE luminance:

  Yn = 1.0

 un = 4*xn / (-2*xn + 12*yn + 3)
 vn = 9*yn / (-2*xn + 12*yn + 3)
 u = U / (14 * L) + un
 v = V / (13 * L) + vn
 Y = Yn * ((L + 16) / 116) ^ 3
 X = -9 * Y * u / ((u - 4) * v - u * v) = (9 / 4) * Y * u / v
 Z = (9 * Y - 15 * v * Y - v * X) / (3 * v)

2.  Convert( ) XYZ to RGB using the following formulas:

 X = 3.240479*X - 1.53715 *Y - 0.498535*Z
 Y = -0.969256*X + 1.875991*Y + 0.041556*Z
 Z = 0.055648*X - 0.204043*Y + 1.057311*Z

 The formulas assume that X, Y, and Z values are normalized to [0 to 1] for integer data types.
 For floating point data types, the data must already be in the range [0 to 1].
 For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range.
 For floating point data type, data is saturated to [0 to 1].

BGRToLab

Convert from BGR to Lab

Supported Technologies

MT

Synopsis

FwStatus   fwiBGRToLab_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToLab_8u16u_C3R ( const Fw8u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the BGR color model to the Lab color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to a CIE Lab image (pDst) in two steps.

1. Normalize the data to [0 to 1] and convert RGB to XYZ using the following formulas.

 X = 0.412453*R + 0.35758 *G + 0.180423*B
 Y = 0.212671*R + 0.71516 *G + 0.072169*B
 Z = 0.019334*R + 0.119193*G + 0.950227*B

 The formulas assume that R, G, and B values are normalized to [0 to 1] for integer data types.
 For floating point data types, the data must already be in the range [0 to 1].
 For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range.
 For floating point data type, data is saturated to [0 to 1].

2. Convert( ) XYZ To Lab as follows.

D65 white point:

 Xn = 0.950455
 Yn = 1.0
 Zn = 1.088753

 CIE chromaticity coordinates:

  xn = 0.312713
  yn = 0.329016

 if ((Y / Yn) > 0.008856)
 L = 116 * (Y/Yn)^(1/3) - 16 else L = 903.3 * (Y/Yn)^(1/3)
 a = 500 * [f(X/Xn) - f(Y/Yn)]
 b = 200 * [f(Y/Yn) - f(Z/Zn)]

  where if (t > 0.008856) f(t) = t^(1/3) - 16 else f(t) = 7.787*t + 16/116

 The computed L, a, and b are in the range [0 to 100], [-128 to 127], and [-128b to 127], respectively.

 The computed image data is quantized and scaled to fit the 8-bit or 16-bit range.

8U data type:

 L = L * 255/100
 a = a + 128
 b = b + 128

16u data type:

 L = L * 65535 / 100
 a = (a+128) * 255
 b = (b+128) * 255

LabToBGR

Convert from Lab to BGR

Supported Technologies

MT

Synopsis

FwStatus   fwiLabToBGR_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiLabToBGR_16u8u_C3R ( const Fw16u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the Lab color space to the BGR color model, and write the converted data to a destination buffer.

A CIE Lab image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) in two steps.

1. Transform the data to the correct range as follows.

8U data type:

 L = L * 100 / 255
 a = a - 128
 b = b - 128

16u data type:

 L = L * 100 / 65535
 a = a / 255 - 128
 b = b / 255 - 128

Convert to XYZ:

 Y = Yn  *p^3
 X = Xn * (P + a/500)^3
 Z = Zn * (P - b/200)^2

 where P = (L+16)/116

D65 white point:

 Xn = 0.950455
 Yn = 1.0 Zn = 1.088753

2.  Convert( ) XYZ to BGR using the following formulas:

 X = 3.240479*X - 1.53715 *Y - 0.498535*Z
 Y = -0.969256*X + 1.875991*Y + 0.041556*Z
 Z = 0.055648*X - 0.204043*Y + 1.057311*Z

 The formulas assume that X, Y, and Z values are normalized to [0 to 1] for integer data types.
 For floating point data types, the data must already be in the range [0 to 1].
 For integer data types, the converted image data is saturated to [0 to 1] and scaled to the data type range.
 For floating point data type, data is saturated to [0 to 1].

RGBToYCC

Convert from RGB to YCC

Supported Technologies

MT

Synopsis

FwStatus   fwiRGBToYCC_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCC_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the YCC color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to a Photo YCC image (pDst) in four steps.

1.  Normalize the input to the range [0 to 1] for all integer data types. Floating-point data must already be in the range [0...1].

2.  Apply the following formulas:

 Y = 0.299*R + 0.587*G + 0.114*B
 C1 = -0.299*R - 0.587*G + 0.886*B
 C2 = 0.701*R - 0.587*G - 0.114*B

3. Quantize the color model and convert to the Photo YCC model. Data is in the range [0 to 1].

 Y = (1/1.402) * Y
 C1 = (111.4/255) * C1 + 156/255
 C2 = (135.64/255) * C2 + 137/255

4. For integer destination data types, the Photo YCC color model is scaled to the full range.

YCCToRGB

Convert from YCC to RGB

Supported Technologies

MT

Synopsis

FwStatus   fwiYCCToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiYCCToRGB_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCC color space to the RGB color model, and write the converted data to a destination buffer.

A Photo YCC image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) as follows.

Restore normal YCC data:

 Y = 1.3584 * Y
 C1 = 2.2179 * (C1 - 156/255)
 C2 = 1.8215 * (C2 - 137/255)

 The formulas assume that Y, C1, and C2 are normalized to [0 to 1].
 For floating point data type, the input must already be in the range [0 to 1].
 For integer data types, an internal conversion is performed, then the restored YCC data is transformed to RGB.

The following conversion formulas are used:

 R = Y + C2
 G = Y - 0.194*C1 - 0.509*C2
 B = Y + C1

 For integer destination data types, the result image data is scaled to the full range of the destination data type.

RGBToHLS

Convert from RGB to HLS

Supported Technologies

MT

Synopsis

FwStatus   fwiRGBToHLS_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHLS_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the HLS color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to an HLS image (pDst) as follows.

// Lightness:
M1 = max(R, G, B)
M2 = min(R, G, B)
L = (M1+M2)/2

// Saturation:
If (M1 == M2)
 S = H = 0
else // chromatics case

{
 if (L <= 0.5)
  S = (M1-M2) / (M1+M2)
 else
  S = (M1-M2) / (2-M1-M2)

 //Hue:
 Cr = (M1-R) / (M1-M2)
 Cg = (M1-G) / (M1-M2)
 Cb = (M1-B) / (M1-M2)
 if (M1 == R)
  H = Cb - Cg
 if (M1 == G)
  H = 2 + Cr - Cb
 if (M1 == B)
  H = 4 + Cg - Cr
  H = H*60
 if (H < 0)
  H = H + 360
}

The  formulas assume that R, G, and B values are in the range [0 to 1].
For integer destination data type, the values are scaled to the full range of the data type.

HLSToRGB

Convert from HLS to RGB

Supported Technologies

MT

Synopsis

FwStatus   fwiHLSToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToRGB_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the HLS color space to the RGB color model, and write the converted data to a destination buffer.

An HLS image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) as follows.

if ( L <= 0.5)
 M2 = L * (1+S)
else
 M2 = L + S - L*S
 M1 = 2*L - M2
if (S == 0)
 R = G = B = L
else
{
 h = H + 120
 if (h > 360)
  h = h - 360
 if (h < 60)
  R = (M1 + (M2 - M1)*h/60)
 else if (h < 180)
  R = M2
 else if (h < 240)
  R = M1 + (M2 - M1)*(240 - h)/60
 else
  R = M1
 h = H
 if (h < 60)
  G = (M1 + (M2 - M1)*h/60)
 else if (h < 180)
  G = M2
 else if (h < 240)
  G = M1 + (M2 - M1)*(240 - h)/60
 else
  G = M1
 h = H - 120
 if (h < 60)
  B = (M1 + (M2 - M1)*h/60)
 else if (h < 180)
  B = M2
 else if (h < 240)
  B = M1 + (M2 - M1)*(240 - h)/60
 else
  B = M1
}

The formulas assume that H, L, and S values are in the range [0 to 1].
For integer destination data type, the values are scaled to the full range of the data type.

BGRToHLS

Convert from BGR to HLS

Supported Technologies

MT

Synopsis

FwStatus   fwiBGRToHLS_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToHLS_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToHLS_8u_AC4P4R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToHLS_8u_AP4R ( const Fw8u * const  pSrc[4]int  srcStepFw8u * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToHLS_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToHLS_8u_AP4C4R ( const Fw8u * const  pSrc[4]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiBGRToHLS_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the BGR color model to the HLS color space, and write the converted data to a destination buffer.

A gamma-corrected BGR image (pSrc) declared in the ROI is converted to an HLS image (pDst) as follows.

// Lightness:
M1 = max(R, G, B)
M2 = min(R, G, B)
L = (M1+M2)/2
// Saturation:
If (M1 == M2)
 S = H = 0
else // chromatics case
{
 if (L <= 0.5)
  S = (M1-M2) / (M1+M2)
 else
  S = (M1-M2) / (2-M1-M2)
 //Hue:
 Cr = (M1-R) / (M1-M2)
 Cg = (M1-G) / (M1-M2)
 Cb = (M1-B) / (M1-M2)
 if (M1 == R)
  H = Cb - Cg
 if (M1 == G)
  H = 2 + Cr - Cb
 if (M1 == B)
  H = 4 + Cg - Cr
  H = H * 60
 if (H < 0)
  H = H + 360
}

The formulas assume that R, G, and B values are in the range [0 to 1].
For integer destination data type, the values are scaled to the full range of the data type.

HLSToBGR

Convert from HLS to BGR

Supported Technologies

MT

Synopsis

FwStatus   fwiHLSToBGR_8u_C3P3R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToBGR_8u_AC4P4R ( const Fw8u *  pSrcint  srcStepFw8u * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToBGR_8u_AP4R ( const Fw8u * const  pSrc[4]int  srcStepFw8u * const  pDst[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToBGR_8u_P3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u * const  pDst[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToBGR_8u_AP4C4R ( const Fw8u * const  pSrc[4]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHLSToBGR_8u_P3C3R ( const Fw8u * const  pSrc[3]int  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the HLS color space to the BGR color model, and write the converted data to a destination buffer.

An HLS image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) as follows.

if ( L <= 0.5)
 M2 = L * (1+S)
else
 M2 = L + S - L*S
 M1 = 2*L - M2
if (S == 0)
 R = G = B = L
else
{
 h = H + 120
 if (h > 360)
  h = h - 360
 if (h < 60)
  R = (M1 + (M2 - M1)*h/60)
 else if (h < 180)
  R = M2
 else if (h < 240)
  R = M1 + (M2 - M1)*(240 - h)/60
 else
  R = M1
  h = H
 if (h < 60)
  G = (M1 + (M2 - M1)*h/60)
 else if (h < 180)
  G = M2
 else if (h < 240)
  G = M1 + (M2 - M1)*(240 - h)/60
 else
  G = M1
  h = H - 120
 if (h < 60)
  B = (M1 + (M2 - M1)*h/60)
 else if (h < 180)
  B = M2
 else if (h < 240)
  B = M1 + (M2 - M1)*(240 - h)/60
 else
  B = M1
}

The formulas assume that H, L, and S values are in the range [0 to 1].
For integer destination data type, the values are scaled to the full range of the data type.

RGBToHSV

Convert from RGB to HSV

Supported Technologies

MT

Synopsis

FwStatus   fwiRGBToHSV_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHSV_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHSV_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToHSV_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the HSV color space, and write the converted data to a destination buffer.

A gamma-corrected RGB image (pSrc) declared in the ROI is converted to an HSV image (pDst) as follows.

Value:

V = max(R, G, B)

Saturation:

temp = min = (R, G, B)
if (V == 0)
 achromatics case
 S = 0
else
 chromatics case
 S = (V-temp)/V
Hue:

Cr = (V - R) / (V - temp)
Cg = (V - G) / (V - temp)
Cb = (V - B) / (V - temp)
if (R==V)
 H = Cb - Cg
if (G==V)
 H = 2 + Cr - Cb
if (B==V)
 H = 4 + Cg - Cr
 H = H * 60
if (H < 0)
 H = H + 360

The formulas assume R, G, and B values are in the range [0 to 1].
For integer data types, the computed image data are scaled to the full range of the destination data type.

HSVToRGB

Convert from HSV to RGB

Supported Technologies

MT

Synopsis

FwStatus   fwiHSVToRGB_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHSVToRGB_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHSVToRGB_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiHSVToRGB_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the HSV color space to the RGB color model, and write the converted data to a destination buffer.

An HSV image (pSrc) declared in the ROI is converted to a gamma-corrected RGB image (pDst) as follows.

if (S==0)
 R = G = B = V
else
{
 if (H == 360)
  H = 0
 else
  H = H/60
 I = floor(H)
 F = H - I
 M = V * (1 - S)
 N = V * (1 - S * F)
 K = V * (1 - s * (1 - F))
 if (I == 0)
  R = V
  G = K
  B = M
 if (I == 1)
  R = N
  G = V
  B = M
 if (I == 2)
  R = M
  G = V
  B = K
 if (I == 3)
  R = M
  G = N
  B = V
 if (I == 4)
  R = K
  G = M
  B = V
 if (I == 5)
  R = V
  G = M
  B = V
}

The computed image data is then scaled to the full range of the destination data type.

ColorToGray

Convert a three-channel color image to gray scale using custom coefficients

Supported Technologies

SSE2

Synopsis

FwStatus   fwiColorToGray_8u_C3C1R ( const Fw8u*  pSrcint  srcStepFw8u*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_16u_C3C1R ( const Fw16u*  pSrcint  srcStepFw16u*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_16s_C3C1R ( const Fw16s*  pSrcint  srcStepFw16s*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_32f_C3C1R ( const Fw32f*  pSrcint  srcStepFw32f*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_8u_AC4C1R ( const Fw8u*  pSrcint  srcStepFw8u*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_16u_AC4C1R ( const Fw16u*  pSrcint  srcStepFw16u*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_16s_AC4C1R ( const Fw16s*  pSrcint  srcStepFw16s*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );
FwStatus   fwiColorToGray_32f_AC4C1R ( const Fw32f*  pSrcint  srcStepFw32f*  pDstint  dstStepFwiSize  roiSizeconst Fw32f  coeffs[3] );

Parameters

coeffs[3]   Transformation coefficient values.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

The C3C1 version of the function steps through an ROI in a source buffer, converts a three-channel color image to a gray scale image and writes the converted data to a destination buffer.

The AC4C1 version of the function steps through an ROI in a source buffer, converts a four-channel color image to a gray scale image and writes the converted data to a destination buffer.

RGBToGray

Convert a three-channel RGB color image to gray scale using fixed coefficients

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRGBToGray_8u_C3C1R ( const Fw8u*  pSrcint  srcStepFw8u*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_16u_C3C1R ( const Fw16u*  pSrcint  srcStepFw16u*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_16s_C3C1R ( const Fw16s*  pSrcint  srcStepFw16s*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_32f_C3C1R ( const Fw32f*  pSrcint  srcStepFw32f*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_8u_AC4C1R ( const Fw8u*  pSrcint  srcStepFw8u*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_16u_AC4C1R ( const Fw16u*  pSrcint  srcStepFw16u*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_16s_AC4C1R ( const Fw16s*  pSrcint  srcStepFw16s*  pDstint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToGray_32f_AC4C1R ( const Fw32f*  pSrcint  srcStepFw32f*  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

The C3C1 version of the function steps through an ROI in a source buffer, converts a three-channel RGB color image to a gray scale image and writes the converted data to a destination buffer.

The AC4C1 version of the function steps through an ROI in a source buffer, converts a four-channel color image to a gray scale image and writes the converted data to a destination buffer.

YCbCr422

Convert 16-bit per pixel YCbCr with 4:2:2 sampling between 2-channel and 3-plane formats

Supported Technologies

MT

Synopsis

FwStatus   fwiYCbCr422_8u_C2P3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDst[3]int  dstStep[3]FwiSize  roiSize );
FwStatus   fwiYCbCr422_8u_P3C2R ( const Fw8u * const  pSrc[3]int  srcStep[3]Fw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
srcStep[3]   Source three-channel planar buffer step size (array values define width of each plane in bytes).

Description

The C2P3R version of the function steps through an ROI in a source buffer, converts a 2-channel YCbCr color image with 4:2:2 chroma subsampling to to a 3-plane image, and writes the converted data to a destination buffer.

The P3C2R version of the function steps through an ROI in a source buffer, converts a 3-plane YCbCr color image with 4:2:2 chroma subsampling to to a 2-channel image, and writes the converted data to a destination buffer.

CbYCr422ToYCbCr

Convert from CbYCr 4:2:2 to YCbCr 4:2:0

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiCbYCr422ToYCbCr420_8u_C2P3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDst[3]int  dstStep[3]FwiSize  roiSize );

Parameters

dstStep[3]   Destination three-channel planar buffer step size (array values define width of each plane in bytes).
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts a 2-channel CbYCr color image with 4:2:2 chroma subsampling to a 2-channel YCbCr color image with 4:2:0 chroma subsampling, and writes the converted data to a destination buffer.

Statistical Functions

This chapter describes FW functions which perform statistical operations on image data.

Sum

Sum image data

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSum_8u_C1R ( const Fw8u*  pSrcint  srcStepFwiSize  roiSizeFw64f*  pSum );
FwStatus   fwiSum_16s_C1R ( const Fw16s*  pSrcint  srcStepFwiSize  roiSizeFw64f*  pSum );

Parameters

pSrc   Pointer to a location in a source buffer.
pSum   Pointer to the sum of values.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, sum the image data, and write the sum to a destination buffer.

Threshold and Compare Functions

This chapter describes functions that compare image data and manipulate image data based on compare operations.

Note: All the threshold and compare functions support negative step sizes. Negative step sizes can be used to "flip" data copied from a source buffer to a destination buffer. This is a common requirement when displaying a BMP image. To flip an image horizontally, call the copy function with pSrc pointing to the last row of the source buffer, a negative srcStep, pDst pointing to the start of the destination buffer, and a positive dstStep.

Threshold

Compare to a threshold, replace with threshold value (General)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  thresholdFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  thresholdFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  thresholdFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  thresholdFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  thresholdFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  thresholdFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]FwCmpOp  fwCmpOp );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
fwCmpOp   Specifies a comparison operation to be performed (fwCmpLess, fwCmpGreater, fwCmpLessEq, fwCmpEq, or fwCmpGreaterEq).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
threshold   Threshold for each pixel.
threshold[3]   Three-channel threshold for each pixel.

Description

These functions step through an ROI in a source buffer and compare the source data to a specified threshold value using a specified compare operation.

The compare operation can be "less than", "less than or equal", "equal", "greater than or equal" or "greater than".

When the comparison evaluates as true, the output data is set to the threshold value.

When the comparison evaluates as false, the output data is set to the same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Threshold_GT

Compare to a threshold, replace with threshold value (Greater Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_GT_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  threshold );
FwStatus   fwiThreshold_GT_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_GT_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_GT_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  threshold );
FwStatus   fwiThreshold_GT_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_GT_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_GT_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  threshold );
FwStatus   fwiThreshold_GT_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3] );
FwStatus   fwiThreshold_GT_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3] );
FwStatus   fwiThreshold_GT_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  threshold );
FwStatus   fwiThreshold_GT_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_GT_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_GT_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  threshold );
FwStatus   fwiThreshold_GT_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_GT_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_GT_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  threshold );
FwStatus   fwiThreshold_GT_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3] );
FwStatus   fwiThreshold_GT_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3] );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
threshold   Threshold for each pixel.
threshold[3]   Three-channel threshold for each pixel.

Description

These functions step through an ROI in a source buffer and compare source data to a specified threshold value.

When the source data is greater than the threshold value, the output data is set to the threshold value.

When the source data is less than or equal to the threshold value, the output data is set to the same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Threshold_LT

Compare to a threshold, replace with threshold value (Less Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_LT_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  threshold );
FwStatus   fwiThreshold_LT_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_LT_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_LT_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  threshold );
FwStatus   fwiThreshold_LT_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_LT_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_LT_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  threshold );
FwStatus   fwiThreshold_LT_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3] );
FwStatus   fwiThreshold_LT_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3] );
FwStatus   fwiThreshold_LT_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  threshold );
FwStatus   fwiThreshold_LT_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_LT_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3] );
FwStatus   fwiThreshold_LT_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  threshold );
FwStatus   fwiThreshold_LT_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_LT_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3] );
FwStatus   fwiThreshold_LT_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  threshold );
FwStatus   fwiThreshold_LT_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3] );
FwStatus   fwiThreshold_LT_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3] );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
threshold   Threshold for each pixel.
threshold[3]   Three-channel threshold for each pixel.

Description

These functions step through an ROI in a source buffer and compare source data to a specified threshold value.

When the source data is less than the threshold value, the output data is set to the threshold value.

When the source data is greater than or equal to the threshold value, the output data is set to the same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Threshold_Val

Compare to a threshold, replace with specified value (General)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_Val_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  thresholdFw8u  valueFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  thresholdFw16s  valueFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  thresholdFw32f  valueFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  thresholdFw8u  valueFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  thresholdFw16s  valueFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  thresholdFw32f  valueFwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3]FwCmpOp  fwCmpOp );
FwStatus   fwiThreshold_Val_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3]FwCmpOp  fwCmpOp );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
fwCmpOp   Specifies a comparison operation to be performed (fwCmpLess, fwCmpGreater, fwCmpLessEq, fwCmpEq, or fwCmpGreaterEq).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
threshold   Threshold for each pixel.
threshold[3]   Three-channel threshold for each pixel.
value   Specified value.
value[3]   An array of three specified values.

Description

These functions step through an ROI in a source buffer and compare source data to a specified threshold value using a specified compare operation.

The compare operation can be "less than", "less than or equal", "equal", "greater than or equal" or "greater than".

When the comparison evaluates as true, the output data is set to a specified value.

When the comparison evaluates as false, the output data is set to the same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Threshold_GTVal

Compare to a threshold, replace with specified value (Greater Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_GTVal_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  thresholdFw8u  value );
FwStatus   fwiThreshold_GTVal_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_GTVal_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_GTVal_8u_C4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[4]const Fw8u  value[4] );
FwStatus   fwiThreshold_GTVal_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  thresholdFw16s  value );
FwStatus   fwiThreshold_GTVal_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_GTVal_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_GTVal_16s_C4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[4]const Fw16s  value[4] );
FwStatus   fwiThreshold_GTVal_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  thresholdFw32f  value );
FwStatus   fwiThreshold_GTVal_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_GTVal_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_GTVal_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[4]const Fw32f  value[4] );
FwStatus   fwiThreshold_GTVal_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  thresholdFw8u  value );
FwStatus   fwiThreshold_GTVal_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_GTVal_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_GTVal_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[4]const Fw8u  value[4] );
FwStatus   fwiThreshold_GTVal_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  thresholdFw16s  value );
FwStatus   fwiThreshold_GTVal_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_GTVal_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_GTVal_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[4]const Fw16s  value[4] );
FwStatus   fwiThreshold_GTVal_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  thresholdFw32f  value );
FwStatus   fwiThreshold_GTVal_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_GTVal_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_GTVal_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[4]const Fw32f  value[4] );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
threshold   Threshold for each pixel.
threshold[3]   Three-channel threshold for each pixel.
threshold[4]   Four-channel threshold for each pixel.
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and compare source data to a specified threshold value.

When the source data is greater than the threshold value, the output data is set to a specified value.

When the source data is less than or equal to the threshold value, the output data is set to the same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Threshold_LTVal

Compare to a threshold, replace with specified value (Less Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_LTVal_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  thresholdFw8u  value );
FwStatus   fwiThreshold_LTVal_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_LTVal_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_LTVal_8u_C4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  threshold[4]const Fw8u  value[4] );
FwStatus   fwiThreshold_LTVal_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  thresholdFw16s  value );
FwStatus   fwiThreshold_LTVal_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_LTVal_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_LTVal_16s_C4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  threshold[4]const Fw16s  value[4] );
FwStatus   fwiThreshold_LTVal_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  thresholdFw32f  value );
FwStatus   fwiThreshold_LTVal_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_LTVal_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_LTVal_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  threshold[4]const Fw32f  value[4] );
FwStatus   fwiThreshold_LTVal_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  thresholdFw8u  value );
FwStatus   fwiThreshold_LTVal_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_LTVal_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[3]const Fw8u  value[3] );
FwStatus   fwiThreshold_LTVal_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  threshold[4]const Fw8u  value[4] );
FwStatus   fwiThreshold_LTVal_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  thresholdFw16s  value );
FwStatus   fwiThreshold_LTVal_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_LTVal_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[3]const Fw16s  value[3] );
FwStatus   fwiThreshold_LTVal_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  threshold[4]const Fw16s  value[4] );
FwStatus   fwiThreshold_LTVal_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  thresholdFw32f  value );
FwStatus   fwiThreshold_LTVal_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_LTVal_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[3]const Fw32f  value[3] );
FwStatus   fwiThreshold_LTVal_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  threshold[4]const Fw32f  value[4] );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
threshold   Threshold for each pixel.
threshold[3]   Three-channel threshold for each pixel.
threshold[4]   Four-channel threshold for each pixel.
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and compare source data to a specified threshold value.

When the source data is less than the threshold value, the output data is set to a specified value.

When the source data is greater than or equal to the threshold value, the output data is set to the same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Threshold_LTValGTVal

Compare to double threshold, replace with specified value (Less Than/Greater Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiThreshold_LTValGTVal_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFw8u  thresholdLTFw8u  valueLTFw8u  thresholdGTFw8u  valueGT );
FwStatus   fwiThreshold_LTValGTVal_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  thresholdLT[3]const Fw8u  valueLT[3]const Fw8u  thresholdGT[3]const Fw8u  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw8u  thresholdLT[3]const Fw8u  valueLT[3]const Fw8u  thresholdGT[3]const Fw8u  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeFw16s  thresholdLTFw16s  valueLTFw16s  thresholdGTFw16s  valueGT );
FwStatus   fwiThreshold_LTValGTVal_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  thresholdLT[3]const Fw16s  valueLT[3]const Fw16s  thresholdGT[3]const Fw16s  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16s  thresholdLT[3]const Fw16s  valueLT[3]const Fw16s  thresholdGT[3]const Fw16s  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFw32f  thresholdLTFw32f  valueLTFw32f  thresholdGTFw32f  valueGT );
FwStatus   fwiThreshold_LTValGTVal_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  thresholdLT[3]const Fw32f  valueLT[3]const Fw32f  thresholdGT[3]const Fw32f  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw32f  thresholdLT[3]const Fw32f  valueLT[3]const Fw32f  thresholdGT[3]const Fw32f  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFw8u  thresholdLTFw8u  valueLTFw8u  thresholdGTFw8u  valueGT );
FwStatus   fwiThreshold_LTValGTVal_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  thresholdLT[3]const Fw8u  valueLT[3]const Fw8u  thresholdGT[3]const Fw8u  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeconst Fw8u  thresholdLT[3]const Fw8u  valueLT[3]const Fw8u  thresholdGT[3]const Fw8u  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeFw16s  thresholdLTFw16s  valueLTFw16s  thresholdGTFw16s  valueGT );
FwStatus   fwiThreshold_LTValGTVal_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  thresholdLT[3]const Fw16s  valueLT[3]const Fw16s  thresholdGT[3]const Fw16s  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSizeconst Fw16s  thresholdLT[3]const Fw16s  valueLT[3]const Fw16s  thresholdGT[3]const Fw16s  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFw32f  thresholdLTFw32f  valueLTFw32f  thresholdGTFw32f  valueGT );
FwStatus   fwiThreshold_LTValGTVal_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  thresholdLT[3]const Fw32f  valueLT[3]const Fw32f  thresholdGT[3]const Fw32f  valueGT[3] );
FwStatus   fwiThreshold_LTValGTVal_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeconst Fw32f  thresholdLT[3]const Fw32f  valueLT[3]const Fw32f  thresholdGT[3]const Fw32f  valueGT[3] );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).
thresholdGT   Three-channel threshold for each pixel in greater-than operation.
thresholdGT[3]   Three-channel threshold for each pixel in greater-than operation.
thresholdLT   Threshold for each pixel in less-than operation.
thresholdLT[3]   Three-channel threshold for each pixel in less-than operation.
valueGT   Threshold for each pixel in greater-than operation.
valueGT[3]   Three-channel threshold for each pixel in greater-than operation.
valueLT   Threshold for each pixel in less-than operation.
valueLT[3]   Three-channel threshold for each pixel in less-than operation.

Description

These functions step through an ROI in a source buffer and compare source data to two specified threshold values.

The value of thresholdLT must be less than the value of thresholdGT.

When the source data is less than the value specified by thresholdLT, the output data is set to the value specified by valueLT.

When the source data is greater than the value specified by thresholdGT, the output data is set to the value specified by valueGT.

When the source data is within the range defined by thresholdLT and thresholdGT, the output data is set to same value as the source data.

Output data is written back to the same buffer for in-place operation or to a destination buffer.

Compare

Compare source data

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiCompare_8u_C1R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_8u_C3R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_8u_C4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_8u_AC4R ( const Fw8u *  pSrc1int  src1Stepconst Fw8u *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_16s_C1R ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_16s_C3R ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_16s_C4R ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_16s_AC4R ( const Fw16s *  pSrc1int  src1Stepconst Fw16s *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_32f_C3R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_32f_C4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompare_32f_AC4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
fwCmpOp   Specifies a comparison operation to be performed (fwCmpLess, fwCmpGreater, fwCmpLessEq, fwCmpEq, or fwCmpGreaterEq).
pDst   Pointer to a location in a destination buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).

Description

These functions step through ROIs in two source buffers and compare the data in buffer 1 to the data in buffer 2 using a specified compare operation.

The compare operation can be "less than", "less than or equal, "equal", "greater than or equal" or "greater than".

When the comparison evaluates as true, the output data is set to all ones.

When the comparison evaluates as false, the output data is set to all zeroes.

Output data is written to a 1-channel Fw8u destination buffer.

CompareC

Compare to a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiCompareC_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u  valueFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_8u_C3R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_8u_AC4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_8u_C4R ( const Fw8u *  pSrcint  srcStepconst Fw8u  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s  valueFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_16s_C3R ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_16s_AC4R ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_16s_C4R ( const Fw16s *  pSrcint  srcStepconst Fw16s  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f  valueFw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_32f_C3R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_32f_AC4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );
FwStatus   fwiCompareC_32f_C4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeFwCmpOp  fwCmpOp );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
fwCmpOp   Specifies a comparison operation to be performed (fwCmpLess, fwCmpGreater, fwCmpLessEq, fwCmpEq, or fwCmpGreaterEq).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and compare the source data to a specified constant value using a specified compare operation.

The compare operation can be "less than", "less than or equal, "equal", "greater than or equal" or "greater than".

When the comparison evaluates as true, the output data is set to all ones.

When the comparison evaluates as false, the output data is set to all zeroes.

Output data is written to a 1-channel Fw8u destination buffer.

CompareEqualEps

Compare floating-point data for equality

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiCompareEqualEps_32f_C1R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );
FwStatus   fwiCompareEqualEps_32f_C3R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );
FwStatus   fwiCompareEqualEps_32f_C4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );
FwStatus   fwiCompareEqualEps_32f_AC4R ( const Fw32f *  pSrc1int  src1Stepconst Fw32f *  pSrc2int  src2StepFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
eps   Tolerance value.
pDst   Pointer to a location in a destination buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
roiSize   Specifies the height and width of an ROI.
src1Step   Source buffer one step size (width of the buffer in bytes).
src2Step   Source buffer two step size (width of the buffer in bytes).

Description

These functions step through ROIs in two floating-point source buffers and compare the data in buffer 1 to the data in buffer 2 for equality within a specified tolerance.

When the difference between the values is less than or equal to the specified tolerance, the output data is set to all ones.

When the difference between the floating-point value and the constant is greater than the specified tolerance, the output data is set to all zeroes.

Output data is written to a 1-channel Fw8u destination buffer.

CompareEqualEpsC

Compare floating-point data to a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwiCompareEqualEpsC_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f  valueFw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );
FwStatus   fwiCompareEqualEpsC_32f_C3R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );
FwStatus   fwiCompareEqualEpsC_32f_AC4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[3]Fw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );
FwStatus   fwiCompareEqualEpsC_32f_C4R ( const Fw32f *  pSrcint  srcStepconst Fw32f  value[4]Fw8u *  pDstint  dstStepFwiSize  roiSizeFw32f  eps );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
eps   Tolerance value.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).
value   Specified value.
value[3]   An array of three specified values.
value[4]   An array of four specified values.

Description

These functions step through an ROI in a source buffer and compare the source floating-point data for equality within a specified tolerance.

When the difference between the floating-point value and the constant is less than or equal to the specified tolerance, the output data is set to all ones.

When the difference between the floating-point value and the constant is greater than the specified tolerance, the output data is set to all zeroes.

Output data is written to a 1-channel Fw8u destination buffer.

Morphological Operations

This chapter describes functions that warp, shear, resize, mirror, and rotate images.

Dilate3X3

Dilate with 3X3 mask

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiDilate3x3_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and perform a morphological dilation of the source data using a 3x3 symmetric mask.

The functions read the values of the source pixel and the eight surrounding pixels in the mask area, and set the output pixel value to the largest of the source pixel values.

Output can be written to a destination buffer or back to the source location.

Digital Filter Functions

This chapter describes functions that alter frequency-related visual properties of images such as sharpness and contrast.

Sharpen

Sharpen

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterSharpen_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSharpen_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a sharpening filter to the source data, and write the result to a destination buffer.

The functions use a fixed 3X3 mask.

FilterBox

Blur

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterBox_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a box blur filter to the source data, and write the filtered data to a destination buffer.

The functions can use arbitrary mask sizes.

FilterBoxInplace

Blur in place

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterBox_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_8u_C4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_C1IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_C3IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_C4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_16s_AC4IR ( Fw16s *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterBox_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
maskSize   Specifies the size of a mask used in calculations.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

These functions step through an ROI in a source buffer, apply a box blur filter to the source data, and write the filtered data back to the same location.

The functions can use arbitrary mask sizes.

FilterMin

Filter with minimum value in mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMin_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMin_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the smallest pixel value in the area defined by the mask size, and write the filtered data to a destination buffer.

The functions decrease image contrast. The functions can use arbitrary mask sizes.

FilterMax

Filter with maximum value in mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMax_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMax_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the largest pixel value in the area defined by the mask size, and write the filtered data to a destination buffer.

The functions increase image contrast.

The functions can use arbitrary mask sizes.

SumWindowRow

Sum pixel values in row mask

Supported Technologies

MT

Synopsis

FwStatus   fwiSumWindowRow_8u32f_C1R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowRow_8u32f_C3R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowRow_8u32f_C4R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowRow_16s32f_C1R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowRow_16s32f_C3R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowRow_16s32f_C4R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the sum of the values of all pixels in the area defined by the row mask, and write the filtered data to a destination buffer.

The functions can use arbitrary horizontal row mask sizes.

SumWindow

Sum pixel values in column mask

Supported Technologies

MT

Synopsis

FwStatus   fwiSumWindowColumn_8u32f_C1R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowColumn_8u32f_C3R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowColumn_8u32f_C4R ( const Fw8u *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowColumn_16s32f_C1R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowColumn_16s32f_C3R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );
FwStatus   fwiSumWindowColumn_16s32f_C4R ( const Fw16s *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  maskSizeint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the sum of the values of all pixels in the area defined by the column mask, and write the filtered data to a destination buffer.

The functions can use arbitrary horizontal row mask sizes.

FilterMedian

Filter with median value in mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMedian_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );
FwStatus   fwiFilterMedian_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiSize  maskSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the median value of all pixels in the area defined by the mask, and write the filtered data to a destination buffer.

The functions remove noise without decreasing image brightness, as averaging filters do.

FilterMedianHoriz

Filter with median value in horizontal mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMedianHoriz_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianHoriz_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the median value of all pixels in the area defined by the horizontal mask, and write the filtered data to a destination buffer.

The functions remove noise without decreasing image brightness, as averaging filters do.

The functions can use arbitrary horizontal mask sizes.

FilterMedianVert

Filter with median value in vertical mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMedianVert_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianVert_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the median value of all pixels in the area defined by the vertical mask, and write the filtered data to a destination buffer.

The functions remove noise without decreasing image brightness, as averaging filters do.

The functions can use arbitrary vertical mask sizes.

FilterMedianCross

Filter with median value in cross mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMedianCross_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianCross_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianCross_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianCross_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianCross_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianCross_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the median value of all pixels in the area defined by the cross mask, and write the filtered data to a destination buffer.

The functions remove noise without decreasing image brightness, as averaging filters do.

The functions can use arbitrary cross mask sizes.

FilterMedianColor

Filter color with median value in mask

Supported Technologies

MT

Synopsis

FwStatus   fwiFilterMedianColor_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianColor_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianColor_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianColor_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianColor_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterMedianColor_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, replace each source pixel value with the value of the pixel nearest to the source pixel in the area defined by the mask, and write the filtered data to a destination buffer.

The functions remove noise without decreasing image brightness, as averaging filters do, while preserving the correlation between color components.

The distance between the source and mask pixels is calculated as a sum of absolute values using the following formula:

 abs(R(i)-R(j)) + abs(G(i)-G(j)) + abs(B(i)-B(j)).

Filter

Filter with an integer rectangular kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilter_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelFwiSize  kernelSizeFwiPoint  anchorint  divisor );
FwStatus   fwiFilter_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
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).

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 kernel is an array of signed 32-bit integer values; the anchor coordinate location is relative to the bottom right corner of the kernel.

Filter32f

Filter integer values with a floating-point rectangular kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilter32f_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );
FwStatus   fwiFilter32f_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelFwiSize  kernelSizeFwiPoint  anchor );

Parameters

anchor   A pixel locating the kernel (mask) according to source image.
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).

Description

These functions step through an ROI in a source buffer, and 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.

The filtered data is written to a destination buffer.

The kernel is an array of 32-bit single-precision floating point values; the anchor coordinate location is relative to the bottom right corner of the kernel.

FilterColumn

Filter with an integer vertical column kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterColumn_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32s *  pKernelint  kernelSizeint  yAnchorint  divisor );
FwStatus   fwiFilterColumn_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );

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).
yAnchor   Anchor cell that specifies the vertical 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 vertical column kernel is an array of signed 32-bit integer values; the anchor coordinate location is relative to the bottom of the kernel.

Functions that operate on 8-bit unsigned data assume that the kernel values are small (in the -4096 to 4096 range).

If the results of the 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).

FilterColumn32f

Filter integer values with a floating-point vertical column kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterColumn32f_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );
FwStatus   fwiFilterColumn32f_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  yAnchor );

Parameters

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).
yAnchor   Anchor cell that specifies the vertical alignment of the kernel with respect to the input pixel.

Description

These functions step through an ROI in a source buffer, and 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.

The filtered data is written to a destination buffer.

The vertical column kernel is an array of 32-bit single-precision floating point values; the anchor coordinate location is relative to the bottom of the kernel.

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).

FilterRow32f

Filter integer values with a floating-point horizontal row kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterRow32f_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );
FwStatus   fwiFilterRow32f_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeconst Fw32f *  pKernelint  kernelSizeint  xAnchor );

Parameters

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, and 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.

The filtered data is written to a destination buffer.

The horizontal row kernel is an array of 32-bit single-precision floating point values; the anchor coordinate location is relative to the right side of the kernel.

FilterPrewittHoriz

Filter with a horizontal Prewitt kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterPrewittHoriz_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittHoriz_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a horizontal Prewitt operator to the source data, and write the filtered data to a destination buffer.

The functions enhance the horizontal edges of an image.

FiltePrewittVert

Filter with a vertical Prewitt kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterPrewittVert_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterPrewittVert_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a vertical Prewitt operator to the source data, and write the filtered data to a destination buffer.

The functions enhance the vertical edges of an image.

FilterScharrHoriz

Filter with a horizontal Scharr kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterScharrHoriz_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterScharrHoriz_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterScharrHoriz_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a horizontal Scharr operator to the source data, and write the filtered data to a destination buffer.

These functions enhance and smooth the horizontal edges of an image.

FilterScharrVert

Filter with a vertical Scharr kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterScharrVert_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterScharrVert_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterScharrVert_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a vertical Scharr operator to the source data, and write the filtered data to a destination buffer.

These functions enhance and smooth the vertical edges of an image.

FilterSobelHoriz

Filter with a horizontal Sobel kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterSobelHoriz_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelHoriz_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelHoriz_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelHorizMask_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
mask   An analysis window (only non-zero mask array values are processed).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a horizontal Sobel operator to the source data, and write the filtered data to a destination buffer.

These functions enhance and smooth the horizontal edges of an image.

FilterSobelVert

Filter with a vertical Sobel kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterSobelVert_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterSobelVert_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelVert_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelVertMask_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
mask   An analysis window (only non-zero mask array values are processed).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a vertical Sobel operator to the source data, and write the filtered data to a destination buffer.

These functions enhance and smooth the horizontal edges of an image.

FilterSobelHorizSecond

Filter with a second derivative horizontal Sobel kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterSobelHorizSecond_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelHorizSecond_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelHorizSecond_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
mask   An analysis window (only non-zero mask array values are processed).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a second derivative horizontal Sobel operator to the source data, and write the filtered data to a destination buffer.

These functions enhance and smooth the horizontal edges of an image.

FilterSobelVertSecond

Filter with a second derivative vertical Sobel kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterSobelVertSecond_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelVertSecond_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelVertSecond_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
mask   An analysis window (only non-zero mask array values are processed).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a second derivative vertical Sobel operator to the source data, and write the filtered data to a destination buffer.

These functions enhance and smooth the horizontal edges of an image.

FilterSobelCross

Filter with a second cross derivative Sobel kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterSobelCross_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelCross_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );
FwStatus   fwiFilterSobelCross_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  mask );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
mask   An analysis window (only non-zero mask array values are processed).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a second cross derivative Sobel operator to the source data, and write the filtered data to a destination buffer.

The functions operate on either a 3X3 or 5X5 mask.

These functions enhance and smooth the horizontal edges of an image.

FilterRobertsDown

Filter with a horizontal Roberts kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterRobertsDown_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsDown_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a horizontal Roberts operator to the source data, and write the filtered data to a destination buffer.

These functions provide a gross approximation of the horizontal pixel gradient.

FilterRobertsUp

Filter with a vertical Roberts kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterRobertsUp_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );
FwStatus   fwiFilterRobertsUp_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a vertical Roberts operator to the source data, and write the filtered data to a destination buffer.

These functions provide a gross approximation of the vertical pixel gradient.

FilterLaplace

Filter with a Laplace kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterLaplace_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLaplace_8s16s_C1R ( const Fw8s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a high-pass Lfwacian operator to the source data, and write the filtered data to a destination buffer.

The functions use either a 3X3 or a 5X5 kernel.

FilterGauss

Filter with a Gauss kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterGauss_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterGauss_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a low-pass Gaussian operator to the source data, and write the filtered data to a destination buffer.

The functions use either a 3X3 or a 5X5 kernel.

FilterHipass

Filter with a high-pass kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterHipass_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_16s_C4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterHipass_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a high-pass operator to the source data, and write the filtered data to a destination buffer.

The functions use either a 3X3 or a 5X5 kernel.

FilterLowpass

Filter with a low-pass kernel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiFilterLowpass_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_16s_C1R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_16s_C3R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_16s_AC4R ( const Fw16s *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );
FwStatus   fwiFilterLowpass_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeFwiMaskSize  maskSize );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
maskSize   Specifies the size of a mask used in calculations.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, apply a low-pass operator to the source data, and write the filtered data to a destination buffer.

The functions use either a 3X3 or a 5X5 kernel.

Linear Transformation Functions

This chapter describes functions for Discrete Cosine Transform (DCT).

DCT8X8

Compute data block DCT

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCT8x8Fwd_16s_C1 ( const Fw16s *  pSrcFw16s *  pDst );
FwStatus   fwiDCT8x8Fwd_16s_C1I ( Fw16s*  pSrcDst );
FwStatus   fwiDCT8x8Inv_16s_C1 ( const Fw16s *  pSrcFw16s *  pDst );
FwStatus   fwiDCT8x8Inv_16s_C1I ( Fw16s*  pSrcDst );

Parameters

pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.

Description

These functions compute the forward and inverse DCT coefficients of an 8X8 block of image data.

Results can be written to a destination buffer or back to the source buffer.

Geometric Transform Functions

This chapter describes functions that warp, shear, resize, mirror, and rotate images.

Resize

Resize an image

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiResize_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );
FwStatus   fwiResize_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xFactor   Factor value for X axis direction.
yFactor   Factor value for Y axis direction .

Description

These functions step through an ROI in a source buffer and map the source data into a destination ROI, using x-y scaling factors and a specified method of interpolation.

A super-sampling interpolation option can be used when both the x and y scaling factors are less than 1.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_SUPER: supersampling
 FWI_INTER_LANCZOS: interpolation with Lanczos window function

Use the super-sampling interpolation option when both the x and y scaling factors are less than 1.

ResizeCenter

Resize image relative to center pixel

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiResizeCenter_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_32f_P3R ( const Fw32f * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiResizeCenter_32f_P4R ( const Fw32f * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactordouble  xCenterdouble  yCenterint  interpolation );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xCenter   X coordinate of center.
xFactor   Factor value for X axis direction.
yCenter   Y coordinate of center.
yFactor   Factor value for Y axis direction .

Description

These functions step through an ROI in a source buffer and map the source data into a destination ROI using x-y scaling factors and a specified method of interpolation.

The coordinates of the center pixel in the destination image are the same as the center coordinates of the center pixel in the source image.

The Resize function is a special case of this function with the image center set at (0,0).

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_SUPER: supersampling
 FWI_INTER_LANCZOS: interpolation with Lanczos window function

Use the super-sampling interpolation option when both the x and y scaling factors are less than 1.

GetResizeFract

Get resizing fraction

Synopsis

FwStatus   fwiGetResizeFract ( FwiSize  srcSizeFwiRect  srcRoidouble  xFactordouble  yFactordouble*  xFrdouble*  yFrint  interpolation );

Parameters

interpolation   Specifies the method of interpolation.
srcRoi   Source image ROI.
srcSize   Source image size.
xFactor   Factor value for X axis direction.
xFr   Inverse factor value for X axis direction.
yFactor   Factor value for Y axis direction .
yFr   Inverse factor value for Y axis direction .

Description

This function calculates the inverses of x and y scaling factors and checks whether parameters are correctly defined. It is typically used with the ResizeShift functions.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_LANCZOS: interpolation with Lanczos window function

ResizeShift

Resize and shift an image

Synopsis

FwStatus   fwiResizeShift_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiResizeShift_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiSize  dstRoiSizedouble  xFrdouble  yFrdouble  xShiftdouble  yShiftint  interpolation );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xFr   Inverse factor value for X axis direction.
xShift   Shift value for X axis direction.
yFr   Inverse factor value for Y axis direction .
yShift   Shift value for Y axis direction.

Description

These functions step through an ROI in a source buffer, scale the source data using inverse x-y scaling factors and a specified method of interpolation, then shift the data to a destination ROI.

The functions use the following equivalent mapping formulas.

 x=(x'-xShift)*xFr  or  x'=x*xFactor+xShift
 y=(y'-yShift)*yFr    y'=y*yFactor+yShift

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_LANCZOS: interpolation with Lanczos window function

ResizeSqrPixelGetBufSize

Calculate external buffer size for <FunctionName>ResizeSqrPixel</FunctionName> function

Synopsis

FwStatus   fwiResizeSqrPixelGetBufSize ( FwiSize  dstSizeint  nChannelint  interpolationint *  pBufferSize );

Parameters

dstSize   Destination image size.
interpolation   Specifies the method of interpolation.
nChannel   Number of channels in the image.
pBufferSize   Pointer to the size of a temporary buffer.

Description

This function is used before a ResizeSqrPixel function. It calculates external buffer size, acts as a buffer space placeholder, and checks whether parameters used by the ResizeSqrPixel function are defined correctly.

ResizeSqrPixel

Resize and shift an image

Supported Technologies

SSE2

Synopsis

FwStatus   fwiResizeSqrPixel_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_32f_P3R ( const Fw32f * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f * const  pDst[3]int  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );
FwStatus   fwiResizeSqrPixel_32f_P4R ( const Fw32f * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f * const  pDst[4]int  dstStepFwiRect  dstRoidouble  xFactordouble  yFactordouble  xShiftdouble  yShiftint  interpolationFw8u *  pBuffer );

Parameters

dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pBuffer   Pointer to the location of a temporary buffer.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xFactor   Factor value for X axis direction.
xShift   Shift value for X axis direction.
yFactor   Factor value for Y axis direction .
yShift   Shift value for Y axis direction.

Description

These functions step through an ROI in a source buffer, scale the source data using x-y scaling factors and a specified method of interpolation, then shift the data to a destination ROI.

Unlike the ResizeShift function, the ResizeSqrPixel functions map the source ROI to a specified destination ROI and use noninverted x-y scaling factors.

The functions use the following mapping formulas.

 x'=x*xFactor+xShift
 y'=y*yFactor+yShift

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_SUPER: supersampling
 PLI_INTER_LANCZOS: interpolation with Lanczos window function

Use the super-sampling interpolation option when both the x and y scaling factors are less than 1.

ResizeYUV422

Resize a YUV422 image

Synopsis

FwStatus   fwiResizeYUV422_8u_C2R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiSize  dstRoiSizedouble  xFactordouble  yFactorint  interpolation );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xFactor   Factor value for X axis direction.
yFactor   Factor value for Y axis direction .

Description

This function steps through an ROI in a source buffer, scales the source data using x-y scaling factors and a specified method of interpolation, then shifts the data to a destination ROI.

The function is specialized for YUV color space data with 4:2:2 chroma sub-sampling. The source data has two channels in 4:2:2 sampled format with decoupled luminance and chrominance components.

For example, the format could be in the form of alternating YUYVYUYV...

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation
 FWI_INTER_SUPER: supersampling
 FWI_INTER_LANCZOS: interpolation with Lanczos window function

Use the super-sampling interpolation option when both the x and y scaling factors are less than 1.

Mirror

Mirror an image

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMirror_8u_C1R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_C3R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_C4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_AC4R ( const Fw8u *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_C1R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_C4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_AC4R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_C1R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_C3R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_C4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_AC4R ( const Fw32s *  pSrcint  srcStepFw32s *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_C1R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_C3R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_C4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_AC4R ( const Fw32f *  pSrcint  srcStepFw32f *  pDstint  dstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_C1IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_C3IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_C4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_8u_AC4IR ( Fw8u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_C1IR ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_C3IR ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_C4IR ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_16u_AC4IR ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_C1IR ( Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_C3IR ( Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_C4IR ( Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32s_AC4IR ( Fw32s *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_C1IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_C3IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_C4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );
FwStatus   fwiMirror_32f_AC4IR ( Fw32f *  pSrcDstint  srcDstStepFwiSize  roiSizeFwiAxis  flip );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
flip   Image mirror flip mode.
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer and mirror the source data about the vertical axis, the horizontal axis, or both axes.

The mirrored data can be written to a destination buffer or written back to the source buffer.

Remap

Remap an image using table look-up

Synopsis

FwStatus   fwiRemap_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw8u *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw32f *  pDstint  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw8u * const  pDst[3]int  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw8u * const  pDst[4]int  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw32f* const  pDst[3]int  dstStepFwiSize  dstRoiSizeint  interpolation );
FwStatus   fwiRemap_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst Fw32f *  pxMapint  xMapStepconst Fw32f *  pyMapint  yMapStepFw32f* const  pDst[4]int  dstStepFwiSize  dstRoiSizeint  interpolation );

Parameters

dstRoiSize   Destination image ROI size.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
pxMap   Pointer to X axis mapping table array.
pyMap   Pointer to Y axis mapping table array.
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xMapStep   X axis mapping table step size (width of the buffer in bytes).
yMapStep   Y axis mapping table step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, remap the source data using look-up tables for the x and y coordinates of each pixel and a specified method of interpolation, then write the data into a destination ROI.

The following mapping formula is used.

 dst_pixel[x,y] = src_pixel[pxMap[x,y], pyMap[x,y]]

Where:
 pxMap[x,y] is the x-coordinate look up table
 pyMap[x,y] is the y-coordinate look-up table

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

Rotate

Rotate an image

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRotate_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiRotate_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoidouble  angledouble  xShiftdouble  yShiftint  interpolation );

Parameters

angle   Specifies the rotation angle in degrees, counterclockwise.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xShift   Shift value for X axis direction.
yShift   Shift value for Y axis direction.

Description

These functions step through an ROI in a source buffer, rotate the source data around (0,0) by a specified angle, shift the x-y coordinates according to the x and y shift values, and map the data into a destination ROI using a specified method of interpolation.

The FWI_SMOOTH_EDGE option is available when the destination ROI contains the transformed image.

Depending on the x-y coordinate values and the amount of rotation, the rotated image may be clipped by the destination ROI boundary.

A positive angle value indicates counterclockwise rotation when source data is ordered downward for height.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

GetRotateShift

Get rotation shift values

Synopsis

FwStatus   fwiGetRotateShift ( double  xCenterdouble  yCenterdouble  angledouble*  xShiftdouble*  yShift );

Parameters

angle   Specifies the rotation angle in degrees, counterclockwise.
xCenter   X coordinate of center.
xShift   Shift value for X axis direction.
yCenter   Y coordinate of center.
yShift   Shift value for Y axis direction.

Description

This function computes shift values for the RotateCenter functions.

AddRotateShift

Add new rotation shift values to existing shift values

Synopsis

FwStatus   fwiAddRotateShift ( double  xCenterdouble  yCenterdouble  angledouble*  xShiftdouble*  yShift );

Parameters

angle   Specifies the rotation angle in degrees, counterclockwise.
xCenter   X coordinate of center.
xShift   Shift value for X axis direction.
yCenter   Y coordinate of center.
yShift   Shift value for Y axis direction.

Description

This function adds specified shift values to existing shift values for the RotateCenter functions.

GetRotateQuad

Get rotation quadrangle vertices

Synopsis

FwStatus   fwiGetRotateQuad ( FwiRect  srcRoidouble  quad[4][2]double  angledouble  xShiftdouble  yShift );

Parameters

angle   Specifies the rotation angle in degrees, counterclockwise.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.
xShift   Shift value for X axis direction.
yShift   Shift value for Y axis direction.

Description

This function is used with the GetRotateBound function. It computes the vertex coordinates of the quadrangular destination ROI for the rotate functions.

Quad[0] contains the top right x and y coordinates

Quad[1] contains the top left x and y coordinates

Quad[2] contains the bottom right x and y coordinates

Quad[3] contains the bottom left x and y coordinates

GetRotateBound

Get rotation boundary

Synopsis

FwStatus   fwiGetRotateBound ( FwiRect  srcRoidouble  bound[2][2]double  angledouble  xShiftdouble  yShift );

Parameters

angle   Specifies the rotation angle in degrees, counterclockwise.
bound[2][2]   Boundary rectangle vertex coordinates for a transformed source ROI.
srcRoi   Source image ROI.
xShift   Shift value for X axis direction.
yShift   Shift value for Y axis direction.

Description

This function is used with the GetRotateQuad function. It computes the boundaries of the source ROI for the rotate functions.

Bound[0] contains the top right x and y coordinates

Bound[1] contains the bottom left x and y coordinates

RotateCenter

Rotate around a specific center

Synopsis

FwStatus   fwiRotateCenter_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );
FwStatus   fwiRotateCenter_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoidouble  angledouble  xCenterdouble  yCenterint  interpolation );

Parameters

angle   Specifies the rotation angle in degrees, counterclockwise.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xCenter   X coordinate of center.
yCenter   Y coordinate of center.

Description

These functions step through a source ROI, rotate the source data around a specified center by a specified angle, apply a specified method of interpolation, then write the rotated data to a destination ROI.

Positive angle parameter values specify counterclockwise rotation.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

Shear

Perform shear transform

Synopsis

FwStatus   fwiShear_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );
FwStatus   fwiShear_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoidouble  xSheardouble  ySheardouble  xShiftdouble  yShiftint  interpolation );

Parameters

dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
xShear   Shear value for X axis in Shear transformation.
xShift   Shift value for X axis direction.
yShear   Shear value for Y axis in Shear transformation.
yShift   Shift value for Y axis direction.

Description

These functions step through a source ROI, perform the shear transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

The following shear transform formula is used.

 x' = xShear * y + x + xShift
 y' = yShear * x + y + yShift

Where x' and y' are the destination coordinates

The shear transform is a special case of the warp affine transform.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

GetShearQuad

Get shear quadrangle vertices

Synopsis

FwStatus   fwiGetShearQuad ( FwiRect  srcRoidouble  quad[4][2]double  xSheardouble  ySheardouble  xShiftdouble  yShift );

Parameters

quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.
xShear   Shear value for X axis in Shear transformation.
xShift   Shift value for X axis direction.
yShear   Shear value for Y axis in Shear transformation.
yShift   Shift value for Y axis direction.

Description

This function is used with the GetShearBound function. It computes the vertex coordinates of the quadrangular destination ROI for the shear functions.

Quad[0] contains the top right x and y coordinates

Quad[1] contains the top left x and y coordinates

Quad[2] contains the bottom right x and y coordinates

Quad[3] contains the bottom left x and y coordinates

GetShearBound

Get shear boundary

Synopsis

FwStatus   fwiGetShearBound ( FwiRect  srcRoidouble  bound[2][2]double  xSheardouble  ySheardouble  xShiftdouble  yShift );

Parameters

bound[2][2]   Boundary rectangle vertex coordinates for a transformed source ROI.
srcRoi   Source image ROI.
xShear   Shear value for X axis in Shear transformation.
xShift   Shift value for X axis direction.
yShear   Shear value for Y axis in Shear transformation.
yShift   Shift value for Y axis direction.

Description

This function is used with the GetShearQuad function. It computes the boundaries of the source ROI for the shear functions.

Bound[0] contains the top right x and y coordinates

Bound[1] contains the bottom left x and y coordinates

WarpAffine

Perform warp affine transform

Synopsis

FwStatus   fwiWarpAffine_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffine_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );

Parameters

coeffs[2][3]   Coefficients for Warp Affine transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform the warp affine transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

The following transformation formula is used.

 x' = c00*x + c01*y + c02
 y' = c10*x + c11*y + c12

Where:
 x' and y' are the destination coordinates
 Cij are the warp affine transform coefficients that are passed into the array

The warp affine transform is a general linear transformation that maps parallel lines to parallel lines.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

WarpAffineBack

Perform inverse warp affine transform

Synopsis

FwStatus   fwiWarpAffineBack_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_16u_C1R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_16u_C3R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_16u_C4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_16u_AC4R ( const Fw16u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_16u_P3R ( const Fw16u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_16u_P4R ( const Fw16u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw16u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );
FwStatus   fwiWarpAffineBack_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][3]int  interpolation );

Parameters

coeffs[2][3]   Coefficients for Warp Affine transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform an inverse warp affine transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

The following transformation formula is used.

 c00*x' + c01*y' + c02 = x
 c10*x' + c11*y' + c12 = y

Where cij represents the transform coefficients

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

WarpAffineQuad

Perform quadrangular warp affine transform

Synopsis

FwStatus   fwiWarpAffineQuad_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpAffineQuad_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );

Parameters

dstQuad[4][2]   Destination quadrangle vertex coordinates.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcQuad[4][2]   Source quadrangle vertex coordinates.
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a quadrangular source ROI, perform the warp affine transform on the source data, and map the transformed data into a quadrangular destination ROI using a specified method of interpolation.

The warp affine coefficients are calculated using the quadrangle vertices. If the coefficients cannot be resolved consistently, the function returns errors.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

GetAffineQuad

Get affine quadrangle vertices

Synopsis

FwStatus   fwiGetAffineQuad ( FwiRect  srcRoidouble  quad[4][2]const double  coeffs[2][3] );

Parameters

coeffs[2][3]   Coefficients for Warp Affine transform.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.

Description

This function is used with the GetAffineBound function. It computes the vertex coordinates of the quadrangular destination ROI for the WarpAffineQuad functions.

Quad[0] contains the top right x and y coordinates

Quad[1] contains the top left x and y coordinates

Quad[2] contains the bottom right x and y coordinates

Quad[3] contains the bottom left x and y coordinates

GetAffineBound

Get affine boundary

Synopsis

FwStatus   fwiGetAffineBound ( FwiRect  srcRoidouble  bound[2][2]const double  coeffs[2][3] );

Parameters

bound[2][2]   Boundary rectangle vertex coordinates for a transformed source ROI.
coeffs[2][3]   Coefficients for Warp Affine transform.
srcRoi   Source image ROI.

Description

This function is used with the GetAffineQuad function. It computes the boundaries of the source ROI for the WarpAffineQuad functions.

Bound[0] contains the top right x and y coordinates

Bound[1] contains the bottom left x and y coordinates

GetAffineTransform

Get affine transform coefficients

Synopsis

FwStatus   fwiGetAffineTransform ( FwiRect  srcRoiconst double  quad[4][2]double  coeffs[2][3] );

Parameters

coeffs[2][3]   Coefficients for Warp Affine transform.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.

Description

This function computes affine transform coefficients for the WarpAffineQuad functions.

Quad[0] corresponds to the top right coordinates of the source ROI

Quad[1] corresponds to the top left coordinates of the source ROI

Quad[2] corresponds to the bottom right coordinates of the source ROI

Quad[3] corresponds to the bottom left coordinates of the source ROI

The function returns fwstsCoeffErr if the mapping is incorrect.

WarpPerspective

Perform warp perspective transform

Synopsis

FwStatus   fwiWarpPerspective_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspective_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );

Parameters

coeffs[3][3]   Coefficients for Warp Affine Perspective transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform the warp perspective transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

The following transformation formula is used.

 x' = (c00*x + c01*y + c02)/(c20*x + c21*y + c22)
 y' = (c10*x + c11*y + c12)/(c20*x + c21*y + c22)

Where:
 x' and y' are the destination coordinates
 Cij are transform coefficients that are passed into the array

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

WarpPerspectiveBack

Perform inverse warp perspective transform

Synopsis

FwStatus   fwiWarpPerspectiveBack_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );
FwStatus   fwiWarpPerspectiveBack_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[3][3]int  interpolation );

Parameters

coeffs[3][3]   Coefficients for Warp Affine Perspective transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform an inverse warp perspective transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

Edge smoothing interpolation is applicable only when the destination quadrangle is completely within the destination image ROI.

The following transformation formula is used.

 (c00*x' + c01*y' + c02)/(c20*x' + c21*y' + c22) = x
 (c10*x' + c11*y' + c12)/(c20*x' + c21*y' + c22) = y

Where cij represents the transform coefficients

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

WarpPerspectiveQuad

Perform quadrangular warp perspective transform

Synopsis

FwStatus   fwiWarpPerspectiveQuad_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpPerspectiveQuad_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );

Parameters

dstQuad[4][2]   Destination quadrangle vertex coordinates.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcQuad[4][2]   Source quadrangle vertex coordinates.
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a quadrangular source ROI, perform the warp perspective transform on the source data, and map the transformed data into a quadrangular destination ROI using a specified method of interpolation.

Edge smoothing interpolation is applicable only when the destination quadrangle is completely within the destination ROI.

The warp perspective coefficients are calculated using the quadrangle vertices. If the coefficients cannot be resolved consistently, the function returns errors.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

GetPerspectiveQuad

Get perspective quadrangle vertices

Synopsis

FwStatus   fwiGetPerspectiveQuad ( FwiRect  srcRoidouble  quad[4][2]const double  coeffs[3][3] );

Parameters

coeffs[3][3]   Coefficients for Warp Affine Perspective transform.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.

Description

This function is used with the GetPerspectiveBound function. It computes the vertex coordinates of the quadrangular destination ROI for the WarpPerspectiveQuad functions.

Quad[0] contains the top right x and y coordinates

Quad[1] contains the top left x and y coordinates

Quad[2] contains the bottom right x and y coordinates

Quad[3] contains the bottom left x and y coordinates

GetPerspectiveBound

Get perspective boundary

Synopsis

FwStatus   fwiGetPerspectiveBound ( FwiRect  srcRoidouble  bound[2][2]const double  coeffs[3][3] );

Parameters

bound[2][2]   Boundary rectangle vertex coordinates for a transformed source ROI.
coeffs[3][3]   Coefficients for Warp Affine Perspective transform.
srcRoi   Source image ROI.

Description

This function is used with the GetPerspectiveQuad function. It computes the boundaries of the source ROI for the WarpPerspectiveQuad functions.

Bound[0] contains the top right x and y coordinates

Bound[1] contains the bottom left x and y coordinates

GetPerspectiveTransform

Get the perspective transform coefficients

Synopsis

FwStatus   fwiGetPerspectiveTransform ( FwiRect  srcRoiconst double  quad[4][2]double  coeffs[3][3] );

Parameters

coeffs[3][3]   Coefficients for Warp Affine Perspective transform.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.

Description

This function computes perspective transform coefficients for the WarpPerspectiveQuad functions.

Quad[0] corresponds to the top right coordinates of the source ROI

Quad[1] corresponds to the top left coordinates of the source ROI

Quad[2] corresponds to the bottom right coordinates of the source ROI

Quad[3] corresponds to the bottom left coordinates of the source ROI

The function returns fwstsCoeffErr if the mapping is incorrect.

WarpBilinear

Perform warp bilinear transform

Synopsis

FwStatus   fwiWarpBilinear_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinear_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );

Parameters

coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform the warp bilinear transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

The following transformation formula is used.

 x' = c00*xy + c01*x + c02*y + c03
 y' = c10*xy + c11*x + c12*y + c13

Where:
 x' and y' are the destination coordinates
 Cij are transform coefficients that are passed into the array

The warp bilinear transform is not a true linear transform. It does not preserve distance relationships.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

WarpBilinearBack

Perform inverse warp bilinear transform

Synopsis

FwStatus   fwiWarpBilinearBack_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f *  pDstint  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );
FwStatus   fwiWarpBilinearBack_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiFw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  coeffs[2][4]int  interpolation );

Parameters

coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a source ROI, perform an inverse warp bilinear transform on the source data, apply a specified method of interpolation, and write the data to a destination ROI.

Edge smoothing interpolation is applicable only when the destination quadrangle is completely within the destination image ROI.

The following transformation formula is used.

 c00*x'y' + c01*x' + c02*y' + c03 = x
 c10*x'y' + c11*x' + c12*y' + c13 = y

Where cij represents the transform coefficients

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

WarpBilinearQuad

Perform quadrangular warp bilinear transform

Synopsis

FwStatus   fwiWarpBilinearQuad_8u_C1R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_8u_C3R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_8u_C4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_8u_AC4R ( const Fw8u *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_32f_C1R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_32f_C3R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_32f_C4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_32f_AC4R ( const Fw32f *  pSrcFwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f *  pDstint  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_8u_P3R ( const Fw8u * const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u * const  pDst[3]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_8u_P4R ( const Fw8u * const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw8u * const  pDst[4]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_32f_P3R ( const Fw32f* const  pSrc[3]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f* const  pDst[3]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );
FwStatus   fwiWarpBilinearQuad_32f_P4R ( const Fw32f* const  pSrc[4]FwiSize  srcSizeint  srcStepFwiRect  srcRoiconst double  srcQuad[4][2]Fw32f* const  pDst[4]int  dstStepFwiRect  dstRoiconst double  dstQuad[4][2]int  interpolation );

Parameters

dstQuad[4][2]   Destination quadrangle vertex coordinates.
dstRoi   Destination image ROI.
dstStep   Destination buffer step size (width of the buffer in bytes).
interpolation   Specifies the method of interpolation.
pDst   Pointer to a location in a destination buffer.
pDst[3]   Pointer to a location in a three-channel planar destination buffer (array values point to a location in each plane).
pDst[4]   Pointer to a location in a four-channel planar destination buffer (array values point to a location in each plane).
pSrc   Pointer to a location in a source buffer.
pSrc[3]   Pointer to a location in a three-channel planar source buffer (array values point to a location in each plane).
pSrc[4]   Pointer to a location in a four-channel planar source buffer (array values point to a location in each plane).
srcQuad[4][2]   Source quadrangle vertex coordinates.
srcRoi   Source image ROI.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a quadrangular source ROI, perform the warp bilinear transform on the source data, and map the transformed data into a quadrangular destination ROI using a specified method of interpolation.

Edge smoothing interpolation is applicable only when the destination quadrangle is completely within the destination ROI.

The warp perspective coefficients are calculated using the quadrangle vertices. If the coefficients cannot be resolved consistently, the function returns errors.

The following interpolation modes are available.

 FWI_INTER_NN: nearest neighbor interpolation
 FWI_INTER_LINEAR: linear interpolation
 FWI_INTER_CUBIC: cubic interpolation

GetBilinearQuad

Get bilinear quadrangle vertices

Synopsis

FwStatus   fwiGetBilinearQuad ( FwiRect  srcRoidouble  quad[4][2]const double  coeffs[2][4] );

Parameters

coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.

Description

This function is used with the GetBilinearBound function. It computes the vertex coordinates of the quadrangular destination ROI for the WarpBilinearQuad functions.

Quad[0] contains the top right x and y coordinates

Quad[1] contains the top left x and y coordinates

Quad[2] contains the bottom right x and y coordinates

Quad[3] contains the bottom left x and y coordinates

GetBilinearBound

Get bilinear boundary

Synopsis

FwStatus   fwiGetBilinearBound ( FwiRect  srcRoidouble  bound[2][2]const double  coeffs[2][4] );

Parameters

bound[2][2]   Boundary rectangle vertex coordinates for a transformed source ROI.
coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
srcRoi   Source image ROI.

Description

This function is used with the GetBilinearQuad function. It computes the boundaries of the source ROI for the WarpBilinearQuad functions.

Bound[0] contains the top right x and y coordinates

Bound[1] contains the bottom left x and y coordinates

GetBilinearTransform

Get the bilinear transform coefficients

Synopsis

FwStatus   fwiGetBilinearTransform ( FwiRect  srcRoiconst double  quad[4][2]double  coeffs[2][4] );

Parameters

coeffs[2][4]   Coefficients for Warp Affine Bilinear transform.
quad[4][2]   Quadrangle vertex coordinates.
srcRoi   Source image ROI.

Description

This function computes bilinear transform coefficients for the WarpBilinearQuad functions.

Quad[0] corresponds to the top right coordinates of the source ROI

Quad[1] corresponds to the top left coordinates of the source ROI

Quad[2] corresponds to the bottom right coordinates of the source ROI

Quad[3] corresponds to the bottom left coordinates of the source ROI

The function returns fwstsCoeffErr if the mapping is incorrect.

/*#Documentation

3D Look-up functions

This chapter describes functions for 3D look-up with trilinear interpolation.

LookUp3DSpecInitAlloc

initialises the FwiLUTSpec structure

Supported Technologies

SSE2

Synopsis

FwStatus   fwiLookUp3DSpecInitAlloc ( const Fw16u  cubeDimensionsconst Fw16u  cubeMaxFwiLUTSpec**  ppLUTSpec );

Parameters

cubeDimensions   dimensions of the 3D-LUT cube in x, y and z directions .(eg. (17,17,17), (33,33,33) etc)
cubeMax   The maximum values that can occur in 3D-LUT cube in x, y and z directions.(eg. (1023,1023,1023),4095,4095,4095) for 10 bit and 12 bit outputs respectively)
ppLUTSpec   pointer to a pointer to FwiLUTSpec structure

Description

The function allocates memory for the FwiLUTSpec structure and initialises it.

LookUp3DSpecInitAlloc

Convert the image from one color space to another by using 3D-Lookup with trilinear interpolation

Supported Technologies

SSE2

Synopsis

FwStatus   fwiLookUp3D_16u_C3R ( const Fw16u *  pSrcint  srcStepFw16u *  pDstint  dstStepFwiSize  roiSizeconst Fw16u *  pCubeFwiLUTSpec*  pLUTSpec );
FwStatus   fwiLookUp3D_16u_C3IR ( Fw16u *  pSrcDstint  srcDstStepFwiSize  roiSizeconst Fw16u *  pCubeFwiLUTSpec*  pLUTSpec );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pCube   Pointer to the 3d_LUT cube. The pixel values in the table should be filled along z-axis first, then along y-axis and finally along x-axis
pDst   Pointer to a location in a destination buffer.
pLUTSpec   pointer to the FwiLUTSpec structure
pSrc   Pointer to a location in a source buffer.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
roiSize   Specifies the height and width of an ROI.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

The functions run through all the pixels in an ROI and and convert them from one color space to another. The R, G and B values of each pixel are taken up and a 3D look-up is performed using the pCube table to find it's 8 neighbouring vertices in the new color space. Then a trilinear interpolation is done using the R, G and B values of the 8 vertices(in the new color space) to get the R, G and B values for the current pixel in the new color space. pCubepoints to a 3 dimensional cube. The contents of the table are the R, G and B values(in new color space) of each vertex in the cube.

LookUp3DSpecFree

free the memory allocated to <Bold>FwiLUTSpec</Bold> structure

Supported Technologies

SSE2

Synopsis

FwStatus   fwiLookUp3DSpecFree ( FwiLUTSpec*  pLUTSpec );

Parameters

pLUTSpec   pointer to the FwiLUTSpec structure

Description

The function frees the memory allocated to FwiLUTSpec structure

JPEG Library

JPEG Library functions perform a variety of tasks related to Joint Photographic Experts Group image manipulation.

This section is organized as follows.

Within the section, the Basic Concepts chapter provides overview information related to the functions in the library, and subsequent chapters provide detailed descriptions of library functions that perform operations of the same kind.

Each detailed description consists of a Function Name followed by a short description, a Synopsis of the function syntax, a list of function Parameters, a detailed Description of the function, and a list of Return Values.

When a function is optimized for one or more technologies, a list of Supported Technologies is provided after the short description.

The Function Quick Reference provides an index and snapshot view of function optimizations.

Basic Concepts

This chapter provides an overview of the information contained in the functional descriptions.

Image Compression library functional descriptions include the following types of information.

Data Structures

JPEG library function definitions use the following data structures.

FwiDecodeHuffmanSpec   Internal data structure for Huffman decoder table.
FwiDecodeHuffmanState   Internal data structure for Huffman decoder state.
FwiEncodeHuffmanSpec   Internal data structure for Huffman encoder table.
FwiEncodeHuffmanState   Internal data structure for Huffman encoder state.

Parameter Glossary

JPEG library function definitions use the following parameters.

Al   Progressive JPEG successive approximation parameter for actual point transform.
Se   Progressive JPEG spectral selection end index.
Ss   Progressive JPEG spectral selection start index.
bFlushState   Indicates the last 8X8 block in a scan.
dstLenBytes   Destination buffer length in bytes.
dstSize   Destination image size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pAcStatistics[256]   Pointer to Huffman symbol statistics for AC coefficient.
pAcTable   Pointer to the Huffman AC coefficient table.
pDcStatistics[256]   Pointer to Huffman symbol statistics for DC coefficient.
pDcTable   Pointer to the Huffman DC coefficient table.
pDecHuffSpec   Pointer to the FwiDecodeHuffmanSpec structure.
pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.
pDst   Pointer to a location in a destination buffer.
pDstBGR   Pointer to destination image ROI for BGR image format.
pDstBitsLen   Pointer to destination buffer length in bits.
pDstCMYK   Pointer to destination image ROI for CMYK image format.
pDstCMYK[4]   Pointer to destination image ROI for CMYK image format (four-channel planar).
pDstCurrPos   Pointer to the shift value at the current destination buffer in bytes.
pDstMCU[3]   Array of pointers to destination MCU image blocks.
pDstMCU[4]   Array of pointers to destination MCU image blocks.
pDstRGB   Pointer to destination image ROI for RGB image format.
pDstRGB[3]   Pointer to destination image ROI for RGB image format (three-channel planar).
pDstY   Pointer to destination image ROI for grayscale image format.
pDstYCCK[4]   Pointer to destination image ROI for YCCK image format (four-channel planar).
pDstYCbCr[3]   Pointer to destination image ROI for YCbCr image format (three-channel planar).
pEncHuffSpec   Pointer to the FwiEncodeHuffmanSpec structure.
pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pListBits   Pointer to the Bits list.
pListVals   Pointer to the Vals list.
pMarker   Pointer to the JPEG marker position.
pNumValidPrefetchedBits   Pointer to the value of valid bits in the prefetched buffer.
pPrefetchedBits   Pointer to the prefetched buffer, which contains decoded data from the previous block.
pQuantFwdTable   Pointer to the forward quantization table (encoder).
pQuantInvTable   Pointer to the inverse quantization table (decoder).
pQuantRawTable   Pointer to the raw quantization table.
pSize   Pointer to the size of an internal structure.
pSrc   Pointer to a location in a source buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrcBGR   Pointer to source image ROI for BGR image format.
pSrcBitsLen   Pointer to the source buffer length in bits.
pSrcCMYK   Pointer to source image ROI for CMYK image format.
pSrcCMYK[4]   Pointer to source image ROI for CMYK image format (four-channel planar).
pSrcCurrPos   Pointer to the shift value at the current source buffer in bytes.
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.
pSrcMCU[3]   Array of pointers to source MCU image blocks.
pSrcMCU[4]   Array of pointers to source MCU image blocks.
pSrcRGB   Pointer to source image ROI for RGB image format.
pSrcRGB[3]   Pointer to source image ROI for RGB image format (three-channel planar).
pSrcYCCK[4]   Pointer to source image ROI for YCCK image format (four-channel planar).
pSrcYCbCr[3]   Pointer to source image ROI for YCbCr image format (three-channel planar).
pStatistics[256]   Pointer to Huffman symbol statistics.
qualityFactor   JPEG image quality factor (value between 1 and 100).
roiSize   Specifies the height and width of an ROI.
srcLenBytes   Source buffer length in bytes.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).
srcWidth   Width of the source row in pixels.

Library Version

This chapter describes the FW function that provides library version information.

GetLibVersion

Get library version

Synopsis

const FwLibraryVersion*   fwjGetLibVersion (    );

Description

This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.

Image Compression Functions

This chapter describes functions that are used in JPEG image compression.

RGBToY_JPEG

Convert RGB to grayscale

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRGBToY_JPEG_8u_P3C1R ( const Fw8u * const  pSrcRGB[3]int  srcStepFw8u *  pDstYint  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToY_JPEG_8u_C3C1R ( const Fw8u *  pSrcRGBint  srcStepFw8u *  pDstYint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstY   Pointer to destination image ROI for grayscale image format.
pSrcRGB   Pointer to source image ROI for RGB image format.
pSrcRGB[3]   Pointer to source image ROI for RGB image format (three-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from RGB to grayscale luminance values, and write the converted data to a destination buffer.

The following formula is used to convert red, green, and blue values to luminance values.

 Y = 0.299*R + 0.587*G + 0.114*B

BGRToY_JPEG

Convert BGR to grayscale (JPEG)

Synopsis

FwStatus   fwiBGRToY_JPEG_8u_C3C1R ( const Fw8u *  pSrcBGRint  srcStepFw8u *  pDstYint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstY   Pointer to destination image ROI for grayscale image format.
pSrcBGR   Pointer to source image ROI for BGR image format.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from BGR to grayscale luminance values, and writes the converted data to a destination buffer.

The following formula is used to convert blue, green, and red values to luminance values.

 Y = 0.114*B + 0.587*G + 0.299*R

RGBToYCbCr_JPEG

Convert RGB to YCbCr (JPEG)

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwiRGBToYCbCr_JPEG_8u_P3R ( const Fw8u * const  pSrcRGB[3]int  srcStepFw8u *  pDstYCbCr[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiRGBToYCbCr_JPEG_8u_C3P3R ( const Fw8u *  pSrcRGBint  srcStepFw8u * const  pDstYCbCr[3]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstYCbCr[3]   Pointer to destination image ROI for YCbCr image format (three-channel planar).
pSrcRGB   Pointer to source image ROI for RGB image format.
pSrcRGB[3]   Pointer to source image ROI for RGB image format (three-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the RGB color model to the YCbCr color space, and write the converted data to a destination buffer.

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

YCbCrToRGB_JPEG

Convert YCbCr to RGB (JPEG)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiYCbCrToRGB_JPEG_8u_P3R ( const Fw8u * const  pSrcYCbCr[3]int  srcStepFw8u *  pDstRGB[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB_JPEG_8u_P3C3R ( const Fw8u * const  pSrcYCbCr[3]int  srcStepFw8u *  pDstRGBint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstRGB   Pointer to destination image ROI for RGB image format.
pDstRGB[3]   Pointer to destination image ROI for RGB image format (three-channel planar).
pSrcYCbCr[3]   Pointer to source image ROI for YCbCr image format (three-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert the source data from the YCbCr color space to the RGB color model, and write the converted data to a destination buffer.

The following formulas are used to convert luminance and chrominance values to red, green, and blue values.

 R = Y + 1.402*Cr - 179.456
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 B = Y + 1.772*Cb - 226.816

RGB5X5ToYCbCr_JPEG

Convert 16-bit RGB to YCbCr (JPEG)

Synopsis

FwStatus   fwiRGB565ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u *  pSrcRGBint  srcStepFw8u *  pDstYCbCr[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiRGB555ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u *  pSrcRGBint  srcStepFw8u *  pDstYCbCr[3]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstYCbCr[3]   Pointer to destination image ROI for YCbCr image format (three-channel planar).
pSrcRGB   Pointer to source image ROI for RGB image format.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert 16-bit source data from the RGB color model to the YCbCr color space, and write the converted data to a destination buffer.

There are separate functions for 555 and 565 bit-per-channel RGB source encoding.

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

YCbCrToRGB5X5_JPEG

Convert YCbCr to 16-bit RGB (JPEG)

Synopsis

FwStatus   fwiYCbCrToRGB565_JPEG_8u16u_P3C3R ( const Fw8u *  pSrcYCbCr[3]int  srcStepFw16u *  pDstRGBint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToRGB555_JPEG_8u16u_P3C3R ( const Fw8u *  pSrcYCbCr[3]int  srcStepFw16u *  pDstRGBint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstRGB   Pointer to destination image ROI for RGB image format.
pSrcYCbCr[3]   Pointer to source image ROI for YCbCr image format (three-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These function step through an ROI in a source buffer, convert source data from the YCbCr color space to the 16-bit RGB color model, and write the converted data to a destination buffer.

There are separate functions for 555 and 565 bit-per-channel RGB destination encoding.

The following formulas are used to convert luminance and chrominance values to red, green, and blue values.

 R = Y + 1.402*Cr - 179.456
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 B = Y + 1.772*Cb - 226.816

BGRToYCbCr_JPEG

Convert BGR to YCbCr (JPEG)

Synopsis

FwStatus   fwiBGRToYCbCr_JPEG_8u_C3P3R ( const Fw8u *  pSrcBGRint  srcStepFw8u * const  pDstYCbCr[3]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstYCbCr[3]   Pointer to destination image ROI for YCbCr image format (three-channel planar).
pSrcBGR   Pointer to source image ROI for BGR image format.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the BGR color model to the YCbCr color space, and writes the converted data to a destination buffer.

The following formulas are used to convert blue, green, and red values to luminance and chrominance values.

 Y = 0.114*B + 0.587*G + 0.299*R
 Cb = 0.5*B + 128 - 0.33126*G - 0.16874*R
 Cr = - 0.08131*B + 128 - 0.41869*G + 0.5*R

YCbCrToBGR_JPEG

Convert YCbCr to BGR (JPEG)

Synopsis

FwStatus   fwiYCbCrToBGR_JPEG_8u_P3C3R ( const Fw8u * const  pSrcYCbCr[3]int  srcStepFw8u *  pDstBGRint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstBGR   Pointer to destination image ROI for BGR image format.
pSrcYCbCr[3]   Pointer to source image ROI for YCbCr image format (three-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an ROI in a source buffer, converts the source data from the YCbCr color space to the BGR color model, and writes the converted data to a destination buffer.

The following formulas are used to convert luminance and chrominance values to blue, green, and red values.

 B = Y + 1.772*Cb - 226.816
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 R = Y + 1.402*Cr - 179.456

BGR5X5ToYCbCr_JPEG

Convert 16-bit BGR to YCbCr (JPEG)

Synopsis

FwStatus   fwiBGR565ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw8u *  pDstYCbCr[3]int  dstStepFwiSize  roiSize );
FwStatus   fwiBGR555ToYCbCr_JPEG_16u8u_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw8u *  pDstYCbCr[3]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstYCbCr[3]   Pointer to destination image ROI for YCbCr image format (three-channel planar).
pSrcBGR   Pointer to source image ROI for BGR image format.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an ROI in a source buffer, convert 16-bit source data from the BGR color model to the YCbCr color space, and write the converted data to a destination buffer.

There are separate functions for 555 and 565 bit-per-channel BGR source encoding.

The following formulas are used to convert blue, green, and red values to luminance and chrominance values.

 Y = 0.114*B + 0.587*G + 0.299*R
 Cb = 0.5*B + 128 - 0.33126*G - 0.16874*R
 Cr = - 0.08131*B + 128 - 0.41869*G + 0.5*R

YCbCrToBGR5X5_JPEG

Convert YCbCr to 16-bit BGR (JPEG)

Synopsis

FwStatus   fwiYCbCrToBGR565_JPEG_8u16u_P3C3R ( const Fw8u *  pSrcYCbCr[3]int  srcStepFw16u *  pDstBGRint  dstStepFwiSize  roiSize );
FwStatus   fwiYCbCrToBGR555_JPEG_8u16u_P3C3R ( const Fw8u *  pSrcYCbCr[3]int  srcStepFw16u *  pDstBGRint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstBGR   Pointer to destination image ROI for BGR image format.
pSrcYCbCr[3]   Pointer to source image ROI for YCbCr image format (three-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These function step through an ROI in a source buffer, convert source data from the YCbCr color space to the 16-bit BGR color model, and write the converted data to a destination buffer.

There are separate functions for 555 and 565 bit-per-channel BGR destination encoding.

The following formulas are used to convert luminance and chrominance values to blue, green, and red values.

 B = Y + 1.772*Cb - 226.816
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 R = Y + 1.402*Cr - 179.456

CMYKToYCCK_JPEG

Convert CMYK to YCCK (JPEG)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiCMYKToYCCK_JPEG_8u_P4R ( const Fw8u * const  pSrcCMYK[4]int  srcStepFw8u *  pDstYCCK[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiCMYKToYCCK_JPEG_8u_C4P4R ( const Fw8u * const  pSrcCMYKint  srcStepFw8u * const  pDstYCCK[4]int  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstYCCK[4]   Pointer to destination image ROI for YCCK image format (four-channel planar).
pSrcCMYK   Pointer to source image ROI for CMYK image format.
pSrcCMYK[4]   Pointer to source image ROI for CMYK image format (four-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These function step through an ROI in a source buffer, convert source data from the CMYK color model to the YCCK color space, and write the converted data to a destination buffer.

The following formulas are used to convert cyan, magenta, and yellow values to red, green, and blue values.

 R = 255 - C
 G = 255 - M
 B = 255 - Y

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

The black (K) channel value remains the same during conversion.

YCCKToCMYK_JPEG

Convert YCCK to CMYK (JPEG)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiYCCKToCMYK_JPEG_8u_P4R ( const Fw8u * const  pSrcYCCK[4]int  srcStepFw8u *  pDstCMYK[4]int  dstStepFwiSize  roiSize );
FwStatus   fwiYCCKToCMYK_JPEG_8u_P4C4R ( const Fw8u * const  pSrcYCCK[4]int  srcStepFw8u *  pDstCMYKint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstCMYK   Pointer to destination image ROI for CMYK image format.
pDstCMYK[4]   Pointer to destination image ROI for CMYK image format (four-channel planar).
pSrcYCCK[4]   Pointer to source image ROI for YCCK image format (four-channel planar).
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These function step through an ROI in a source buffer, convert source data from the YCCK color space to the CMYK color model, and write the converted data to a destination buffer.

The following formulas are used to convert luminance and chrominance values to red, green, and blue values.

 R = Y + 1.402*Cr - 179.456
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 B = Y + 1.772*Cb - 226.816

The following formulas are used to convert red, green, and blue values to cyan, magenta, and yellow values.

 C = 255 -R
 M = 255 -G
 Y = 255 -B

The black (K) channel value remains the same during conversion.

RGBToYCbCr444LS_MCU

Convert RGB data block to 444 YCbCr MCU

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRGBToYCbCr444LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcRGBint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrcRGB   Pointer to source image ROI for RGB image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an 8X8 data block in a source buffer, converts the source data from the RGB color model to the YCbCr color space, level-shifts the unsigned values to signed values, creates a 444 sampled minimum coded unit, and writes the data to a destination buffer.

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

RGBToYCbCr422LS_MCU

Convert RGB data block to 4:2:2 YCbCr MCU

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRGBToYCbCr422LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcRGBint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrcRGB   Pointer to source image ROI for RGB image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a 16X8 data block in a source buffer, converts the source data from the RGB color model to the YCbCr color space with 4:2:2 chroma sub-sampling, level-shifts the unsigned values to signed values, creates a minimum coded unit, and writes the data to a destination buffer.

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

RGBToYCbCr411LS_MCU

Convert RGB data block to 4:1:1 YCbCr MCU

Supported Technologies

SSE2

Synopsis

FwStatus   fwiRGBToYCbCr411LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcRGBint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrcRGB   Pointer to source image ROI for RGB image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a 16X16 data block in a source buffer, converts the source data from the RGB color model to the YCbCr color space with 4:1:1 chroma sub-sampling, level-shifts the unsigned values to signed values, creates a minimum coded unit, and writes the data to a destination buffer.

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

BGRToYCbCr444LS_MCU

Convert BGR data block to 4:4:4 YCbCr MCU

Supported Technologies

SSE2

Synopsis

FwStatus   fwiBGRToYCbCr444LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiBGR565ToYCbCr444LS_MCU_16u16s_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiBGR555ToYCbCr444LS_MCU_16u16s_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrcBGR   Pointer to source image ROI for BGR image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through an 8X8 data block in a source buffer, convert the source data from the BGR color model to the YCbCr color space with 4:4:4 chroma sub-sampling, level-shift the unsigned values to signed values, create a minimum coded unit, and write the data to a destination buffer.

The following formulas are used to convert blue, green, and red values to luminance and chrominance values.

 Y = 0.114*B + 0.587*G + 0.299*R
 Cb = 0.5*B + 128 - 0.33126*G - 0.16874*R
 Cr = - 0.08131*B + 128 - 0.41869*G + 0.5*R

BGRToYCbCr422LS_MCU

Convert BGR data block to 4:2:2 YCbCr MCU

Supported Technologies

SSE2

Synopsis

FwStatus   fwiBGRToYCbCr422LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiBGR565ToYCbCr422LS_MCU_16u16s_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiBGR555ToYCbCr422LS_MCU_16u16s_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrcBGR   Pointer to source image ROI for BGR image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a 16X8 data block in a source buffer, convert the source data from the BGR color model to the YCbCr color space with 4:2:2 chroma sub-sampling, level-shift the unsigned values to signed values, create a minimum coded unit, and write the data to a destination buffer.

The following formulas are used to convert blue, green, and red values to luminance and chrominance values.

 Y = 0.114*B + 0.587*G + 0.299*R
 Cb = 0.5*B + 128 - 0.33126*G - 0.16874*R
 Cr = - 0.08131*B + 128 - 0.41869*G + 0.5*R

BGRToYCbCr411LS_MCU

Convert BGR data block to 4:1:1 YCbCr MCU

Supported Technologies

SSE2

Synopsis

FwStatus   fwiBGRToYCbCr411LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiBGR565ToYCbCr411LS_MCU_16u16s_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiBGR555ToYCbCr411LS_MCU_16u16s_C3P3R ( const Fw16u *  pSrcBGRint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrcBGR   Pointer to source image ROI for BGR image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a 16X16 data block in a source buffer, convert the source data from the BGR color model to the YCbCr color space with 4:1:1 chroma sub-sampling, level-shift the unsigned values to signed values, create a minimum coded unit, and write the data to a destination buffer.

The following formulas are used to convert blue, green, and red values to luminance and chrominance values.

 Y = 0.114*B + 0.587*G + 0.299*R
 Cb = 0.5*B + 128 - 0.33126*G - 0.16874*R
 Cr = - 0.08131*B + 128 - 0.41869*G + 0.5*R

CMYKToYCCK444LS_MCU

Convert CMYK data block to 4:4:4 YCCK MCU

Synopsis

FwStatus   fwiCMYKToYCCK444LS_MCU_8u16s_C4P4R ( const Fw8u *  pSrcCMYKint  srcStepFw16s *  pDstMCU[4] );

Parameters

pDstMCU[4]   Array of pointers to destination MCU image blocks.
pSrcCMYK   Pointer to source image ROI for CMYK image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through an 8X8 data block in a source buffer, converts the source data from the CMYK color model to the YCCK color space with 4:4:4 chroma sub-sampling, level-shifts the unsigned values to signed values, creates a minimum coded unit, and writes the data to a destination buffer.

The following formulas are used to convert cyan, magenta, and yellow values to red, green, and blue values.

 R = 255 -C
 G = 255 -M
 B = 255 -Y

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

The black (K) channel value remains the same during conversion.

CMYKToYCCK422LS_MCU

Convert CMYK data block to 4:2:2 YCCK MCU

Synopsis

FwStatus   fwiCMYKToYCCK422LS_MCU_8u16s_C4P4R ( const Fw8u *  pSrcCMYKint  srcStepFw16s *  pDstMCU[4] );

Parameters

pDstMCU[4]   Array of pointers to destination MCU image blocks.
pSrcCMYK   Pointer to source image ROI for CMYK image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a 16X8 data block in a source buffer, converts the source data from the CMYK color model to the YCCK color space with 4:2: chroma sub-sampling, level-shifts the unsigned values to signed values, creates a minimum coded unit, and writes the data to a destination buffer.

The following formulas are used to convert cyan, magenta, and yellow values to red, green, and blue values.

 R = 255 -C
 G = 255 -M
 B = 255 -Y

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

The black (K) channel value remains the same during conversion.

CMYKToYCCK411LS_MCU

Convert CMYK data block to 4:1:1 YCCK MCU

Synopsis

FwStatus   fwiCMYKToYCCK411LS_MCU_8u16s_C4P4R ( const Fw8u *  pSrcCMYKint  srcStepFw16s *  pDstMCU[4] );

Parameters

pDstMCU[4]   Array of pointers to destination MCU image blocks.
pSrcCMYK   Pointer to source image ROI for CMYK image format.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a 16X16 data block in a source buffer, converts the source data from the CMYK color model to the YCCK color space with 4:1:1 chroma sub-sampling, level-shifts the unsigned values to signed values, creates a minimum coded unit, and writes the data to a destination buffer.

The following formulas are used to convert cyan, magenta, and yellow values to red, green, and blue values.

 R = 255 -C
 G = 255 -M
 B = 255 -Y

The following formulas are used to convert red, green, and blue values to luminance and chrominance values.

 Y = 0.299*R + 0.587*G + 0.114*B
 Cb = -0.16874*R - 0.33126*G + 0.5*B + 128
 Cr = 0.5*R - 0.41869*G - 0.08131*B + 128

The black (K) channel value remains the same during conversion.

YCbCr4XXToRGBLS_MCU

Convert YCbCr MCU to RGB

Supported Technologies

SSE2

Synopsis

FwStatus   fwiYCbCr444ToRGBLS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstRGBint  dstStep );
FwStatus   fwiYCbCr422ToRGBLS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstRGBint  dstStep );
FwStatus   fwiYCbCr411ToRGBLS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstRGBint  dstStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstRGB   Pointer to destination image ROI for RGB image format.
pSrcMCU[3]   Array of pointers to source MCU image blocks.

Description

These functions step through a minimum coded unit in a source buffer, convert the data from the YCbCr color space to the RGB color model, level-shift the signed values to unsigned 8-bit values, and write the converted data to a destination buffer.

There are functions to convert minimum coded units with 4:4:4, 4:2:2, and 4:1:1 chroma sub-sampling.

The following formulas are used to convert luminance and chrominance values to red, green, and blue values.

 R = Y + 1.402*Cr - 179.456
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 B = Y + 1.772*Cb - 226.816

YCbCr4XXLS_MCUToBGR

Convert YCbCr MCU to BGR

Supported Technologies

SSE2

Synopsis

FwStatus   fwiYCbCr444ToBGRLS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr444ToBGR565LS_MCU_16s16u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw16u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr444ToBGR555LS_MCU_16s16u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw16u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr422ToBGRLS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr422ToBGR565LS_MCU_16s16u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw16u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr422ToBGR555LS_MCU_16s16u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw16u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr411ToBGRLS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr411ToBGR565LS_MCU_16s16u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw16u *  pDstBGRint  dstStep );
FwStatus   fwiYCbCr411ToBGR555LS_MCU_16s16u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw16u *  pDstBGRint  dstStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstBGR   Pointer to destination image ROI for BGR image format.
pSrcMCU[3]   Array of pointers to source MCU image blocks.

Description

These functions step through a minimum coded unit in a source buffer, convert the data from the YCbCr color space to the BGR color model, level-shift the signed values to unsigned values, and write the converted data to a destination buffer.

There are functions to convert minimum coded units with 4:4:4, 4:2:2, and 4:1:1 chroma sampling to 8-bit BGR or to 16-bit BGR with 555 or 565 bit-per-channel encoding.

The following formulas are used to convert luminance and chrominance values to blue, green, and red values.

 B = Y + 1.772*Cb - 226.816
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 R = Y + 1.402*Cr - 179.456

YCCK4XXToCMYKLS_MCU

Convert YCCK MCU to CMYK

Synopsis

FwStatus   fwiYCCK444ToCMYKLS_MCU_16s8u_P4C4R ( const Fw16s *  pSrcMCU[4]Fw8u *  pDstCMYKint  dstStep );
FwStatus   fwiYCCK422ToCMYKLS_MCU_16s8u_P4C4R ( const Fw16s *  pSrcMCU[4]Fw8u *  pDstCMYKint  dstStep );
FwStatus   fwiYCCK411ToCMYKLS_MCU_16s8u_P4C4R ( const Fw16s *  pSrcMCU[4]Fw8u *  pDstCMYKint  dstStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDstCMYK   Pointer to destination image ROI for CMYK image format.
pSrcMCU[4]   Array of pointers to source MCU image blocks.

Description

These functions step through a minimum coded unit in a source buffer, convert the data from the YCCK color space to the CMYK color model, level-shift the signed values to 8-bit unsigned values, and write the converted data to a destination buffer.

There are functions to convert minimum coded units with 4:4:4, 4:2:2, and 4:1:1 sampling.

The following formulas are used to convert luminance and chrominance values to red, green, and blue values.

 R = Y + 1.402*Cr - 179.456
 G = Y - 0.34414*Cb - 0.71414*Cr + 135.45984
 B = Y + 1.772*Cb - 226.816

The following formulas are used to convert red, green, and blue values to cyan, magenta, and yellow values.

 C = 255 - R
 M = 255 - G
 Y = 255 - B

The black (K) channel value remains the same during conversion.

QuantFwdRawTableInit_JPEG

Apply quality factor to the raw quantization table

Synopsis

FwStatus   fwiQuantFwdRawTableInit_JPEG_8u ( Fw8u *  pQuantRawTableint  qualityFactor );

Parameters

pQuantRawTable   Pointer to the raw quantization table.
qualityFactor   JPEG image quality factor (value between 1 and 100).

Description

This function applies a specified quality factor value between 1 and 100 to the initial raw quantization table.

If a factor value less than or equal to 0 is specified, a value of 1 is used; if a value equal to or greater than 100 is specified, a value of 100 is used.

QuantFwdTableInit_JPEG

Change quantization table order for fast encode

Synopsis

FwStatus   fwiQuantFwdTableInit_JPEG_8u16u ( const Fw8u *  pQuantRawTableFw16u *  pQuantFwdTable );

Parameters

pQuantFwdTable   Pointer to the forward quantization table (encoder).
pQuantRawTable   Pointer to the raw quantization table.

Description

This function reads the raw quantization table in zigzag order, scales the values by 15 bits, and writes a new table in left-to-right, top-to-bottom order.

QuantFwd8X8_JPEG

Quantize data block

Synopsis

FwStatus   fwiQuantFwd8x8_JPEG_16s_C1I ( Fw16s *  pSrcDstconst Fw16u *  pQuantFwdTable );

Parameters

pQuantFwdTable   Pointer to the forward quantization table (encoder).
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.

Description

This function reads the FDCT output coefficients of an 8X8 data block, quantizes the values, and writes the quantized values back to the same location.

Quantization is performed using the following formula.

 sq[vu] = round (s[vu]/Q[vu])

Nearest integer rounding is used.

The pQuantFwdTable pointer is generated by the fwiQuantFwdTableInit_JPEG_8u16u function, so the final result for sq[vu] is shifted 15 bits.

QuantInvTableInit_JPEG

Change quantization table order for fast decode

Synopsis

FwStatus   fwiQuantInvTableInit_JPEG_8u16u ( const Fw8u *  pQuantRawTableFw16u *  pQuantInvTable );

Parameters

pQuantInvTable   Pointer to the inverse quantization table (decoder).
pQuantRawTable   Pointer to the raw quantization table.

Description

This function reads the raw quantization table in zigzag order, scales the values by 15 bits, and writes a new table in left-to-right, top-to-bottom order.

QuantInv8X8_JPEG

Dequantize data block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiQuantInv8x8_JPEG_16s_C1I ( Fw16s *  pSrcDstconst Fw16u *  pQuantInvTable );

Parameters

pQuantInvTable   Pointer to the inverse quantization table (decoder).
pSrcDst   Pointer to a location in a buffer that contains both the source and destination.

Description

This function reads a block of uncompressed image data, dequantizes the values, and writes an 8X8 data block of DCT coefficients to the same location.

Dequantization is performed using the following formula.

 s[vu] = (sq[vu]*Q[vu])

Because quantization is lossy, some of the data may be saturated and require up-sampling.

DCTQuantFwd8X8_JPEG

Transform and quantize

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCTQuantFwd8x8_JPEG_16s_C1 ( const Fw16s *  pSrcFw16s *  pDstconst Fw16u *  pQuantFwdTable );
FwStatus   fwiDCTQuantFwd8x8_JPEG_16s_C1I ( Fw16s *  pDstconst Fw16u *  pQuantFwdTable );

Parameters

pDst   Pointer to a location in a destination buffer.
pQuantFwdTable   Pointer to the forward quantization table (encoder).
pSrc   Pointer to a location in a source buffer.

Description

These functions read an 8X8 data block of 16-bit signed data in a source buffer, perform forward DCT and quantization, then write the output data block. The data block can be written to a destination buffer or to the same location.

DCTQuantFwd8X8LS_JPEG

Transform and quantize with level shift

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCTQuantFwd8x8LS_JPEG_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstconst Fw16u *  pQuantFwdTable );

Parameters

pDst   Pointer to a location in a destination buffer.
pQuantFwdTable   Pointer to the forward quantization table (encoder).
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function reads an 8X8 data block of 8-bit unsigned data in a source buffer, level-shifts the unsigned values to signed values, performs forward DCT and quantization, then writes the output data block to a destination buffer.

DCTQuantInv8X8_JPEG

Dequantize and transform

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCTQuantInv8x8_JPEG_16s_C1 ( const Fw16s *  pSrcFw16s *  pDstconst Fw16u *  pQuantInvTable );
FwStatus   fwiDCTQuantInv8x8_JPEG_16s_C1I ( Fw16s *  pDstconst Fw16u *  pQuantInvTable );

Parameters

pDst   Pointer to a location in a destination buffer.
pQuantInvTable   Pointer to the inverse quantization table (decoder).
pSrc   Pointer to a location in a source buffer.

Description

These functions read a block of uncompressed image data in a source buffer, perform dequantization and inverse DCT, then write an 8X8 data block. The data block can be written to a destination buffer or to the same location.

DCTQuantInv8X8LS_JPEG

Dequantize and transform with level shift

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCTQuantInv8x8LS_JPEG_16s8u_C1R ( const Fw16s *  pSrcFw8u *  pDstint  dstStepconst Fw16u *  pQuantInvTable );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pQuantInvTable   Pointer to the inverse quantization table (decoder).
pSrc   Pointer to a location in a source buffer.

Description

This function reads a block of uncompressed image data in a source buffer, performs dequantization and inverse DCT, level-shifts the signed values to unsigned values, then writes an 8X8 data block to a destination buffer.

Sub128_JPEG

Level shift from unsigned 8u to signed 16s

Synopsis

FwStatus   fwiSub128_JPEG_8u16s_C1R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a block of unsigned 8-bit data in a source buffer, converts the source data to signed values in the range [-128, 127], and writes the converted data to a destination buffer.

Add128_JPEG

Level shift from signed 16s to unsigned 8u

Supported Technologies

SSE2

Synopsis

FwStatus   fwiAdd128_JPEG_16s8u_C1R ( const Fw16s *  pSrcint  srcStepFw8u *  pDstint  dstStepFwiSize  roiSize );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a block of signed 16-bit data with values in the range [-128, 127] in a source buffer, converts the source data to 8-bit unsigned values in the range [0, 255], and writes the converted data to a destination buffer.

SampleDownH2V1_JPEG

Downsample block (H2V1)

Synopsis

FwStatus   fwiSampleDownH2V1_JPEG_8u_C1R ( const Fw8u *  pSrcint  srcStepFwiSize  srcSizeFw8u *  pDstint  dstStepFwiSize  dstSize );

Parameters

dstSize   Destination image size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a block of pixel data in a source buffer, performs 2:1 horizontal and 1:1 vertical (4:2:2) chrominance downsampling without smoothing, and writes the output data to a destination buffer.

Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleDownH2V2_JPEG

Downsample block (H2V2)

Synopsis

FwStatus   fwiSampleDownH2V2_JPEG_8u_C1R ( const Fw8u *  pSrcint  srcStepFwiSize  srcSizeFw8u *  pDstint  dstStepFwiSize  dstSize );

Parameters

dstSize   Destination image size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a block of pixel data in a source buffer, performs 2:1 horizontal and 2:1 vertical (4:1:1) chrominance downsampling without smoothing, and writes the output data to a destination buffer.

Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleDownRowH2V1_JPEG

Downsample row (H2V1)

Synopsis

FwStatus   fwiSampleDownRowH2V1_Box_JPEG_8u_C1 ( const Fw8u *  pSrcint  srcWidthFw8u *  pDst );

Parameters

pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcWidth   Width of the source row in pixels.

Description

This function steps through a row of pixel data in a source buffer, performs 2:1 horizontal and 1:1 vertical (4:2:2) chrominance downsampling without smoothing, and writes the output data to a destination buffer.

Row ends are defined by the two source pointers. Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleDownRowH2V2_JPEG

Downsample row (H2V2)

Synopsis

FwStatus   fwiSampleDownRowH2V2_Box_JPEG_8u_C1 ( const Fw8u *  pSrc1const Fw8u *  pSrc2int  srcWidthFw8u *  pDst );

Parameters

pDst   Pointer to a location in a destination buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
srcWidth   Width of the source row in pixels.

Description

This function steps through a row of pixel data in a source buffer, performs 2:1 horizontal and 2:1 vertical (4:1:1) chrominance downsampling without smoothing, and writes the output data to a destination buffer.

Row ends are defined by the two source pointers. Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleUpH2V1_JPEG

Upsample block (H2V1)

Synopsis

FwStatus   fwiSampleUpH2V1_JPEG_8u_C1R ( const Fw8u *  pSrcint  srcStepFwiSize  srcSizeFw8u *  pDstint  dstStepFwiSize  dstSize );

Parameters

dstSize   Destination image size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a block of pixel data in a source buffer, performs 2:1 horizontal and 1:1 vertical (4:2:2) chrominance upsampling without smoothing, and writes the output data to a destination buffer.

A "triangular" linear interpolation algorithm is used for upsampling; the interpolated pixels are 1/4 and 3/4 of the distance between the source pixels. Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleUpH2V2_JPEG

Upsample block (H2V2)

Synopsis

FwStatus   fwiSampleUpH2V2_JPEG_8u_C1R ( const Fw8u *  pSrcint  srcStepFwiSize  srcSizeFw8u *  pDstint  dstStepFwiSize  dstSize );

Parameters

dstSize   Destination image size.
dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcSize   Source image size.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a block of pixel data in a source buffer, performs 2:1 horizontal and 2:1 vertical (4:1:1) chrominance upsampling without smoothing, and writes the output data to a destination buffer.

A "triangular" linear interpolation algorithm is used for upsampling; the interpolated pixels are 1/4 and 3/4 of the distance between the source pixels. Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleUpRowH2V1_JPEG

Upsample row (H2V1)

Synopsis

FwStatus   fwiSampleUpRowH2V1_Triangle_JPEG_8u_C1 ( const Fw8u *  pSrcint  srcWidthFw8u *  pDst );

Parameters

pDst   Pointer to a location in a destination buffer.
pSrc   Pointer to a location in a source buffer.
srcWidth   Width of the source row in pixels.

Description

This function steps through a row of pixel data in a source buffer, performs 2:1 horizontal and 1:1 vertical (4:2:2) chrominance upsampling without smoothing, and writes the output data to a destination buffer.

A "triangular" linear interpolation algorithm is used for upsampling; the interpolated pixels are 1/4 and 3/4 of the distance between the source pixels. Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleUpRowH2V2_JPEG

Upsample row H2V2

Synopsis

FwStatus   fwiSampleUpRowH2V2_Triangle_JPEG_8u_C1 ( const Fw8u *  pSrc1const Fw8u *  pSrc2int  srcWidthFw8u *  pDst );

Parameters

pDst   Pointer to a location in a destination buffer.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
srcWidth   Width of the source row in pixels.

Description

This function steps through a row of pixel data in a source buffer, performs 2:1 horizontal and 2:1 vertical (4:1:1) chrominance upsampling without smoothing, and writes the output data to a destination buffer.

A "triangular" linear interpolation algorithm is used for upsampling; the interpolated pixels are 1/4 and 3/4 of the distance between the source pixels. Ordered dither rounding is used (0.5 is rounded up or down at alternate pixel locations).

SampleDown4xxLS_MCU

Downsample to 4XX MCU

Synopsis

FwStatus   fwiSampleDown444LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiSampleDown422LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstMCU[3] );
FwStatus   fwiSampleDown411LS_MCU_8u16s_C3P3R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

These functions step through a block of pixel data in a source buffer, perform chrominance downsampling, level-shift the source data to 16-bit signed values, create a minimum coded unit, and write the output data to a destination buffer.

There are functions for 4:4:4, 4:2:2, and 4:1:1 MCUs.

SampleUp4xxLS_MCU

Upsample from 4XX MCU

Synopsis

FwStatus   fwiSampleUp444LS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstint  dstStep );
FwStatus   fwiSampleUp422LS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstint  dstStep );
FwStatus   fwiSampleUp411LS_MCU_16s8u_P3C3R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstint  dstStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrcMCU[3]   Array of pointers to source MCU image blocks.

Description

These functions step through an minimum coded unit in a source buffer, perform chrominance upsampling, level-shift the source data to 8-bit unsigned values, and write interleaved pixel-order output data to a destination buffer.

There are functions for 4:4:4, 4:2:2, and 4:1:1 MCUs.

Split422LS_MCU

Convert 422 MCU to 422 interleaved data

Synopsis

FwStatus   fwiSplit422LS_MCU_8u16s_C2P3R ( const Fw8u *  pSrcint  srcStepFw16s *  pDstMCU[3] );

Parameters

pDstMCU[3]   Array of pointers to destination MCU image blocks.
pSrc   Pointer to a location in a source buffer.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function steps through a 4:2:2 chrominance sub-sampled MCU in a source buffer, splits the source MCU into two blocks of interleaved 4:2:2 chrominance sub-sampled pixel data, level-shifts the source data to unsigned values, and writes the output data to a destination buffer.

Join422LS_MCU

Convert 422 interleaved data to 422 MCU

Synopsis

FwStatus   fwiJoin422LS_MCU_16s8u_P3C2R ( const Fw16s *  pSrcMCU[3]Fw8u *  pDstint  dstStep );

Parameters

dstStep   Destination buffer step size (width of the buffer in bytes).
pDst   Pointer to a location in a destination buffer.
pSrcMCU[3]   Array of pointers to source MCU image blocks.

Description

This function steps through two blocks of interleaved 4:2:2 chrominance sub-sampled pixel data in a source buffer, combines the two channels into a 4:2:2 chrominance sub-sampled MCU, level-shifts the source data to signed values, and writes the output data to a destination buffer.

EncodeHuffmanRawTableInit

Create raw Huffman encode table

Synopsis

FwStatus   fwiEncodeHuffmanRawTableInit_JPEG_8u ( const int  pStatistics[256]Fw8u *  pListBitsFw8u *  pListVals );

Parameters

pListBits   Pointer to the Bits list.
pListVals   Pointer to the Vals list.
pStatistics[256]   Pointer to Huffman symbol statistics.

Description

This function creates a raw Huffman table with symbol statistics.

The function definition follows CCITT Rec. T.81(1992 E), Figure B.7, page 40, and Annex K.2.

EncodeHuffmanSpecGetBufSize

Get Huffman encode table buffer size

Synopsis

FwStatus   fwiEncodeHuffmanSpecGetBufSize_JPEG_8u ( int *  pSize );

Parameters

pSize   Pointer to the size of an internal structure.

Description

This function returns the Huffman encode table buffer size, in bytes.

EncodeHuffmanSpecInit

Initialize Huffman encode table

Synopsis

FwStatus   fwiEncodeHuffmanSpecInit_JPEG_8u ( const Fw8u *  pListBitsconst Fw8u *  pListValsFwiEncodeHuffmanSpec *  pEncHuffSpec );

Parameters

pEncHuffSpec   Pointer to the FwiEncodeHuffmanSpec structure.
pListBits   Pointer to the Bits list.
pListVals   Pointer to the Vals list.

Description

This function creates and initializes a Huffman encode table.

The function definition follows CCITT Rec. T.81(1992 E), Annex C.2.

EncodeHuffmanSpecInitAlloc

Allocate memory and initialize Huffman encode table

Synopsis

FwStatus   fwiEncodeHuffmanSpecInitAlloc_JPEG_8u ( const Fw8u *  pListBitsconst Fw8u *  pListValsFwiEncodeHuffmanSpec* *  pEncHuffSpec );

Parameters

pEncHuffSpec   Pointer to the FwiEncodeHuffmanSpec structure.
pListBits   Pointer to the Bits list.
pListVals   Pointer to the Vals list.

Description

This function allocates memory for creation of a Huffman encode table.

EncodeHuffmanSpecFree

Free Huffman encode table memory

Synopsis

FwStatus   fwiEncodeHuffmanSpecFree_JPEG_8u ( FwiEncodeHuffmanSpec *  pEncHuffSpec );

Parameters

pEncHuffSpec   Pointer to the FwiEncodeHuffmanSpec structure.

Description

This function frees memory allocated by the EncodeHuffmanSpecInitAlloc function.

EncodeHuffmanStateGetBufSize

Get Huffman encode state structure buffer size

Synopsis

FwStatus   fwiEncodeHuffmanStateGetBufSize_JPEG_8u ( int *  pSize );

Parameters

pSize   Pointer to the size of an internal structure.

Description

This function returns the Huffman encode state structure buffer size, in bytes.

EncodeHuffmanStateInit

Initialize Huffman encode state structure.

Synopsis

FwStatus   fwiEncodeHuffmanStateInit_JPEG_8u ( FwiEncodeHuffmanState *  pEncHuffState );

Parameters

pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.

Description

This function initializes the Huffman encode state structure.

EncodeHuffmanStateInitAlloc

Allocate memory and initialize Huffman encode state structure

Synopsis

FwStatus   fwiEncodeHuffmanStateInitAlloc_JPEG_8u ( FwiEncodeHuffmanState* *  pEncHuffState );

Parameters

pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.

Description

This function allocates memory for the Huffman encode state structure and initializes the structure.

EncodeHuffmanStateFree

Free Huffman encode state structure memory

Synopsis

FwStatus   fwiEncodeHuffmanStateFree_JPEG_8u ( FwiEncodeHuffmanState *  pEncHuffState );

Parameters

pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.

Description

This function frees memory allocated by the EncodeHuffmanStateInitAlloc function.

EncodeHuffman8X8

Encode data block with bit accumulation

Synopsis

FwStatus   fwiEncodeHuffman8x8_JPEG_16s1u_C1 ( const Fw16s *  pSrcFw8u *  pDstint  dstLenBytesint *  pDstCurrPosFw16s *  pLastDCconst FwiEncodeHuffmanSpec *  pDcTableconst FwiEncodeHuffmanSpec *  pAcTableFwiEncodeHuffmanState *  pEncHuffStateint  bFlushState );

Parameters

bFlushState   Indicates the last 8X8 block in a scan.
dstLenBytes   Destination buffer length in bytes.
pAcTable   Pointer to the Huffman AC coefficient table.
pDcTable   Pointer to the Huffman DC coefficient table.
pDst   Pointer to a location in a destination buffer.
pDstCurrPos   Pointer to the shift value at the current destination buffer in bytes.
pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pSrc   Pointer to a location in a source buffer.

Description

This function performs Huffman baseline encoding of an 8X8 data block of quantized DCT coefficients using the DC and AC encoding tables.

The encoding process follows CCITT Rec. T.81, Annex F.1.2. The function writes only full bytes to the output buffer.

Incomplete bits from data blocks in a stream are accumulated in the Huffman encode state structure.

To place all the accumulated bits into the encoded bitstream, set the pSrc to NULL bFlushState to 1. This should be done after encoding all the 8X8 blocks in the image or at the end of each restart interval.

EncodeHuffman8X8_Direct

Encode data block without bit accumulation

Synopsis

FwStatus   fwiEncodeHuffman8x8_Direct_JPEG_16s1u_C1 ( const Fw16s *  pSrcFw8u *  pDstint *  pDstBitsLenFw16s *  pLastDCconst FwiEncodeHuffmanSpec *  pDcTableconst FwiEncodeHuffmanSpec *  pAcTable );

Parameters

pAcTable   Pointer to the Huffman AC coefficient table.
pDcTable   Pointer to the Huffman DC coefficient table.
pDst   Pointer to a location in a destination buffer.
pDstBitsLen   Pointer to destination buffer length in bits.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pSrc   Pointer to a location in a source buffer.

Description

This function performs direct Huffman baseline encoding of an 8X8 data block of quantized DCT coefficients using the DC and AC encoding tables.

The encoding process follows CCITT Rec. T.81, Annex F.1.2. The function writes only full bytes to the output buffer.

Incomplete bits from data blocks are not accumulated in the Huffman encode state structure.

EncodeHuffman8X8_DCFirst

Encode progressive DC initial

Synopsis

FwStatus   fwiEncodeHuffman8x8_DCFirst_JPEG_16s1u_C1 ( const Fw16s *  pSrcFw8u *  pDstint  dstLenBytesint *  pDstCurrPosFw16s *  pLastDCint  Alconst FwiEncodeHuffmanSpec *  pDcTableFwiEncodeHuffmanState *  pEncHuffStateint  bFlushState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
bFlushState   Indicates the last 8X8 block in a scan.
dstLenBytes   Destination buffer length in bytes.
pDcTable   Pointer to the Huffman DC coefficient table.
pDst   Pointer to a location in a destination buffer.
pDstCurrPos   Pointer to the shift value at the current destination buffer in bytes.
pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pSrc   Pointer to a location in a source buffer.

Description

This function performs the first scan for progressive encoding of the DC coefficient of an 8X8 data block.

The encoding process follows CCITT Rec. T.81, Annex G.1.2. The function writes only full bytes to the output buffer.

Incomplete bits from data blocks in a stream are accumulated in the Huffman encode state structure.

To place all the accumulated bits in the buffer, set the bFlashState bit to 1 before processing the last 8X8 block in the stream, or restart the encoded interval.

EncodeHuffman8X8_DCRefine

Encode progressive DC subsequent

Synopsis

FwStatus   fwiEncodeHuffman8x8_DCRefine_JPEG_16s1u_C1 ( const Fw16s *  pSrcFw8u *  pDstint  dstLenBytesint *  pDstCurrPosint  AlFwiEncodeHuffmanState *  pEncHuffStateint  bFlushState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
bFlushState   Indicates the last 8X8 block in a scan.
dstLenBytes   Destination buffer length in bytes.
pDst   Pointer to a location in a destination buffer.
pDstCurrPos   Pointer to the shift value at the current destination buffer in bytes.
pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.
pSrc   Pointer to a location in a source buffer.

Description

This function performs a subsequent scan for progressive encoding of the DC coefficient of an 8X8 data block.

The encoding process follows CCITT Rec. T.81, Annex G.1.2. The function writes only full bytes to the output buffer.

Incomplete bits from data blocks in a stream are accumulated in the Huffman encode state structure.

To place all the accumulated bits in the buffer, set the bFlashState bit to 1 before processing the last 8X8 block in the stream, or restart the encoded interval.

EncodeHuffman8X8_ACFirst

Encode progressive AC initial

Synopsis

FwStatus   fwiEncodeHuffman8x8_ACFirst_JPEG_16s1u_C1 ( const Fw16s *  pSrcFw8u *  pDstint  dstLenBytesint *  pDstCurrPosint  Ssint  Seint  Alconst FwiEncodeHuffmanSpec *  pAcTableFwiEncodeHuffmanState *  pEncHuffStateint  bFlushState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
Se   Progressive JPEG spectral selection end index.
Ss   Progressive JPEG spectral selection start index.
bFlushState   Indicates the last 8X8 block in a scan.
dstLenBytes   Destination buffer length in bytes.
pAcTable   Pointer to the Huffman AC coefficient table.
pDst   Pointer to a location in a destination buffer.
pDstCurrPos   Pointer to the shift value at the current destination buffer in bytes.
pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.
pSrc   Pointer to a location in a source buffer.

Description

This function performs the first scan for progressive encoding of the AC coefficients of an 8X8 data block.

The encoding process follows CCITT Rec. T.81, Annex G.1.2. The function writes only full bytes to the output buffer.

Incomplete bits from data blocks in a stream are accumulated in the Huffman encode state structure.

To place all the accumulated bits in the buffer, set the bFlashState bit to 1 before processing the last 8X8 block in the stream, or restart the encoded interval.

EncodeHuffman8X8_ACRefine

Encode progressive AC subsequent

Synopsis

FwStatus   fwiEncodeHuffman8x8_ACRefine_JPEG_16s1u_C1 ( const Fw16s *  pSrcFw8u *  pDstint  dstLenBytesint *  pDstCurrPosint  Ssint  Seint  Alconst FwiEncodeHuffmanSpec *  pAcTableFwiEncodeHuffmanState *  pEncHuffStateint  bFlushState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
Se   Progressive JPEG spectral selection end index.
Ss   Progressive JPEG spectral selection start index.
bFlushState   Indicates the last 8X8 block in a scan.
dstLenBytes   Destination buffer length in bytes.
pAcTable   Pointer to the Huffman AC coefficient table.
pDst   Pointer to a location in a destination buffer.
pDstCurrPos   Pointer to the shift value at the current destination buffer in bytes.
pEncHuffState   Pointer to the FwiEncodeHuffmanState structure.
pSrc   Pointer to a location in a source buffer.

Description

This function performs a subsequent scan for progressive encoding of the AC coefficients of an 8X8 data block.

The encoding process follows CCITT Rec. T.81, Annex G.1.2. The function writes only full bytes to the output buffer.

Incomplete bits from data blocks in a stream are accumulated in the Huffman encode state structure.

To place all the accumulated bits in the buffer, set the bFlashState bit to 1 before processing the last 8X8 block in the stream, or restart the encoded interval.

GetHuffmanStatistics8X8

Get encoding statistics for data block

Synopsis

FwStatus   fwiGetHuffmanStatistics8x8_JPEG_16s_C1 ( const Fw16s *  pSrcint  pDcStatistics[256]int  pAcStatistics[256]Fw16s *  pLastDC );

Parameters

pAcStatistics[256]   Pointer to Huffman symbol statistics for AC coefficient.
pDcStatistics[256]   Pointer to Huffman symbol statistics for DC coefficient.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pSrc   Pointer to a location in a source buffer.

Description

This function computes statistics for encoding an 8X8 data block of DCT coefficients.

GetHuffmanStatistics8X8_DCFirst

Get encoding statistics progressive DC initial

Synopsis

FwStatus   fwiGetHuffmanStatistics8x8_DCFirst_JPEG_16s_C1 ( const Fw16s *  pSrcint  pDcStatistics[256]Fw16s *  pLastDCint  Al );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
pDcStatistics[256]   Pointer to Huffman symbol statistics for DC coefficient.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pSrc   Pointer to a location in a source buffer.

Description

This function computes statistics for the first scan of the DC coefficient in progressivce encoding of a data block.

DecodeHuffmanSpecGetBufSize

Get Huffman decode buffer size

Synopsis

FwStatus   fwiDecodeHuffmanSpecGetBufSize_JPEG_8u ( int *  pSize );

Parameters

pSize   Pointer to the size of an internal structure.

Description

This function returns the Huffman decoder buffer size in bytes.

DecodeHuffmanSpecInit

Initialize Huffman decode table

Synopsis

FwStatus   fwiDecodeHuffmanSpecInit_JPEG_8u ( const Fw8u *  pListBitsconst Fw8u *  pListValsFwiDecodeHuffmanSpec *  pDecHuffSpec );

Parameters

pDecHuffSpec   Pointer to the FwiDecodeHuffmanSpec structure.
pListBits   Pointer to the Bits list.
pListVals   Pointer to the Vals list.

Description

This function creates a Huffman table and initializes it for decode.

DecodeHuffmanSpecInitAlloc

Allocate memory and initialize Huffman decode table

Synopsis

FwStatus   fwiDecodeHuffmanSpecInitAlloc_JPEG_8u ( const Fw8u *  pListBitsconst Fw8u *  pListValsFwiDecodeHuffmanSpec* *  pDecHuffSpec );

Parameters

pDecHuffSpec   Pointer to the FwiDecodeHuffmanSpec structure.
pListBits   Pointer to the Bits list.
pListVals   Pointer to the Vals list.

Description

This function allocates memory for a Huffman decode table, creates the table, and initializes it for decode.

DecodeHuffmanSpecFree

Free Huffman decode table memory

Synopsis

FwStatus   fwiDecodeHuffmanSpecFree_JPEG_8u ( FwiDecodeHuffmanSpec *  pDecHuffSpec );

Parameters

pDecHuffSpec   Pointer to the FwiDecodeHuffmanSpec structure.

Description

This function frees the memory allocated for a Huffman decode table.

DecodeHuffmanStateGetBufSize

Get Huffman decode state structure buffer size

Synopsis

FwStatus   fwiDecodeHuffmanStateGetBufSize_JPEG_8u ( int *  pSize );

Parameters

pSize   Pointer to the size of an internal structure.

Description

This function returns the Huffman decode state structure buffer size, in bytes.

DecodeHuffmanStateInit

Initialize Huffman decode state structure

Synopsis

FwStatus   fwiDecodeHuffmanStateInit_JPEG_8u ( FwiDecodeHuffmanState *  pDecHuffState );

Parameters

pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.

Description

This function initializes the Huffman decode state structure.

DecodeHuffmanStateInitAlloc

Allocate memory and initialize Huffman decode state structure

Synopsis

FwStatus   fwiDecodeHuffmanStateInitAlloc_JPEG_8u ( FwiDecodeHuffmanState* *  pDecHuffState );

Parameters

pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.

Description

This function allocates memory and initializes a Huffman state structure.

DecodeHuffmanStateFree

Free Huffman decode state structure memory

Synopsis

FwStatus   fwiDecodeHuffmanStateFree_JPEG_8u ( FwiDecodeHuffmanState *  pDecHuffState );

Parameters

pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.

Description

This function frees the memory allocated to the Huffman decode state structure.

DecodeHuffman8X8

Decode data block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDecodeHuffman8x8_JPEG_1u16s_C1 ( const Fw8u *  pSrcint  srcLenBytesint *  pSrcCurrPosFw16s *  pDstFw16s *  pLastDCint *  pMarkerconst FwiDecodeHuffmanSpec *  pDcTableconst FwiDecodeHuffmanSpec *  pAcTableFwiDecodeHuffmanState *  pDecHuffState );

Parameters

pAcTable   Pointer to the Huffman AC coefficient table.
pDcTable   Pointer to the Huffman DC coefficient table.
pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.
pDst   Pointer to a location in a destination buffer.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pMarker   Pointer to the JPEG marker position.
pSrc   Pointer to a location in a source buffer.
pSrcCurrPos   Pointer to the shift value at the current source buffer in bytes.
srcLenBytes   Source buffer length in bytes.

Description

This function decodes an 8X8 data block of Huffman-encoded quantized DCT coefficients.

The decoding process follows CCITT Rec. T.81, Annex F.2.2.

When the function detects a JPEG marker, it stops decoding and writes the marker to the location specified by pMarker.

DecodeHuffman8X8_Direct

Decode data block without bit accumulation

Synopsis

FwStatus   fwiDecodeHuffman8x8_Direct_JPEG_1u16s_C1 ( const Fw8u *  pSrcint *  pSrcBitsLenFw16s *  pDstFw16s *  pLastDCint *  pMarkerFw32u *  pPrefetchedBitsint *  pNumValidPrefetchedBitsconst FwiDecodeHuffmanSpec *  pDcTableconst FwiDecodeHuffmanSpec *  pAcTable );

Parameters

pAcTable   Pointer to the Huffman AC coefficient table.
pDcTable   Pointer to the Huffman DC coefficient table.
pDst   Pointer to a location in a destination buffer.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pMarker   Pointer to the JPEG marker position.
pNumValidPrefetchedBits   Pointer to the value of valid bits in the prefetched buffer.
pPrefetchedBits   Pointer to the prefetched buffer, which contains decoded data from the previous block.
pSrc   Pointer to a location in a source buffer.
pSrcBitsLen   Pointer to the source buffer length in bits.

Description

This function performs direct decoding of an 8X8 data block of Huffman-encoded quantized DC and AC DCT coefficients.

The decoding process follows CCITT Rec. T.81, Annex F.2.2.

The function writes only full bytes to the destination buffer. Incomplete bits from data blocks are not accumulated in the Huffman decode state structure.

When the function detects a JPEG marker, it stops decoding and writes the marker to the location specified by pMarker.

During function initialization, make sure that pLastDC, pMarker, and pNumValidPrefetchedBits are cleared to all zeroes.

After each restart interval, make sure that pLastDC and pNumValidPrefetchedBits are cleared to all zeroes.

After each found marker has been processed, make sure that pMarker and pNumValidPrefetchedBits are cleared to all zeroes.

DecodeHuffman8X8_DCFirst

Decode progressive DC initial

Synopsis

FwStatus   fwiDecodeHuffman8x8_DCFirst_JPEG_1u16s_C1 ( const Fw8u *  pSrcint  srcLenBytesint *  pSrcCurrPosFw16s *  pDstFw16s *  pLastDCint *  pMarkerint  Alconst FwiDecodeHuffmanSpec *  pDcTableFwiDecodeHuffmanState *  pDecHuffState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
pDcTable   Pointer to the Huffman DC coefficient table.
pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.
pDst   Pointer to a location in a destination buffer.
pLastDC   Pointer to the last DC coefficient, which is in the previous 8X8 block.
pMarker   Pointer to the JPEG marker position.
pSrc   Pointer to a location in a source buffer.
pSrcCurrPos   Pointer to the shift value at the current source buffer in bytes.
srcLenBytes   Source buffer length in bytes.

Description

This function performs the first scan for progressive decoding of the DC coefficient of an 8X8 data block.

The decoding process follows CCITT Rec. T.81, Annex G.2.2.

When the function detects a JPEG marker, it stops decoding and writes the marker to the location specified by pMarker.

DecodeHuffman8X8_DCRefine

Decode progressive DC initial

Synopsis

FwStatus   fwiDecodeHuffman8x8_DCRefine_JPEG_1u16s_C1 ( const Fw8u *  pSrcint  srcLenBytesint *  pSrcCurrPosFw16s *  pDstint *  pMarkerint  AlFwiDecodeHuffmanState *  pDecHuffState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.
pDst   Pointer to a location in a destination buffer.
pMarker   Pointer to the JPEG marker position.
pSrc   Pointer to a location in a source buffer.
pSrcCurrPos   Pointer to the shift value at the current source buffer in bytes.
srcLenBytes   Source buffer length in bytes.

Description

This function performs a subsequent scan for progressive decoding of the DC coefficient of an 8X8 data block.

The decoding process follows CCITT Rec. T.81, Annex G.2.2.

When the function detects a JPEG marker, it stops decoding and writes the marker to the location specified by pMarker.

DecodeHuffman8X8_ACFirst

Decode progressive AC initial

Synopsis

FwStatus   fwiDecodeHuffman8x8_ACFirst_JPEG_1u16s_C1 ( const Fw8u *  pSrcint  srcLenBytesint *  pSrcCurrPosFw16s *  pDstint *  pMarkerint  Ssint  Seint  Alconst FwiDecodeHuffmanSpec *  pAcTableFwiDecodeHuffmanState *  pDecHuffState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
Se   Progressive JPEG spectral selection end index.
Ss   Progressive JPEG spectral selection start index.
pAcTable   Pointer to the Huffman AC coefficient table.
pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.
pDst   Pointer to a location in a destination buffer.
pMarker   Pointer to the JPEG marker position.
pSrc   Pointer to a location in a source buffer.
pSrcCurrPos   Pointer to the shift value at the current source buffer in bytes.
srcLenBytes   Source buffer length in bytes.

Description

This function performs the first scan for progressive decoding of the AC coefficients of an 8X8 data block.

The decoding process follows CCITT Rec. T.81, Annex G.2.2.

When the function detects a JPEG marker, it stops decoding and writes the marker to the location specified by pMarker.

DecodeHuffman8X8_ACRefine

Decode progressive AC subsequent

Synopsis

FwStatus   fwiDecodeHuffman8x8_ACRefine_JPEG_1u16s_C1 ( const Fw8u *  pSrcint  srcLenBytesint *  pSrcCurrPosFw16s *  pDstint *  pMarkerint  Ssint  Seint  Alconst FwiDecodeHuffmanSpec *  pAcTableFwiDecodeHuffmanState *  pDecHuffState );

Parameters

Al   Progressive JPEG successive approximation parameter for actual point transform.
Se   Progressive JPEG spectral selection end index.
Ss   Progressive JPEG spectral selection start index.
pAcTable   Pointer to the Huffman AC coefficient table.
pDecHuffState   Pointer to the FwiDecodeHuffmanState structure.
pDst   Pointer to a location in a destination buffer.
pMarker   Pointer to the JPEG marker position.
pSrc   Pointer to a location in a source buffer.
pSrcCurrPos   Pointer to the shift value at the current source buffer in bytes.
srcLenBytes   Source buffer length in bytes.

Description

This function performs a subsequent scan for progressive decoding of the AC coefficients of an 8X8 data block.

The decoding process follows CCITT Rec. T.81, Annex G.2.2.

When the function detects a JPEG marker, it stops decoding and writes the marker to the location specified by pMarker.

Signal Processing Library

Signal Processing functions perform a variety of tasks related to signal processing.

This section is organized as follows.

Within the section, the Basic Concepts chapter provides overview information related to the functions in the library, and subsequent chapters provide detailed descriptions of library functions that perform operations of the same kind.

Each detailed description consists of a Function Name followed by a short description, a Synopsis of the function syntax, a list of function Parameters, a detailed Description of the function, and a list of Return Values.

When a function is optimized for one or more technologies, a list of Supported Technologies is provided after the short description.

The Function Quick Reference provides an index and snapshot view of function optimizations.

Basic Concepts

This chapter provides an overview of the information contained in the functional descriptions.

Framewave functional descriptions include the following types of information.

Parameter Glossary

Signal processing library function definitions use the following parameters.

dstLen   Specifies the number of elements in destination buffer(this will be the length of auto-correlation)
hint   Hints whether to choose a fast or accurate computation algorithm.
len   Specifies the number of elements in a buffer.
lenFind   Length of the substring.
level   Specifies a threshold level.
levelGT   Specifies a threshold level for greater-than comparison.
levelLT   Specifies a threshold level for less-than comparison.
pDp   Pointer to the destination buffer that contains the dot product of the source buffers.
pDst   Pointer to a destination buffer.
pDst1   Pointer to destination buffer one.
pDst2   Pointer to destination buffer two.
pFind   Pointer to the substring.
pIndex   Pointer to the index of the result.
pIndx   Pointer to the destination buffer that contains the index of the maximum or minimum value in the source buffer.
pMax   Pointer to the destination buffer that contains the maximum value in the source buffer.
pMaxAbs   Pointer to the destination buffer that contains the maximum absolute value in the source buffer.
pMaxIndx   Pointer to the destination buffer that contains the index of the maximum value in the source vector.
pMean   Pointer to the destination buffer that contains the mean of the values in the source buffer.
pMin   Pointer to the destination buffer that contains the minimum value in the source buffer.
pMinAbs   Pointer to the destination buffer that contains the minimum absolute value in the source buffer.
pMinIndx   Pointer to the destination buffer that contains the index of the minimum value in the source buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
pSrcIm   Pointer to a source buffer that contains the imaginary component values of an input signal.
pSrcRe   Pointer to a source buffer that contains the real component values of an input signal.
pStdDev   Pointer to the destination buffer that contains the standard deviation of the values in the source buffer.
pSum   Pointer to the destination buffer that contains the sum of all the elements in the source buffer.
ptr   Pointer to a valid memory.
relOp   Constant that indicates which relational operation to perform.
rndMode   Constant that indicates which rounding mode to use when converting from a scalar to an integer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
srcLen   Specifies the number of elements in source buffer
val   Specified value.
valFind   Value of the element to be found.
value   Specified value.
valueGT   Specifies a value to set when a greater-than comparison evaluates as true.
valueLT   Specifies a value to set when a less-than comparison evaluates as true.
vdiv   Specifies the denominator.
vsub   Specifies the subtrahend.

Library Version

This chapter describes the FW function that provides library version information.

GetLibVersion

Get library version

Synopsis

const FwLibraryVersion*   fwsGetLibVersion (    );

Description

This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.

Essential Vector Functions

This chapter describes functions that perform vector calculations.

Add

Add

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsAdd_8u16u ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw16u *  pDstint  len );
FwStatus   fwsAdd_32u ( const Fw32u *  pSrc1const Fw32u *  pSrc2Fw32u *  pDstint  len );
FwStatus   fwsAdd_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsAdd_64s ( const Fw64s*  pSrc1const Fw64s*  pSrc2Fw64s*  pDstint  len );
FwStatus   fwsAdd_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsAdd_32fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2Fw32fc *  pDstint  len );
FwStatus   fwsAdd_64fc ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2Fw64fc *  pDstint  len );
FwStatus   fwsAdd_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsAdd_16s_I ( const Fw16s *  pSrcFw16s *  pSrcDstint  len );
FwStatus   fwsAdd_16s32s_I ( const Fw16s *  pSrcFw32s *  pSrcDstint  len );
FwStatus   fwsAdd_32f_I ( const Fw32f *  pSrcFw32f *  pSrcDstint  len );
FwStatus   fwsAdd_64f_I ( const Fw64f *  pSrcFw64f *  pSrcDstint  len );
FwStatus   fwsAdd_32fc_I ( const Fw32fc *  pSrcFw32fc *  pSrcDstint  len );
FwStatus   fwsAdd_64fc_I ( const Fw64fc *  pSrcFw64fc *  pSrcDstint  len );
FwStatus   fwsAdd_8u_Sfs ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsAdd_16s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsAdd_32s_Sfs ( const Fw32s *  pSrc1const Fw32s *  pSrc2Fw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsAdd_16sc_Sfs ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2Fw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsAdd_32sc_Sfs ( const Fw32sc *  pSrc1const Fw32sc *  pSrc2Fw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsAdd_8u_ISfs ( const Fw8u *  pSrcFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAdd_16s_ISfs ( const Fw16s *  pSrcFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAdd_32s_ISfs ( const Fw32s *  pSrcFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAdd_16sc_ISfs ( const Fw16sc *  pSrcFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAdd_32sc_ISfs ( const Fw32sc *  pSrcFw32sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers and add the data in buffer 2 to the data in buffer 1.

The sum can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results. Other versions add signed and unsigned integers and write 32-bit floating point results.

AddC

Add constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsAddC_32f ( const Fw32f *  pSrcFw32f  valFw32f *  pDstint  len );
FwStatus   fwsAddC_64f ( const Fw64f *  pSrcFw64f  valFw64f *  pDstint  len );
FwStatus   fwsAddC_32fc ( const Fw32fc *  pSrcFw32fc  valFw32fc *  pDstint  len );
FwStatus   fwsAddC_64fc ( const Fw64fc *  pSrcFw64fc  valFw64fc *  pDstint  len );
FwStatus   fwsAddC_16s_I ( Fw16s  valFw16s *  pSrcDstint  len );
FwStatus   fwsAddC_32f_I ( Fw32f  valFw32f *  pSrcDstint  len );
FwStatus   fwsAddC_64f_I ( Fw64f  valFw64f *  pSrcDstint  len );
FwStatus   fwsAddC_32fc_I ( Fw32fc  valFw32fc *  pSrcDstint  len );
FwStatus   fwsAddC_64fc_I ( Fw64fc  valFw64fc *  pSrcDstint  len );
FwStatus   fwsAddC_8u_Sfs ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsAddC_16s_Sfs ( const Fw16s *  pSrcFw16s  valFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsAddC_32s_Sfs ( const Fw32s *  pSrcFw32s  valFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsAddC_16sc_Sfs ( const Fw16sc *  pSrcFw16sc  valFw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsAddC_32sc_Sfs ( const Fw32sc *  pSrcFw32sc  valFw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsAddC_8u_ISfs ( Fw8u  valFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAddC_16s_ISfs ( Fw16s  valFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAddC_32s_ISfs ( Fw32s  valFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAddC_16sc_ISfs ( Fw16sc  valFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAddC_32sc_ISfs ( Fw32sc  valFw32sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
val   Specified value.

Description

These functions step through vector elements in a source buffer and add a specified constant value to the source data.

The sum can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions of the functions perform an integer scaling operation before writing the results.

Sub

Subtract

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSub_16s ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  len );
FwStatus   fwsSub_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsSub_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsSub_64s ( const Fw64s *  pSrc1const Fw64s *  pSrc2Fw64s *  pDstint  len );
FwStatus   fwsSub_32fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2Fw32fc *  pDstint  len );
FwStatus   fwsSub_64fc ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2Fw64fc *  pDstint  len );
FwStatus   fwsSub_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsSub_16s_I ( const Fw16s *  pSrcFw16s *  pSrcDstint  len );
FwStatus   fwsSub_32f_I ( const Fw32f *  pSrcFw32f *  pSrcDstint  len );
FwStatus   fwsSub_64f_I ( const Fw64f *  pSrcFw64f *  pSrcDstint  len );
FwStatus   fwsSub_32fc_I ( const Fw32fc *  pSrcFw32fc *  pSrcDstint  len );
FwStatus   fwsSub_64fc_I ( const Fw64fc *  pSrcFw64fc *  pSrcDstint  len );
FwStatus   fwsSub_8u_Sfs ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSub_16s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSub_32s_Sfs ( const Fw32s *  pSrc1const Fw32s *  pSrc2Fw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSub_16sc_Sfs ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2Fw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSub_32sc_Sfs ( const Fw32sc *  pSrc1const Fw32sc *  pSrc2Fw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSub_8u_ISfs ( const Fw8u *  pSrcFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSub_16s_ISfs ( const Fw16s *  pSrcFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSub_32s_ISfs ( const Fw32s *  pSrcFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSub_16sc_ISfs ( const Fw16sc *  pSrcFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSub_32sc_ISfs ( const Fw32sc *  pSrcFw32sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers and subtract the data in buffer 1 from the data in buffer 2.

The difference can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

SubC

Subtract a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSubC_32f ( const Fw32f *  pSrcFw32f  valFw32f *  pDstint  len );
FwStatus   fwsSubC_64f ( const Fw64f *  pSrcFw64f  valFw64f *  pDstint  len );
FwStatus   fwsSubC_32fc ( const Fw32fc *  pSrcFw32fc  valFw32fc *  pDstint  len );
FwStatus   fwsSubC_64fc ( const Fw64fc *  pSrcFw64fc  valFw64fc *  pDstint  len );
FwStatus   fwsSubC_16s_I ( Fw16s  valFw16s *  pSrcDstint  len );
FwStatus   fwsSubC_32f_I ( Fw32f  valFw32f *  pSrcDstint  len );
FwStatus   fwsSubC_64f_I ( Fw64f  valFw64f *  pSrcDstint  len );
FwStatus   fwsSubC_32fc_I ( Fw32fc  valFw32fc *  pSrcDstint  len );
FwStatus   fwsSubC_64fc_I ( Fw64fc  valFw64fc *  pSrcDstint  len );
FwStatus   fwsSubC_8u_Sfs ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubC_16s_Sfs ( const Fw16s *  pSrcFw16s  valFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubC_32s_Sfs ( const Fw32s *  pSrcFw32s  valFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubC_16sc_Sfs ( const Fw16sc *  pSrcFw16sc  valFw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubC_32sc_Sfs ( const Fw32sc *  pSrcFw32sc  valFw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubC_8u_ISfs ( Fw8u  valFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubC_16s_ISfs ( Fw16s  valFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubC_32s_ISfs ( Fw32s  valFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubC_16sc_ISfs ( Fw16sc  valFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubC_32sc_ISfs ( Fw32sc  valFw32sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
val   Specified value.

Description

These functions step through vector elements in a source buffer and subtract a specified constant value from the source data.

The difference can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

SubCRev

Subtract from a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSubCRev_32f ( const Fw32f *  pSrcFw32f  valFw32f *  pDstint  len );
FwStatus   fwsSubCRev_64f ( const Fw64f *  pSrcFw64f  valFw64f *  pDstint  len );
FwStatus   fwsSubCRev_32fc ( const Fw32fc *  pSrcFw32fc  valFw32fc *  pDstint  len );
FwStatus   fwsSubCRev_64fc ( const Fw64fc *  pSrcFw64fc  valFw64fc *  pDstint  len );
FwStatus   fwsSubCRev_32f_I ( Fw32f  valFw32f *  pSrcDstint  len );
FwStatus   fwsSubCRev_64f_I ( Fw64f  valFw64f *  pSrcDstint  len );
FwStatus   fwsSubCRev_32fc_I ( Fw32fc  valFw32fc *  pSrcDstint  len );
FwStatus   fwsSubCRev_64fc_I ( Fw64fc  valFw64fc *  pSrcDstint  len );
FwStatus   fwsSubCRev_8u_Sfs ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_16s_Sfs ( const Fw16s *  pSrcFw16s  valFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_32s_Sfs ( const Fw32s *  pSrcFw32s  valFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_16sc_Sfs ( const Fw16sc *  pSrcFw16sc  valFw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_32sc_Sfs ( const Fw32sc *  pSrcFw32sc  valFw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_8u_ISfs ( Fw8u  valFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_16s_ISfs ( Fw16s  valFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_32s_ISfs ( Fw32s  valFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_16sc_ISfs ( Fw16sc  valFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSubCRev_32sc_ISfs ( Fw32sc  valFw32sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
val   Specified value.

Description

These functions step through vector elements in a source buffer and subtract source data from a specified constant value.

The difference can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

AddProduct

Add product

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsAddProduct_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pSrcDstint  len );
FwStatus   fwsAddProduct_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pSrcDstint  len );
FwStatus   fwsAddProduct_32fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2Fw32fc *  pSrcDstint  len );
FwStatus   fwsAddProduct_64fc ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2Fw64fc *  pSrcDstint  len );
FwStatus   fwsAddProduct_16s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAddProduct_32s_Sfs ( const Fw32s *  pSrc1const Fw32s *  pSrc2Fw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsAddProduct_16s32s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw32s *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers, add the product of the data in buffer 1 and the data in buffer 2 to the data in buffer 1, and write the sum back to the source buffer.

And

AND

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsAnd_8u ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  len );
FwStatus   fwsAnd_16u ( const Fw16u *  pSrc1const Fw16u *  pSrc2Fw16u *  pDstint  len );
FwStatus   fwsAnd_32u ( const Fw32u *  pSrc1const Fw32u *  pSrc2Fw32u *  pDstint  len );
FwStatus   fwsAnd_8u_I ( const Fw8u *  pSrcFw8u *  pSrcDstint  len );
FwStatus   fwsAnd_16u_I ( const Fw16u *  pSrcFw16u *  pSrcDstint  len );
FwStatus   fwsAnd_32u_I ( const Fw32u *  pSrcFw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in two source buffers and perform a bitwise logical AND of the data in buffer 1 and the data in buffer 2.

The results can be written to a destination buffer or written back to the source buffer.

Or

Or

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsOr_8u ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  len );
FwStatus   fwsOr_16u ( const Fw16u *  pSrc1const Fw16u *  pSrc2Fw16u *  pDstint  len );
FwStatus   fwsOr_32u ( const Fw32u *  pSrc1const Fw32u *  pSrc2Fw32u *  pDstint  len );
FwStatus   fwsOr_8u_I ( const Fw8u *  pSrcFw8u *  pSrcDstint  len );
FwStatus   fwsOr_16u_I ( const Fw16u *  pSrcFw16u *  pSrcDstint  len );
FwStatus   fwsOr_32u_I ( const Fw32u *  pSrcFw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in two source buffers and perform a bitwise logical Or of the data in buffer 1 and the data in buffer 2.

The results can be written to a destination buffer or written back to the source buffer.

Xor

Xor

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsXor_8u ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  len );
FwStatus   fwsXor_16u ( const Fw16u *  pSrc1const Fw16u *  pSrc2Fw16u *  pDstint  len );
FwStatus   fwsXor_32u ( const Fw32u *  pSrc1const Fw32u *  pSrc2Fw32u *  pDstint  len );
FwStatus   fwsXor_8u_I ( const Fw8u *  pSrcFw8u *  pSrcDstint  len );
FwStatus   fwsXor_16u_I ( const Fw16u *  pSrcFw16u *  pSrcDstint  len );
FwStatus   fwsXor_32u_I ( const Fw32u *  pSrcFw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in two source buffers and perform a bitwise logical XOR of the data in buffer 1 and the data in buffer 2.

The results can be written to a destination buffer or written back to the source buffer.

AndC

AND with constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsAndC_8u ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  len );
FwStatus   fwsAndC_16u ( const Fw16u *  pSrcFw16u  valFw16u *  pDstint  len );
FwStatus   fwsAndC_32u ( const Fw32u *  pSrcFw32u  valFw32u *  pDstint  len );
FwStatus   fwsAndC_8u_I ( Fw8u  valFw8u *  pSrcDstint  len );
FwStatus   fwsAndC_16u_I ( Fw16u  valFw16u *  pSrcDstint  len );
FwStatus   fwsAndC_32u_I ( Fw32u  valFw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
val   Specified value.

Description

These functions step through vector elements in a source buffer and perform a bitwise logical AND of the source data and a specified constant.

The results can be written to a destination buffer or written back to the source buffer.

OrC

OR with constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsOrC_8u ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  len );
FwStatus   fwsOrC_16u ( const Fw16u *  pSrcFw16u  valFw16u *  pDstint  len );
FwStatus   fwsOrC_32u ( const Fw32u *  pSrcFw32u  valFw32u *  pDstint  len );
FwStatus   fwsOrC_8u_I ( Fw8u  valFw8u *  pSrcDstint  len );
FwStatus   fwsOrC_16u_I ( Fw16u  valFw16u *  pSrcDstint  len );
FwStatus   fwsOrC_32u_I ( Fw32u  valFw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
val   Specified value.

Description

These functions step through vector elements in a source buffer and perform a bitwise logical OR of the source data and a specified constant.

The results can be written to a destination buffer or written back to the source buffer.

XorC

Xor with constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsXorC_8u ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  len );
FwStatus   fwsXorC_16u ( const Fw16u *  pSrcFw16u  valFw16u *  pDstint  len );
FwStatus   fwsXorC_32u ( const Fw32u *  pSrcFw32u  valFw32u *  pDstint  len );
FwStatus   fwsXorC_8u_I ( Fw8u  valFw8u *  pSrcDstint  len );
FwStatus   fwsXorC_16u_I ( Fw16u  valFw16u *  pSrcDstint  len );
FwStatus   fwsXorC_32u_I ( Fw32u  valFw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
val   Specified value.

Description

These functions step through vector elements in a source buffer and perform a bitwise logical XOR of the source data and a specified constant.

The results can be written to a destination buffer or written back to the source buffer.

Not

Not

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsNot_8u ( const Fw8u *  pSrcFw8u *  pDstint  len );
FwStatus   fwsNot_16u ( const Fw16u *  pSrcFw16u *  pDstint  len );
FwStatus   fwsNot_32u ( const Fw32u *  pSrcFw32u *  pDstint  len );
FwStatus   fwsNot_8u_I ( Fw8u *  pSrcDstint  len );
FwStatus   fwsNot_16u_I ( Fw16u *  pSrcDstint  len );
FwStatus   fwsNot_32u_I ( Fw32u *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in two source buffers and perform a bitwise logical NOT of the data in buffer 1 and the data in buffer 2.

The results can be written to a destination buffer or written back to the source buffer.

LShiftC

Left shift by a constant value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsLShiftC_8u ( const Fw8u *  pSrcint  valFw8u *  pDstint  len );
FwStatus   fwsLShiftC_16s ( const Fw16s *  pSrcint  valFw16s *  pDstint  len );
FwStatus   fwsLShiftC_16u ( const Fw16u *  pSrcint  valFw16u *  pDstint  len );
FwStatus   fwsLShiftC_32s ( const Fw32s *  pSrcint  valFw32s *  pDstint  len );
FwStatus   fwsLShiftC_8u_I ( int  valFw8u *  pSrcDstint  len );
FwStatus   fwsLShiftC_16u_I ( int  valFw16u *  pSrcDstint  len );
FwStatus   fwsLShiftC_16s_I ( int  valFw16s *  pSrcDstint  len );
FwStatus   fwsLShiftC_32s_I ( int  valFw32s *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
val   Specified value.

Description

These functions step through vector elements in a source buffer and shift the bits of the source data a specified number of bit positions to the left.

The results can be written to a destination buffer or written back to the source buffer.

Left-shifting is equivalent to multiplying by 2 to the constant power.

RShiftC

Right shift by a constant value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsRShiftC_8u ( const Fw8u *  pSrcint  valFw8u *  pDstint  len );
FwStatus   fwsRShiftC_16s ( const Fw16s *  pSrcint  valFw16s *  pDstint  len );
FwStatus   fwsRShiftC_16u ( const Fw16u *  pSrcint  valFw16u *  pDstint  len );
FwStatus   fwsRShiftC_32s ( const Fw32s *  pSrcint  valFw32s *  pDstint  len );
FwStatus   fwsRShiftC_8u_I ( int  valFw8u *  pSrcDstint  len );
FwStatus   fwsRShiftC_16u_I ( int  valFw16u *  pSrcDstint  len );
FwStatus   fwsRShiftC_16s_I ( int  valFw16s *  pSrcDstint  len );
FwStatus   fwsRShiftC_32s_I ( int  valFw32s *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
val   Specified value.

Description

These functions step through vector elements in a source buffer and shift the bits of the source data a specified number of bit positions to the right.

The results can be written to a destination buffer or written back to the source buffer.

Mul

Multiply

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsMul_16s ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  len );
FwStatus   fwsMul_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsMul_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsMul_32fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2Fw32fc *  pDstint  len );
FwStatus   fwsMul_64fc ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2Fw64fc *  pDstint  len );
FwStatus   fwsMul_8u16u ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw16u *  pDstint  len );
FwStatus   fwsMul_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsMul_16s_I ( const Fw16s *  pSrcFw16s *  pSrcDstint  len );
FwStatus   fwsMul_32f_I ( const Fw32f *  pSrcFw32f *  pSrcDstint  len );
FwStatus   fwsMul_64f_I ( const Fw64f *  pSrcFw64f *  pSrcDstint  len );
FwStatus   fwsMul_32fc_I ( const Fw32fc *  pSrcFw32fc *  pSrcDstint  len );
FwStatus   fwsMul_64fc_I ( const Fw64fc *  pSrcFw64fc *  pSrcDstint  len );
FwStatus   fwsMul_8u_Sfs ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_16s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_32s_Sfs ( const Fw32s *  pSrc1const Fw32s *  pSrc2Fw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_16sc_Sfs ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2Fw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_32sc_Sfs ( const Fw32sc *  pSrc1const Fw32sc *  pSrc2Fw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_16u16s_Sfs ( const Fw16u *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_16s32s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_32s32sc_Sfs ( const Fw32s *  pSrc1const Fw32sc *  pSrc2Fw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsMul_8u_ISfs ( const Fw8u *  pSrcFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMul_16s_ISfs ( const Fw16s *  pSrcFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMul_32s_ISfs ( const Fw32s *  pSrcFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMul_16sc_ISfs ( const Fw16sc *  pSrcFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMul_32sc_ISfs ( const Fw32sc *  pSrcFw32sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMul_32s32sc_ISfs ( const Fw32s *  pSrcFw32sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers and multiply the data in buffer 1 by the data in buffer 2.

The product can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

MulC

Multiply by a constant

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsMulC_32f ( const Fw32f *  pSrcFw32f  valFw32f *  pDstint  len );
FwStatus   fwsMulC_64f ( const Fw64f *  pSrcFw64f  valFw64f *  pDstint  len );
FwStatus   fwsMulC_32fc ( const Fw32fc *  pSrcFw32fc  valFw32fc *  pDstint  len );
FwStatus   fwsMulC_64fc ( const Fw64fc *  pSrcFw64fc  valFw64fc *  pDstint  len );
FwStatus   fwsMulC_16s_I ( Fw16s  valFw16s *  pSrcDstint  len );
FwStatus   fwsMulC_32f_I ( Fw32f  valFw32f *  pSrcDstint  len );
FwStatus   fwsMulC_64f_I ( Fw64f  valFw64f *  pSrcDstint  len );
FwStatus   fwsMulC_32fc_I ( Fw32fc  valFw32fc *  pSrcDstint  len );
FwStatus   fwsMulC_64fc_I ( Fw64fc  valFw64fc *  pSrcDstint  len );
FwStatus   fwsMulC_8u_Sfs ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsMulC_16s_Sfs ( const Fw16s *  pSrcFw16s  valFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMulC_32s_Sfs ( const Fw32s *  pSrcFw32s  valFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMulC_16sc_Sfs ( const Fw16sc *  pSrcFw16sc  valFw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsMulC_32sc_Sfs ( const Fw32sc *  pSrcFw32sc  valFw32sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsMulC_8u_ISfs ( Fw8u  valFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMulC_16s_ISfs ( Fw16s  valFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMulC_32s_ISfs ( Fw32s  valFw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMulC_16sc_ISfs ( Fw16sc  valFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMulC_32sc_ISfs ( Fw32sc  valFw32sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsMulC_32f16s_Sfs ( const Fw32f *  pSrcFw32f  valFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMulC_Low_32f16s ( const Fw32f *  pSrcFw32f  valFw16s *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
val   Specified value.

Description

These functions step through vector elements in a source buffer and multiply the source data by a specified constant value.

The product can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

Abs

Get absolute value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsAbs_16s ( const Fw16s *  pSrcFw16s *  pDstint  len );
FwStatus   fwsAbs_32s ( const Fw32s *  pSrcFw32s *  pDstint  len );
FwStatus   fwsAbs_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAbs_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAbs_16s_I ( Fw16s *  pSrcDstint  len );
FwStatus   fwsAbs_32s_I ( Fw32s *  pSrcDstint  len );
FwStatus   fwsAbs_32f_I ( Fw32f *  pSrcDstint  len );
FwStatus   fwsAbs_64f_I ( Fw64f *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in a source buffer and calculate the absolute value of the source data.

The results can be written to a destination buffer or written back to the source buffer.

Sqrt

Square root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSqrt_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSqrt_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsSqrt_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  len );
FwStatus   fwsSqrt_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  len );
FwStatus   fwsSqrt_32f_I ( Fw32f *  pSrcDstint  len );
FwStatus   fwsSqrt_64f_I ( Fw64f *  pSrcDstint  len );
FwStatus   fwsSqrt_32fc_I ( Fw32fc *  pSrcDstint  len );
FwStatus   fwsSqrt_64fc_I ( Fw64fc *  pSrcDstint  len );
FwStatus   fwsSqrt_8u_Sfs ( const Fw8u *  pSrcFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_16s_Sfs ( const Fw16s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_16u_Sfs ( const Fw16u *  pSrcFw16u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_32s16s_Sfs ( const Fw32s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_64s16s_Sfs ( const Fw64s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_8u_ISfs ( Fw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_16s_ISfs ( Fw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_16u_ISfs ( Fw16u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_64s_Sfs ( const Fw64s *  pSrcFw64s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_64s_ISfs ( Fw64s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_16sc_ISfs ( Fw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqrt_16sc_Sfs ( const Fw16sc *  pSrcFw16sc *  pDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer and calculate the square root of the source data.

The results can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit unsigned, and 16-bit signed versions perform an integer scaling operation before writing the results.

Sqr

Square

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSqr_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSqr_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsSqr_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  len );
FwStatus   fwsSqr_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  len );
FwStatus   fwsSqr_32f_I ( Fw32f *  pSrcDstint  len );
FwStatus   fwsSqr_64f_I ( Fw64f *  pSrcDstint  len );
FwStatus   fwsSqr_32fc_I ( Fw32fc *  pSrcDstint  len );
FwStatus   fwsSqr_64fc_I ( Fw64fc *  pSrcDstint  len );
FwStatus   fwsSqr_8u_Sfs ( const Fw8u *  pSrcFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqr_16s_Sfs ( const Fw16s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqr_16u_Sfs ( const Fw16u *  pSrcFw16u *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqr_16sc_Sfs ( const Fw16sc *  pSrcFw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsSqr_8u_ISfs ( Fw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqr_16s_ISfs ( Fw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqr_16u_ISfs ( Fw16u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsSqr_16sc_ISfs ( Fw16sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer and calculate the square of the source data.

The results can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit unsigned, and 16-bit signed versions perform an integer scaling operation before writing the results.

Normalize

Normalize

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsNormalize_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  vsubFw32f  vdiv );
FwStatus   fwsNormalize_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  vsubFw64f  vdiv );
FwStatus   fwsNormalize_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32fc  vsubFw32f  vdiv );
FwStatus   fwsNormalize_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64fc  vsubFw64f  vdiv );
FwStatus   fwsNormalize_16s_Sfs ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  vsubint  vdivint  scaleFactor );
FwStatus   fwsNormalize_16sc_Sfs ( const Fw16sc *  pSrcFw16sc *  pDstint  lenFw16sc  vsubint  vdivint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
vdiv   Specifies the denominator.
vsub   Specifies the subtrahend.

Description

These functions step through vector elements in a source buffer, subtract vsub from each element, and divide the differences by vdiv.

The results can be written to a destination buffer or written back to the source buffer.

The 16-bit unsigned and 16-bit signed versions perform an integer scaling operation before writing the results.

The normalize operation is performed as follows.

 Dst = (Src - vsub) / vdiv

Div

Divide

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsDiv_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsDiv_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsDiv_32fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2Fw32fc *  pDstint  len );
FwStatus   fwsDiv_64fc ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2Fw64fc *  pDstint  len );
FwStatus   fwsDiv_32f_I ( const Fw32f *  pSrcFw32f *  pSrcDstint  len );
FwStatus   fwsDiv_64f_I ( const Fw64f *  pSrcFw64f *  pSrcDstint  len );
FwStatus   fwsDiv_32fc_I ( const Fw32fc *  pSrcFw32fc *  pSrcDstint  len );
FwStatus   fwsDiv_64fc_I ( const Fw64fc *  pSrcFw64fc *  pSrcDstint  len );
FwStatus   fwsDiv_8u_Sfs ( const Fw8u *  pSrc1const Fw8u *  pSrc2Fw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsDiv_16s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2Fw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsDiv_32s_Sfs ( const Fw32s *  pSrc1const Fw32s *  pSrc2Fw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsDiv_16sc_Sfs ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2Fw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsDiv_32s16s_Sfs ( const Fw16s *  pSrc1const Fw32s *  pSrc2Fw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsDiv_8u_ISfs ( const Fw8u *  pSrcFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsDiv_16s_ISfs ( const Fw16s *  pSrcFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsDiv_16sc_ISfs ( const Fw16sc *  pSrcFw16sc *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsDiv_32s_ISfs ( const Fw32s *  pSrcFw32s *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers and divide the data in buffer 2 by the data in buffer 1.

The quotient can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

DivC

Divide by a constant

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsDivC_32f ( const Fw32f *  pSrcFw32f  valFw32f *  pDstint  len );
FwStatus   fwsDivC_64f ( const Fw64f *  pSrcFw64f  valFw64f *  pDstint  len );
FwStatus   fwsDivC_32fc ( const Fw32fc *  pSrcFw32fc  valFw32fc *  pDstint  len );
FwStatus   fwsDivC_64fc ( const Fw64fc *  pSrcFw64fc  valFw64fc *  pDstint  len );
FwStatus   fwsDivC_32f_I ( Fw32f  valFw32f *  pSrcDstint  len );
FwStatus   fwsDivC_64f_I ( Fw64f  valFw64f *  pSrcDstint  len );
FwStatus   fwsDivC_32fc_I ( Fw32fc  valFw32fc *  pSrcDstint  len );
FwStatus   fwsDivC_64fc_I ( Fw64fc  valFw64fc *  pSrcDstint  len );
FwStatus   fwsDivC_8u_Sfs ( const Fw8u *  pSrcFw8u  valFw8u *  pDstint  lenint  scaleFactor );
FwStatus   fwsDivC_16s_Sfs ( const Fw16s *  pSrcFw16s  valFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsDivC_16sc_Sfs ( const Fw16sc *  pSrcFw16sc  valFw16sc *  pDstint  lenint  scaleFactor );
FwStatus   fwsDivC_8u_ISfs ( Fw8u  valFw8u *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsDivC_16s_ISfs ( Fw16s  valFw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsDivC_16sc_ISfs ( Fw16sc  valFw16sc *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).
val   Specified value.

Description

These functions step through vector elements in a source buffer and divide the source data by a constant value.

The quotient can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

DivCRev

Divide a constant

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsDivCRev_16u ( const Fw16u *  pSrcFw16u  valFw16u *  pDstint  len );
FwStatus   fwsDivCRev_32f ( const Fw32f *  pSrcFw32f  valFw32f *  pDstint  len );
FwStatus   fwsDivCRev_16u_I ( Fw16u  valFw16u *  pSrcDstint  len );
FwStatus   fwsDivCRev_32f_I ( Fw32f  valFw32f *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
val   Specified value.

Description

These functions step through vector elements in a source buffer and divide a constant value by the source data.

The quotient can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.

Cubrt

Cube root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsCubrt_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCubrt_32s16s_Sfs ( const Fw32s *  pSrcFw16s *  pDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the cube root of each element, and write the result to a destination buffer.

The 32-bit signed version of the functions perform an integer scaling operation before writing the results.

Exp

Raise base e to a specified power

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsExp_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsExp_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsExp_32f64f ( const Fw32f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsExp_32f_I ( Fw32f *  pSrcDstint  len );
FwStatus   fwsExp_64f_I ( Fw64f *  pSrcDstint  len );
FwStatus   fwsExp_16s_Sfs ( const Fw16s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsExp_32s_Sfs ( const Fw32s *  pSrcFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsExp_64s_Sfs ( const Fw64s *  pSrcFw64s *  pDstint  lenint  scaleFactor );
FwStatus   fwsExp_16s_ISfs ( Fw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsExp_32s_ISfs ( Fw32s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsExp_64s_ISfs ( Fw64s *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer and calculate e to the power specified by each element.

Results can be written to a destination buffer or written back to the source buffer.

The 16-bit and 32-bit signed versions perform an integer scaling operation before writing the results.

These functions are the inverses of the Ln functions.

Ln

Natural logarithm

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsLn_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLn_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsLn_64f32f ( const Fw64f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLn_32f_I ( Fw32f *  pSrcDstint  len );
FwStatus   fwsLn_64f_I ( Fw64f *  pSrcDstint  len );
FwStatus   fwsLn_16s_Sfs ( const Fw16s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsLn_32s_Sfs ( const Fw32s *  pSrcFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fwsLn_32s16s_Sfs ( const Fw32s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsLn_16s_ISfs ( Fw16s *  pSrcDstint  lenint  scaleFactor );
FwStatus   fwsLn_32s_ISfs ( Fw32s *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer and calculate the natural logarithm of each element.

Results can be written to a destination buffer or written back to the source buffer.

The 16-bit and 32-bit signed versions perform an integer scaling operation before writing the results.

10Log10

Ten times log to the base 10

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fws10Log10_32s_Sfs ( const Fw32s *  pSrcFw32s *  pDstint  lenint  scaleFactor );
FwStatus   fws10Log10_32s_ISfs ( Fw32s *  pSrcDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer and calculate ten times the common logarithm of each element.

The results are integer scaled, then written to a destination buffer.

This function is particularly useful for calculating logarithmic scale values, such as decibels.

Arctan

Arc Tangent

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsArctan_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsArctan_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsArctan_32f_I ( Fw32f *  pSrcDstint  len );
FwStatus   fwsArctan_64f_I ( Fw64f *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in a source buffer and calculate the inverse tangent of each element.

Results can be written to a destination buffer or written back to the source buffer.

Threshold_LTVal

Compare to a threshold value, replace with a specified value (Less Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_LTVal_16s ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  levelFw16s  value );
FwStatus   fwsThreshold_LTVal_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  levelFw32f  value );
FwStatus   fwsThreshold_LTVal_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  levelFw64f  value );
FwStatus   fwsThreshold_LTVal_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  lenFw16s  levelFw16sc  value );
FwStatus   fwsThreshold_LTVal_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32f  levelFw32fc  value );
FwStatus   fwsThreshold_LTVal_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64f  levelFw64fc  value );
FwStatus   fwsThreshold_LTVal_16s_I ( Fw16s *  pSrcDstint  lenFw16s  levelFw16s  value );
FwStatus   fwsThreshold_LTVal_32f_I ( Fw32f *  pSrcDstint  lenFw32f  levelFw32f  value );
FwStatus   fwsThreshold_LTVal_64f_I ( Fw64f *  pSrcDstint  lenFw64f  levelFw64f  value );
FwStatus   fwsThreshold_LTVal_16sc_I ( Fw16sc *  pSrcDstint  lenFw16s  levelFw16sc  value );
FwStatus   fwsThreshold_LTVal_32fc_I ( Fw32fc *  pSrcDstint  lenFw32f  levelFw32fc  value );
FwStatus   fwsThreshold_LTVal_64fc_I ( Fw64fc *  pSrcDstint  lenFw64f  levelFw64fc  value );

Parameters

len   Specifies the number of elements in a buffer.
level   Specifies a threshold level.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
value   Specified value.

Description

These functions step through vector elements in a source buffer and compare source data to a specified threshold value.

When the source data is less than the threshold value, the function writes a specified value.

When the source data is greater than or equal to the threshold value, the function writes the value of the source data.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

        |value,  pSrc[n] < level|
For fwThreshold_LTVal  pDst[n] = |pSrc[n], pSrc[n] >= level |   |
        |   |

        | value,  abs(pSrc[n]) < level|
For complex variant  pDst[n] = |pSrc[n], pSrc[n] >= level |         |
        |         |

Threshold_GTVal

Compare to a threshold value, replace with a specified value (Greater Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_GTVal_16s ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  levelFw16s  value );
FwStatus   fwsThreshold_GTVal_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  levelFw32f  value );
FwStatus   fwsThreshold_GTVal_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  levelFw64f  value );
FwStatus   fwsThreshold_GTVal_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  lenFw16s  levelFw16sc  value );
FwStatus   fwsThreshold_GTVal_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32f  levelFw32fc  value );
FwStatus   fwsThreshold_GTVal_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64f  levelFw64fc  value );
FwStatus   fwsThreshold_GTVal_16s_I ( Fw16s *  pSrcDstint  lenFw16s  levelFw16s  value );
FwStatus   fwsThreshold_GTVal_32f_I ( Fw32f *  pSrcDstint  lenFw32f  levelFw32f  value );
FwStatus   fwsThreshold_GTVal_64f_I ( Fw64f *  pSrcDstint  lenFw64f  levelFw64f  value );
FwStatus   fwsThreshold_GTVal_16sc_I ( Fw16sc *  pSrcDstint  lenFw16s  levelFw16sc  value );
FwStatus   fwsThreshold_GTVal_32fc_I ( Fw32fc *  pSrcDstint  lenFw32f  levelFw32fc  value );
FwStatus   fwsThreshold_GTVal_64fc_I ( Fw64fc *  pSrcDstint  lenFw64f  levelFw64fc  value );

Parameters

len   Specifies the number of elements in a buffer.
level   Specifies a threshold level.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
value   Specified value.

Description

These functions step through vector elements in a source buffer and compare source data to a specified threshold value.

When the source data is greater than the threshold value, the function writes a specified value.

When the source data is less than or equal to the threshold value, the function writes the value of the source data.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

        |value,  pSrc[n] > level|
For fwThreshold_GTVal:  pDst[n] = |pSrc[n], pSrc[n] <= level |   |
        |   |

        | value,  abs(pSrc[n]) > level|
For complex variant:  pDst[n] = |pSrc[n], pSrc[n] <= level |         |
        |         |

Threshold_LTValGTVal

Compare to upper and lower threshold values, replace with a specified value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_LTValGTVal_16s ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  levelLTFw16s  valueLTFw16s  levelGTFw16s  valueGT );
FwStatus   fwsThreshold_LTValGTVal_32s ( const Fw32s *  pSrcFw32s *  pDstint  lenFw32s  levelLTFw32s  valueLTFw32s  levelGTFw32s  valueGT );
FwStatus   fwsThreshold_LTValGTVal_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  levelLTFw32f  valueLTFw32f  levelGTFw32f  valueGT );
FwStatus   fwsThreshold_LTValGTVal_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  levelLTFw64f  valueLTFw64f  levelGTFw64f  valueGT );
FwStatus   fwsThreshold_LTValGTVal_16s_I ( Fw16s *  pSrcDstint  lenFw16s  levelLTFw16s  valueLTFw16s  levelGTFw16s  valueGT );
FwStatus   fwsThreshold_LTValGTVal_32s_I ( Fw32s *  pSrcDstint  lenFw32s  levelLTFw32s  valueLTFw32s  levelGTFw32s  valueGT );
FwStatus   fwsThreshold_LTValGTVal_32f_I ( Fw32f *  pSrcDstint  lenFw32f  levelLTFw32f  valueLTFw32f  levelGTFw32f  valueGT );
FwStatus   fwsThreshold_LTValGTVal_64f_I ( Fw64f *  pSrcDstint  lenFw64f  levelLTFw64f  valueLTFw64f  levelGTFw64f  valueGT );

Parameters

len   Specifies the number of elements in a buffer.
levelGT   Specifies a threshold level for greater-than comparison.
levelLT   Specifies a threshold level for less-than comparison.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
valueGT   Specifies a value to set when a greater-than comparison evaluates as true.
valueLT   Specifies a value to set when a less-than comparison evaluates as true.

Description

These functions step through vector elements in a source buffer and compare source data to two specified threshold values.

The levelLT parameter must be less than the levelGT parameter.

When the source data is less than levelLT, the function writes the value specified by valueLT.

When the source data is greater than the value specified by levelGT, the function writes the value specified by valueGT.

When the source data is within the range defined by levelLT and levelGT, the function writes the value of the source data.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

           |valueLT, pSrc[n] < levelLT|
For fwThreshold_LTValGTVal:  pDst[n] = |pSrc[n], levelLT <= pSrc[n] <= levelGT  |      |
           |valueGT, pSrc[n] > levelGT|

Threshold_LT

Compare to a threshold value (Less Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_LT_16s ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  level );
FwStatus   fwsThreshold_LT_32s ( const Fw32s *  pSrcFw32s *  pDstint  lenFw32s  level );
FwStatus   fwsThreshold_LT_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  level );
FwStatus   fwsThreshold_LT_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  level );
FwStatus   fwsThreshold_LT_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32f  level );
FwStatus   fwsThreshold_LT_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64f  level );
FwStatus   fwsThreshold_LT_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  lenFw16s  level );
FwStatus   fwsThreshold_LT_16s_I ( Fw16s *  pSrcDstint  lenFw16s  level );
FwStatus   fwsThreshold_LT_32s_I ( Fw32s *  pSrcDstint  lenFw32s  level );
FwStatus   fwsThreshold_LT_32f_I ( Fw32f *  pSrcDstint  lenFw32f  level );
FwStatus   fwsThreshold_LT_64f_I ( Fw64f *  pSrcDstint  lenFw64f  level );
FwStatus   fwsThreshold_LT_32fc_I ( Fw32fc *  pSrcDstint  lenFw32f  level );
FwStatus   fwsThreshold_LT_64fc_I ( Fw64fc *  pSrcDstint  lenFw64f  level );
FwStatus   fwsThreshold_LT_16sc_I ( Fw16sc *  pSrcDstint  lenFw16s  level );

Parameters

len   Specifies the number of elements in a buffer.
level   Specifies a threshold level.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in a source buffer and compare source data to a specified threshold value.

When the source data is less than the threshold value, the function writes the threshold value.

When the source data is greater than or equal to the threshold value, the function writes the value of the source data.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

        |level,  pSrc[n] < level|
For fwThreshold_LT: pDst[n] = |pSrc[n], pSrc[n] >= level |   |
        |   |


        |(pSrc[n] * level)/ abs(pSrc[n],  abs(pSrc[n]) < level|
For complex variant:  pDst[n] = |pSrc[n], pSrc[n] >= level |            |
        |            |

Threshold_GT

Compare to a threshold value (Greater Than)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_GT_16s ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  level );
FwStatus   fwsThreshold_GT_32s ( const Fw32s *  pSrcFw32s *  pDstint  lenFw32s  level );
FwStatus   fwsThreshold_GT_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  level );
FwStatus   fwsThreshold_GT_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  level );
FwStatus   fwsThreshold_GT_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32f  level );
FwStatus   fwsThreshold_GT_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64f  level );
FwStatus   fwsThreshold_GT_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  lenFw16s  level );
FwStatus   fwsThreshold_GT_16s_I ( Fw16s *  pSrcDstint  lenFw16s  level );
FwStatus   fwsThreshold_GT_32s_I ( Fw32s *  pSrcDstint  lenFw32s  level );
FwStatus   fwsThreshold_GT_32f_I ( Fw32f *  pSrcDstint  lenFw32f  level );
FwStatus   fwsThreshold_GT_64f_I ( Fw64f *  pSrcDstint  lenFw64f  level );
FwStatus   fwsThreshold_GT_32fc_I ( Fw32fc *  pSrcDstint  lenFw32f  level );
FwStatus   fwsThreshold_GT_64fc_I ( Fw64fc *  pSrcDstint  lenFw64f  level );
FwStatus   fwsThreshold_GT_16sc_I ( Fw16sc *  pSrcDstint  lenFw16s  level );

Parameters

len   Specifies the number of elements in a buffer.
level   Specifies a threshold level.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in a source buffer and compare source data to a specified threshold value.

When the source data is greater than the threshold value, the function writes the threshold value.

When the source data is less than or equal to the threshold value, the function writes the value of the source data.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

      |level, pSrc[n] > level   |
For fwThreshold_LT: pDst[n] = |pSrc[n], pSrc[n] <= level|
      |       |


       |(pSrc[n] * level)/ abs(pSrc[n], abs(pSrc[n]) > level|
For complex variant:  pDst[n] = |pSrc[n], pSrc[n] <= level    |
       |       |

Threshold

Compare to a threshold value, replace with threshold value (General)

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_16s ( const Fw16s *  pSrcFw16s *  pDstint  lenFw16s  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  lenFw16s  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_16s_I ( Fw16s *  pSrcDstint  lenFw16s  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_32f_I ( Fw32f *  pSrcDstint  lenFw32f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_64f_I ( Fw64f *  pSrcDstint  lenFw64f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_32fc_I ( Fw32fc *  pSrcDstint  lenFw32f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_64fc_I ( Fw64fc *  pSrcDstint  lenFw64f  levelFwCmpOp  relOp );
FwStatus   fwsThreshold_16sc_I ( Fw16sc *  pSrcDstint  lenFw16s  levelFwCmpOp  relOp );

Parameters

len   Specifies the number of elements in a buffer.
level   Specifies a threshold level.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.
relOp   Constant that indicates which relational operation to perform.

Description

These functions step through vector elements in a source buffer and compare the source data to a specified threshold value using a specified compare operation.

The compare operation can be "less than", "less than or equal", "equal", "greater than or equal" or "greater than".

When the comparison evaluates as true, the function writes the threshold value.

When the comparison evaluates as false, the function writes the value of the source data.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

      |level, pSrc[n] < level   |
For fwCmpLess:  pDst[n] = |pSrc[n], pSrc[n] >= level|
      |        |


    |(pSrc[n] * level)/ abs(pSrc[n], abs(pSrc[n]) < level|
For complex variant:  pDst[n] = |pSrc[n], pSrc[n] >= level        |
    |           |


    |level,  pSrc[n] > level  |
For fwCmpGreater:  pDst[n] = |pSrc[n], pSrc[n] <= level|
    |     |


    |(pSrc[n] * level)/ abs(pSrc[n], abs(pSrc[n]) > level|
For complex variant:  pDst[n] = |pSrc[n], pSrc[n] <= level        |
    |           |

Threshold_LTInv

Compare to a threshold value, replace with inverted threshold value

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsThreshold_LTInv_32f ( const Fw32f *  pSrcFw32f *  pDstint  lenFw32f  level );
FwStatus   fwsThreshold_LTInv_64f ( const Fw64f *  pSrcFw64f *  pDstint  lenFw64f  level );
FwStatus   fwsThreshold_LTInv_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  lenFw32f  level );
FwStatus   fwsThreshold_LTInv_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  lenFw64f  level );
FwStatus   fwsThreshold_LTInv_32f_I ( Fw32f *  pSrcDstint  lenFw32f  level );
FwStatus   fwsThreshold_LTInv_64f_I ( Fw64f *  pSrcDstint  lenFw64f  level );
FwStatus   fwsThreshold_LTInv_32fc_I ( Fw32fc *  pSrcDstint  lenFw32f  level );
FwStatus   fwsThreshold_LTInv_64fc_I ( Fw64fc *  pSrcDstint  lenFw64f  level );

Parameters

len   Specifies the number of elements in a buffer.
level   Specifies a threshold level.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in a source buffer and compare source data to a specified threshold value.

When the source data is less than the threshold value, the function writes the inverse of the threshold value.

When the source data is greater than or equal to the threshold value, the function writes the inverse of the source value.

Output data can be written to a destination buffer or back to the source buffer for in-place operation.

The following evaluation formulas are used.

         |1/level, abs(pSrc[n])= 0                     |
For fwsThreshold_LTInv:  pDst[n] =  |abs(pSrc[n])/(pSrc[n] * level), 0<abs(pSrc[n])<level |
                |1/pSrc[n], abs(pSrc[n])>level or abs(pSrc[n])<0    |

    |Infinity, abs(pSrc[n])= 0  |
if level = 0:  pDst[n] = |       |
    |1/pSrc[n], abs(pSrc[n]) > 0|

Magnitude

Complex vector magnitude

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsMagnitude_32f ( const Fw32f *  pSrcReconst Fw32f *  pSrcImFw32f *  pDstint  len );
FwStatus   fwsMagnitude_64f ( const Fw64f *  pSrcReconst Fw64f *  pSrcImFw64f *  pDstint  len );
FwStatus   fwsMagnitude_32fc ( const Fw32fc *  pSrcFw32f *  pDstint  len );
FwStatus   fwsMagnitude_64fc ( const Fw64fc *  pSrcFw64f *  pDstint  len );
FwStatus   fwsMagnitude_16s32f ( const Fw16s *  pSrcReconst Fw16s *  pSrcImFw32f *  pDstint  len );
FwStatus   fwsMagnitude_16sc32f ( const Fw16sc *  pSrcFw32f *  pDstint  len );
FwStatus   fwsMagnitude_16s_Sfs ( const Fw16s *  pSrcReconst Fw16s *  pSrcImFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMagnitude_16sc_Sfs ( const Fw16sc *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsMagnitude_32sc_Sfs ( const Fw32sc *  pSrcFw32s *  pDstint  lenint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrcIm   Pointer to a source buffer that contains the imaginary component values of an input signal.
pSrcRe   Pointer to a source buffer that contains the real component values of an input signal.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through elements of a complex vector, calculate the magnitude of each element, and write the result to a destination buffer.

The following evaluation formula is used.

 Magnitude = sqrt( (re * re) + (im * im) )

There are versions of the function that operate on one source buffer containing a complex vector and versions that operate on two source buffers containing real and imaginary component values.

There are single-vector 16-bit signed complex and single-vector 32-bit signed complex versions that perform integer scaling before writing the results.

Convert

Convert vector data from one type to another

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsConvert_8s16s ( const Fw8s *  pSrcFw16s *  pDstint  len );
FwStatus   fwsConvert_8u16s ( const Fw8s *  pSrcFw16s *  pDstint  len );
FwStatus   fwsConvert_8s32f ( const Fw8s *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_8u32f ( const Fw8u *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_16s32s ( const Fw16s *  pSrcFw32s *  pDstint  len );
FwStatus   fwsConvert_16u32s ( const Fw16u *  pSrcFw32s *  pDstint  len );
FwStatus   fwsConvert_16s32f ( const Fw16s *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_16u32f ( const Fw16u *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_32s16s ( const Fw32s *  pSrcFw16s *  pDstint  len );
FwStatus   fwsConvert_32u16s ( const Fw32u *  pSrcFw16s *  pDstint  len );
FwStatus   fwsConvert_32s32f ( const Fw32s *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_32u32f ( const Fw32u *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_32s64f ( const Fw32s *  pSrcFw64f *  pDstint  len );
FwStatus   fwsConvert_32u64f ( const Fw32u *  pSrcFw64f *  pDstint  len );
FwStatus   fwsConvert_32f64f ( const Fw32f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsConvert_64f32f ( const Fw64f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsConvert_16s32f_Sfs ( const Fw16s *  pSrcFw32f *  pDstint  lenint  scaleFactor );
FwStatus   fwsConvert_16u32f_Sfs ( const Fw16u *  pSrcFw32f *  pDstint  lenint  scaleFactor );
FwStatus   fwsConvert_16s64f_Sfs ( const Fw16s *  pSrcFw64f *  pDstint  lenint  scaleFactor );
FwStatus   fwsConvert_32s16s_Sfs ( const Fw32s *  pSrcFw16s *  pDstint  lenint  scaleFactor );
FwStatus   fwsConvert_32s32f_Sfs ( const Fw32s *  pSrcFw32f *  pDstint  lenint  scaleFactor );
FwStatus   fwsConvert_32s64f_Sfs ( const Fw32s *  pSrcFw64f *  pDstint  lenint  scaleFactor );
FwStatus   fwsConvert_32f8s_Sfs ( const Fw32f *  pSrcFw8s *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );
FwStatus   fwsConvert_32f8u_Sfs ( const Fw32f *  pSrcFw8u *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );
FwStatus   fwsConvert_32f16s_Sfs ( const Fw32f *  pSrcFw16s *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );
FwStatus   fwsConvert_32f16u_Sfs ( const Fw32f *  pSrcFw16u *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );
FwStatus   fwsConvert_32f32s_Sfs ( const Fw32f *  pSrcFw32s *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );
FwStatus   fwsConvert_64s32s_Sfs ( const Fw64s *  pSrcFw32s *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );
FwStatus   fwsConvert_64f32s_Sfs ( const Fw64f *  pSrcFw32s *  pDstint  lenFwRoundMode  rndModeint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
rndMode   Constant that indicates which rounding mode to use when converting from a scalar to an integer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, convert the source data to another data type, and write the converted data to a destination buffer.

There are versions of the 16-bit signed-to-floating-point, 32-bit signed-to-floating-point, and 32-bit signed to 16-bit signed functions that perform an integer scaling operation on the results.

There are floating-point versions of the functions that also take a rounding mode argument. Values can be truncated toward zero or rounded to the nearest integer.

Max

Maximum

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMax_16s ( const Fw16s *  pSrcint  lenFw16s *  pMax );
FwStatus   fwsMax_32s ( const Fw32s *  pSrcint  lenFw32s *  pMax );
FwStatus   fwsMax_32f ( const Fw32f *  pSrcint  lenFw32f *  pMax );
FwStatus   fwsMax_64f ( const Fw64f *  pSrcint  lenFw64f *  pMax );
FwStatus   fwsMax_8s ( const Fw8s *  pSrcint  lenFw8s *  pMax );
FwStatus   fwsMax_64u ( const Fw64u *  pSrcint  lenFw64u *  pMax );

Parameters

len   Specifies the number of elements in a buffer.
pMax   Pointer to the destination buffer that contains the maximum value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the maximum value, and write the value to a location specified by a pointer.

MaxIndx

Maximum with index

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMaxIndx_16s ( const Fw16s *  pSrcint  lenFw16s *  pMaxint *  pIndx );
FwStatus   fwsMaxIndx_32s ( const Fw32s *  pSrcint  lenFw32s *  pMaxint *  pIndx );
FwStatus   fwsMaxIndx_32f ( const Fw32f *  pSrcint  lenFw32f *  pMaxint *  pIndx );
FwStatus   fwsMaxIndx_64f ( const Fw64f *  pSrcint  lenFw64f *  pMaxint *  pIndx );

Parameters

len   Specifies the number of elements in a buffer.
pIndx   Pointer to the destination buffer that contains the index of the maximum or minimum value in the source buffer.
pMax   Pointer to the destination buffer that contains the maximum value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the maximum value and its index.

The maximum value is written to a maximum value buffer and the index is written to a location specified by a pointer.

MaxAbs

Maximum absolute value

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMaxAbs_16s ( const Fw16s *  pSrcint  lenFw16s *  pMaxAbs );
FwStatus   fwsMaxAbs_32s ( const Fw32s *  pSrcint  lenFw32s *  pMaxAbs );

Parameters

len   Specifies the number of elements in a buffer.
pMaxAbs   Pointer to the destination buffer that contains the maximum absolute value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the maximum absolute value, and write the value to a location specified by a pointer.

MaxAbsIndx

Maximum absolute value with index

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMaxAbsIndx_16s ( const Fw16s *  pSrcint  lenFw16s *  pMaxAbsint *  pIndx );
FwStatus   fwsMaxAbsIndx_32s ( const Fw32s *  pSrcint  lenFw32s *  pMaxAbsint *  pIndx );

Parameters

len   Specifies the number of elements in a buffer.
pIndx   Pointer to the destination buffer that contains the index of the maximum or minimum value in the source buffer.
pMaxAbs   Pointer to the destination buffer that contains the maximum absolute value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the maximum absolute value and its index.

The maximum absolute value and the index are written to locations specified by pointers.

Min

Minimum

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMin_16s ( const Fw16s *  pSrcint  lenFw16s *  pMin );
FwStatus   fwsMin_32s ( const Fw32s *  pSrcint  lenFw32s *  pMin );
FwStatus   fwsMin_32f ( const Fw32f *  pSrcint  lenFw32f *  pMin );
FwStatus   fwsMin_64f ( const Fw64f *  pSrcint  lenFw64f *  pMin );
FwStatus   fwsMin_8s ( const Fw8s *  pSrcint  lenFw8s *  pMin );
FwStatus   fwsMin_64u ( const Fw64u *  pSrcint  lenFw64u *  pMin );

Parameters

len   Specifies the number of elements in a buffer.
pMin   Pointer to the destination buffer that contains the minimum value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the minimum value, and write the value to a location specified by a pointer.

MinIndx

Minimum with index

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMinIndx_16s ( const Fw16s *  pSrcint  lenFw16s *  pMinint *  pIndx );
FwStatus   fwsMinIndx_32s ( const Fw32s *  pSrcint  lenFw32s *  pMinint *  pIndx );
FwStatus   fwsMinIndx_32f ( const Fw32f *  pSrcint  lenFw32f *  pMinint *  pIndx );
FwStatus   fwsMinIndx_64f ( const Fw64f *  pSrcint  lenFw64f *  pMinint *  pIndx );

Parameters

len   Specifies the number of elements in a buffer.
pIndx   Pointer to the destination buffer that contains the index of the maximum or minimum value in the source buffer.
pMin   Pointer to the destination buffer that contains the minimum value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the minimum value and its index.

The minimum value and the index are written to locations specified by pointers.

MinAbs

Minimum absolute value

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMinAbs_16s ( const Fw16s *  pSrcint  lenFw16s *  pMinAbs );
FwStatus   fwsMinAbs_32s ( const Fw32s *  pSrcint  lenFw32s *  pMinAbs );

Parameters

len   Specifies the number of elements in a buffer.
pMinAbs   Pointer to the destination buffer that contains the minimum absolute value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the minimum absolute value, and write the value to a location specified by a pointer.

MinAbsIndx

Minimum absolute value with index

Synopsis

FwStatus   fwsMinAbsIndx_16s ( const Fw16s *  pSrcint  lenFw16s *  pMinAbsint *  pIndx );
FwStatus   fwsMinAbsIndx_32s ( const Fw32s *  pSrcint  lenFw32s *  pMinAbsint *  pIndx );

Parameters

len   Specifies the number of elements in a buffer.
pIndx   Pointer to the destination buffer that contains the index of the maximum or minimum value in the source buffer.
pMinAbs   Pointer to the destination buffer that contains the minimum absolute value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the minimum absolute value and its index.

The minimum absolute value and the index are written to locations specified by pointers.

MinMax

Minimum and maximum

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMinMax_8u ( const Fw8u *  pSrcint  lenFw8u *  pMinFw8u *  pMax );
FwStatus   fwsMinMax_16u ( const Fw16u *  pSrcint  lenFw16u *  pMinFw16u *  pMax );
FwStatus   fwsMinMax_16s ( const Fw16s *  pSrcint  lenFw16s *  pMinFw16s *  pMax );
FwStatus   fwsMinMax_32u ( const Fw32u *  pSrcint  lenFw32u *  pMinFw32u *  pMax );
FwStatus   fwsMinMax_32s ( const Fw32s *  pSrcint  lenFw32s *  pMinFw32s *  pMax );
FwStatus   fwsMinMax_32f ( const Fw32f *  pSrcint  lenFw32f *  pMinFw32f *  pMax );
FwStatus   fwsMinMax_64f ( const Fw64f *  pSrcint  lenFw64f *  pMinFw64f *  pMax );

Parameters

len   Specifies the number of elements in a buffer.
pMax   Pointer to the destination buffer that contains the maximum value in the source buffer.
pMin   Pointer to the destination buffer that contains the minimum value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the minimum and maximum values, and write the values to locations specified by pointers.

MinMaxIndx

Minimum and maximum with index

Synopsis

FwStatus   fwsMinMaxIndx_8u ( const Fw8u *  pSrcint  lenFw8u *  pMinint *  pMinIndxFw8u *  pMaxint *  pMaxIndx );
FwStatus   fwsMinMaxIndx_16u ( const Fw16u *  pSrcint  lenFw16u *  pMinint *  pMinIndxFw16u *  pMaxint *  pMaxIndx );
FwStatus   fwsMinMaxIndx_16s ( const Fw16s *  pSrcint  lenFw16s *  pMinint *  pMinIndxFw16s *  pMaxint *  pMaxIndx );
FwStatus   fwsMinMaxIndx_32u ( const Fw32u *  pSrcint  lenFw32u *  pMinint *  pMinIndxFw32u *  pMaxint *  pMaxIndx );
FwStatus   fwsMinMaxIndx_32s ( const Fw32s *  pSrcint  lenFw32s *  pMinint *  pMinIndxFw32s *  pMaxint *  pMaxIndx );
FwStatus   fwsMinMaxIndx_32f ( const Fw32f *  pSrcint  lenFw32f *  pMinint *  pMinIndxFw32f *  pMaxint *  pMaxIndx );
FwStatus   fwsMinMaxIndx_64f ( const Fw64f *  pSrcint  lenFw64f *  pMinint *  pMinIndxFw64f *  pMaxint *  pMaxIndx );

Parameters

len   Specifies the number of elements in a buffer.
pMax   Pointer to the destination buffer that contains the maximum value in the source buffer.
pMaxIndx   Pointer to the destination buffer that contains the index of the maximum value in the source vector.
pMin   Pointer to the destination buffer that contains the minimum value in the source buffer.
pMinIndx   Pointer to the destination buffer that contains the index of the minimum value in the source buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, find the minimum and maximum values and the corresponding indices.

The minimum value, the maximum value, and the indices are written locations specified by pointers.

Norm_Inf

Norm C

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNorm_Inf_32f ( const Fw32f *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_Inf_64f ( const Fw64f *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_Inf_16s32f ( const Fw16s *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_Inf_32fc32f ( const Fw32fc *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_Inf_64fc64f ( const Fw64fc *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_Inf_16s32s_Sfs ( const Fw16s *  pSrcint  lenFw32s *  pNormint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc   Pointer to a source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the C Norm, and write the value to a location specified by a pointer.

The following formula is used.

 C Norm =((n = 0) - (len-1)) max (|pSrc[n]|)

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation before the result is written.

Norm_L1

Norm L1

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNorm_L1_32f ( const Fw32f *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_L1_64f ( const Fw64f *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_L1_16s32f ( const Fw16s *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_L1_32fc64f ( const Fw32fc *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_L1_64fc64f ( const Fw64fc *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_L1_16s32s_Sfs ( const Fw16s *  pSrcint  lenFw32s *  pNormint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc   Pointer to a source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the L1 Norm, and write the value to a location specified by a pointer.

The following formula is used.

 L1 Norm =((n = 0) - (len-1)) Sum (|pSrc[n]|)

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation on the result.

Norm_L2

Norm L2

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNorm_L2_32f ( const Fw32f *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_L2_64f ( const Fw64f *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_L2_16s32f ( const Fw16s *  pSrcint  lenFw32f *  pNorm );
FwStatus   fwsNorm_L2_32fc64f ( const Fw32fc *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_L2_64fc64f ( const Fw64fc *  pSrcint  lenFw64f *  pNorm );
FwStatus   fwsNorm_L2_16s32s_Sfs ( const Fw16s *  pSrcint  lenFw32s *  pNormint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc   Pointer to a source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the L2 Norm, and write the value to a location specified by a pointer.

The following formula is used.

 L2 Norm =Sqrt(((n = 0) - (len-1)) Sum(Square(|pSrc[n]|))

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation on the result.

NormDiff_Inf

Norm of difference C

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNormDiff_Inf_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_Inf_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_Inf_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_Inf_32fc32f ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_Inf_64fc64f ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_Inf_16s32s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32s *  pNormint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers, calculate the C Norm of the difference between the elements in buffer 1 and the elements in buffer 2, and write the value to a location specified by a pointer.

The following formula is used.

 C NormDiff = ((n = 0) - (len-1)) max (|pSrc1[n] - pSrc2[n]|)

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation on the result.

NormDiff_L1

Norm of difference L1

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNormDiff_L1_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_L1_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_L1_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_L1_32fc64f ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_L1_64fc64f ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_L1_16s32s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32s *  pNormint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers, calculate the L1 Norm of the difference between the elements in buffer 1 and the elements in buffer 2, and write the value to a location specified by a pointer.

The following formula is used.

 NormDiff = ((n = 0) - (len-1)) Sum (|pSrc1[n] - pSrc2[n]|)

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation on the result.

NormDiff_L2

Norm of difference L2

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNormDiff_L2_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_L2_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_L2_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32f *  pNorm );
FwStatus   fwsNormDiff_L2_32fc64f ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_L2_64fc64f ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2int  lenFw64f *  pNorm );
FwStatus   fwsNormDiff_L2_16s32s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32s *  pNormint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers, calculate the L2 Norm of the difference between the elements in buffer 1 and the elements in buffer 2, and write the value to a location specified by a pointer.

The following formula is used.

 NormDiff = Sqrt(((n = 0) - (len-1)) Sum(Square(|pSrc1[n] - pSrc2[n]|))

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation on the result.

Mean

Mean

Supported Technologies

SSE2

Synopsis

FwStatus   fwsMean_32f ( const Fw32f *  pSrcint  lenFw32f *  pMeanFwHintAlgorithm  hint );
FwStatus   fwsMean_32fc ( const Fw32fc *  pSrcint  lenFw32fc *  pMeanFwHintAlgorithm  hint );
FwStatus   fwsMean_64f ( const Fw64f *  pSrcint  lenFw64f *  pMean );
FwStatus   fwsMean_64fc ( const Fw64fc *  pSrcint  lenFw64fc *  pMean );
FwStatus   fwsMean_16s_Sfs ( const Fw16s *  pSrcint  lenFw16s *  pMeanint  scaleFactor );
FwStatus   fwsMean_16sc_Sfs ( const Fw16sc *  pSrcint  lenFw16sc *  pMeanint  scaleFactor );

Parameters

hint   Hints whether to choose a fast or accurate computation algorithm.
len   Specifies the number of elements in a buffer.
pMean   Pointer to the destination buffer that contains the mean of the values in the source buffer.
pSrc   Pointer to a source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the arithmetic mean, and write the value to a location specified by a pointer.

The following formula is used.

 Mean = 1/len ((n = 0) - (len-1)) Sum(pSrc[n])

The 16-bit signed and 16-bit signed complex versions perform an integer scaling operation on the result.

MaxEvery

Maximum (element pair)

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsMaxEvery_16s_I ( const Fw16s *  pSrcFw16s *  pSrcDstint  len );
FwStatus   fwsMaxEvery_32s_I ( const Fw32s *  pSrcFw32s *  pSrcDstint  len );
FwStatus   fwsMaxEvery_32f_I ( const Fw32f *  pSrcFw32f *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in two buffers and compare corresponding elements in the source and destination buffers.

The maximum value in the comparison is written to the destination buffer.

MinEvery

Minimum (element pair)

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsMinEvery_16s_I ( const Fw16s *  pSrcFw16s *  pSrcDstint  len );
FwStatus   fwsMinEvery_32s_I ( const Fw32s *  pSrcFw32s *  pSrcDstint  len );
FwStatus   fwsMinEvery_32f_I ( const Fw32f *  pSrcFw32f *  pSrcDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pSrc   Pointer to a source buffer.
pSrcDst   Pointer to a buffer that is both the source and destination.

Description

These functions step through vector elements in two buffers and compare corresponding elements in the source and destination buffers.

The minimum value in the comparison is written to the destination buffer.

DotProd

Dot Product

Supported Technologies

SSE2

Synopsis

FwStatus   fwsDotProd_16s32f ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32f *  pDp );
FwStatus   fwsDotProd_16s64s ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw64s *  pDp );
FwStatus   fwsDotProd_16s16sc64sc ( const Fw16s *  pSrc1const Fw16sc *  pSrc2int  lenFw64sc *  pDp );
FwStatus   fwsDotProd_16s16sc32fc ( const Fw16s *  pSrc1const Fw16sc *  pSrc2int  lenFw32fc *  pDp );
FwStatus   fwsDotProd_32f ( const Fw32f *  pSrc1const Fw32f *  pSrc2int  lenFw32f *  pDp );
FwStatus   fwsDotProd_32f64f ( const Fw32f *  pSrc1const Fw32f *  pSrc2int  lenFw64f *  pDp );
FwStatus   fwsDotProd_32f32fc ( const Fw32f *  pSrc1const Fw32fc *  pSrc2int  lenFw32fc *  pDp );
FwStatus   fwsDotProd_32f32fc64fc ( const Fw32f *  pSrc1const Fw32fc *  pSrc2int  lenFw64fc *  pDp );
FwStatus   fwsDotProd_64f ( const Fw64f *  pSrc1const Fw64f *  pSrc2int  lenFw64f *  pDp );
FwStatus   fwsDotProd_64f64fc ( const Fw64f *  pSrc1const Fw64fc *  pSrc2int  lenFw64fc *  pDp );
FwStatus   fwsDotProd_16sc64sc ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2int  lenFw64sc *  pDp );
FwStatus   fwsDotProd_16sc32fc ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2int  lenFw32fc *  pDp );
FwStatus   fwsDotProd_32fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2int  lenFw32fc *  pDp );
FwStatus   fwsDotProd_32fc64fc ( const Fw32fc *  pSrc1const Fw32fc *  pSrc2int  lenFw64fc *  pDp );
FwStatus   fwsDotProd_64fc ( const Fw64fc *  pSrc1const Fw64fc *  pSrc2int  lenFw64fc *  pDp );
FwStatus   fwsDotProd_16s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw16s *  pDpint  scaleFactor );
FwStatus   fwsDotProd_16s32s_Sfs ( const Fw16s *  pSrc1const Fw16s *  pSrc2int  lenFw32s *  pDpint  scaleFactor );
FwStatus   fwsDotProd_16s16sc32sc_Sfs ( const Fw16s *  pSrc1const Fw16sc *  pSrc2int  lenFw32sc *  pDpint  scaleFactor );
FwStatus   fwsDotProd_16s32s32s_Sfs ( const Fw16s *  pSrc1const Fw32s *  pSrc2int  lenFw32s *  pDpint  scaleFactor );
FwStatus   fwsDotProd_16s16sc_Sfs ( const Fw16s *  pSrc1const Fw16sc *  pSrc2int  lenFw16sc *  pDpint  scaleFactor );
FwStatus   fwsDotProd_32s_Sfs ( const Fw32s *  pSrc1const Fw32s *  pSrc2int  lenFw32s *  pDpint  scaleFactor );
FwStatus   fwsDotProd_32s32sc_Sfs ( const Fw32s *  pSrc1const Fw32sc *  pSrc2int  lenFw32sc *  pDpint  scaleFactor );
FwStatus   fwsDotProd_16sc_Sfs ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2int  lenFw16sc *  pDpint  scaleFactor );
FwStatus   fwsDotProd_16sc32sc_Sfs ( const Fw16sc *  pSrc1const Fw16sc *  pSrc2int  lenFw32sc *  pDpint  scaleFactor );
FwStatus   fwsDotProd_32sc_Sfs ( const Fw32sc *  pSrc1const Fw32sc *  pSrc2int  lenFw32sc *  pDpint  scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDp   Pointer to the destination buffer that contains the dot product of the source buffers.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two buffers, calculate the dot product of the vectors, and write the result to a location specified by a pointer.

The following formula is used.

 DotProduct = ((n = 0) - (len-1)) Sum(pSrc1[n]  *pSrc2[n])

There are 16-bit and 32-bit signed and signed complex versions that perform an integer scaling operation on the result.

Sum

Sum

Supported Technologies

SSE2

Synopsis

FwStatus   fwsSum_32f ( const Fw32f *  pSrcint  lenFw32f *  pSumFwHintAlgorithm  hint );
FwStatus   fwsSum_32fc ( const Fw32fc *  pSrcint  lenFw32fc *  pSumFwHintAlgorithm  hint );
FwStatus   fwsSum_64f ( const Fw64f *  pSrcint  lenFw64f *  pSum );
FwStatus   fwsSum_64fc ( const Fw64fc *  pSrcint  lenFw64fc *  pSum );
FwStatus   fwsSum_16s_Sfs ( const Fw16s *  pSrcint  lenFw16s *  pSumint  scaleFactor );
FwStatus   fwsSum_32s_Sfs ( const Fw32s *  pSrcint  lenFw32s *  pSumint  scaleFactor );
FwStatus   fwsSum_16s32s_Sfs ( const Fw16s *  pSrcint  lenFw32s *  pSumint  scaleFactor );
FwStatus   fwsSum_16sc_Sfs ( const Fw16sc *  pSrcint  lenFw16sc *  pSumint  scaleFactor );
FwStatus   fwsSum_16sc32sc_Sfs ( const Fw16sc *  pSrcint  lenFw32sc *  pSumint  scaleFactor );

Parameters

hint   Hints whether to choose a fast or accurate computation algorithm.
len   Specifies the number of elements in a buffer.
pSrc   Pointer to a source buffer.
pSum   Pointer to the destination buffer that contains the sum of all the elements in the source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the sum of the elements, and write the result to a location specified by a pointer.

The following formula is used.

 Sum = ((n = 0) - (len-1)) Sum(pSrc[n])

The 16-bit signed and signed complex and 32-bit signed versions perform an integer scaling operation on the result.

StdDev

Standard deviation

Supported Technologies

SSE2

Synopsis

FwStatus   fwsStdDev_32f ( const Fw32f *  pSrcint  lenFw32f *  pStdDevFwHintAlgorithm  hint );
FwStatus   fwsStdDev_64f ( const Fw64f *  pSrcint  lenFw64f *  pStdDev );
FwStatus   fwsStdDev_16s32s_Sfs ( const Fw16s *  pSrcint  lenFw32s *  pStdDevint  scaleFactor );
FwStatus   fwsStdDev_16s_Sfs ( const Fw16s *  pSrcint  lenFw16s *  pStdDevint  scaleFactor );

Parameters

hint   Hints whether to choose a fast or accurate computation algorithm.
len   Specifies the number of elements in a buffer.
pSrc   Pointer to a source buffer.
pStdDev   Pointer to the destination buffer that contains the standard deviation of the values in the source buffer.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in a source buffer, calculate the standard deviation of the elements, and write the result to a location specified by a pointer.

The following formula is used.

 StdDev = Sqrt(((n = 0) - (len-1)) Sum(Square(pSrc[n]-pMean))/len-1)

The 16-bit signed versions perform an integer scaling operation on the result.

Fixed Accuracy Arithmetic Functions

This chapter describes functions that perform arithmetic operations at a chosen level of accuracy.

These functions provide flexible specification of accuracy and support IEEE-754 standards. Choice of accuracy level is based on practical experience and application requirements.

Options are specified by a function name suffix:

The options for the single-precision data format are A11, A21, and A24.

The options for the double-precision data format are A50 and A53.

For single precision data:

Suffix_A11 guarantees 11 correctly rounded bits of significand, or at least three exact decimal digits.

Suffix_A21 guarantees 21 correctly rounded bits of significand, or four ulps, or approximately six exact decimal digits.

Suffix_A24 guarantees 24 correctly rounded bits of significand, including the implied bit, with the maximum guaranteed error within one ulp.

For double precision data:

Suffix_A50 guarantees 50 correctly rounded bits of significand, or four ulps, or approximately 15 exact decimal digits.

Suffix_A53 guarantees 53 correctly rounded bits of significand, including the implied bit, with the maximum guaranteed error within one ulp.

Inv

Inverse

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsInv_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInv_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInv_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInv_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsInv_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through a source buffer, calculate the inverse of each element, and write the results to a destination buffer.

Div

Divide

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsDiv_32f_A11 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsDiv_32f_A21 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsDiv_32f_A24 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsDiv_64f_A50 ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsDiv_64f_A53 ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.

Description

These functions step through vector elements in two source buffers, divide the elements in buffer 1 by the elements in buffer 2, and write the results to a destination buffer.

Sqrt

Square root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSqrt_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSqrt_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSqrt_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSqrt_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsSqrt_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the square root of each element, and write the results to a destination buffer.

InvSqrt

Inverse Square root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsInvSqrt_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInvSqrt_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInvSqrt_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInvSqrt_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsInvSqrt_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse square root of each element, and write the results to a destination buffer.

Cbrt

Cube root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsCbrt_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCbrt_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCbrt_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCbrt_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsCbrt_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the cube root of each element, and write the results to a destination buffer.

InvCbrt

Inverse cube root

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsInvCbrt_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInvCbrt_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInvCbrt_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsInvCbrt_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsInvCbrt_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse cube root of each element, and write the results to a destination buffer.

Pow

Power

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsPow_32f_A11 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsPow_32f_A21 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsPow_32f_A24 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsPow_64f_A50 ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsPow_64f_A53 ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.

Description

These functions step through vector elements in two source buffers, raise each element of buffer 1 to the power specified by the corresponding element of buffer 2, and write the results to a destination buffer.

Powx

Constant power

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsPowx_32f_A11 ( const Fw32f *  pSrc1const Fw32f  valFw32f *  pDstint  len );
FwStatus   fwsPowx_32f_A21 ( const Fw32f *  pSrc1const Fw32f  valFw32f *  pDstint  len );
FwStatus   fwsPowx_32f_A24 ( const Fw32f *  pSrc1const Fw32f  valFw32f *  pDstint  len );
FwStatus   fwsPowx_64f_A50 ( const Fw64f *  pSrc1const Fw64f  valFw64f *  pDstint  len );
FwStatus   fwsPowx_64f_A53 ( const Fw64f *  pSrc1const Fw64f  valFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc1   Pointer to source buffer one.
val   Specified value.

Description

These functions step through vector elements in a source buffer, raise each element to a power specified by a constant, and write the results to a destination buffer.

Exp

Exponential

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsExp_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsExp_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsExp_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsExp_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsExp_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, raise e to the power specified by each element, and write the results to a destination buffer.

Ln

Natural Logarithm

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsLn_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLn_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLn_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLn_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsLn_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the natural logarithm of each element, and write the results to a destination buffer.

Log10

Common Logarithm

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsLog10_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLog10_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLog10_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsLog10_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsLog10_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the common logarithm of each element, and write the results to a destination buffer.

Cos

Cosine

Supported Technologies

MT

Synopsis

FwStatus   fwsCos_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCos_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCos_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCos_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsCos_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the cosine of each element, and write the results to a destination buffer.

Sin

Sine

Supported Technologies

MT

Synopsis

FwStatus   fwsSin_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSin_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSin_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSin_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsSin_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the sine of each element, and write the results to a destination buffer.

Tan

Tangent

Supported Technologies

MT

Synopsis

FwStatus   fwsTan_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsTan_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsTan_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsTan_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsTan_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the tangent of each element, and write the results to a destination buffer.

Acos

Inverse cosine

Supported Technologies

MT

Synopsis

FwStatus   fwsAcos_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAcos_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAcos_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAcos_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAcos_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse cosine of each element, and write the results to a destination buffer.

Asin

Inverse sine

Supported Technologies

MT

Synopsis

FwStatus   fwsAsin_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAsin_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAsin_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAsin_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAsin_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse sine of each element, and write the results to a destination buffer.

Atan

Inverse tangent

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsAtan_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAtan_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAtan_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAtan_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAtan_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse tangent of each element, and write the results to a destination buffer.

Atan2

Inverse tangent (four quadrant)

Supported Technologies

MT, SSE2

Synopsis

FwStatus   fwsAtan2_32f_A11 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsAtan2_32f_A21 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsAtan2_32f_A24 ( const Fw32f *  pSrc1const Fw32f *  pSrc2Fw32f *  pDstint  len );
FwStatus   fwsAtan2_64f_A50 ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );
FwStatus   fwsAtan2_64f_A53 ( const Fw64f *  pSrc1const Fw64f *  pSrc2Fw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.

Description

These functions step through vector elements in two input buffers, calculate the inverse tangent of the y and x buffer elements, and write the results to a destination buffer.

Buffer 1 contains y values and buffer 2 contains x values.

The operation of this function is similar to calculating the arctangent of y/x, except that the signs of both arguments determine the quadrant of the result.

Results are in the range (-pi, pi).

Cosh

Hyperbolic cosine

Supported Technologies

MT

Synopsis

FwStatus   fwsCosh_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCosh_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCosh_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCosh_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsCosh_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the hyperbolic cosine of each element, and write the results to a destination buffer.

Sinh

Hyperbolic sine

Supported Technologies

MT

Synopsis

FwStatus   fwsSinh_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSinh_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSinh_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsSinh_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsSinh_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the hyperbolic sine of each element, and write the results to a destination buffer.

Tanh

Hyperbolic tangent

Supported Technologies

MT

Synopsis

FwStatus   fwsTanh_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsTanh_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsTanh_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsTanh_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsTanh_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the hyperbolic tangent of each element, and write the results to a destination buffer.

Acosh

Inverse hyperbolic cosine

Supported Technologies

MT

Synopsis

FwStatus   fwsAcosh_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAcosh_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAcosh_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAcosh_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAcosh_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse hyperbolic cosine of each element, and write the results to a destination buffer.

Asinh

Inverse hyperbolic sine

Supported Technologies

MT

Synopsis

FwStatus   fwsAsinh_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAsinh_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAsinh_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAsinh_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAsinh_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse hyperbolic sine of each element, and write the results to a destination buffer.

Atanh

Inverse hyperbolic tangent

Supported Technologies

MT

Synopsis

FwStatus   fwsAtanh_32f_A11 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAtanh_32f_A21 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAtanh_32f_A24 ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsAtanh_64f_A50 ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsAtanh_64f_A53 ( const Fw64f *  pSrcFw64f *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions step through vector elements in a source buffer, calculate the inverse hyperbolic tangent of each element, and write the results to a destination buffer.

Vector Initialization Functions

This chapter describes functions that perform vector initialization tasks.

Copy

Copy vector

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsCopy_8u ( const Fw8u *  pSrcFw8u *  pDstint  len );
FwStatus   fwsCopy_16s ( const Fw16s *  pSrcFw16s *  pDstint  len );
FwStatus   fwsCopy_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsCopy_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsCopy_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  len );
FwStatus   fwsCopy_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  len );
FwStatus   fwsCopy_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions copy the vector elements in a source buffer to a destination buffer.

Move

Move vector

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsMove_8u ( const Fw8u *  pSrcFw8u *  pDstint  len );
FwStatus   fwsMove_16s ( const Fw16s *  pSrcFw16s *  pDstint  len );
FwStatus   fwsMove_32f ( const Fw32f *  pSrcFw32f *  pDstint  len );
FwStatus   fwsMove_64f ( const Fw64f *  pSrcFw64f *  pDstint  len );
FwStatus   fwsMove_16sc ( const Fw16sc *  pSrcFw16sc *  pDstint  len );
FwStatus   fwsMove_32fc ( const Fw32fc *  pSrcFw32fc *  pDstint  len );
FwStatus   fwsMove_64fc ( const Fw64fc *  pSrcFw64fc *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.

Description

These functions move the vector elements in a source buffer to a destination buffer.

Set

Set vector

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsSet_8u ( Fw8u  valFw8u *  pDstint  len );
FwStatus   fwsSet_16s ( Fw16s  valFw16s *  pDstint  len );
FwStatus   fwsSet_32s ( Fw32s  valFw32s *  pDstint  len );
FwStatus   fwsSet_32f ( Fw32f  valFw32f *  pDstint  len );
FwStatus   fwsSet_64s ( Fw64s  valFw64s *  pDstint  len );
FwStatus   fwsSet_64f ( Fw64f  valFw64f *  pDstint  len );
FwStatus   fwsSet_16sc ( Fw16sc  valFw16sc *  pDstint  len );
FwStatus   fwsSet_32sc ( Fw32sc  valFw32sc *  pDstint  len );
FwStatus   fwsSet_32fc ( Fw32fc  valFw32fc *  pDstint  len );
FwStatus   fwsSet_64sc ( Fw64sc  valFw64sc *  pDstint  len );
FwStatus   fwsSet_64fc ( Fw64fc  valFw64fc *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
val   Specified value.

Description

These functions set elements of a vector in a destination buffer to a specified value.

A length parameter specifies the number of elements that are set.

Zero

Clear vector

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsZero_8u ( Fw8u *  pDstint  len );
FwStatus   fwsZero_16s ( Fw16s *  pDstint  len );
FwStatus   fwsZero_32f ( Fw32f *  pDstint  len );
FwStatus   fwsZero_64f ( Fw64f *  pDstint  len );
FwStatus   fwsZero_16sc ( Fw16sc *  pDstint  len );
FwStatus   fwsZero_32fc ( Fw32fc *  pDstint  len );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.

Description

These functions clear elements of a vector in a destination buffer to zero.

A length parameter specifies the number of elements that are cleared.

Find

Find substring in a string

Synopsis

FwStatus   fwsFind_8u ( const Fw8u*  pSrcint  lenconst Fw8u*  pFindint  lenFindint*  pIndex );
FwStatus   fwsFind_16u ( const Fw16u*  pSrcint  lenconst Fw16u*  pFindint  lenFindint*  pIndex );
FwStatus   fwsFindRev_8u ( const Fw8u*  pSrcint  lenconst Fw8u*  pFindint  lenFindint*  pIndex );
FwStatus   fwsFindRev_16u ( const Fw16u*  pSrcint  lenconst Fw16u*  pFindint  lenFindint*  pIndex );

Parameters

len   Specifies the number of elements in a buffer.
lenFind   Length of the substring.
pFind   Pointer to the substring.
pIndex   Pointer to the index of the result.
pSrc   Pointer to a source buffer.

Description

Find substring in a string

Find

Find the specified element in a given buffer

Synopsis

FwStatus   fwsFindC_8u ( const Fw8u*  pSrcint  lenFw8u  valFindint*  pIndex );
FwStatus   fwsFindC_16u ( const Fw16u*  pSrcint  lenFw16u  valFindint*  pIndex );
FwStatus   fwsFindRevC_8u ( const Fw8u*  pSrcint  lenFw8u  valFindint*  pIndex );
FwStatus   fwsFindRevC_16u ( const Fw16u*  pSrcint  lenFw16u  valFindint*  pIndex );

Parameters

len   Specifies the number of elements in a buffer.
pIndex   Pointer to the index of the result.
pSrc   Pointer to a source buffer.
valFind   Value of the element to be found.

Description

Find the specified element in a given buffer

Autocorrelation

Estimates normal, biased, and unbiased auto-correlation of a vector and stores the result in a second vector.

Supported Technologies

SSE2

Synopsis

FwStatus   fwsAutoCorr_32f ( const Fw32f*  pSrcint  srcLenFw32f*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormA_32f ( const Fw32f*  pSrcint  srcLenFw32f*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormB_32f ( const Fw32f*  pSrcint  srcLenFw32f*  pDstint  dstLen );
FwStatus   fwsAutoCorr_32fc ( const Fw32fc*  pSrcint  srcLenFw32fc*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormA_32fc ( const Fw32fc*  pSrcint  srcLenFw32fc*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormB_32fc ( const Fw32fc*  pSrcint  srcLenFw32fc*  pDstint  dstLen );
FwStatus   fwsAutoCorr_64f ( const Fw64f*  pSrcint  srcLenFw64f*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormA_64f ( const Fw64f*  pSrcint  srcLenFw64f*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormB_64f ( const Fw64f*  pSrcint  srcLenFw64f*  pDstint  dstLen );
FwStatus   fwsAutoCorr_64fc ( const Fw64fc*  pSrcint  srcLenFw64fc*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormA_64fc ( const Fw64fc*  pSrcint  srcLenFw64fc*  pDstint  dstLen );
FwStatus   fwsAutoCorr_NormB_64fc ( const Fw64fc*  pSrcint  srcLenFw64fc*  pDstint  dstLen );

Parameters

dstLen   Specifies the number of elements in destination buffer(this will be the length of auto-correlation)
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
srcLen   Specifies the number of elements in source buffer

Description

Estimates normal, biased, and unbiased auto-correlation of a vector and stores the result in a second vector.

fwsMalloc

Allocates memory aligned to 32-byte boundary.

Synopsis

Fw8u*   fwsMalloc_8u ( int  len );
Fw16u*   fwsMalloc_16u ( int  len );
Fw32u*   fwsMalloc_32u ( int  len );
Fw8s*   fwsMalloc_8s ( int  len );
Fw16s*   fwsMalloc_16s ( int  len );
Fw32s*   fwsMalloc_32s ( int  len );
Fw64s*   fwsMalloc_64s ( int  len );
Fw32f*   fwsMalloc_32f ( int  len );
Fw64f*   fwsMalloc_64f ( int  len );
Fw16sc*   fwsMalloc_16sc ( int  len );
Fw32sc*   fwsMalloc_32sc ( int  len );
Fw64sc*   fwsMalloc_64sc ( int  len );
Fw32fc*   fwsMalloc_32fc ( int  len );
Fw64fc*   fwsMalloc_64fc ( int  len );

Parameters

len   Specifies the number of elements in a buffer.

Description

Allocates memory block aligned to a 32-byte boundary for elements of different data types.

The return value of fwsMalloc is a pointer to an aligned memory block. If no memory is available in the system, then the NULL value is returned.

To free this block, use the function fwsFree.

fwsFree

Frees memory allocated by the function fwsMalloc.

Synopsis

void   fwsFree ( void*  ptr );

Parameters

ptr   Pointer to a valid memory.

Description

Frees the aligned memory block allocated by the function fwsMalloc.

Video Library

Video Coding Library functions perform video manipulation, encoding and decoding.

This section is organized as follows.

Within the section, the Basic Concepts chapter provides overview information related to the functions in the library, and subsequent chapters provide detailed descriptions of library functions that perform operations of the same kind.

Each detailed description consists of a Function Name followed by a short description, a Synopsis of the function syntax, a list of function Parameters, a detailed Description of the function, and a list of Return Values.

When a function is optimized for one or more technologies, a list of Supported Technologies is provided after the short description.

The Function Quick Reference provides an index and snapshot view of function optimizations.

Basic Concepts

This chapter provides an overview of the information contained in the functional descriptions.

Video Coding library functional descriptions include the following types of information.

Enumerators

Video Coding library function definitions use the following enumerators.

FwvcFrameFieldFlag   Enumerates image type of the picture.
fwintra16x16PredMode_H264   Enumerates prediction modes for the Intra_16x16 prediction process of luma compoments.
fwintra4x4PredMode_H264   Enumerates prediction modes for the Intra_4x4 prediction process of luma compoments.
fwintraChromaPredMode_H264   Enumerates prediction modes for the Intra prediction process of chroma compoments.

Parameter Glossary

Video Coding library function definitions use the following parameters.

AC   AC compoment
ChromaQP   Chroma quantizer, must be within the range [0;39].
DstStep   Size of a row in bytes, the aligned destination frame width.
EdgePelCount   Specifies the minimum number of pairs of elements that differ by more than EdgePelDifference.
EdgePelDifference   Specifies the edge difference threshold between neighboring elements.
PredStep   Reference plane step size (in bytes).
QP   Quantizer scale factor read from the bitstream.
StartPtr   Pointer to frame source data.
Switch   Flag that indicates picture switch (non-zero when a switch occurs, equal to zero otherwise).
availability   Flag that indicates availability of the samples used for prediction.
cbp4x2   Coded block pattern. If cbp4x2 & (1<<(1+i))is not equal to 0 (0 < i < 8), i-th 4x4 AC. Luma block is not zero-filled and it exists in ppSrcCoeff.
cbp4x4   Coded block pattern. If cbp4x4 & (1<<(1+i))is not equal to 0 (0 < i < 16), i-th 4x4 AC. Luma block is not zero-filled and it exists in ppSrcCoeff.
count   Number of the last non-zero coefficient in zig-zag order. When a block contains no non-zero coefficients, the value is -1.
countU   Number of the last non-zero U coefficient in zig-zag order. When a block contains no non-zero coefficients, the value is -1.
countV   Number of the last non-zero V coefficient in zig-zag order. When a block contains no non-zero coefficients, the value is -1.
dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
edgeType   Specifies a vertical or horizontal edge.
edgeTypeBottom   Flag that indicates the availability of the upper half of a macroblock used for prediction. The upper and lower halves of a macroblock may have different prediction vectors. There is one flag for each half.
edgeTypeTop   Flag that indicates the availability of the lower half of a macroblock used for prediction. The upper and lower halves of a macroblock may have different prediction vectors. There is one flag for each half.
height   Specifies the height of a block.
intraChromaMode   Specifies the operating mode of the intrachroma prediction process.
isSigned   Flag that indicates whether an output value must be decoded as signed.
mcType   Specifies the type of prediction used for motion compensation.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
nAlpha   A calculated deblock filter value.
nBeta   A calculated deblock filter value.
offset   Specifies an offset.
outPixels   The number of pixels by which the data specified by pSrc reaches over the frame top boundary.
pACTable   Pointer to a table containing run-level codes for all DCT coefficients other than the first one.
pAlpha   Pointer to an array of size 2 of alpha thresholds (values for external and internal vertical edge).
pBS   Pointer to an array of size 16 of BS parameters (values for the left edge of each 4x4 block).
pBeta   Pointer to an array of size 2 of beta thresholds (values for external and internal vertical edge).
pBitOffset   Pointer to a bit position within the byte that ppBitStream points to. Valid within the range 0 to 7. The pointer is updated after motion vector decoding.
pDC   Pointer to an output coefficient.
pDCPred   Pointer to a value to be added to the DC coefficient. The value is read from the standard table.
pDCPredict   Pointer to an array (size 4) of the of inter-prediction DC samples for the current macroblock after inverse transform. Inverse transform of the inter prediction samples can be calculated using TransformPrediction_H264 function for each 4x4 block.
pDCSizeTable   Pointer to a table containing codes for the DC coefficient (the first of the DCT coefficients).
pDCTable   Pointer to a table containing codes for the DC coefficient (the first of the DCT coefficients).
pDecodeTable   Pointer to a decoding table.
pDiff   Pointer to an array of size 16 that contains the sums of 4X4 difference block coefficients.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pDstBlock   Pointer to a block of decoded elements.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pDstSAD   Pointer to a destination array of size 4 that stores SAD values.
pDstSize   Pointer to the position of the last non-zero block coefficient in scanning sequence.
pDstUV   Pointer to a UV destination array.
pFirst   Pointer to the first destination value.
pMBIntraTypes   Pointer to an array of Intra_4x4 luma prediction modes for eight subblocks. pMBIntraTypes[i] is defined in the same way as in PredictIntra_4x4_H264 function (0 < i < 8 ).
pMean   Pointer to a computed mean of pixel values.
pNumCoeff   Pointer to the output number of non-zero coefficients.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
pPred   Pointer to a 16x16 predictor block in the reference plane.
pPredictBlock   Pointer to array (size 16) of inter-prediction samples for the current macroblock after inverse transform. Samples are calculated using the TransformPrediction_H264 function.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pRefB   Pointer to a backward-reference block of specified size.
pRefF   Pointer to a forward-reference block of specified size.
pRes   Pointer to a result value.
pSAD   Pointer to an SAD result.
pScanMatrix   Pointer to a matrix containing indices of elements in a scanning sequence.
pSecond   Pointer to a second destination value.
pSqrDiff   Pointer to a sum of square differences between the current and reference blocks.
pSrc   Pointer to a block of DCT coefficients.
pSrc1   Pointer to a location in source buffer one.
pSrc2   Pointer to a location in source buffer two.
pSrc2Dst   Pointer to the second source and result.
pSrcCur   Pointer to a block in the current plane.
pSrcDst   Pointer to the start of the block.
pSrcDstUPlane   Pointer to a macroblock that is reconstructed in the current U plane. The macroblock must contain inter-prediction samples.
pSrcDstVPlane   Pointer to a macroblock that is reconstructed in the current V plane. The macroblock must contain inter-prediction samples.
pSrcDstYPlane   Pointer to the current macroblock that is reconstructed in current Y-plane. This macroblock must contain inter prediction samples.
pSrcRef   Pointer to a block in the reference plane.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcSum   Pointer to a sum of pixel values for the current block.
pSrcTable   Pointer to a source table.
pSrcU   Pointer to a block of DCT coefficients for U component.
pSrcV   Pointer to a block of DCT coefficients for V component.
pSrcYData   Pointer to a block of inverse DCT output data.
pSums   Pointer to an array of size 256 that contains a sequence of 4X4 residual blocks.
pTblCoeffToken   Pointer to a table of coefficient tokens.
pThresholds   Pointer to an array of size 16 of threshold (Tc0) values for the left edge of each 4x4 block.
pVar   Pointer to a variance value.
pitch   Specifies memory pitch.
ppBitStream   Double pointer to the current position in the bit stream.
ppDecodeTable   Double pointer to a decoding table.
ppDstCoeffs   Double pointer to a 4x4 block of coefficients calculated by the function. The function shifts pointer *ppDstCoeffs on 16.
ppDstSpec   Double pointer to a destination decoding table.
ppSrcCoeff   Double pointer to the order of 4x4 blocks of residual coefficients for a macroblock, the results of Huffman decoding (2x2 DC U-block, 2x2 DC V-block, 4x4 AC U-blocks, 4x4 AC V-blocks if the block is not zero-filled). The pointer is updated by the function and points to the blocks for the next macroblock.
ppTblCoeffToken   Double pointer to a CoeffToken table.
ppTblRunBefore   Double pointer to a RunBefore table.
ppTblTotalZeros   Double pointer to a TotalZeros table.
ppTblTotalZerosCR   Double pointer to a chroma DC TotalZeros table.
predMode   Specifies the prediction mode of the Intra_4x4 prediction process for luma samples.
predStep   Reference plane step size (in bytes).
qp   Quantization parameter (QPY in [JVTG050]). It must be within the range [0;51].
qs   Quantization parameter qs.
refStep   Reference block step size (width of the block in bytes).
refStepB   Backward reference frame reference block step size (width of the block in bytes).
refStepF   Forward reference frame reference block step size (width of the block in bytes).
roiSize   Specifies the height and width of an ROI.
roundControl   Specifies the type of rounding used for half-pixel approximation.
shift   Specifies shift size.
shiftDCVal   Integer value. The DC coefficient must be multiplied by 2shiftDCVal.
srcCurStep   Source current block step size (width of the block in bytes)
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).
srcDstUVStep   Plane step size.
srcDstYStep   Y-plane step size.
srcRefStep   Source reference block step size (width of the block in bytes)
srcRefStepB   Source backward reference block step size (width of the block in bytes)
srcRefStepF   Source forward reference block step size (width of the block in bytes)
srcStep   Source buffer step size (width of the buffer in bytes).
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).
step   Plane step
uFrameFieldFlag   Flag that indicates an expansion method for various image types: frame, top field, bottom field.
uFrameHeight   Frame height in pixels.
uFrameWidth   Frame width in pixels.
uMaxNumCoeff   Maximum number of coefficients in a block (16 for Intra 16x16, 15 for others).
uPels   Number of pixels filled to the right/left and up/down in process of expansion.
uPitch   Frame width in bytes.
uVLCSelect   Predictor on number of CoeffToken table.
weight1   Weighting factor.
weight2   Weighting factor.
width   Block width.

Library Version

This chapter describes the FW function that provides library version information.

GetLibVersion

Get library version

Synopsis

const FwLibraryVersion*   fwvGetLibVersion (    );

Description

This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.

Video Coding Functions

This chapter describes functions that encode and decode video data according to the MPEG-1 (ISO11172), MPEG-2 (ISO13818), MPEG-4 (ISO14496A), DV (IEC61834), H.263 (ITUH263) and H.264 (JVTG050) standards.

DecodeCAVLCCoeffs_H264

Decode CAVLC bitstream

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDecodeCAVLCCoeffs_H264_1u16s ( Fw32u **  ppBitStreamFw32s *  pBitOffsetFw16s *  pNumCoeffFw16s **  ppDstCoeffsFw32u  uVLCSelectFw16s  uMaxNumCoeffconst Fw32s **  ppTblCoeffTokenconst Fw32s **  ppTblTotalZerosconst Fw32s **  ppTblRunBeforeconst Fw32s *  pScanMatrix );

Parameters

pBitOffset   Pointer to a bit position within the byte that ppBitStream points to. Valid within the range 0 to 7. The pointer is updated after motion vector decoding.
pNumCoeff   Pointer to the output number of non-zero coefficients.
pScanMatrix   Pointer to a matrix containing indices of elements in a scanning sequence.
ppBitStream   Double pointer to the current position in the bit stream.
ppDstCoeffs   Double pointer to a 4x4 block of coefficients calculated by the function. The function shifts pointer *ppDstCoeffs on 16.
ppTblCoeffToken   Double pointer to a CoeffToken table.
ppTblRunBefore   Double pointer to a RunBefore table.
ppTblTotalZeros   Double pointer to a TotalZeros table.
uMaxNumCoeff   Maximum number of coefficients in a block (16 for Intra 16x16, 15 for others).
uVLCSelect   Predictor on number of CoeffToken table.

Description

This function parses and decodes a source stream of MPEG-4/AVC Chroma AC and Luma video syntax elements in JVTG050-compliant context-adaptive variable-length coding (CAVLC) format. Result coefficients are written to a series of 4X4 destination blocks.

Each element of pointer array pTblCoeffToken points to a table that contains codes, the number of trailing one transform coefficients and the total number of non-zero transform coefficients, in accordance with JVTG050 Table 9-5. The following values are used.

Element pTblCoeffToken[0], 0 < uVLCSelect < 2

Element pTblCoeffToken[1], 2 < uVLCSelect < 4

Element pTblCoeffToken[2], 4 < uVLCSelect < 8

Element pTblCoeffToken[3], uVLCSelect = -1 (used only for DecodeCAVLCChromaDcCoeffs_H264).

The HuffmanRunLevelTableInitAlloc function must be used to create pTblCoeffToken tables. When the value of uVLCSelect is greater than 8, the function uses its own table of transform coefficients.

Each element of pointer array ppTblTotalZeros except for ppTblTotalZeros[0] points to a table that contains codes and values (JVTG050 total_zeros) in accordance with JVTG050 Tables 9-7 and 9-8. Element ppTblTotalZeros[0] is not used.

Each element ppTblTotalZeros[i] contains codes and values that correspond to JVTG050 TotalCoeff = i, 0 < i < 16.

Each element of pointer array ppTblRunBefore except for ppTblRunBefore[0] points to a table that contains codes and values (JVTG050 run_before) in accordance with JVTG050 Table 9-10. Element ppTblRunBefore[0] is not used.

ppTblRunBefore[i] contains codes and values that correspond to JVTG050 zerosLeft = i, 0 < i < 7.

ppTblRunBefore[7] contains codes and values that correspond to JVTG050 zerosLeft > 6.

The HuffmanTableInitAlloc function must be used to create ppTblTotalZeros and ppTblRunBefore tables.

DecodeCAVLCChromaDcCoeffs_H264

Decode Chroma CAVLC bitstream

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDecodeCAVLCChromaDcCoeffs_H264_1u16s ( Fw32u **  ppBitStreamFw32s *  pBitOffsetFw16s *  pNumCoeffFw16s **  ppDstCoeffsconst Fw32s *  pTblCoeffTokenconst Fw32s **  ppTblTotalZerosCRconst Fw32s **  ppTblRunBefore );

Parameters

pBitOffset   Pointer to a bit position within the byte that ppBitStream points to. Valid within the range 0 to 7. The pointer is updated after motion vector decoding.
pNumCoeff   Pointer to the output number of non-zero coefficients.
pTblCoeffToken   Pointer to a table of coefficient tokens.
ppBitStream   Double pointer to the current position in the bit stream.
ppDstCoeffs   Double pointer to a 4x4 block of coefficients calculated by the function. The function shifts pointer *ppDstCoeffs on 16.
ppTblRunBefore   Double pointer to a RunBefore table.
ppTblTotalZerosCR   Double pointer to a chroma DC TotalZeros table.

Description

This function parses and decodes a source stream of MPEG-4/AVC Chroma DC video syntax elements in CAVLC format. Result coefficients are written to a series of 2X2 destination blocks.

Parameter pTblCoeffToken is = -1, equivalent to element pTblCoeffToken[3] of the DecodeCAVLCCoeffs_H264 function.

Parameter pTblCoeffToken points to a table that contains codes, the number of trailing one transform coefficients and the total number of non-zero transform coefficients, in accordance with JVTG050 Table 9-5.

Each element of pointer array ppTblRunBefore except for ppTblRunBefore[0] points to a table that contains codes and values (JVTG050 run_before) in accordance with JVTG050 Table 9-10. Element ppTblRunBefore[0] is not used.

ppTblRunBefore[i] contains codes and values that correspond to JVTG050 zerosLeft =i, 0 < i < 7.

ppTblRunBefore[7] contains codes and values that correspond to JVTG050 zerosLeft > 6.

Each element of pointer array ppTblTotalZeros except for ppTblTotalZeros[0] points to a table that contains codes and values (JVTG050 total_zeros) in accordance with JVTG050 Table 9-9. Element ppTblTotalZeros[0] is not used.

Each element ppTblTotalZeros[i] contains codes and values that correspond to JVTG050 TotalCoeff = i, 0 < i < 4.

DecodeExpGolombOne_H264

Decode ExpGolomb code

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDecodeExpGolombOne_H264_1u16s ( Fw32u **  ppBitStreamFw32s *  pBitOffsetFw16s *  pDstFw8u  isSigned );

Parameters

isSigned   Flag that indicates whether an output value must be decoded as signed.
pBitOffset   Pointer to a bit position within the byte that ppBitStream points to. Valid within the range 0 to 7. The pointer is updated after motion vector decoding.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
ppBitStream   Double pointer to the current position in the bit stream.

Description

This function decodes a block of MPEG-4/AVC video syntax elements in Exp-Golumb format located in a bitstream. The result is written to a destination buffer.

FilterDeblockingLuma_VerEdge_H264

Deblock luma macroblock vertical edges

Synopsis

FwStatus   fwiFilterDeblockingLuma_VerEdge_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFw8u *  pAlphaFw8u *  pBetaFw8u *  pThresholdsFw8u *  pBS );

Parameters

pAlpha   Pointer to an array of size 2 of alpha thresholds (values for external and internal vertical edge).
pBS   Pointer to an array of size 16 of BS parameters (values for the left edge of each 4x4 block).
pBeta   Pointer to an array of size 2 of beta thresholds (values for external and internal vertical edge).
pSrcDst   Pointer to the start of the block.
pThresholds   Pointer to an array of size 16 of threshold (Tc0) values for the left edge of each 4x4 block.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function steps through a 16X16 luma macroblock in the source buffer and filters artificial discontinuities at block boundaries caused by quantization and other encoding artifacts. It operates on internal and external vertical edges of the macroblock. Results are written back to the source location. The function performs filtering in accordance with section 8.7.2 of H.264 standard(JVTG050).

FilterDeblockingLuma_HorEdge_H264

Deblock luma macroblock horizontal edges

Synopsis

FwStatus   fwiFilterDeblockingLuma_HorEdge_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFw8u *  pAlphaFw8u *  pBetaFw8u *  pThresholdsFw8u *  pBS );

Parameters

pAlpha   Pointer to an array of size 2 of alpha thresholds (values for external and internal vertical edge).
pBS   Pointer to an array of size 16 of BS parameters (values for the left edge of each 4x4 block).
pBeta   Pointer to an array of size 2 of beta thresholds (values for external and internal vertical edge).
pSrcDst   Pointer to the start of the block.
pThresholds   Pointer to an array of size 16 of threshold (Tc0) values for the left edge of each 4x4 block.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function steps through a 16X16 luma macroblock in the source buffer and filters artificial discontinuities at block boundaries caused by quantization and other encoding artifacts. It operates on internal and external horizontal edges of the macroblock. Results are written back to the source location. The function performs filtering in accordance with section 8.7.2 of H.264 standard(JVTG050).

FilterDeblockingChroma_HorEdge_H264

Deblock chroma macroblock horizontal edges

Synopsis

FwStatus   fwiFilterDeblockingChroma_HorEdge_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFw8u *  pAlphaFw8u *  pBetaFw8u *  pThresholdsFw8u *  pBS );

Parameters

pAlpha   Pointer to an array of size 2 of alpha thresholds (values for external and internal vertical edge).
pBS   Pointer to an array of size 16 of BS parameters (values for the left edge of each 4x4 block).
pBeta   Pointer to an array of size 2 of beta thresholds (values for external and internal vertical edge).
pSrcDst   Pointer to the start of the block.
pThresholds   Pointer to an array of size 16 of threshold (Tc0) values for the left edge of each 4x4 block.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function steps through a 8X8 chroma macroblock in the source and filters artificial discontinuities at block boundaries caused by quantization and other encoding artifacts. It operates on internal and external horizontal edges of the macroblock. Results are written back to the source location. The function performs filtering in accordance with section 8.7.2 of H.264 standard(JVTG050).

FilterDeblockingChroma_VerEdge_H264

Deblock chroma macroblock vertical edges

Synopsis

FwStatus   fwiFilterDeblockingChroma_VerEdge_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFw8u *  pAlphaFw8u *  pBetaFw8u *  pThresholdsFw8u *  pBS );

Parameters

pAlpha   Pointer to an array of size 2 of alpha thresholds (values for external and internal vertical edge).
pBS   Pointer to an array of size 16 of BS parameters (values for the left edge of each 4x4 block).
pBeta   Pointer to an array of size 2 of beta thresholds (values for external and internal vertical edge).
pSrcDst   Pointer to the start of the block.
pThresholds   Pointer to an array of size 16 of threshold (Tc0) values for the left edge of each 4x4 block.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function steps through a 8X8 chroma macroblock in the source buffer and filters artificial discontinuities at block boundaries caused by quantization and other encoding artifacts. It operates on internal and external vertical edges of the macroblock. Results are written back to the source location. The function performs filtering in accordance with section 8.7.2 of H.264 standard(JVTG050).

InterpolateLuma_H264

Interpolate luma component

Supported Technologies

SSE2

Synopsis

FwStatus   fwiInterpolateLuma_H264_8u_C1R ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pDstFw32s  dstStepFw32s  dxFw32s  dyFwiSize  roiSize );

Parameters

dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function increases the accuracy of inter-frame motion prediction by stepping through a defined region of a source reference frame and performing quarter-pixel luma-component interpolation. The interpolation method is convolution with a 6X6 kernel, in accordance with JVTG050 8.4.2.2.1. Results are written to a defined ROI in a destination buffer.

The function uses only the fractional portion of the complex motion vector to perform interpolation. The integer portion of the vector is used to define the source location pSrc.

To assure that all samples used for interpolation are within the boundaries of the source frame, either enlarge the source frame by using boundary samples or use the InterpolateLumaTop_H264 or InterpolateLumaBottom_H264 functions.

InterpolateLumaTop_H264

Interpolate luma component at top frame boundary

Supported Technologies

SSE2

Synopsis

FwStatus   fwiInterpolateLumaTop_H264_8u_C1R ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pDstFw32s  dstStepFw32s  dxFw32s  dyFw32s  outPixelsFwiSize  roiSize );

Parameters

dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
outPixels   The number of pixels by which the data specified by pSrc reaches over the frame top boundary.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function increases the accuracy of inter-frame motion prediction by performing quarter-pixel luma-component interpolation near the top boundary of a defined region of a source reference frame. The interpolation method is convolution with a 6X6 kernel, in accordance with JVTG050 8.4.2.2.1. Results are written to a defined ROI in a destination buffer.

The function uses only the fractional portion of the complex motion vector to perform interpolation. The integer portion of the vector is used to define the source location pSrc. When the source region overlaps a frame boundary, the region of interpolation is adjusted according to the value specified by outPixels to assure that the closest line of pixel data in the frame is used.

InterpolateLumaBottom_H264

Interpolate luma component at bottom frame boundary

Supported Technologies

SSE2

Synopsis

FwStatus   fwiInterpolateLumaBottom_H264_8u_C1R ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pDstFw32s  dstStepFw32s  dxFw32s  dyFw32s  outPixelsFwiSize  roiSize );

Parameters

dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
outPixels   The number of pixels by which the data specified by pSrc reaches over the frame top boundary.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function increases the accuracy of inter-frame motion prediction by performing quarter-pixel luma-component interpolation near the bottom boundary of a defined region of a source reference frame. The interpolation method is convolution with a 6X6 kernel, in accordance with JVTG050 8.4.2.2.1. Results are written to a defined ROI in a destination buffer.

The function uses only the fractional portion of the complex motion vector to perform interpolation. The integer portion of the vector is used to define the source location pSrc. When the source region overlaps a frame boundary, the region of interpolation is adjusted according to the value specified by outPixels to assure that the closest line of pixel data in the frame is used.

InterpolateChroma_H264

Interpolate chroma component

Supported Technologies

SSE2

Synopsis

FwStatus   fwiInterpolateChroma_H264_8u_C1R ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pDstFw32s  dstStepFw32s  dxFw32s  dyFwiSize  roiSize );

Parameters

dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function increases the accuracy of inter-frame motion prediction by stepping through a defined region of a source reference frame and performing eighth-pixel chroma-component interpolation. The interpolation method is convolution with a 6X6 kernel, in accordance with JVTG050 8.4.2.2.1. Results are written to a defined ROI in a destination buffer.

The function uses only the fractional portion of the complex motion vector to perform interpolation. The integer portion of the vector is used to define the source location pSrc.

To assure that all samples used for interpolation are within the boundaries of the source frame, either enlarge the source frame by using boundary samples or use the InterpolateChromaTop_H264 or InterpolateChromaBottom_H264 functions.

InterpolateChromaTop_H264

Interpolate chroma component at top frame boundary

Supported Technologies

SSE2

Synopsis

FwStatus   fwiInterpolateChromaTop_H264_8u_C1R ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pDstFw32s  dstStepFw32s  dxFw32s  dyFw32s  outPixelsFwiSize  roiSize );

Parameters

dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
outPixels   The number of pixels by which the data specified by pSrc reaches over the frame top boundary.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function increases the accuracy of inter-frame motion prediction by performing eighth-pixel chroma-component interpolation near the top boundary of a defined region of a source reference frame. The interpolation method is convolution with a 6X6 kernel, in accordance with JVTG050 8.4.2.2.1. Results are written to a defined ROI in a destination buffer.

The function uses only the fractional portion of the complex motion vector to perform interpolation. The integer portion of the vector is used to define the source location pSrc. When the source region overlaps a frame boundary, the region of interpolation is adjusted according to the value specified by outPixels to assure that the closest line of pixel data in the frame is used.

InterpolateChromaBottom_H264

Interpolate chroma component at bottom frame boundary

Synopsis

FwStatus   fwiInterpolateChromaBottom_H264_8u_C1R ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pDstFw32s  dstStepFw32s  dxFw32s  dyFw32s  outPixelsFwiSize  roiSize );

Parameters

dstStep   Step of the destination array.
dx   Fractional part of the x-coordinate in a source image.
dy   Fractional part of the y-coordinate in a source image.
outPixels   The number of pixels by which the data specified by pSrc reaches over the frame top boundary.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.
roiSize   Specifies the height and width of an ROI.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function increases the accuracy of inter-frame motion prediction by performing eighth-pixel chroma-component interpolation near the bottom boundary of a defined region of a source reference frame. The interpolation method is convolution with a 6X6 kernel, in accordance with JVTG050 8.4.2.2.1. Results are written to a defined ROI in a destination buffer.

The function uses only the fractional portion of the complex motion vector to perform interpolation. The integer portion of the vector is used to define the source location pSrc. When the source region overlaps a frame boundary, the region of interpolation is adjusted according to the value specified by outPixels to assure that the closest line of pixel data in the frame is used.

PredictIntra_4x4_H264

Predict motion of luma block intra-frame

Synopsis

FwStatus   fwiPredictIntra_4x4_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFwIntra4x4PredMode_H264  predModeFw32s  availability );

Parameters

availability   Flag that indicates availability of the samples used for prediction.
pSrcDst   Pointer to the start of the block.
predMode   Specifies the prediction mode of the Intra_4x4 prediction process for luma samples.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function performs intra-frame motion prediction by comparing a 4X4 luma block to previously-encoded neighboring 4X4 luma blocks within the same frame. Results are written back to the source location. Comparison is done in accordance with JVTG050 8.3.1.2., using one of the following prediction modes specified by parameter predMode.

 Name of Constant  Prediction Mode   JVTG050 Reference
   FW_4x4_VERT        Intra_4x4_Vertical      8.3.1.2.1
   FW_4x4_HOR        Intra_4x4_Horizontal      8.3.1.2.2
   FW_4x4_DC        Intra_4x4_D       8.3.1.2.3
   FW_4x4_DIAG_DL       Intra_4x4_Diagonal_Down_Left     8.3.1.2.4
   FW_4x4_DIAG_DR       Intra_4x4_Diagonal_Down_Right     8.3.1.2.5
   FW_4x4_VR        Intra_4x4_Vertical_Right      8.3.1.2.6
   FW_4x4_HD        Intra_4x4_Horizontal_Down      8.3.1.2.7
   FW_4x4_VL        Intra_4x4_Vertical_Left      8.3.1.2.8
   FW_4x4_H        Intra_4x4_Horizontal_Up      8.3.1.2.9

The availability parameter is calculated as follows.

 B1*FW_LEFT + B2*FW_UPPER_LEFT + B3*FW_UPPER + B4*FW_UPPER_RIGHT

The constants FW_LEFT, FW_UPPER_LEFT, FW_UPPER, FW_UPPER_RIGHT are from FwLayoutFlag.

The variables B1, B2, B3, B4 take the following values.

 0 - when a block is not available for prediction
 1 - when a block is available for prediction

PredictIntra_16x16_H264

Predict motion of luma macroblock intra-frame

Supported Technologies

SSE2

Synopsis

FwStatus   fwiPredictIntra_16x16_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFwIntra16x16PredMode_H264  predModeFw32s  availability );

Parameters

availability   Flag that indicates availability of the samples used for prediction.
pSrcDst   Pointer to the start of the block.
predMode   Specifies the prediction mode of the Intra_4x4 prediction process for luma samples.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function performs intra-frame motion prediction by comparing a 16X16 luma macroblock to previously-encoded neighboring 16X16 luma macroblocks within the same frame. Results are written back to the source location. Comparison is done in accordance with JVTG050 8.3.2., using one of the following prediction modes specified by parameter predMode.

 Name of Constant  Prediction Mode   JVTG050 Reference
   FW_16x16_VERT       Intra_16x16_Vertical       8.3.2.1
   FW_16x16_HOR        Intra_16x16_Horizontal       8.3.2.2
   FW_16x16_DC        Intra_16x16_DC        8.3.2.3
   FW_16x16_PLANE       Intra_16x16_Plane        8.3.2.4

The availability parameter is calculated as follows.

 B1*FW_LEFT + B2*FW_UPPER_LEFT + B3*FW_UPPER

The constants FW_LEFT, FW_UPPER_LEFT, and FW_UPPER are from FwLayoutFlag.

The variables B1, B2, and B3 take the following values.

 0 - when a macroblock is not available for prediction
 1 - when a macroblock is available for prediction

PredictIntraChroma8x8_H264

Predict motion of chroma block intra-frame

Supported Technologies

SSE2

Synopsis

FwStatus   fwiPredictIntraChroma8x8_H264_8u_C1IR ( Fw8u *  pSrcDstFw32s  srcDstStepFwIntraChromaPredMode_H264  predModeFw32s  availability );

Parameters

availability   Flag that indicates availability of the samples used for prediction.
pSrcDst   Pointer to the start of the block.
predMode   Specifies the prediction mode of the Intra_4x4 prediction process for luma samples.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function performs intra-frame motion prediction by comparing an 8X8 chroma block to previously-encoded neighboring 8X8 chroma blocks within the same frame. Results are written back to the source location. Comparison is done in accordance with JVTG050 8.3.2., using one of the following prediction modes specified by parameter predMode.

 Name of Constant  Prediction Mode   JVTG050 Reference
   FW_8x8_VERT        Intra_8x8_Vertical       8.3.3.1
   FW_8x8_HOR        Intra_8x8_Horizontal       8.3.3.2
   FW_8x8_DC        Intra_8x8_DC        8.3.3.3
   FW_8x8_PLANE        Intra_8x8_Plane        8.3.3.4

The availability parameter is calculated as follows.

 B1*FW_LEFT + B2*FW_UPPER_LEFT + B3*FW_UPPER

The constants FW_LEFT, FW_UPPER_LEFT, and FW_UPPER are from FwLayoutFlag.

The variables B1, B2, and B3 take the following values.

 0 - when a block is not available for prediction
 1 - when a block is available for prediction

ReconstructChromaInterMB_H264

Reconstruct chroma macroblock inter-frame

Supported Technologies

SSE2

Synopsis

FwStatus   fwiReconstructChromaInterMB_H264_16s8u_P2R ( Fw16s **  ppSrcCoeffFw8u *  pSrcDstUPlaneFw8u *  pSrcDstVPlaneconst Fw32u  srcDstStepconst Fw32u  cbp4x4const Fw32s  ChromaQP );

Parameters

ChromaQP   Chroma quantizer, must be within the range [0;39].
cbp4x4   Coded block pattern. If cbp4x4 & (1<<(1+i))is not equal to 0 (0 < i < 16), i-th 4x4 AC. Luma block is not zero-filled and it exists in ppSrcCoeff.
pSrcDstUPlane   Pointer to a macroblock that is reconstructed in the current U plane. The macroblock must contain inter-prediction samples.
pSrcDstVPlane   Pointer to a macroblock that is reconstructed in the current V plane. The macroblock must contain inter-prediction samples.
ppSrcCoeff   Double pointer to the order of 4x4 blocks of residual coefficients for a macroblock, the results of Huffman decoding (2x2 DC U-block, 2x2 DC V-block, 4x4 AC U-blocks, 4x4 AC V-blocks if the block is not zero-filled). The pointer is updated by the function and points to the blocks for the next macroblock.
srcDstStep   Source and destination buffer step size in bytes (width of both buffers in bytes).

Description

This function steps through source U and V plane buffers and reconstructs inter-frame predicted 8X8 U and 8X8 V chroma macroblocks as follows.

Performs an integer inverse transformation and dequantizes 2X2 U and V DC coefficients in accordance with JVTG050 8.5.7.

Scales, performs an integer inverse transformation, and shifts 4X4 AC U blocks in accordance with JVTG050 8.5.8., in the order shown in JVTG050, Figure 8-7.

Shifts 4X4 AC V blocks in accordance with JVTG050 8.5.8., in the order shown in JVTG050, Figure 8-7.

Adds 8X8 inter-frame prediction blocks and 8X8 residual blocks in accordance with JVTG050, Figure 8-247.

Results are written back to the source plane buffers.

ReconstructChromaIntraMB_H264

Reconstruct chroma macroblock intra-frame

Supported Technologies

SSE2

Synopsis

FwStatus   fwiReconstructChromaIntraMB_H264_16s8u_P2R ( Fw16s **  ppSrcCoeffFw8u *  pSrcDstUPlaneFw8u *  pSrcDstVPlaneconst Fw32u  srcDstUVStepconst FwIntraChromaPredMode_H264  intraChromaModeconst Fw32u  cbp4x4const Fw32u  ChromaQPconst Fw8u  edgeType );

Parameters

ChromaQP   Chroma quantizer, must be within the range [0;39].
cbp4x4   Coded block pattern. If cbp4x4 & (1<<(1+i))is not equal to 0 (0 < i < 16), i-th 4x4 AC. Luma block is not zero-filled and it exists in ppSrcCoeff.
edgeType   Specifies a vertical or horizontal edge.
intraChromaMode   Specifies the operating mode of the intrachroma prediction process.
pSrcDstUPlane   Pointer to a macroblock that is reconstructed in the current U plane. The macroblock must contain inter-prediction samples.
pSrcDstVPlane   Pointer to a macroblock that is reconstructed in the current V plane. The macroblock must contain inter-prediction samples.
ppSrcCoeff   Double pointer to the order of 4x4 blocks of residual coefficients for a macroblock, the results of Huffman decoding (2x2 DC U-block, 2x2 DC V-block, 4x4 AC U-blocks, 4x4 AC V-blocks if the block is not zero-filled). The pointer is updated by the function and points to the blocks for the next macroblock.
srcDstUVStep   Plane step size.

Description

This function steps through source U and V plane buffers and reconstructs intra-frame predicted 8X8 U and 8X8 V chroma macroblocks as follows.

Performs an integer inverse transformation and dequantizes 2X2 U and V DC coefficients in accordance with JVTG050 8.5.7.

Scales, performs an integer inverse transformation, and shifts 4X4 AC U blocks in accordance with JVTG050 8.5.8., in the order shown in JVTG050, Figure 8-7.

Shifts 4X4 AC V blocks in accordance with JVTG050 8.5.8., in the order shown in JVTG050, Figure 8-7.

Adds 8X8 intra-frame prediction blocks and 8X8 residual blocks in accordance with JVTG050, Figure 8-247.

Results are written back to the source plane buffers.

ReconstructLumaInterMB_H264

Reconstruct luma macroblock inter-frame

Supported Technologies

SSE2

Synopsis

FwStatus   fwiReconstructLumaInterMB_H264_16s8u_C1R ( Fw16s **  ppSrcCoeffFw8u *  pSrcDstYPlaneconst Fw32u  srcDstYStepconst Fw32u  cbp4x4const Fw32s  QP );

Parameters

QP   Quantizer scale factor read from the bitstream.
cbp4x4   Coded block pattern. If cbp4x4 & (1<<(1+i))is not equal to 0 (0 < i < 16), i-th 4x4 AC. Luma block is not zero-filled and it exists in ppSrcCoeff.
pSrcDstYPlane   Pointer to the current macroblock that is reconstructed in current Y-plane. This macroblock must contain inter prediction samples.
ppSrcCoeff   Double pointer to the order of 4x4 blocks of residual coefficients for a macroblock, the results of Huffman decoding (2x2 DC U-block, 2x2 DC V-block, 4x4 AC U-blocks, 4x4 AC V-blocks if the block is not zero-filled). The pointer is updated by the function and points to the blocks for the next macroblock.
srcDstYStep   Y-plane step size.

Description

This functions steps through a source Y plane buffer and reconstructs intra-frame predicted 4X4 luma macroblocks as follows.

Scales, performs an integer inverse transformation, and shifts 4X4 blocks in accordance with JVTG050 8.5.8., in the order shown in JVTG050, Figure 6-6.

Adds 16X16 inter-frame prediction blocks and 16X16 residual blocks in accordance with JVTG050, Figure 8-247.

Results are written back to the source plane buffers.

ReconstructLumaIntraMB_H264

Reconstruct luma macroblock intra-frame

Supported Technologies

SSE2

Synopsis

FwStatus   fwiReconstructLumaIntraMB_H264_16s8u_C1R ( Fw16s **  ppSrcCoeffFw8u *  pSrcDstYPlaneFw32s  srcDstYStepconst FwIntra4x4PredMode_H264 *  pMBIntraTypesconst Fw32u  cbp4x4const Fw32u  QPconst Fw8u  edgeType );

Parameters

QP   Quantizer scale factor read from the bitstream.
cbp4x4   Coded block pattern. If cbp4x4 & (1<<(1+i))is not equal to 0 (0 < i < 16), i-th 4x4 AC. Luma block is not zero-filled and it exists in ppSrcCoeff.
edgeType   Specifies a vertical or horizontal edge.
pMBIntraTypes   Pointer to an array of Intra_4x4 luma prediction modes for eight subblocks. pMBIntraTypes[i] is defined in the same way as in PredictIntra_4x4_H264 function (0 < i < 8 ).
pSrcDstYPlane   Pointer to the current macroblock that is reconstructed in current Y-plane. This macroblock must contain inter prediction samples.
ppSrcCoeff   Double pointer to the order of 4x4 blocks of residual coefficients for a macroblock, the results of Huffman decoding (2x2 DC U-block, 2x2 DC V-block, 4x4 AC U-blocks, 4x4 AC V-blocks if the block is not zero-filled). The pointer is updated by the function and points to the blocks for the next macroblock.
srcDstYStep   Y-plane step size.

Description

This functions steps through a source Y plane buffer and reconstructs intra-frame predicted 4X4 luma macroblocks as follows.

Scales, performs an integer inverse transformation, and shifts each 4X4 block in accordance with JVTG050 8.5.8., in the order shown in JVTG050, Figure 6-6.

Performs intra-frame prediction for each 4X4 block in accordance with JVTG050 8.3.1.2.

Adds 4X4 inter-frame prediction blocks and 4X4 residual blocks in accordance with JVTG050, Figure 8-247.

Results are written back to the source plane buffers.

TransformDequantChromaDC_H264

Inverse transform chroma DC

Synopsis

FwStatus   fwiTransformDequantChromaDC_H264_16s_C1I ( Fw16s *  pSrcDstFw32s  QP );

Parameters

QP   Quantizer scale factor read from the bitstream.
pSrcDst   Pointer to the start of the block.

Description

This function steps through a source buffer, performs integer inverse transformation and dequantization of 2X2 chroma DC coefficients in accordance with JVTG050 8.5.7., and writes the results back to the source buffer.

DequantTransformResidual_H264

Inverse transform residual

Synopsis

FwStatus   fwiDequantTransformResidual_H264_16s_C1I ( Fw16s *  pSrcDstFw32s  stepFw16s *  pDCFw32s  ACFw32s  QP );

Parameters

AC   AC compoment
QP   Quantizer scale factor read from the bitstream.
pDC   Pointer to an output coefficient.
pSrcDst   Pointer to the start of the block.
step   Plane step

Description

This function steps through a source buffer, performs scaling, inverse transformation, and shift of a residual 4X4 block in accordance with JVTG050 8.5.7., and writes the result back to the source buffer.

For chroma block transforms, call this function after TransformDequantChromaDC_H264.

HuffmanTableInitAlloc

Allocate memory and initialize one-to-one Huffman decode table

Synopsis

FwStatus   fwiHuffmanTableInitAlloc_32s ( const Fw32s *  pSrcTableFwVCHuffmanSpec_32s **  ppDstSpec );

Parameters

pSrcTable   Pointer to a source table.
ppDstSpec   Double pointer to a destination decoding table.

Description

This function allocates memory and initializes the structure for a Huffman decode table. The table is used to decode bitstreams encoded with variable-length coding in which one code corresponds to one value.

HuffmanRunLevelTableInitAlloc

Allocate memory and initialize one-to-two Huffman decode table

Synopsis

FwStatus   fwiHuffmanRunLevelTableInitAlloc_32s ( const Fw32s *  pSrcTableFwVCHuffmanSpec_32s **  ppDstSpec );

Parameters

pSrcTable   Pointer to a source table.
ppDstSpec   Double pointer to a destination decoding table.

Description

This function allocates memory and initializes the structure for a Huffman decode table. The table is used to decode bitstreams encoded with variable-length coding in which one code corresponds to two values.

DecodeHuffmanOne

Decode Huffman one-to-one

Synopsis

FwStatus   fwiDecodeHuffmanOne_1u32s ( Fw32u **  ppBitStreamFw32s *  pOffsetFw32s *  pDstconst FwVCHuffmanSpec_32s *  pDecodeTable );

Parameters

pDecodeTable   Pointer to a decoding table.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
ppBitStream   Double pointer to the current position in the bit stream.

Description

This function decodes a single code from a source bitstream using a specified table, writes a single-value result to a destination buffer, and sets the bitstream pointers to new positions. The function uses the table initialized by the HuffmanTableInitAlloc function.

DecodeHuffmanPair

Decode Huffman one-to-two

Synopsis

FwStatus   fwiDecodeHuffmanPair_1u16s ( Fw32u **  ppBitStreamFw32s *  pOffsetconst FwVCHuffmanSpec_32s *  pDecodeTableFw8s *  pFirstFw16s *  pSecond );

Parameters

pDecodeTable   Pointer to a decoding table.
pFirst   Pointer to the first destination value.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
pSecond   Pointer to a second destination value.
ppBitStream   Double pointer to the current position in the bit stream.

Description

This function decodes a single code from a source bitstream using a specified table, writes the two resulting values result to separate destination buffers, and sets the bitstream pointers to new positions. The function uses the table initialized by the HuffmanRunLevelInitAlloc function.

HuffmanTableFree

Free memory allocated to Huffman decode table

Synopsis

FwStatus   fwiHuffmanTableFree_32s ( FwVCHuffmanSpec_32s **  ppDecodeTable );

Parameters

ppDecodeTable   Double pointer to a decoding table.

Description

This function frees the memory at the location pointed to by ppDecodeTable allocated to a Huffman decode table.

MC16x16

Motion compensation for predicted 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x16_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X16 predicted block to a 16X16 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC16x8

Motion compensation for predicted 16X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x8_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X8 predicted block to a 16X8 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC8x16

Motion compensation for predicted 8X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC8x16_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds an 8X16 predicted block to an 8X16 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC8x8

Motion compensation for predicted 8X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC8x8_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds an 8X8 predicted block to an 8X8 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC8x4

Motion compensation for predicted 8X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC8x4_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds an 8X4 predicted block to an 8X4 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC4x8

Motion compensation for predicted 4X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC4x8_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 4X8 predicted block to a 4X8 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC4x4

Motion compensation for predicted 4X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC4x4_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 4X4 predicted block to a 4X4 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC2x4

Motion compensation for predicted 2X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC2x4_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 2X4 predicted block to a 2X4 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC4x2

Motion compensation for predicted 4X2 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC4x2_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 4X2 predicted block to a 4X2 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC2x2

Motion compensation for predicted 2X2 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC2x2_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 2X2 predicted block to a 2X2 decoded residual block to reconstruct a source block. Prediction is based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

MC16x4

Motion compensation for predicted 16X4 UV block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x4_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X4 predicted UV block to a 16X4 decoded residual UV block to reconstruct a source UV block. Prediction is based on the values in a reference UV block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC16x8UV

Motion compensation for predicted 16X8 UV block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x8UV_8u_C1 ( const Fw8u *  pSrcRefFw32s  srcStepconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRef   Pointer to a block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStep   Source buffer step size (width of the buffer in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X8 predicted UV block to a 16X8 decoded residual UV block to reconstruct a source UV block. Prediction is based on the values in a reference UV block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC16x16B

Motion compensation for bi-predicted 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x16B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X16 bi-predicted block to a 16X16 decoded residual block to reconstruct a source block. Prediction is the average of a 16X16 F-prediction and a 16X16 backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC16x8B

Motion compensation for bi-predicted 16X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x8B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X8 bi-predicted block to a 16X8 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC8x16B

Motion compensation for bi-predicted 8X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC8x16B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds an 8X16 bi-predicted block to an 8X16 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC8x8B

Motion compensation for bi-predicted 8X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC8x8B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds an 8X8 bi-predicted block to an 8X8 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC8x4B

Motion compensation for bi-predicted 8X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC8x4B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds an 8X4 bi-predicted block to an 8X4 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC4x8B

Motion compensation for bi-predicted 4X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC4x8B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 4X8 bi-predicted block to a 4X8 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC4x4B

Motion compensation for bi-predicted 4X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC4x4B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 4X4 bi-predicted block to a 4X4 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC2x4B

Motion compensation for bi-predicted 2X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC2x4B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 2X4 bi-predicted block to a 2X4 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC4x2B

Motion compensation for bi-predicted 4X2 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC4x2B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 4X2 bi-predicted block to a 4X2 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC2x2B

Motion compensation for bi-predicted 2X2 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC2x2B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 2X2 bi-predicted block to a 2X2 decoded residual block to reconstruct a source block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC16x4B

Motion compensation for bi-predicted 16X4 UV block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x4B_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X4 bi-predicted UV block to a 16X4 decoded residual UV block to reconstruct a source UV block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference UV block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

MC16x8BUV

Motion compensation for bi-predicted 16X8 UV block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiMC16x8BUV_8u_C1 ( const Fw8u *  pSrcRefFFw32s  srcStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcStepBFw32s  mcTypeBconst Fw16s *  pSrcYDataFw32s  srcYDataStepFw8u *  pDstFw32s  dstStepFw32s  roundControl );

Parameters

dstStep   Step of the destination array.
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
pSrcYData   Pointer to a block of inverse DCT output data.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcStepB   Source-aligned backward reference frame step size (width in bytes).
srcStepF   Source-aligned forward reference frame step size (width in bytes).
srcYDataStep   Source-aligned DCT output data block step size (width of the block in bytes).

Description

This function adds a 16X8 bi-predicted UV block to a 16X8 decoded residual UV block to reconstruct a source UV block. Prediction is the average of a forward prediction and a backward prediction based on the values in a reference UV block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the prediction block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the prediction block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the prediction block is the average of four reference block elements.

The half-sample prediction calculation allows for UV block structure. Neighboring horizontal elements of the U and V blocks have indexes i and i+2 in the UV block.

GetDiff16x16

Evaluate predicted 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff16x16_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw16s *  pDstDiffFw32s  dstDiffStepFw16s *  pDstPredictorFw32s  dstPredictorStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
mcType   Specifies the type of prediction used for motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function compares a 16X16 source block to a 16X16 reference block and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Values in the predictor block are based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff16x8

Evaluate predicted 16X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff16x8_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw16s *  pDstDiffFw32s  dstDiffStepFw16s *  pDstPredictorFw32s  dstPredictorStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
mcType   Specifies the type of prediction used for motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function compares a 16X8 source block to a 16X8 reference block and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Values in the predictor block are based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff8x8

Evaluate predicted 8X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff8x8_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw16s *  pDstDiffFw32s  dstDiffStepFw16s *  pDstPredictorFw32s  dstPredictorStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
mcType   Specifies the type of prediction used for motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function compares an 8X8 source block to an 8X8 reference block and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Values in the predictor block are based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff8x16

Evaluate predicted 8X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff8x16_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw16s *  pDstDiffFw32s  dstDiffStepFw16s *  pDstPredictorFw32s  dstPredictorStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
mcType   Specifies the type of prediction used for motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function compares an 8X16 source block to an 8X16 reference block and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Values in the predictor block are based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff8x4

Evaluate predicted 8X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff8x4_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw16s *  pDstDiffFw32s  dstDiffStepFw16s *  pDstPredictorFw32s  dstPredictorStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
mcType   Specifies the type of prediction used for motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function compares an 8X4 source block to an 8X4 reference block and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Values in the predictor block are based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff4x4

Evaluate predicted 4X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff4x4_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw16s *  pDstDiffFw32s  dstDiffStepFw16s *  pDstPredictorFw32s  dstPredictorStepFw32s  mcTypeFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
dstPredictorStep   Destination predictor block step size (width of the block in bytes).
mcType   Specifies the type of prediction used for motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pDstPredictor   Pointer to a destination predictor block.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function compares a 4X4 source block to an 4X4 reference block and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Values in the predictor block are based on the values in a reference block, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff16x16B

Evaluate bi-predicted 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff16x16B_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFFw32s  srcRefStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcRefStepBFw32s  mcTypeBFw16s *  pDstDiffFw32s  dstDiffStepFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pSrcCur   Pointer to a block in the current plane.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStepB   Source backward reference block step size (width of the block in bytes)
srcRefStepF   Source forward reference block step size (width of the block in bytes)

Description

This function compares a 16X16 source block to two 16X16 reference blocks and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Prediction is the mean of a forward prediction and a backward prediction based on the values in two reference blocks, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff16x8B

Evaluate bi-predicted 16X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff16x8B_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFFw32s  srcRefStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcRefStepBFw32s  mcTypeBFw16s *  pDstDiffFw32s  dstDiffStepFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pSrcCur   Pointer to a block in the current plane.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStepB   Source backward reference block step size (width of the block in bytes)
srcRefStepF   Source forward reference block step size (width of the block in bytes)

Description

This function compares a 16X8 source block to two 16X8 reference blocks and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Prediction is the mean of a forward prediction and a backward prediction based on the values in two reference blocks, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff8x8B

Evaluate bi-predicted 8X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff8x8B_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFFw32s  srcRefStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcRefStepBFw32s  mcTypeBFw16s *  pDstDiffFw32s  dstDiffStepFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pSrcCur   Pointer to a block in the current plane.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStepB   Source backward reference block step size (width of the block in bytes)
srcRefStepF   Source forward reference block step size (width of the block in bytes)

Description

This function compares an 8X8 source block to two 8X8 reference blocks and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Prediction is the mean of a forward prediction and a backward prediction based on the values in two reference blocks, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff8x16B

Evaluate bi-predicted 8X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff8x16B_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFFw32s  srcRefStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcRefStepBFw32s  mcTypeBFw16s *  pDstDiffFw32s  dstDiffStepFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pSrcCur   Pointer to a block in the current plane.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStepB   Source backward reference block step size (width of the block in bytes)
srcRefStepF   Source forward reference block step size (width of the block in bytes)

Description

This function compares an 8X16 source block to two 8X16 reference blocks and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Prediction is the mean of a forward prediction and a backward prediction based on the values in two reference blocks, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

GetDiff8x4B

Evaluate bi-predicted 8X4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiGetDiff8x4B_8u16s_C1 ( const Fw8u *  pSrcCurFw32s  srcCurStepconst Fw8u *  pSrcRefFFw32s  srcRefStepFFw32s  mcTypeFconst Fw8u *  pSrcRefBFw32s  srcRefStepBFw32s  mcTypeBFw16s *  pDstDiffFw32s  dstDiffStepFw32s  roundControl );

Parameters

dstDiffStep   Destination block step size (width of the block in bytes).
mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pDstDiff   Pointer to a 16X16 block in the destination plane which contains differences between current and reference blocks.
pSrcCur   Pointer to a block in the current plane.
pSrcRefB   Pointer to a backward block in the reference plane.
pSrcRefF   Pointer to a forward block in the reference plane.
roundControl   Specifies the type of rounding used for half-pixel approximation.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStepB   Source backward reference block step size (width of the block in bytes)
srcRefStepF   Source forward reference block step size (width of the block in bytes)

Description

This function compares an 8X4 source block to two 8X4 reference blocks and writes results to a difference block and a predictor block in a destination plane. The results are used to reduce error when subsequent blocks that refer to the source block are encoded.

Prediction is the mean of a forward prediction and a backward prediction based on the values in two reference blocks, using a compensation type specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, the reference block is used as the predictor block.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, each element of the predictor block is the average of two reference block elements.

When mcType = FWVC_MC_APX_HH, each element of the predictor block is the average of four reference block elements.

Encoding has half-pixel accuracy, and a rounding method must be specified.

SqrDiff16x16

Evaluate sum of squares, 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSqrDiff16x16_8u32s ( const Fw8u *  pSrcFw32s  srcStepconst Fw8u *  pRefFw32s  refStepFw32s  mcTypeFw32s *  pSqrDiff );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSqrDiff   Pointer to a sum of square differences between the current and reference blocks.
pSrc   Pointer to a block of DCT coefficients.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the sum of squares variance between all the elements of a 16X16 source block and the corresponding elements of a 16X16 reference block. Integer results are written to a location specified by pSqrDiff.

A compensation type for the reference block is specified by the mcType parameter.

When mcType = FWVC_MC_APX_FF, each element of the reference block is used.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, the average of two reference block elements is used.

When mcType = FWVC_MC_APX_HH, the average of four reference block elements is used.

SqrDiff16x16B

Evaluate sum of squares, bi-predicted 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSqrDiff16x16B_8u32s ( const Fw8u *  pSrcFw32s  srcStepconst Fw8u *  pRefFFw32s  refStepFFw32s  mcTypeFconst Fw8u *  pRefBFw32s  refStepBFw32s  mcTypeBFw32s *  pSqrDiff );

Parameters

mcTypeB   Specifies the type of prediction used for backward frame motion compensation.
mcTypeF   Specifies the type of prediction used for forward frame motion compensation.
pRefB   Pointer to a backward-reference block of specified size.
pRefF   Pointer to a forward-reference block of specified size.
pSqrDiff   Pointer to a sum of square differences between the current and reference blocks.
pSrc   Pointer to a block of DCT coefficients.
refStepB   Backward reference frame reference block step size (width of the block in bytes).
refStepF   Forward reference frame reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the sum of squares variance between all the elements of a bi-predicted 16X16 source block and the corresponding elements of a 16X16 forward reference block and a 16X16 backward reference block. Integer results are written to a location specified by pSqrDiff.

Compensation types for the forward and backward reference blocks are specified by the mcTypeF and mcTypeB parameters.

When mcType = FWVC_MC_APX_FF, each element of the reference block is used.

When mcType = FWVC_MC_APX_FH or FWVC_MC_APX_HF, the average of two reference block elements is used.

When mcType = FWVC_MC_APX_HH, the average of four reference block elements is used.

VarMean8x8

Evaluate mean and variance, 8x8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiVarMean8x8_8u32s_C1R ( const Fw8u *  pSrcFw32s  srcStepFw32s *  pVarFw32s *  pMean );
FwStatus   fwiVarMean8x8_16s32s_C1R ( const Fw16s *  pSrcFw32s  srcStepFw32s *  pVarFw32s *  pMean );

Parameters

pMean   Pointer to a computed mean of pixel values.
pSrc   Pointer to a block of DCT coefficients.
pVar   Pointer to a variance value.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

The unsigned 8-bit version of this function evaluates the mean and variance of an 8x8 block of unsigned char values.

The signed 16-bit version evaluates the mean and variance of an 8x8 block of shor integer values.

Results are written to locations specified by pVar and pMean.

VarMeanDiff16x16

Evaluate means and variances, four 8X8 blocks of difference between two 16X16 blocks

Supported Technologies

SSE2

Synopsis

FwStatus   fwiVarMeanDiff16x16_8u32s_C1R ( const Fw8u *  pSrcFw32s  srcStepconst Fw8u *  pRefFw32s  refStepFw32s *  pSrcSumFw32s *  pVarFw32s *  pMeanFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pMean   Pointer to a computed mean of pixel values.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSrc   Pointer to a block of DCT coefficients.
pSrcSum   Pointer to a sum of pixel values for the current block.
pVar   Pointer to a variance value.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the means and variances of two 8x8 blocks of difference between two 16x16 blocks of unsigned elements.

Parameter pSrcSum is used to avoid excessive computation as the function is repeatedly called for the same current block. pSrcSum must point to the array of four 8x8 blocks that make up the current block. Parameters pVar and pMean must point to four-element arrays because variance and mean are calculated for each 8x8 block.

VarMeanDiff16x8

Evaluate means and variances, two 8X8 blocks of difference between two 16X8 blocks

Supported Technologies

SSE2

Synopsis

FwStatus   fwiVarMeanDiff16x8_8u32s_C1R ( const Fw8u *  pSrcFw32s  srcStepconst Fw8u *  pRefFw32s  refStepFw32s *  pSrcSumFw32s *  pVarFw32s *  pMeanFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pMean   Pointer to a computed mean of pixel values.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSrc   Pointer to a block of DCT coefficients.
pSrcSum   Pointer to a sum of pixel values for the current block.
pVar   Pointer to a variance value.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the means and variances of two 8x8 blocks of difference between 16x8 blocks of unsigned elements.

Parameter pSrcSum is used to avoid excessive computation as the function is repeatedly called for the same current block. pSrcSum must point to the array of four 8x8 blocks that make up the current block. Parameters pVar and pMean must point to four-element arrays because variance and mean are calculated for each 8x8 block.

Variance16x16

Evaluate variance, 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiVariance16x16_8u32s ( const Fw8u *  pSrcFw32s  srcStepFw32s *  pVar );

Parameters

pSrc   Pointer to a block of DCT coefficients.
pVar   Pointer to a variance value.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the variance of a 16X16 block of unsigned elements. The result is stored in integer Var.

EdgesDetect16x16

Detect edges within 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiEdgesDetect16x16_8u_C1R ( const Fw8u *  pSrcFw32u  srcStepFw8u  EdgePelDifferenceFw8u  EdgePelCountFw8u *  pRes );

Parameters

EdgePelCount   Specifies the minimum number of pairs of elements that differ by more than EdgePelDifference.
EdgePelDifference   Specifies the edge difference threshold between neighboring elements.
pRes   Pointer to a result value.
pSrc   Pointer to a block of DCT coefficients.
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function detects edges within a 16X16 block by finding pairs of adjacent horizontal and vertical elements with a difference greater than the value specified by EdgePelDifference.

When the number of detected pairs is greater than EdgePelCount, pRes) = 1.

When the number of detected pairs is less than or equal to EdgePelCount, pRes)= 0.

SAD16x16

Evaluate sum of absolute difference, 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSAD16x16_8u32s ( const Fw8u *  pSrcFw32s  srcStepconst Fw8u *  pRefFw32s  refStepFw32s *  pSADFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSAD   Pointer to an SAD result.
pSrc   Pointer to a block of DCT coefficients.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the sum of absolute difference between the elements of a 16X16 block and the corresponding elements of a reference block. The integer result is stored in the location pointed to by pSAD.

SAD8x8

Evaluate sum of absolute difference, 8x8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSAD8x8_8u32s_C1R ( const Fw8u *  pSrcCurint  srcCurStepconst Fw8u *  pSrcRefFw32s  srcRefStepFw32s *  pDstFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrcCur   Pointer to a block in the current plane.
pSrcRef   Pointer to a block in the reference plane.
srcCurStep   Source current block step size (width of the block in bytes)
srcRefStep   Source reference block step size (width of the block in bytes)

Description

This function evaluates the sum of absolute difference between the elements of an 8X8 block and the corresponding elements of a reference block. The integer result is stored in the location pointed to by pSAD.

SAD4x4

Evaluate sum of absolute difference, 4x4 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSAD4x4_8u32s ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pRefFw32s  refStepFw32s *  pSADFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSAD   Pointer to an SAD result.
pSrc   Pointer to a block of DCT coefficients.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates the sum of absolute difference between the elements of a 4X4 block and the corresponding elements of a reference block. The integer result is stored in the location pointed to by pSAD.

SAD16x16Blocks8x8

Evaluate four partial sums of absolute differences, 16x16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSAD16x16Blocks8x8_8u16u ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pRefFw32s  refStepFw16u *  pDstSADFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pDstSAD   Pointer to a destination array of size 4 that stores SAD values.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSrc   Pointer to a block of DCT coefficients.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates four partial sums of absolute differences between a 16X16 source block divided into four 8X8 blocks of elements and a 16X16 reference block divided into four corresponding 8X8 blocks of elements. The four results are written to a four-element array pointed to by pDstSAD.

SAD16x16Blocks4x4

Evaluate sixteen partial sums of absolute differences, 16x16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSAD16x16Blocks4x4_8u16u ( const Fw8u *  pSrcFw32s  srcStepFw8u *  pRefFw32s  refStepFw16u *  pDstSADFw32s  mcType );

Parameters

mcType   Specifies the type of prediction used for motion compensation.
pDstSAD   Pointer to a destination array of size 4 that stores SAD values.
pRef   Pointer to a prefetch buffer which contains previously decoded bits.
pSrc   Pointer to a block of DCT coefficients.
refStep   Reference block step size (width of the block in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates sixteen partial sums of absolute differences between a 16X16 source block divided into sixteen 4X4 blocks of elements and a 16X16 reference block divided into sixteen corresponding 4X4 blocks of elements. The sixteen results are written to a sixteen-element array pointed to by pDstSAD.

SumsDiff16x16Blocks4x4

Evaluate sixteen sums of differences, 16X16

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSumsDiff16x16Blocks4x4_8u16s_C1 ( Fw8u *  pSrcFw32s  srcStepFw8u *  pPredFw32s  predStepFw16s *  pSumsFw16s *  pDiff );

Parameters

pDiff   Pointer to an array of size 16 that contains the sums of 4X4 difference block coefficients.
pPred   Pointer to a 16x16 predictor block in the reference plane.
pSrc   Pointer to a block of DCT coefficients.
pSums   Pointer to an array of size 256 that contains a sequence of 4X4 residual blocks.
predStep   Reference plane step size (in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates sixteen differences between a 16X16 source block divided into sixteen 4X4 blocks of elements and a 16X16 reference block divided into sixteen corresponding 4X4 blocks of elements, then sums the results with sixteen 4X4 residual block elements pointed to by pDiff. The sixteen results are written to a sixteen-element array pointed to by pSums.

SumsDiff8x8Blocks4x4

Evaluate four sums of differences, 16X16 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiSumsDiff8x8Blocks4x4_8u16s_C1 ( Fw8u *  pSrcFw32s  srcStepFw8u *  pPredFw32s  predStepFw16s *  pSumsFw16s *  pDiff );

Parameters

pDiff   Pointer to an array of size 16 that contains the sums of 4X4 difference block coefficients.
pPred   Pointer to a 16x16 predictor block in the reference plane.
pSrc   Pointer to a block of DCT coefficients.
pSums   Pointer to an array of size 256 that contains a sequence of 4X4 residual blocks.
predStep   Reference plane step size (in bytes).
srcStep   Source buffer step size (width of the buffer in bytes).

Description

This function evaluates four differences between a 16X16 source block divided into four 8X8 blocks of elements and a 16X16 reference block divided into four corresponding 8X8 blocks of elements, then sums the results with four 8X8 residual block elements pointed to by pDiff. The four results are written to a four-element array pointed to by pSums.

QuantInv_MPEG2

Inverse inter frame quantization (MPEG-2)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiQuantInv_MPEG2_16s_C1I ( Fw16s *  pSrcDstint  QPFw16s *  pQPMatrix );

Parameters

QP   Quantizer scale factor read from the bitstream.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pSrcDst   Pointer to the start of the block.

Description

This function performs inverse quantization of inter frames in accordance with the MPEG-2 standard.

The 8x8 matrix of DCT coefficients in pSrcDst are first multiplied by Qp, the quantizing scale factor, and then by the corresponding elements of the 8x8 pQPMatrix. The function also performs saturation and mismatch control in accordance with the MPEG-2 standard.

QuantInvIntra_MPEG2

Inverse intra frame quantization (MPEG-2)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiQuantInvIntra_MPEG2_16s_C1I ( Fw16s *  pSrcDstint  QPFw16s *  pQPMatrix );

Parameters

QP   Quantizer scale factor read from the bitstream.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pSrcDst   Pointer to the start of the block.

Description

This function performs inverse quantization of intra frames in accordance with the MPEG-2 standard.

The 8x8 matrix of DCT coefficients in pSrcDst are first multiplied by Qp, the quantizing scale factor, and then by the corresponding elements of the 8x8 pQPMatrix. The function also performs saturation and mismatch control in accordance with the MPEG-2 standard.

ReconstructDCTBlock_MPEG1

Reconstruct inter frame DCT block (MPEG-1)

Synopsis

FwStatus   fwiReconstructDCTBlock_MPEG1_32s ( Fw32u **  ppBitStreamint *  pOffsetconst Fw32s *  pDCSizeTableconst Fw32s *  pACTableFw32s *  pScanMatrixint  QPFw16s *  pQPMatrixFw16s *  pDstBlockFw32s *  pDstSize );

Parameters

QP   Quantizer scale factor read from the bitstream.
pACTable   Pointer to a table containing run-level codes for all DCT coefficients other than the first one.
pDCSizeTable   Pointer to a table containing codes for the DC coefficient (the first of the DCT coefficients).
pDstBlock   Pointer to a block of decoded elements.
pDstSize   Pointer to the position of the last non-zero block coefficient in scanning sequence.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pScanMatrix   Pointer to a matrix containing indices of elements in a scanning sequence.
ppBitStream   Double pointer to the current position in the bit stream.

Description

This function reconstructs an 8x8 DCT block for inter frames in accordance with the MPEG-1 standard.

The function first decodes 64 quantised DCT coefficients from the bitstream using the run-level tables of the MPEG-1 standard. The coefficients are then rearranged as an 8x8 block as specified by pScanMatrix and inverse quantization is performed. The function also performs saturation and mismatch control in accordance with the MPEG-1 standard.

The pDCSizeTable is used to decode the DC coefficient and the pACTable is used to decode the AC coefficients. The quantizing scale factor Qp and pQPMatrix are used to perform inverse quantization. The reconstructed 8x8 block of DCT coefficients is written to pDstBlock. Pointer *pDstSize indicates the position of the last non-zero coefficient. The pointers ppBitStream and pOffset are updated to the position in the bitstream where decoding of the next 8x8 block begins.

ReconstructDCTBlockIntra_MPEG1

Reconstruct intra frame DCT block (MPEG-1)

Synopsis

FwStatus   fwiReconstructDCTBlockIntra_MPEG1_32s ( Fw32u **  ppBitStreamint *  pOffsetconst Fw32s *  pDCSizeTableconst Fw32s *  pACTableFw32s *  pScanMatrixint  QPFw16s *  pQPMatrixFw16s *  pDCPredFw16s *  pDstBlockFw32s *  pDstSize );

Parameters

QP   Quantizer scale factor read from the bitstream.
pACTable   Pointer to a table containing run-level codes for all DCT coefficients other than the first one.
pDCPred   Pointer to a value to be added to the DC coefficient. The value is read from the standard table.
pDCSizeTable   Pointer to a table containing codes for the DC coefficient (the first of the DCT coefficients).
pDstBlock   Pointer to a block of decoded elements.
pDstSize   Pointer to the position of the last non-zero block coefficient in scanning sequence.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pScanMatrix   Pointer to a matrix containing indices of elements in a scanning sequence.
ppBitStream   Double pointer to the current position in the bit stream.

Description

This function reconstructs an 8x8 DCT block for intra frames in accordance with the MPEG-1 standard.

The function first decodes 64 quantised DCT coefficients from the bitstream using the run-level tables of the MPEG-1 standard. The coefficients are then rearranged as an 8x8 block as specified by pScanMatrix and inverse quantization is performed. The function also performs saturation and mismatch control in accordance with the MPEG-1 standard.

The pDCSizeTable is used to decode the DC coefficient and the pACTable is used to decode the AC coefficients. The quantizing scale factor Qp and pQPMatrix are used to perform inverse quantization. The reconstructed 8x8 block of DCT coefficients is written to pDstBlock. Pointer *pDstSize indicates the position of the last non-zero coefficient. The pointers ppBitStream and pOffset are updated to the position in the bitstream where decoding of the next 8x8 block begins.

ReconstructDCTBlock_MPEG2

Reconstruct inter feame DCT block (MPEG-2)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiReconstructDCTBlock_MPEG2_32s ( Fw32u **  ppBitStreamint *  pOffsetconst FwVCHuffmanSpec_32s *  pDCTableconst FwVCHuffmanSpec_32s *  pACTableFw32s *  pScanMatrixint  QPFw16s *  pQPMatrixFw16s *  pDstBlockFw32s *  pDstSize );

Parameters

QP   Quantizer scale factor read from the bitstream.
pACTable   Pointer to a table containing run-level codes for all DCT coefficients other than the first one.
pDCTable   Pointer to a table containing codes for the DC coefficient (the first of the DCT coefficients).
pDstBlock   Pointer to a block of decoded elements.
pDstSize   Pointer to the position of the last non-zero block coefficient in scanning sequence.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pScanMatrix   Pointer to a matrix containing indices of elements in a scanning sequence.
ppBitStream   Double pointer to the current position in the bit stream.

Description

This function reconstructs an 8x8 DCT block for inter frames in accordance with the MPEG-2 standard.

The function first decodes 64 quantized DCT coefficients from the bitstream using the run-level tables of the MPEG-2 standard. The coefficients are then rearranged as an 8x8 block as specified by pScanMatrix and inverse quantization is performed. The function also performs saturation and mismatch control in accordance with the MPEG-2 standard.

The pDCTable is used to decode the DC coefficientand the pACTable is used to decode the AC coefficients. The quantizing scale factor Qp and pQPMatrix are used to perform inverse quantization. The reconstructed 8x8 block of DCT coefficients is written to pDstBlock. Pointer *pDstSize indicates the position of the last non-zero coefficient. The pointers ppBitStream and pOffset are updated to the position in the bitstream where decoding of the next 8x8 block begins.

ReconstructDCTBlockIntra_MPEG2

Reconstruct intra frame DCT block (MPEG-2)

Supported Technologies

SSE2

Synopsis

FwStatus   fwiReconstructDCTBlockIntra_MPEG2_32s ( Fw32u **  ppBitStreamint *  pOffsetconst FwVCHuffmanSpec_32s *  pDCSizeTableconst FwVCHuffmanSpec_32s *  pACTableFw32s *  pScanMatrixint  QPFw16s *  pQPMatrixFw16s *  pDCPredFw32s  shiftDCValFw16s *  pDstBlockFw32s *  pDstSize );

Parameters

QP   Quantizer scale factor read from the bitstream.
pACTable   Pointer to a table containing run-level codes for all DCT coefficients other than the first one.
pDCPred   Pointer to a value to be added to the DC coefficient. The value is read from the standard table.
pDCSizeTable   Pointer to a table containing codes for the DC coefficient (the first of the DCT coefficients).
pDstBlock   Pointer to a block of decoded elements.
pDstSize   Pointer to the position of the last non-zero block coefficient in scanning sequence.
pOffset   Pointer to the offset between the bit that ppBitStream points to and the start of the code.
pQPMatrix   Pointer to a standard or user-defined weighting matrix.
pScanMatrix   Pointer to a matrix containing indices of elements in a scanning sequence.
ppBitStream   Double pointer to the current position in the bit stream.
shiftDCVal   Integer value. The DC coefficient must be multiplied by 2shiftDCVal.

Description

This function reconstructs an 8x8 DCT block for intra frames in accordance with the MPEG-2 standard.

The function first decodes 64 quantized DCT coefficients from the bitstream using the run-level tables of the MPEG-2 standard. The coefficients are then rearranged as an 8x8 block as specified by pScanMatrix and inverse quantization is performed. The function also performs saturation and mismatch control in accordance with the MPEG-2 standard.

The pDCTable is used to decode the DC coefficientand the pACTable is used to decode the AC coefficients. The quantizing scale factor Qp and pQPMatrix are used to perform inverse quantization. The reconstructed 8x8 block of DCT coefficients is written to pDstBlock. Pointer *pDstSize indicates the position of the last non-zero coefficient. The pointers ppBitStream and pOffset are updated to the position in the bitstream where decoding of the next 8x8 block begins.

DCT8x8Inv_AANTransposed_Channel

Perform AAN IDCT on an 8X8 block

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCT8x8Inv_AANTransposed_16s_C1R ( const Fw16s *  pSrcFw16s *  pDstFw32s  dstStepFw32s  count );
FwStatus   fwiDCT8x8Inv_AANTransposed_16s8u_C1R ( const Fw16s *  pSrcFw8u *  pDstFw32s  dstStepFw32s  count );

Parameters

count   Number of the last non-zero coefficient in zig-zag order. When a block contains no non-zero coefficients, the value is -1.
dstStep   Step of the destination array.
pDst   Pointer to a location in a destination buffer, a location in a destination array or to a destination result.
pSrc   Pointer to a block of DCT coefficients.

Description

These functions step through a transposed 8X8 block of DCT coefficients in a source buffer, perform an IDCT based on the AAN algorithm, and write the result to a destination buffer.

DCT8x8Inv_AANTransposed_Plane

Perform AAN IDCT on 8X8 U and V blocks

Supported Technologies

SSE2

Synopsis

FwStatus   fwiDCT8x8Inv_AANTransposed_16s_P2C2R ( const Fw16s *  pSrcUconst Fw16s *  pSrcVFw16s *  pDstUVFw32s  dstStepFw32s  countUFw32s  countV );
FwStatus   fwiDCT8x8Inv_AANTransposed_16s8u_P2C2R ( const Fw16s *  pSrcUconst Fw16s *  pSrcVFw8u *  pDstUVFw32s  dstStepFw32s  countUFw32s  countV );

Parameters

countU   Number of the last non-zero U coefficient in zig-zag order. When a block contains no non-zero coefficients, the value is -1.
countV   Number of the last non-zero V coefficient in zig-zag order. When a block contains no non-zero coefficients, the value is -1.
dstStep   Step of the destination array.
pDstUV   Pointer to a UV destination array.
pSrcU   Pointer to a block of DCT coefficients for U component.
pSrcV   Pointer to a block of DCT coefficients for V component.

Description

These functions step through transposed 8X8 U and V block of DCT coefficients in two source buffers, perform an IDCT based on the AAN algorithm, and write the result to a joined UV block in a sestination buffer.

Function Quick Reference

Function Chapter Section MT SSE2 SSE3 Family10h
10Log10 Essential Vector Functions Signal Processing Library X X   X
Abs Essential Vector Functions Signal Processing Library X X   X
Abs Arithmetic and Logic Functions Image Processing Library X X   X
AbsDiff Arithmetic and Logic Functions Image Processing Library X X   X
AbsDiffC Arithmetic and Logic Functions Image Processing Library X X   X
Acos Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Acosh Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Add Essential Vector Functions Signal Processing Library X X   X
Add Arithmetic and Logic Functions Image Processing Library X X   X
Add128_JPEG Image Compression Functions JPEG Library   X    
AddC Essential Vector Functions Signal Processing Library X X   X
AddC Arithmetic and Logic Functions Image Processing Library X X   X
AddProduct Essential Vector Functions Signal Processing Library X X    
AddProduct Arithmetic and Logic Functions Image Processing Library X X    
AddRotateShift Geometric Transform Functions Image Processing Library        
AddSquare Arithmetic and Logic Functions Image Processing Library X X    
AddWeighted Arithmetic and Logic Functions Image Processing Library X X    
AlignPtr Core Functions Base Library        
And Essential Vector Functions Signal Processing Library X X   X
And Arithmetic and Logic Functions Image Processing Library X X   X
AndC Essential Vector Functions Signal Processing Library X X   X
AndC Arithmetic and Logic Functions Image Processing Library X X   X
Arctan Essential Vector Functions Signal Processing Library X X    
Asin Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Asinh Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Atan Fixed Accuracy Arithmetic Functions Signal Processing Library X X    
Atan2 Fixed Accuracy Arithmetic Functions Signal Processing Library X X    
Atanh Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Autocorrelation Vector Initialization Functions Signal Processing Library   X    
BGR5X5ToYCbCr_JPEG Image Compression Functions JPEG Library        
BGRToCbYCr422 Color Model Conversion Functions Image Processing Library        
BGRToHLS Color Model Conversion Functions Image Processing Library X      
BGRToLab Color Model Conversion Functions Image Processing Library X      
BGRToYCbCr411LS_MCU Image Compression Functions JPEG Library   X    
BGRToYCbCr420 Color Model Conversion Functions Image Processing Library        
BGRToYCbCr422LS_MCU Image Compression Functions JPEG Library   X    
BGRToYCbCr444LS_MCU Image Compression Functions JPEG Library   X    
BGRToYCbCr_JPEG Image Compression Functions JPEG Library        
BGRToY_JPEG Image Compression Functions JPEG Library        
BaseData Core Functions Base Library        
CMYKToYCCK411LS_MCU Image Compression Functions JPEG Library        
CMYKToYCCK422LS_MCU Image Compression Functions JPEG Library        
CMYKToYCCK444LS_MCU Image Compression Functions JPEG Library        
CMYKToYCCK_JPEG Image Compression Functions JPEG Library   X    
CbYCr422ToBGR Color Model Conversion Functions Image Processing Library        
CbYCr422ToRGB Color Model Conversion Functions Image Processing Library        
CbYCr422ToYCbCr Statistical Functions Image Processing Library X X   X
Cbrt Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
ColorToGray Color Model Conversion Functions Image Processing Library   X    
Comp Arithmetic and Logic Functions Image Processing Library X X   X
Compare Threshold and Compare Functions Image Processing Library X X   X
CompareC Threshold and Compare Functions Image Processing Library X X   X
CompareEqualEps Threshold and Compare Functions Image Processing Library X X   X
CompareEqualEpsC Morphological Operations Image Processing Library X X   X
Convert Image Data Exchange and Initialization Functions Image Processing Library X X   X
Convert Essential Vector Functions Signal Processing Library X X   X
Copy Image Data Exchange and Initialization Functions Image Processing Library X X   X
Copy Vector Initialization Functions Signal Processing Library X X   X
Cos Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Cosh Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Cubrt Essential Vector Functions Signal Processing Library X X   X
DCT8X8 Geometric Transform Functions Image Processing Library   X    
DCT8x8Inv_AANTransposed_Channel Video Coding Functions Video Library   X    
DCT8x8Inv_AANTransposed_Plane Video Coding Functions Video Library   X    
DCTQuantFwd8X8LS_JPEG Image Compression Functions JPEG Library   X    
DCTQuantFwd8X8_JPEG Image Compression Functions JPEG Library   X    
DCTQuantInv8X8LS_JPEG Image Compression Functions JPEG Library   X    
DCTQuantInv8X8_JPEG Image Compression Functions JPEG Library   X    
DecodeCAVLCChromaDcCoeffs_H264 Video Coding Functions Video Library   X    
DecodeCAVLCCoeffs_H264 Video Coding Functions Video Library   X    
DecodeExpGolombOne_H264 Video Coding Functions Video Library   X    
DecodeHuffman8X8 Image Compression Functions JPEG Library   X    
DecodeHuffman8X8_ACFirst Image Compression Functions JPEG Library        
DecodeHuffman8X8_ACRefine Image Compression Functions JPEG Library        
DecodeHuffman8X8_DCFirst Image Compression Functions JPEG Library        
DecodeHuffman8X8_DCRefine Image Compression Functions JPEG Library        
DecodeHuffman8X8_Direct Image Compression Functions JPEG Library        
DecodeHuffmanOne Video Coding Functions Video Library        
DecodeHuffmanPair Video Coding Functions Video Library        
DecodeHuffmanSpecFree Image Compression Functions JPEG Library        
DecodeHuffmanSpecGetBufSize Image Compression Functions JPEG Library        
DecodeHuffmanSpecInit Image Compression Functions JPEG Library        
DecodeHuffmanSpecInitAlloc Image Compression Functions JPEG Library        
DecodeHuffmanStateFree Image Compression Functions JPEG Library        
DecodeHuffmanStateGetBufSize Image Compression Functions JPEG Library        
DecodeHuffmanStateInit Image Compression Functions JPEG Library        
DecodeHuffmanStateInitAlloc Image Compression Functions JPEG Library        
DequantTransformResidual_H264 Video Coding Functions Video Library        
Dilate3X3 Digital Filter Functions Image Processing Library X X    
Div Arithmetic and Logic Functions Image Processing Library X X   X
Div Essential Vector Functions Signal Processing Library X X   X
Div Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
DivC Essential Vector Functions Signal Processing Library X X    
DivC Arithmetic and Logic Functions Image Processing Library X X    
DivCRev Essential Vector Functions Signal Processing Library X X    
DotProd Essential Vector Functions Signal Processing Library   X    
EdgesDetect16x16 Video Coding Functions Video Library   X    
EncodeHuffman8X8 Image Compression Functions JPEG Library        
EncodeHuffman8X8_ACFirst Image Compression Functions JPEG Library        
EncodeHuffman8X8_ACRefine Image Compression Functions JPEG Library        
EncodeHuffman8X8_DCFirst Image Compression Functions JPEG Library        
EncodeHuffman8X8_DCRefine Image Compression Functions JPEG Library        
EncodeHuffman8X8_Direct Image Compression Functions JPEG Library        
EncodeHuffmanRawTableInit Image Compression Functions JPEG Library        
EncodeHuffmanSpecFree Image Compression Functions JPEG Library        
EncodeHuffmanSpecGetBufSize Image Compression Functions JPEG Library        
EncodeHuffmanSpecInit Image Compression Functions JPEG Library        
EncodeHuffmanSpecInitAlloc Image Compression Functions JPEG Library        
EncodeHuffmanStateFree Image Compression Functions JPEG Library        
EncodeHuffmanStateGetBufSize Image Compression Functions JPEG Library        
EncodeHuffmanStateInit Image Compression Functions JPEG Library        
EncodeHuffmanStateInitAlloc Image Compression Functions JPEG Library        
Exp Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
Exp Essential Vector Functions Signal Processing Library X X   X
Exp Arithmetic and Logic Functions Image Processing Library X X   X
FiltePrewittVert Digital Filter Functions Image Processing Library X X    
Filter Digital Filter Functions Image Processing Library X X    
Filter32f Digital Filter Functions Image Processing Library X X    
FilterBox Digital Filter Functions Image Processing Library X      
FilterBoxInplace Digital Filter Functions Image Processing Library X      
FilterColumn Digital Filter Functions Image Processing Library X X    
FilterColumn32f Digital Filter Functions Image Processing Library X X    
FilterDeblockingChroma_HorEdge_H264 Video Coding Functions Video Library        
FilterDeblockingChroma_VerEdge_H264 Video Coding Functions Video Library        
FilterDeblockingLuma_HorEdge_H264 Video Coding Functions Video Library        
FilterDeblockingLuma_VerEdge_H264 Video Coding Functions Video Library        
FilterGauss Digital Filter Functions Image Processing Library X X    
FilterHipass Digital Filter Functions Image Processing Library X X    
FilterLaplace Digital Filter Functions Image Processing Library X X    
FilterLowpass Linear Transformation Functions Image Processing Library X X    
FilterMax Digital Filter Functions Image Processing Library X      
FilterMedian Digital Filter Functions Image Processing Library X      
FilterMedianColor Digital Filter Functions Image Processing Library X      
FilterMedianCross Digital Filter Functions Image Processing Library X      
FilterMedianHoriz Digital Filter Functions Image Processing Library X      
FilterMedianVert Digital Filter Functions Image Processing Library X      
FilterMin Digital Filter Functions Image Processing Library X      
FilterPrewittHoriz Digital Filter Functions Image Processing Library X X    
FilterRobertsDown Digital Filter Functions Image Processing Library X X    
FilterRobertsUp Digital Filter Functions Image Processing Library X X    
FilterRow Digital Filter Functions Image Processing Library X X    
FilterRow32f Digital Filter Functions Image Processing Library X X    
FilterScharrHoriz Digital Filter Functions Image Processing Library X X    
FilterScharrVert Digital Filter Functions Image Processing Library X X    
FilterSobelCross Digital Filter Functions Image Processing Library X X    
FilterSobelHoriz Digital Filter Functions Image Processing Library X X    
FilterSobelHorizSecond Digital Filter Functions Image Processing Library X X    
FilterSobelVert Digital Filter Functions Image Processing Library X X    
FilterSobelVertSecond Digital Filter Functions Image Processing Library X X    
Find Vector Initialization Functions Signal Processing Library        
Find Vector Initialization Functions Signal Processing Library        
Free Core Functions Base Library        
Free Image Data Exchange and Initialization Functions Image Processing Library        
GetAffineBound Geometric Transform Functions Image Processing Library        
GetAffineQuad Geometric Transform Functions Image Processing Library        
GetAffineTransform Geometric Transform Functions Image Processing Library        
GetBilinearBound Geometric Transform Functions Image Processing Library        
GetBilinearQuad Geometric Transform Functions Image Processing Library        
GetBilinearTransform 3D Look-up functions Image Processing Library        
GetCpuClocks Core Functions Base Library        
GetCpuType Core Functions Base Library        
GetDiff16x16 Video Coding Functions Video Library   X    
GetDiff16x16B Video Coding Functions Video Library   X    
GetDiff16x8 Video Coding Functions Video Library   X    
GetDiff16x8B Video Coding Functions Video Library   X    
GetDiff4x4 Video Coding Functions Video Library   X    
GetDiff8x16 Video Coding Functions Video Library   X    
GetDiff8x16B Video Coding Functions Video Library   X    
GetDiff8x4 Video Coding Functions Video Library   X    
GetDiff8x4B Video Coding Functions Video Library   X    
GetDiff8x8 Video Coding Functions Video Library   X    
GetDiff8x8B Video Coding Functions Video Library   X    
GetHuffmanStatistics8X8 Image Compression Functions JPEG Library        
GetHuffmanStatistics8X8_DCFirst Image Compression Functions JPEG Library        
GetInitType Core Functions Base Library        
GetLibVersion Library Version Image Processing Library        
GetLibVersion Library Version JPEG Library        
GetLibVersion Library Version Signal Processing Library        
GetLibVersion Library Version Base Library        
GetLibVersion Video Coding Functions Video Library        
GetNumThreads Core Functions Base Library        
GetPerspectiveBound Geometric Transform Functions Image Processing Library        
GetPerspectiveQuad Geometric Transform Functions Image Processing Library        
GetPerspectiveTransform Geometric Transform Functions Image Processing Library        
GetResizeFract Geometric Transform Functions Image Processing Library        
GetRotateBound Geometric Transform Functions Image Processing Library        
GetRotateQuad Geometric Transform Functions Image Processing Library        
GetRotateShift Geometric Transform Functions Image Processing Library        
GetShearBound Geometric Transform Functions Image Processing Library        
GetShearQuad Geometric Transform Functions Image Processing Library        
GetStatusString Core Functions Base Library        
HLSToBGR Color Model Conversion Functions Image Processing Library X      
HLSToRGB Color Model Conversion Functions Image Processing Library X      
HSVToRGB Color Model Conversion Functions Image Processing Library X      
HuffmanRunLevelTableInitAlloc Video Coding Functions Video Library        
HuffmanTableFree Video Coding Functions Video Library        
HuffmanTableInitAlloc Video Coding Functions Video Library        
InterpolateChromaBottom_H264 Video Coding Functions Video Library        
InterpolateChromaTop_H264 Video Coding Functions Video Library   X    
InterpolateChroma_H264 Video Coding Functions Video Library   X    
InterpolateLumaBottom_H264 Video Coding Functions Video Library   X    
InterpolateLumaTop_H264 Video Coding Functions Video Library   X    
InterpolateLuma_H264 Video Coding Functions Video Library   X    
Inv Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
InvCbrt Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
InvSqrt Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
Join422LS_MCU Image Compression Functions JPEG Library        
LShiftC Essential Vector Functions Signal Processing Library X X   X
LShiftC Arithmetic and Logic Functions Image Processing Library X X   X
LUVToRGB Color Model Conversion Functions Image Processing Library X      
LabToBGR Color Model Conversion Functions Image Processing Library X      
Ln Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
Ln Essential Vector Functions Signal Processing Library X X   X
Ln Arithmetic and Logic Functions Image Processing Library X X   X
Log10 Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
LookUp3DSpecFree 3D Look-up functions Image Processing Library   X    
LookUp3DSpecInitAlloc 3D Look-up functions Image Processing Library   X    
LookUp3DSpecInitAlloc 3D Look-up functions Image Processing Library   X    
MC16x16 Video Coding Functions Video Library   X    
MC16x16B Video Coding Functions Video Library   X    
MC16x4 Video Coding Functions Video Library   X    
MC16x4B Video Coding Functions Video Library   X    
MC16x8 Video Coding Functions Video Library   X    
MC16x8B Video Coding Functions Video Library   X    
MC16x8BUV Video Coding Functions Video Library   X    
MC16x8UV Video Coding Functions Video Library   X    
MC2x2 Video Coding Functions Video Library   X    
MC2x2B Video Coding Functions Video Library   X    
MC2x4 Video Coding Functions Video Library   X    
MC2x4B Video Coding Functions Video Library   X    
MC4x2 Video Coding Functions Video Library   X    
MC4x2B Video Coding Functions Video Library   X    
MC4x4 Video Coding Functions Video Library   X    
MC4x4B Video Coding Functions Video Library   X    
MC4x8 Video Coding Functions Video Library   X    
MC4x8B Video Coding Functions Video Library   X    
MC8x16 Video Coding Functions Video Library   X    
MC8x16B Video Coding Functions Video Library   X    
MC8x4 Video Coding Functions Video Library   X    
MC8x4B Video Coding Functions Video Library   X    
MC8x8 Video Coding Functions Video Library   X    
MC8x8B Video Coding Functions Video Library   X    
Magnitude Essential Vector Functions Signal Processing Library X X   X
Malloc Core Functions Base Library        
Malloc Support Functions Image Processing Library        
Max Essential Vector Functions Signal Processing Library   X    
MaxAbs Essential Vector Functions Signal Processing Library   X    
MaxAbsIndx Essential Vector Functions Signal Processing Library   X    
MaxEvery Essential Vector Functions Signal Processing Library X X    
MaxIndx Essential Vector Functions Signal Processing Library   X    
Mean Essential Vector Functions Signal Processing Library   X    
Min Essential Vector Functions Signal Processing Library   X    
MinAbs Essential Vector Functions Signal Processing Library   X    
MinAbsIndx Essential Vector Functions Signal Processing Library        
MinEvery Essential Vector Functions Signal Processing Library X X    
MinIndx Essential Vector Functions Signal Processing Library   X    
MinMax Essential Vector Functions Signal Processing Library   X    
MinMaxIndx Essential Vector Functions Signal Processing Library        
Mirror Geometric Transform Functions Image Processing Library   X    
Move Vector Initialization Functions Signal Processing Library X X   X
Mul Essential Vector Functions Signal Processing Library X X   X
Mul Arithmetic and Logic Functions Image Processing Library X X   X
MulC Arithmetic and Logic Functions Image Processing Library X X   X
MulC Essential Vector Functions Signal Processing Library X X   X
MulCScale Arithmetic and Logic Functions Image Processing Library X X    
MulScale Arithmetic and Logic Functions Image Processing Library X X    
NormDiff_Inf Essential Vector Functions Signal Processing Library   X    
NormDiff_L1 Essential Vector Functions Signal Processing Library   X    
NormDiff_L2 Essential Vector Functions Signal Processing Library   X    
Norm_Inf Essential Vector Functions Signal Processing Library   X    
Norm_L1 Essential Vector Functions Signal Processing Library   X    
Norm_L2 Essential Vector Functions Signal Processing Library   X    
Normalize Essential Vector Functions Signal Processing Library X X   X
Not Arithmetic and Logic Functions Image Processing Library X X   X
Not Essential Vector Functions Signal Processing Library X X   X
Or Arithmetic and Logic Functions Image Processing Library X X   X
Or Essential Vector Functions Signal Processing Library X X   X
OrC Arithmetic and Logic Functions Image Processing Library X X   X
OrC Essential Vector Functions Signal Processing Library X X   X
Pow Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
Powx Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
PredictIntraChroma8x8_H264 Video Coding Functions Video Library   X    
PredictIntra_16x16_H264 Video Coding Functions Video Library   X    
PredictIntra_4x4_H264 Video Coding Functions Video Library        
QuantFwd8X8_JPEG Image Compression Functions JPEG Library        
QuantFwdRawTableInit_JPEG Image Compression Functions JPEG Library        
QuantFwdTableInit_JPEG Image Compression Functions JPEG Library        
QuantInv8X8_JPEG Image Compression Functions JPEG Library   X    
QuantInvIntra_MPEG2 Video Coding Functions Video Library   X    
QuantInvTableInit_JPEG Image Compression Functions JPEG Library        
QuantInv_MPEG2 Video Coding Functions Video Library   X    
RGB5X5ToYCbCr_JPEG Image Compression Functions JPEG Library        
RGBToCbYCr422* Color Model Conversion Functions Image Processing Library        
RGBToGray Color Model Conversion Functions Image Processing Library   X    
RGBToHLS Color Model Conversion Functions Image Processing Library X      
RGBToHSV Color Model Conversion Functions Image Processing Library X      
RGBToLUV Color Model Conversion Functions Image Processing Library X X    
RGBToXYZ Color Model Conversion Functions Image Processing Library X X   X
RGBToYCC Color Model Conversion Functions Image Processing Library X      
RGBToYCbCr Color Model Conversion Functions Image Processing Library X X   X
RGBToYCbCr411LS_MCU Image Compression Functions JPEG Library   X    
RGBToYCbCr420 Color Model Conversion Functions Image Processing Library   X    
RGBToYCbCr422 Color Model Conversion Functions Image Processing Library        
RGBToYCbCr422LS_MCU Image Compression Functions JPEG Library   X    
RGBToYCbCr444LS_MCU Image Compression Functions JPEG Library   X    
RGBToYCbCr_JPEG Image Compression Functions JPEG Library X X    
RGBToYUV Color Model Conversion Functions Image Processing Library X X   X
RGBToYUV420 Color Model Conversion Functions Image Processing Library        
RGBToYUV422 Color Model Conversion Functions Image Processing Library        
RGBToY_JPEG Image Compression Functions JPEG Library   X    
RShiftC Essential Vector Functions Signal Processing Library X X   X
RShiftC Arithmetic and Logic Functions Image Processing Library X X   X
ReconstructChromaInterMB_H264 Video Coding Functions Video Library   X    
ReconstructChromaIntraMB_H264 Video Coding Functions Video Library   X    
ReconstructDCTBlockIntra_MPEG1 Video Coding Functions Video Library        
ReconstructDCTBlockIntra_MPEG2 Video Coding Functions Video Library   X    
ReconstructDCTBlock_MPEG1 Video Coding Functions Video Library        
ReconstructDCTBlock_MPEG2 Video Coding Functions Video Library   X    
ReconstructLumaInterMB_H264 Video Coding Functions Video Library   X    
ReconstructLumaIntraMB_H264 Video Coding Functions Video Library   X    
Remap Geometric Transform Functions Image Processing Library        
Resize Geometric Transform Functions Image Processing Library X X    
ResizeCenter Geometric Transform Functions Image Processing Library X X    
ResizeShift Geometric Transform Functions Image Processing Library        
ResizeSqrPixel Geometric Transform Functions Image Processing Library   X    
ResizeSqrPixelGetBufSize Geometric Transform Functions Image Processing Library        
ResizeYUV422 Geometric Transform Functions Image Processing Library        
Rotate Geometric Transform Functions Image Processing Library   X    
RotateCenter Geometric Transform Functions Image Processing Library        
Run Core Functions Base Library        
SAD16x16 Video Coding Functions Video Library   X    
SAD16x16Blocks4x4 Video Coding Functions Video Library   X    
SAD16x16Blocks8x8 Video Coding Functions Video Library   X    
SAD4x4 Video Coding Functions Video Library   X    
SAD8x8 Video Coding Functions Video Library   X    
SampleDown4xxLS_MCU Image Compression Functions JPEG Library        
SampleDownH2V1_JPEG Image Compression Functions JPEG Library        
SampleDownH2V2_JPEG Image Compression Functions JPEG Library        
SampleDownRowH2V1_JPEG Image Compression Functions JPEG Library        
SampleDownRowH2V2_JPEG Image Compression Functions JPEG Library        
SampleUp4xxLS_MCU Image Compression Functions JPEG Library        
SampleUpH2V1_JPEG Image Compression Functions JPEG Library        
SampleUpH2V2_JPEG Image Compression Functions JPEG Library        
SampleUpRowH2V1_JPEG Image Compression Functions JPEG Library        
SampleUpRowH2V2_JPEG Image Compression Functions JPEG Library        
Scale Arithmetic and Logic Functions Image Processing Library X      
Set Image Data Exchange and Initialization Functions Image Processing Library X X   X
Set Vector Initialization Functions Signal Processing Library X X   X
SetNumThreads Core Functions Base Library        
SetNumThreads_local Core Functions Base Library        
Sharpen Digital Filter Functions Image Processing Library X X    
Shear Geometric Transform Functions Image Processing Library        
Sin Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Sinh Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Split422LS_MCU Image Compression Functions JPEG Library        
Sqr Arithmetic and Logic Functions Image Processing Library X X   X
Sqr Essential Vector Functions Signal Processing Library X X   X
SqrDiff16x16 Video Coding Functions Video Library   X    
SqrDiff16x16B Video Coding Functions Video Library   X    
Sqrt Fixed Accuracy Arithmetic Functions Signal Processing Library X X   X
Sqrt Arithmetic and Logic Functions Image Processing Library X X   X
Sqrt Essential Vector Functions Signal Processing Library X X   X
StaticInit Core Functions Base Library        
StaticInitCpu Core Functions Base Library        
StdDev Essential Vector Functions Signal Processing Library   X    
Sub Arithmetic and Logic Functions Image Processing Library X X   X
Sub Essential Vector Functions Signal Processing Library X X   X
Sub128_JPEG Image Compression Functions JPEG Library        
SubC Arithmetic and Logic Functions Image Processing Library X X   X
SubC Essential Vector Functions Signal Processing Library X X   X
SubCRev Essential Vector Functions Signal Processing Library X X   X
Sum Threshold and Compare Functions Image Processing Library   X    
Sum Essential Vector Functions Signal Processing Library   X    
SumWindow Digital Filter Functions Image Processing Library X      
SumWindowRow Digital Filter Functions Image Processing Library X      
SumsDiff16x16Blocks4x4 Video Coding Functions Video Library   X    
SumsDiff8x8Blocks4x4 Video Coding Functions Video Library   X    
Swap Image Data Exchange and Initialization Functions Image Processing Library X X   X
Tan Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Tanh Fixed Accuracy Arithmetic Functions Signal Processing Library X      
Threshold Threshold and Compare Functions Image Processing Library X X   X
Threshold Essential Vector Functions Signal Processing Library X X   X
Threshold_GT Threshold and Compare Functions Image Processing Library X X   X
Threshold_GT Essential Vector Functions Signal Processing Library X X   X
Threshold_GTVal Threshold and Compare Functions Image Processing Library X X   X
Threshold_GTVal Essential Vector Functions Signal Processing Library X X   X
Threshold_LT Threshold and Compare Functions Image Processing Library X X   X
Threshold_LT Essential Vector Functions Signal Processing Library X X   X
Threshold_LTInv Essential Vector Functions Signal Processing Library X X   X
Threshold_LTVal Threshold and Compare Functions Image Processing Library X X   X
Threshold_LTVal Essential Vector Functions Signal Processing Library X X   X
Threshold_LTValGTVal Threshold and Compare Functions Image Processing Library X X   X
Threshold_LTValGTVal Essential Vector Functions Signal Processing Library X X   X
Threshold_Val Threshold and Compare Functions Image Processing Library X X   X
TransformDequantChromaDC_H264 Video Coding Functions Video Library        
VarMean8x8 Video Coding Functions Video Library   X    
VarMeanDiff16x16 Video Coding Functions Video Library   X    
VarMeanDiff16x8 Video Coding Functions Video Library   X    
Variance16x16 Video Coding Functions Video Library   X    
Wait Core Functions Base Library        
WarpAffine Geometric Transform Functions Image Processing Library        
WarpAffineBack Geometric Transform Functions Image Processing Library        
WarpAffineQuad Geometric Transform Functions Image Processing Library        
WarpBilinear Geometric Transform Functions Image Processing Library        
WarpBilinearBack Geometric Transform Functions Image Processing Library        
WarpBilinearQuad Geometric Transform Functions Image Processing Library        
WarpPerspective Geometric Transform Functions Image Processing Library        
WarpPerspectiveBack Geometric Transform Functions Image Processing Library        
WarpPerspectiveQuad Geometric Transform Functions Image Processing Library        
XYZToRGB Color Model Conversion Functions Image Processing Library X X   X
Xor Essential Vector Functions Signal Processing Library X X   X
Xor Arithmetic and Logic Functions Image Processing Library X X   X
XorC Essential Vector Functions Signal Processing Library X X   X
XorC Color Model Conversion Functions Image Processing Library X X   X
YCCK4XXToCMYKLS_MCU Image Compression Functions JPEG Library        
YCCKToCMYK_JPEG Image Compression Functions JPEG Library   X    
YCCToRGB Color Model Conversion Functions Image Processing Library X      
YCbCr411ToBGR Color Model Conversion Functions Image Processing Library        
YCbCr420ToBGR Color Model Conversion Functions Image Processing Library        
YCbCr420ToBGR* Color Model Conversion Functions Image Processing Library        
YCbCr420ToRGB Color Model Conversion Functions Image Processing Library X X    
YCbCr420ToRGB* Color Model Conversion Functions Image Processing Library        
YCbCr422 Color Model Conversion Functions Image Processing Library X      
YCbCr422ToBGR* Color Model Conversion Functions Image Processing Library        
YCbCr422ToRGB Color Model Conversion Functions Image Processing Library        
YCbCr422ToRGB* Color Model Conversion Functions Image Processing Library        
YCbCr422ToYCbCr420 Color Model Conversion Functions Image Processing Library        
YCbCr4XXLS_MCUToBGR Image Compression Functions JPEG Library   X    
YCbCr4XXToRGBLS_MCU Image Compression Functions JPEG Library   X    
YCbCrToBGR* Color Model Conversion Functions Image Processing Library X      
YCbCrToBGR5X5_JPEG Image Compression Functions JPEG Library        
YCbCrToBGR_JPEG Image Compression Functions JPEG Library        
YCbCrToRGB Color Model Conversion Functions Image Processing Library X X   X
YCbCrToRGB* Color Model Conversion Functions Image Processing Library X      
YCbCrToRGB5X5_JPEG Image Compression Functions JPEG Library        
YCbCrToRGB_JPEG Image Compression Functions JPEG Library   X    
YUV420ToBGR Color Model Conversion Functions Image Processing Library X X   X
YUV420ToBGR* Color Model Conversion Functions Image Processing Library X X   X
YUV420ToRGB Color Model Conversion Functions Image Processing Library X X   X
YUV420ToRGB* Color Model Conversion Functions Image Processing Library X X   X
YUV422ToRGB Color Model Conversion Functions Image Processing Library X X   X
YUVToRGB Color Model Conversion Functions Image Processing Library X X   X
Zero Vector Initialization Functions Signal Processing Library X X   X
ZigZag Image Data Exchange and Initialization Functions Image Processing Library X      
fwsMalloc Vector Initialization Functions Signal Processing Library