|
Copyright, Trademarks, and Disclaimers
Image Data Exchange and Initialization Functions
Arithmetic and Logic Functions
Color Model Conversion Functions
Threshold and Compare Functions
Linear Transformation Functions
GetHuffmanStatistics8X8_DCFirst
Fixed Accuracy Arithmetic Functions
Vector Initialization Functions
DecodeCAVLCChromaDcCoeffs_H264
FilterDeblockingLuma_VerEdge_H264
FilterDeblockingLuma_HorEdge_H264
FilterDeblockingChroma_HorEdge_H264
FilterDeblockingChroma_VerEdge_H264
ReconstructDCTBlockIntra_MPEG1
ReconstructDCTBlockIntra_MPEG2
DCT8x8Inv_AANTransposed_Channel
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.
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 |
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.
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.
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 |
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.
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 |
AMD64 Architecture Programmers Manual:
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.
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.
fwImage.h contains function declarations for image processing.
fwVideo.h contains function declarations for video processing.
fwJPEG.h contains function declarations for JPEG processing.
The directory hierarchy for each type of installation is as follows.
Microsoft® Windows® Operating Systems
Linux® Operating Systems
Sun® Solaris® Operating System
Apple® Mac OS® Operating Systems
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.
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.
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.
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.
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.
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:
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.
This chapter provides an overview of the information contained in the functional descriptions.
Base library functional descriptions include the following types of information.
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. |
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. |
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. |
This chapter describes the function that provides library version information.
Library version
const FwLibraryVersion* | fwGetLibVersion | ( | ); |
This function returns a pointer to the FwLibraryVersion structure which contains FW Library version information.
This chapter describes the status string, CPU type, CPU clocking, CPU initialization, threading control, and memory allocation functions.
Get status message string
const char * | fwGetStatusString | ( | FwStatus StsCode ); |
StsCode | Specifies the status code used by the FwStatus function. |
This function returns a string that describes the meaning of any FwStatus enumerated integer.
Get CPU Type
FwCpuType | fwGetCpuType | ( | ); |
This function returns the level of SSE support that is present. It can be used to identify the CPU type.
Get CPU clock cycles
Fw64u | fwGetCpuClocks | ( | ); |
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.
Initialize to an appropriate CPU type
FwStatus | fwStaticInit | ( | ); |
This function initializes the FW internal dispatcher to use the most appropriate CPU type.
Initialize to a specified CPU type
FwStatus | fwStaticInitCpu | ( | FwCpuType cpu ); |
cpu | Specifies a CPU type. |
This function initializes the FW internal dispatcher to use a specified CPU type.
Set number of threads
FwStatus | fwSetNumThreads | ( | unsigned int numThr ); |
numThr | Specifies the maximum number of threads that can be used by any Framewave function. |
This function defines the maximum number of threads that can be used by any FW function. Set numThr to 1 to turn threading off.
Get number of threads
Fw32u | fwGetNumThreads | ( | ); |
This function returns the maximum number of threads that can be used by any FW function.
Allocate memory
void * | fwMalloc | ( | int length ); |
length | Specifies a number of bytes to be allocated. |
This function allocates a memory buffer of length bytes and returns a pointer to it.
Free memory
void | fwFree | ( | void * ptr ); |
ptr | Pointer to a memory buffer. |
This function frees the memory buffer pointed to by ptr.
Align a buffer
void * | fwAlignPtr | ( | void * ptr, int alignBytes ); |
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. |
This function aligns the buffer pointed to by ptr to a specified alignment boundary.
SetNumThreads_local
FwStatus | fwSetNumThreads_local | ( | unsigned int numThr ); |
numThr | Specifies the maximum number of threads that can be used by any Framewave function. |
This function is reserved for FW internal use.
Run
void | fwRun | ( | WorkFn workFn, void* param ); |
param | Specifies some parameter. | |
workFn | Specifies work function. |
This function is reserved for FW internal use.
Wait
void | fwWait | ( | ); |
This function is reserved for FW internal use.
GetInitType
int | fwGetInitType | ( | ); |
This function is reserved for FW internal use.
BaseData
void * | fwBaseData | ( | ); |
This function is reserved for FW internal use.
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.
This chapter provides an overview of the information contained in the functional descriptions.
Image library functional descriptions include the following types of information.
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). |
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. |
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.
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.
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.
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:
ROIs for operations that use separate source and destination buffers are defined in the same way.
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.
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.
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.
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:
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:
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:
Maximum ROI size is:
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.
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
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. |
This chapter describes the function that provides library version information.
Get library version
const FwLibraryVersion* | fwiGetLibVersion | ( | ); |
This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.
This chapter describes FW functions that support other FW functions.
Memory allocation
Fw8u * | fwiMalloc_8u_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw8u * | fwiMalloc_8u_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw8u * | fwiMalloc_8u_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw8u * | fwiMalloc_8u_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw8u * | fwiMalloc_8u_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16u * | fwiMalloc_16u_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16u * | fwiMalloc_16u_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16u * | fwiMalloc_16u_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16u * | fwiMalloc_16u_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16u * | fwiMalloc_16u_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16s* | fwiMalloc_16s_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16s* | fwiMalloc_16s_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16s* | fwiMalloc_16s_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16s* | fwiMalloc_16s_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw16s* | fwiMalloc_16s_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32s* | fwiMalloc_32s_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32s* | fwiMalloc_32s_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32s* | fwiMalloc_32s_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32s* | fwiMalloc_32s_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32s* | fwiMalloc_32s_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32f* | fwiMalloc_32f_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32f* | fwiMalloc_32f_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32f* | fwiMalloc_32f_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32f* | fwiMalloc_32f_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32f* | fwiMalloc_32f_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32sc* | fwiMalloc_32sc_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32sc* | fwiMalloc_32sc_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32sc* | fwiMalloc_32sc_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32sc* | fwiMalloc_32sc_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32sc* | fwiMalloc_32sc_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32fc* | fwiMalloc_32fc_C1 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32fc* | fwiMalloc_32fc_C2 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32fc* | fwiMalloc_32fc_C3 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32fc* | fwiMalloc_32fc_C4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); | |
Fw32fc* | fwiMalloc_32fc_AC4 | ( | int widthPixels, int heightPixels, int * pStepBytes ); |
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). |
These functions allocate memory for image processing. Every row is aligned to 32-bit boundaries. Zero-padding is used to force alignment.
Free allocated memory
void | fwiFree | ( | void * ptr ); |
ptr | Pointer to a buffer. |
These functions free memory allocated by the Malloc 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 data from one type to another
MT, SSE2, Family10h
FwStatus | fwiConvert_8u16u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16s_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16s_C4R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u16s_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32s_C3R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32s_C4R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32s_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32s_C3R | ( | const Fw8s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32s_C4R | ( | const Fw8s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32s_AC4R | ( | const Fw8s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32s_C1R | ( | const Fw16u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32s_C3R | ( | const Fw16u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32s_C4R | ( | const Fw16u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32s_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32f_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32f_C3R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32f_C4R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8u32f_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32f_C1R | ( | const Fw8s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32f_C3R | ( | const Fw8s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32f_C4R | ( | const Fw8s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_8s32f_AC4R | ( | const Fw8s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32f_C1R | ( | const Fw16u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32f_C3R | ( | const Fw16u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32f_C4R | ( | const Fw16u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u32f_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s32f_C1R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s32f_C3R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s32f_C4R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s32f_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u8u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u8u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u8u_C4R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16u8u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s8u_C1R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s8u_C3R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s8u_C4R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_16s8u_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8u_C1R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8u_C3R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8u_C4R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8u_AC4R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8s_C3R | ( | const Fw32s * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8s_C4R | ( | const Fw32s * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32s8s_AC4R | ( | const Fw32s * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8u_C1R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8u_C3R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8u_C4R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8u_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8s_C1R | ( | const Fw32f * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8s_C3R | ( | const Fw32f * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8s_C4R | ( | const Fw32f * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f8s_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16s_C1R | ( | const Fw32f * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16s_C3R | ( | const Fw32f * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16s_C4R | ( | const Fw32f * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16s_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16u_C1R | ( | const Fw32f * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16u_C3R | ( | const Fw32f * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16u_C4R | ( | const Fw32f * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiConvert_32f16u_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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 values
MT, SSE2, Family10h
FwStatus | fwiCopy_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C3AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_AC4C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C3CR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C4CR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C3C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C4C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C1C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C1C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C3AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_AC4C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C3CR | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C4CR | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C3C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C4C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C1C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C1C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C3R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C3AC4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_AC4C3R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C3CR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C4CR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C3C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C4C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C1C3R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C1C4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C3AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_AC4C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C3CR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C4CR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C3C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C4C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C1C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C1C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C4P4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_P4C4R | ( | const Fw8u * const pSrc[4], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C3P3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_C4P4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_P3C3R | ( | const Fw16s * const pSrc[3], int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_16s_P4C4R | ( | const Fw16s * const pSrc[4], int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C3P3R | ( | const Fw32s * pSrc, int srcStep, Fw32s * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_C4P4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_P3C3R | ( | const Fw32s * const pSrc[3], int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32s_P4C4R | ( | const Fw32s * const pSrc[4], int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C3P3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_C4P4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_P3C3R | ( | const Fw32f * const pSrc[3], int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_32f_P4C4R | ( | const Fw32f * const pSrc[4], int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCopy_8u_C1MR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_8u_C3MR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_8u_C4MR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_8u_AC4MR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_16s_C1MR | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_16s_C3MR | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_16s_C4MR | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_16s_AC4MR | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32s_C1MR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32s_C3MR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32s_C4MR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32s_AC4MR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32f_C1MR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32f_C3MR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32f_C4MR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiCopy_32f_AC4MR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); |
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). |
These functions step through an ROI in a source buffer and copy the source data to a destination buffer.
Change channel order
MT, SSE2, Family10h
FwStatus | fwiSwapChannels_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_32s_C3R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const int dstOrder[3] ); | |
FwStatus | fwiSwapChannels_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const int dstOrder[3] ); |
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). |
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.
Convert to and from zigzag order
MT
FwStatus | fwiZigzagFwd8x8_16s_C1 | ( | const Fw16s * pSrc, Fw16s * pDst ); | |
FwStatus | fwiZigzagInv8x8_16s_C1 | ( | const Fw16s * pSrc, Fw16s * pDst ); |
pDst | Pointer to a location in a destination buffer. | |
pSrc | Pointer to a location in a source buffer. |
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 buffer to a value
MT, SSE2, Family10h
FwStatus | fwiSet_8u_C1R | ( | Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_8u_C3R | ( | const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_8u_AC4R | ( | const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_8u_C4R | ( | const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_8u_C3CR | ( | Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_8u_C4CR | ( | Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_16s_C1R | ( | Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_16s_C3R | ( | const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_16s_AC4R | ( | const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_16s_C4R | ( | const Fw16s value[4], Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_16s_C3CR | ( | Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_16s_C4CR | ( | Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32s_C1R | ( | Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32s_C3R | ( | const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32s_AC4R | ( | const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32s_C4R | ( | const Fw32s value[4], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32s_C3CR | ( | Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32s_C4CR | ( | Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32f_C1R | ( | Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32f_C3R | ( | const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32f_AC4R | ( | const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32f_C4R | ( | const Fw32f value[4], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32f_C3CR | ( | Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_32f_C4CR | ( | Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSet_8u_C1MR | ( | Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_8u_C3MR | ( | const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_8u_AC4MR | ( | const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_8u_C4MR | ( | const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_16s_C1MR | ( | Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_16s_C3MR | ( | const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_16s_AC4MR | ( | const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_16s_C4MR | ( | const Fw16s value[4], Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32s_C1MR | ( | Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32s_C3MR | ( | const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32s_AC4MR | ( | const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32s_C4MR | ( | const Fw32s value[4], Fw32s * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32f_C1MR | ( | Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32f_C3MR | ( | const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32f_AC4MR | ( | const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); | |
FwStatus | fwiSet_32f_C4MR | ( | const Fw32f value[4], Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw8u * pMask, int maskStep ); |
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. |
These functions write a specified value to a destination buffer.
Scale buffer data
MT
FwStatus | fwiScale_8u16u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16s_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16s_C4R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u16s_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u32s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u32s_C3R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u32s_C4R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_8u32s_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiScale_16u8u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16u8u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16u8u_C4R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16u8u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16s8u_C1R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16s8u_C3R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16s8u_C4R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_16s8u_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_32s8u_C1R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_32s8u_C3R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_32s8u_C4R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_32s8u_AC4R | ( | const Fw32s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwHintAlgorithm hint ); | |
FwStatus | fwiScale_8u32f_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_8u32f_C3R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_8u32f_C4R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_8u32f_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_32f8u_C1R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_32f8u_C3R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_32f8u_C4R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); | |
FwStatus | fwiScale_32f8u_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f vMin, Fw32f vMax ); |
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. |
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.
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.
Get absolute value
MT, SSE2, Family10h
FwStatus | fwiAbs_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_C4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbs_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Absolute difference of two source values
MT, SSE2, Family10h
FwStatus | fwiAbsDiff_8u_C1R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbsDiff_16u_C1R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAbsDiff_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Absolute difference of a source value and a constant
MT, SSE2, Family10h
FwStatus | fwiAbsDiffC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int value ); | |
FwStatus | fwiAbsDiffC_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int value ); | |
FwStatus | fwiAbsDiffC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f 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). | |
value | Specified value. |
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
MT, SSE2, Family10h
FwStatus | fwiAdd_8u_C1IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_8u_C3IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_8u_C4IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_8u_AC4IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_C1IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_C3IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_C4IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_AC4IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16sc_C1IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16sc_C3IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16sc_AC4IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32sc_C1IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32sc_C3IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32sc_AC4IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32f_C1IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_C3IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_C4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_AC4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32fc_C1IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32fc_C3IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32fc_AC4IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_8u32f_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_8s32f_C1IR | ( | const Fw8s * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_16u32f_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_8u32f_C1IMR | ( | const Fw8u * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_8s32f_C1IMR | ( | const Fw8s * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_16u32f_C1IMR | ( | const Fw16u * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_C1IMR | ( | const Fw32f * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_8u_C1RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_8u_C3RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_8u_C4RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_8u_AC4RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_C1RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_C3RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_C4RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16s_AC4RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16sc_C1RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16sc_C3RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_16sc_AC4RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32sc_C1RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32sc_C3RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32sc_AC4RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAdd_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_C3R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_C4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32f_AC4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32fc_C1R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32fc_C3R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAdd_32fc_AC4R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Add constant
MT, SSE2, Family10h
FwStatus | fwiAddC_8u_C1IRSfs | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_8u_C3IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_8u_AC4IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_8u_C4IRSfs | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_C1IRSfs | ( | Fw16s value, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_C3IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_AC4IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_C4IRSfs | ( | const Fw16s value[4], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16sc_C1IRSfs | ( | Fw16sc value, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16sc_C3IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16sc_AC4IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32sc_C1IRSfs | ( | Fw32sc value, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32sc_C3IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32sc_AC4IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32f_C1IR | ( | Fw32f value, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32f_C3IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32f_AC4IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32f_C4IR | ( | const Fw32f value[4], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32fc_C1IR | ( | Fw32fc value, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32fc_C3IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32fc_AC4IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_8u_AC4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_8u_C4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_AC4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16s_C4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[4], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16sc_C1RSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc value, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16sc_C3RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_16sc_AC4RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32sc_C1RSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc value, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32sc_C3RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32sc_AC4RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiAddC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32f_C4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[4], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32fc_C1R | ( | const Fw32fc * pSrc, int srcStep, Fw32fc value, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32fc_C3R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAddC_32fc_AC4R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Add product
MT, SSE2
FwStatus | fwiAddProduct_8u32f_C1IR | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_8s32f_C1IR | ( | const Fw8s * pSrc1, int src1Step, const Fw8s * pSrc2, int src2Step, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_16u32f_C1IR | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_32f_C1IR | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_8u32f_C1IMR | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_8s32f_C1IMR | ( | const Fw8s * pSrc1, int src1Step, const Fw8s * pSrc2, int src2Step, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_16u32f_C1IMR | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddProduct_32f_C1IMR | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); |
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). |
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.
Add square
MT, SSE2
FwStatus | fwiAddSquare_8u32f_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_8s32f_C1IR | ( | const Fw8s * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_16u32f_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_32f_C1IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_8u32f_C1IMR | ( | const Fw8u * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_8s32f_C1IMR | ( | const Fw8s * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_16u32f_C1IMR | ( | const Fw16u * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAddSquare_32f_C1IMR | ( | const Fw32f * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); |
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). |
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.
Add weighted
MT, SSE2
FwStatus | fwiAddWeighted_8u32f_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_8s32f_C1IR | ( | const Fw8s * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_16u32f_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_32f_C1IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_8u32f_C1IMR | ( | const Fw8u * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_8s32f_C1IMR | ( | const Fw8s * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_16u32f_C1IMR | ( | const Fw16u * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); | |
FwStatus | fwiAddWeighted_32f_C1IMR | ( | const Fw32f * pSrc, int srcStep, const Fw8u * pMask, int maskStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f alpha ); |
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). |
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.
Divide
MT, SSE2, Family10h
FwStatus | fwiDiv_8u_C1IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_8u_C3IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16s_C1IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16s_C3IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16sc_C1IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16sc_C3IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16sc_AC4IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32sc_C1IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32sc_C3IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32sc_AC4IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32f_C1IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32f_C3IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32f_C4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32f_AC4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32fc_C1IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32fc_C3IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32fc_AC4IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_8u_C1RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_8u_C3RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16s_C1RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16s_C3RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16sc_C1RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16sc_C3RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_16sc_AC4RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32sc_C1RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32sc_C3RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32sc_AC4RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDiv_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32f_C3R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32f_C4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32f_AC4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32fc_C1R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32fc_C3R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDiv_32fc_AC4R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Divide by a constant
MT, SSE2
FwStatus | fwiDivC_8u_C1IRSfs | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_8u_C3IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_8u_AC4IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16s_C1IRSfs | ( | Fw16s value, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16s_C3IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16s_AC4IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16sc_C1IRSfs | ( | Fw16sc value, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16sc_C3IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16sc_AC4IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32sc_C1IRSfs | ( | Fw32sc value, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32sc_C3IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32sc_AC4IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32f_C1IR | ( | Fw32f value, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32f_C3IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32f_AC4IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32fc_C1IR | ( | Fw32fc value, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32fc_C3IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32fc_AC4IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_8u_AC4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16s_AC4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16sc_C1RSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc value, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16sc_C3RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_16sc_AC4RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32sc_C1RSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc value, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32sc_C3RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32sc_AC4RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiDivC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32fc_C1R | ( | const Fw32fc * pSrc, int srcStep, Fw32fc value, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32fc_C3R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiDivC_32fc_AC4R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Raise base e to a power
MT, SSE2, Family10h
FwStatus | fwiExp_8u_C1IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_8u_C3IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_16s_C1IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_16s_C3IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiExp_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiExp_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiExp_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiExp_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Natural logarithm
MT, SSE2, Family10h
FwStatus | fwiLn_8u_C1IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_8u_C3IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_16s_C1IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_16s_C3IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLn_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLn_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiLn_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLn_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Multiply
MT, SSE2, Family10h
FwStatus | fwiMul_8u_C1IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_8u_C3IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_8u_C4IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_8u_AC4IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_C1IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_C3IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_C4IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_AC4IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16sc_C1IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16sc_C3IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16sc_AC4IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32sc_C1IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32sc_C3IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32sc_AC4IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32f_C1IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32f_C3IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32f_C4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32f_AC4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32fc_C1IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32fc_C3IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32fc_AC4IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_8u_C1RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_8u_C3RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_8u_C4RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_8u_AC4RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_C1RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_C3RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_C4RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16s_AC4RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16sc_C1RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16sc_C3RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_16sc_AC4RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32sc_C1RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32sc_C3RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32sc_AC4RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMul_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32f_C3R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32f_C4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32f_AC4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32fc_C1R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32fc_C3R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMul_32fc_AC4R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Multiply by a constant
MT, SSE2, Family10h
FwStatus | fwiMulC_8u_C1IRSfs | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_8u_C3IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_8u_AC4IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_8u_C4IRSfs | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_C1IRSfs | ( | Fw16s value, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_C3IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_AC4IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_C4IRSfs | ( | const Fw16s value[4], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16sc_C1IRSfs | ( | Fw16sc value, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16sc_C3IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16sc_AC4IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32sc_C1IRSfs | ( | Fw32sc value, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32sc_C3IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32sc_AC4IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32f_C1IR | ( | Fw32f value, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32f_C3IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32f_AC4IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32f_C4IR | ( | const Fw32f value[4], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32fc_C1IR | ( | Fw32fc value, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32fc_C3IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32fc_AC4IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_8u_AC4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_8u_C4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_AC4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16s_C4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[4], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16sc_C1RSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc value, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16sc_C3RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_16sc_AC4RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32sc_C1RSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc value, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32sc_C3RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32sc_AC4RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiMulC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32f_C4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[4], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32fc_C1R | ( | const Fw32fc * pSrc, int srcStep, Fw32fc value, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32fc_C3R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulC_32fc_AC4R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Multiply with scaling
MT, SSE2
FwStatus | fwiMulScale_8u_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_C3IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_C4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_AC4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_C3IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_C4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_AC4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_C1R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_C3R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_C4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_8u_AC4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_C1R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_C3R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_C4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulScale_16u_AC4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Multiply by constant with scaling
MT, SSE2
FwStatus | fwiMulCScale_8u_C1IR | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_C3IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_AC4IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_C4IR | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_C1IR | ( | Fw16u value, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_C3IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_AC4IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_C4IR | ( | const Fw16u value[4], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw16u value, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_C3R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiMulCScale_16u_C4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Square
MT, SSE2, Family10h
FwStatus | fwiSqr_8u_C1IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_8u_C3IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_8u_C4IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_8u_AC4IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_C1IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_C3IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_C4IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_AC4IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_C1IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_C3IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_C4IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_AC4IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqr_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqr_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqr_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqr_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_8u_C4RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_8u_AC4RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_C1RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_C3RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_C4RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16u_AC4RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_C4RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_16s_AC4RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqr_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSqr_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSqr_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Square root
MT, SSE2, Family10h
FwStatus | fwiSqrt_8u_C1IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_8u_C3IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_8u_AC4IRSfs | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16s_C1IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16s_C3IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16s_AC4IRSfs | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16u_C1IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16u_C3IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16u_AC4IRSfs | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqrt_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqrt_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqrt_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSqrt_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_8u_AC4RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16s_AC4RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16u_C1RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16u_C3RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_16u_AC4RSfs | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSqrt_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSqrt_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSqrt_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Subtract
MT, SSE2, Family10h
FwStatus | fwiSub_8u_C1IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_8u_C3IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_8u_C4IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_8u_AC4IRSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_C1IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_C3IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_C4IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_AC4IRSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16sc_C1IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16sc_C3IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16sc_AC4IRSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32sc_C1IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32sc_C3IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32sc_AC4IRSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32f_C1IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32f_C3IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32f_C4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32f_AC4IR | ( | const Fw32f * pSrc, int srcStep, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32fc_C1IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32fc_C3IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32fc_AC4IR | ( | const Fw32fc * pSrc, int srcStep, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_8u_C1RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_8u_C3RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_8u_C4RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_8u_AC4RSfs | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_C1RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_C3RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_C4RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16s_AC4RSfs | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16sc_C1RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16sc_C3RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_16sc_AC4RSfs | ( | const Fw16sc * pSrc1, int src1Step, const Fw16sc * pSrc2, int src2Step, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32sc_C1RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32sc_C3RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32sc_AC4RSfs | ( | const Fw32sc * pSrc1, int src1Step, const Fw32sc * pSrc2, int src2Step, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSub_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32f_C3R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32f_C4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32f_AC4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32fc_C1R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32fc_C3R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSub_32fc_AC4R | ( | const Fw32fc * pSrc1, int src1Step, const Fw32fc * pSrc2, int src2Step, Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Subtract a constant value
MT, SSE2, Family10h
FwStatus | fwiSubC_8u_C1IRSfs | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_8u_C3IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_8u_AC4IRSfs | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_8u_C4IRSfs | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_C1IRSfs | ( | Fw16s value, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_C3IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_AC4IRSfs | ( | const Fw16s value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_C4IRSfs | ( | const Fw16s value[4], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16sc_C1IRSfs | ( | Fw16sc value, Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16sc_C3IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16sc_AC4IRSfs | ( | const Fw16sc value[3], Fw16sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32sc_C1IRSfs | ( | Fw32sc value, Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32sc_C3IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32sc_AC4IRSfs | ( | const Fw32sc value[3], Fw32sc * pSrcDst, int srcDstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32f_C1IR | ( | Fw32f value, Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32f_C3IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32f_AC4IR | ( | const Fw32f value[3], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32f_C4IR | ( | const Fw32f value[4], Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32fc_C1IR | ( | Fw32fc value, Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32fc_C3IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32fc_AC4IR | ( | const Fw32fc value[3], Fw32fc * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_8u_C1RSfs | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_8u_C3RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_8u_AC4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_8u_C4RSfs | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_C1RSfs | ( | const Fw16s * pSrc, int srcStep, Fw16s value, Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_C3RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_AC4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16s_C4RSfs | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[4], Fw16s * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16sc_C1RSfs | ( | const Fw16sc * pSrc, int srcStep, Fw16sc value, Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16sc_C3RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_16sc_AC4RSfs | ( | const Fw16sc * pSrc, int srcStep, const Fw16sc value[3], Fw16sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32sc_C1RSfs | ( | const Fw32sc * pSrc, int srcStep, Fw32sc value, Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32sc_C3RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32sc_AC4RSfs | ( | const Fw32sc * pSrc, int srcStep, const Fw32sc value[3], Fw32sc * pDst, int dstStep, FwiSize roiSize, int scaleFactor ); | |
FwStatus | fwiSubC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f value, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32f_C4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[4], Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32fc_C1R | ( | const Fw32fc * pSrc, int srcStep, Fw32fc value, Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32fc_C3R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiSubC_32fc_AC4R | ( | const Fw32fc * pSrc, int srcStep, const Fw32fc value[3], Fw32fc * pDst, int dstStep, FwiSize roiSize ); |
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. |
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
MT, SSE2, Family10h
FwStatus | fwiAnd_8u_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_C3IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_C4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_AC4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_C3IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_C4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_AC4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_C1IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_C3IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_C4IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_AC4IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_C1R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_C3R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_C4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_8u_AC4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_C1R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_C3R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_C4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_16u_AC4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_C1R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_C3R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_C4R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAnd_32s_AC4R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
AND with constant
MT, SSE2, Family10h
FwStatus | fwiAndC_8u_C1IR | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_C3IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_AC4IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_C4IR | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_C1IR | ( | Fw16u value, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_C3IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_AC4IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_C4IR | ( | const Fw16u value[4], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_C1IR | ( | Fw32s value, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_C3IR | ( | const Fw32s value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_AC4IR | ( | const Fw32s value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_C4IR | ( | const Fw32s value[4], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw16u value, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_C3R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_16u_C4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_C3R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiAndC_32s_C4R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[4], Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Complement
MT, SSE2, Family10h
FwStatus | fwiComplement_32s_C1IR | ( | Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); |
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). |
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
MT, SSE2, Family10h
FwStatus | fwiNot_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_C4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiNot_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
MT, SSE2, Family10h
FwStatus | fwiOr_8u_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_C3IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_C4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_AC4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_C3IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_C4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_AC4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_C1IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_C3IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_C4IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_AC4IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_C1R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_C3R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_C4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_8u_AC4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_C1R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_C3R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_C4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_16u_AC4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_C1R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_C3R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_C4R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOr_32s_AC4R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
OR with constant
MT, SSE2, Family10h
FwStatus | fwiOrC_8u_C1IR | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_C3IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_AC4IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_C4IR | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_C1IR | ( | Fw16u value, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_C3IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_AC4IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_C4IR | ( | const Fw16u value[4], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_C1IR | ( | Fw32s value, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_C3IR | ( | const Fw32s value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_AC4IR | ( | const Fw32s value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_C4IR | ( | const Fw32s value[4], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw16u value, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_C3R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_16u_C4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_C3R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiOrC_32s_C4R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[4], Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Left shift by a constant value
MT, SSE2, Family10h
FwStatus | fwiLShiftC_8u_C1IR | ( | Fw32u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_C3IR | ( | const Fw32u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_AC4IR | ( | const Fw32u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_C4IR | ( | const Fw32u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_C1IR | ( | Fw32u value, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_C3IR | ( | const Fw32u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_AC4IR | ( | const Fw32u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_C4IR | ( | const Fw32u value[4], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_C1IR | ( | Fw32u value, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_C3IR | ( | const Fw32u value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_AC4IR | ( | const Fw32u value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_C4IR | ( | const Fw32u value[4], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw32u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw32u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw32u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw32u value, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_C3R | ( | const Fw16u * pSrc, int srcStep, const Fw32u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, const Fw32u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_16u_C4R | ( | const Fw16u * pSrc, int srcStep, const Fw32u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32u value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_C3R | ( | const Fw32s * pSrc, int srcStep, const Fw32u value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, const Fw32u value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLShiftC_32s_C4R | ( | const Fw32s * pSrc, int srcStep, const Fw32u value[4], Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
Right shift by a constant value
MT, SSE2, Family10h
FwStatus | fwiRShiftC_8u_C1IR | ( | Fw32u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_C3IR | ( | const Fw32u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_AC4IR | ( | const Fw32u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_C4IR | ( | const Fw32u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_C1IR | ( | Fw32u value, Fw8s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_C3IR | ( | const Fw32u value[3], Fw8s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_AC4IR | ( | const Fw32u value[3], Fw8s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_C4IR | ( | const Fw32u value[4], Fw8s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_C1IR | ( | Fw32u value, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_C3IR | ( | const Fw32u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_AC4IR | ( | const Fw32u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_C4IR | ( | const Fw32u value[4], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_C1IR | ( | Fw32u value, Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_C3IR | ( | const Fw32u value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_AC4IR | ( | const Fw32u value[3], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_C4IR | ( | const Fw32u value[4], Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_C1IR | ( | Fw32u value, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_C3IR | ( | const Fw32u value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_AC4IR | ( | const Fw32u value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_C4IR | ( | const Fw32u value[4], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw32u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw32u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw32u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw32u value, Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_C3R | ( | const Fw8s * pSrc, int srcStep, const Fw32u value[3], Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_AC4R | ( | const Fw8s * pSrc, int srcStep, const Fw32u value[3], Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_8s_C4R | ( | const Fw8s * pSrc, int srcStep, const Fw32u value[4], Fw8s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw32u value, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_C3R | ( | const Fw16u * pSrc, int srcStep, const Fw32u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, const Fw32u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16u_C4R | ( | const Fw16u * pSrc, int srcStep, const Fw32u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw32u value, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_C3R | ( | const Fw16s * pSrc, int srcStep, const Fw32u value[3], Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, const Fw32u value[3], Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_16s_C4R | ( | const Fw16s * pSrc, int srcStep, const Fw32u value[4], Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32u value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_C3R | ( | const Fw32s * pSrc, int srcStep, const Fw32u value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, const Fw32u value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRShiftC_32s_C4R | ( | const Fw32s * pSrc, int srcStep, const Fw32u value[4], Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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. |
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
MT, SSE2, Family10h
FwStatus | fwiXor_8u_C1IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_C3IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_C4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_AC4IR | ( | const Fw8u * pSrc, int srcStep, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_C1IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_C3IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_C4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_AC4IR | ( | const Fw16u * pSrc, int srcStep, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_C1IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_C3IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_C4IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_AC4IR | ( | const Fw32s * pSrc, int srcStep, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_C1R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_C3R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_C4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_8u_AC4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_C1R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_C3R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_C4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_16u_AC4R | ( | const Fw16u * pSrc1, int src1Step, const Fw16u * pSrc2, int src2Step, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_C1R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_C3R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_C4R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXor_32s_AC4R | ( | const Fw32s * pSrc1, int src1Step, const Fw32s * pSrc2, int src2Step, Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
XOR with constant
MT, SSE2, Family10h
FwStatus | fwiXorC_8u_C1IR | ( | Fw8u value, Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_C3IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_AC4IR | ( | const Fw8u value[3], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_C4IR | ( | const Fw8u value[4], Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_C1IR | ( | Fw16u value, Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_C3IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_AC4IR | ( | const Fw16u value[3], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_C4IR | ( | const Fw16u value[4], Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_C1IR | ( | Fw32s value, Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_C3IR | ( | const Fw32s value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_AC4IR | ( | const Fw32s value[3], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_C4IR | ( | const Fw32s value[4], Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw16u value, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_C3R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_16u_C4R | ( | const Fw16u * pSrc, int srcStep, const Fw16u value[4], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s value, Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_C3R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[3], Fw32s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXorC_32s_C4R | ( | const Fw32s * pSrc, int srcStep, const Fw32s value[4], Fw32s * pDst, int dstStep, FwiSize roiSize ); |
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. |
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.
This chapter describes functions that convert image data from one color model or space to another.
Convert from RGB to YUV
MT, SSE2, Family10h
FwStatus | fwiRGBToYUV_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYUV_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYUV_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYUV_8u_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst[3], int dstStep, FwiSize roiSize ); |
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). |
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].
Convert from YUV to RGB
MT, SSE2, Family10h
FwStatus | fwiYUVToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUVToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUVToRGB_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUVToRGB_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from RGB to YUV with 4:2:2 sampling
FwStatus | fwiRGBToYUV422_8u_C3C2R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYUV422_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * 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 * pSrc, int srcStep, Fw8u * pDst[3], int dstStep[3], FwiSize roiSize ); | |
FwStatus | fwiRGBToYUV422_8u_C3P3 | ( | const Fw8u * pSrc, Fw8u * pDst[3], FwiSize imgSize ); |
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). |
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.
Convert from YUV with 4:2:2 sampling to RGB
MT, SSE2, Family10h
FwStatus | fwiYUV422ToRGB_8u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV422ToRGB_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * const pDst[3], int dstStep, FwiSize 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 * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV422ToRGB_8u_P3AC4R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV422ToRGB_8u_P3C3 | ( | const Fw8u * const pSrc[3], Fw8u * pDst, FwiSize imgSize ); |
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). |
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.
Convert from RGB to YUV with 4:2:0 sampling
FwStatus | fwiRGBToYUV420_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * 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 * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep[3], FwiSize roiSize ); | |
FwStatus | fwiRGBToYUV420_8u_C3P3 | ( | const Fw8u * pSrc, Fw8u * const pDst[3], FwiSize imgSize ); |
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). |
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.
Convert from YUV with 4:2:0 sampling to RGB
MT, SSE2, Family10h
FwStatus | fwiYUV420ToRGB_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * const pDst[3], int dstStep, FwiSize 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 * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV420ToRGB_8u_P3AC4R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV420ToRGB_8u_P3C3 | ( | const Fw8u * const pSrc[3], Fw8u * pDst, FwiSize imgSize ); |
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). |
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.
Converts from YUV with 4:2:0 sampling to BGR
MT, SSE2, Family10h
FwStatus | fwiYUV420ToBGR_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from YUV with 4:2:0 sampling to 16-bit per pixel RGB
MT, SSE2, Family10h
FwStatus | fwiYUV420ToRGB565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV420ToRGB555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV420ToRGB444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from YUV with 4:2:0 sampling to 16-bit per pixel BGR
MT, SSE2, Family10h
FwStatus | fwiYUV420ToBGR565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV420ToBGR555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYUV420ToBGR444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from RGB to YCbCr
MT, SSE2, Family10h
FwStatus | fwiRGBToYCbCr_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCbCr_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCbCr_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from YCbCr to RGB
MT, SSE2, Family10h
FwStatus | fwiYCbCrToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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)
Convert from YCbCr to 16-bit per pixel RGB
MT
FwStatus | fwiYCbCrToRGB565_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB555_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB444_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from YCbCr to 16-bit per pixel BGR
MT
FwStatus | fwiYCbCrToBGR565_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToBGR555_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToBGR444_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToBGR565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToBGR555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToBGR444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from RGB to 16-bit per pixel YCbCr with 4:2:2 sampling
FwStatus | fwiRGBToYCbCr422_8u_C3C2R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCbCr422_8u_P3C2R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert 16-bit per pixel YCbCr with 4:2:2 sampling to RGB
FwStatus | fwiYCbCr422ToRGB_8u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB_8u_C2P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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)
Convert from RGB to 16-bit per pixel CbYCr with 4:2:2 sampling
FwStatus | fwiRGBToCbYCr422_8u_C3C2R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToCbYCr422Gamma_8u_C3C2R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert 16-bit per pixel CbYCr with 4:2:2 sampling to RGB
FwStatus | fwiCbYCr422ToRGB_8u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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)
Convert from BGR to 16-bit per pixel CbYCr with 4:2:2 sampling
FwStatus | fwiBGRToCbYCr422_8u_AC4C2R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert 16-bit per pixel CbYCr with 4:2:2 sampling to BGR
FwStatus | fwiCbYCr422ToBGR_8u_C2C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u alpha ); |
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). |
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)
Convert from 16-bit per pixel YCbCr with 4:2:2 sampling to 16-bit per pixel RGB
FwStatus | fwiYCbCr422ToRGB565_8u16u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB555_8u16u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB444_8u16u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToRGB444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from 16-bit per pixel YCbCr with 4:2:2 sampling to 16-bit per pixel BGR
FwStatus | fwiYCbCr422ToBGR565_8u16u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToBGR555_8u16u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToBGR444_8u16u_C2C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToBGR565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToBGR555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr422ToBGR444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from RGB to YCbCr with 4:2:0 sampling
SSE2
FwStatus | fwiRGBToYCbCr420_8u_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep[3], FwiSize roiSize ); |
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). |
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.
Convert from BGR to YCbCr with 4:2:0 sampling
FwStatus | fwiBGRToYCbCr420_8u_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep[3], FwiSize roiSize ); | |
FwStatus | fwiBGRToYCbCr420_8u_AC4P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep[3], FwiSize roiSize ); |
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). |
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.
Convert from YCbCr with 4:2:0 sampling to RGB
MT, SSE2
FwStatus | fwiYCbCr420ToRGB_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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)
Convert from YCbCr with 4:2:2 sampling to YCbCr with 4:2:0 sampling
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* pSrc, int srcStep, Fw8u* pDst[3], int dstStep[3], FwiSize roiSize ); |
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). |
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.
Convert from YCbCr with 4:2:0 sampling to 16-bit per pixel RGB
FwStatus | fwiYCbCr420ToRGB565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr420ToRGB555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr420ToRGB444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from YCbCr with 4:2:0 sampling to BGR
FwStatus | fwiYCbCr420ToBGR_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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)
Convert from YCbCr with 4:2:0 sampling to 16-bit BGR
FwStatus | fwiYCbCr420ToBGR565_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr420ToBGR555_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr420ToBGR444_8u16u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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)
Convert from YCbCr with 4:1:1 sampling to BGR
FwStatus | fwiYCbCr411ToBGR_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCr411ToBGR_8u_P3C4R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u alpha ); |
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). |
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)
Convert from RGB to XYZ
MT, SSE2, Family10h
FwStatus | fwiRGBToXYZ_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToXYZ_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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].
Convert from XYZ to RGB
MT, SSE2, Family10h
FwStatus | fwiXYZToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiXYZToRGB_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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].
Convert from RGB to LUV
MT, SSE2
FwStatus | fwiRGBToLUV_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToLUV_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from LUV to RGB
MT
FwStatus | fwiLUVToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLUVToRGB_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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].
Convert from BGR to Lab
MT
FwStatus | fwiBGRToLab_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToLab_8u16u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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
Convert from Lab to BGR
MT
FwStatus | fwiLabToBGR_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiLabToBGR_16u8u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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].
Convert from RGB to YCC
MT
FwStatus | fwiRGBToYCC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from YCC to RGB
MT
FwStatus | fwiYCCToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCToRGB_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from RGB to HLS
MT
FwStatus | fwiRGBToHLS_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHLS_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from HLS to RGB
MT
FwStatus | fwiHLSToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToRGB_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from BGR to HLS
MT
FwStatus | fwiBGRToHLS_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToHLS_8u_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToHLS_8u_AC4P4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToHLS_8u_AP4R | ( | const Fw8u * const pSrc[4], int srcStep, Fw8u * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToHLS_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToHLS_8u_AP4C4R | ( | const Fw8u * const pSrc[4], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGRToHLS_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from HLS to BGR
MT
FwStatus | fwiHLSToBGR_8u_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToBGR_8u_AC4P4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToBGR_8u_AP4R | ( | const Fw8u * const pSrc[4], int srcStep, Fw8u * const pDst[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToBGR_8u_P3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * const pDst[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToBGR_8u_AP4C4R | ( | const Fw8u * const pSrc[4], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHLSToBGR_8u_P3C3R | ( | const Fw8u * const pSrc[3], int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from RGB to HSV
MT
FwStatus | fwiRGBToHSV_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHSV_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHSV_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToHSV_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from HSV to RGB
MT
FwStatus | fwiHSVToRGB_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHSVToRGB_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHSVToRGB_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiHSVToRGB_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert a three-channel color image to gray scale using custom coefficients
SSE2
FwStatus | fwiColorToGray_8u_C3C1R | ( | const Fw8u* pSrc, int srcStep, Fw8u* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_16u_C3C1R | ( | const Fw16u* pSrc, int srcStep, Fw16u* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_16s_C3C1R | ( | const Fw16s* pSrc, int srcStep, Fw16s* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_32f_C3C1R | ( | const Fw32f* pSrc, int srcStep, Fw32f* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_8u_AC4C1R | ( | const Fw8u* pSrc, int srcStep, Fw8u* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_16u_AC4C1R | ( | const Fw16u* pSrc, int srcStep, Fw16u* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_16s_AC4C1R | ( | const Fw16s* pSrc, int srcStep, Fw16s* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); | |
FwStatus | fwiColorToGray_32f_AC4C1R | ( | const Fw32f* pSrc, int srcStep, Fw32f* pDst, int dstStep, FwiSize roiSize, const Fw32f coeffs[3] ); |
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). |
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.
Convert a three-channel RGB color image to gray scale using fixed coefficients
SSE2
FwStatus | fwiRGBToGray_8u_C3C1R | ( | const Fw8u* pSrc, int srcStep, Fw8u* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_16u_C3C1R | ( | const Fw16u* pSrc, int srcStep, Fw16u* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_16s_C3C1R | ( | const Fw16s* pSrc, int srcStep, Fw16s* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_32f_C3C1R | ( | const Fw32f* pSrc, int srcStep, Fw32f* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_8u_AC4C1R | ( | const Fw8u* pSrc, int srcStep, Fw8u* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_16u_AC4C1R | ( | const Fw16u* pSrc, int srcStep, Fw16u* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_16s_AC4C1R | ( | const Fw16s* pSrc, int srcStep, Fw16s* pDst, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToGray_32f_AC4C1R | ( | const Fw32f* pSrc, int srcStep, Fw32f* pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert 16-bit per pixel YCbCr with 4:2:2 sampling between 2-channel and 3-plane formats
MT
FwStatus | fwiYCbCr422_8u_C2P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst[3], int dstStep[3], FwiSize roiSize ); | |
FwStatus | fwiYCbCr422_8u_P3C2R | ( | const Fw8u * const pSrc[3], int srcStep[3], Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert from CbYCr 4:2:2 to YCbCr 4:2:0
MT, SSE2, Family10h
FwStatus | fwiCbYCr422ToYCbCr420_8u_C2P3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst[3], int dstStep[3], FwiSize roiSize ); |
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). |
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.
This chapter describes FW functions which perform statistical operations on image data.
Sum image data
SSE2
FwStatus | fwiSum_8u_C1R | ( | const Fw8u* pSrc, int srcStep, FwiSize roiSize, Fw64f* pSum ); | |
FwStatus | fwiSum_16s_C1R | ( | const Fw16s* pSrc, int srcStep, FwiSize roiSize, Fw64f* pSum ); |
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). |
These functions step through an ROI in a source buffer, sum the image data, and write the sum to a destination buffer.
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.
Compare to a threshold, replace with threshold value (General)
MT, SSE2, Family10h
FwStatus | fwiThreshold_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u threshold, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s threshold, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f threshold, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u threshold, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s threshold, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f threshold, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], FwCmpOp fwCmpOp ); |
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. |
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.
Compare to a threshold, replace with threshold value (Greater Than)
MT, SSE2, Family10h
FwStatus | fwiThreshold_GT_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u threshold ); | |
FwStatus | fwiThreshold_GT_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_GT_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_GT_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s threshold ); | |
FwStatus | fwiThreshold_GT_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_GT_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_GT_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f threshold ); | |
FwStatus | fwiThreshold_GT_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3] ); | |
FwStatus | fwiThreshold_GT_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3] ); | |
FwStatus | fwiThreshold_GT_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u threshold ); | |
FwStatus | fwiThreshold_GT_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_GT_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_GT_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s threshold ); | |
FwStatus | fwiThreshold_GT_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_GT_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_GT_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f threshold ); | |
FwStatus | fwiThreshold_GT_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3] ); | |
FwStatus | fwiThreshold_GT_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3] ); |
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. |
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.
Compare to a threshold, replace with threshold value (Less Than)
MT, SSE2, Family10h
FwStatus | fwiThreshold_LT_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u threshold ); | |
FwStatus | fwiThreshold_LT_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_LT_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_LT_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s threshold ); | |
FwStatus | fwiThreshold_LT_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_LT_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_LT_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f threshold ); | |
FwStatus | fwiThreshold_LT_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3] ); | |
FwStatus | fwiThreshold_LT_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3] ); | |
FwStatus | fwiThreshold_LT_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u threshold ); | |
FwStatus | fwiThreshold_LT_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_LT_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3] ); | |
FwStatus | fwiThreshold_LT_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s threshold ); | |
FwStatus | fwiThreshold_LT_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_LT_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3] ); | |
FwStatus | fwiThreshold_LT_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f threshold ); | |
FwStatus | fwiThreshold_LT_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3] ); | |
FwStatus | fwiThreshold_LT_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3] ); |
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. |
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.
Compare to a threshold, replace with specified value (General)
MT, SSE2, Family10h
FwStatus | fwiThreshold_Val_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u threshold, Fw8u value, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s threshold, Fw16s value, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f threshold, Fw32f value, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u threshold, Fw8u value, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s threshold, Fw16s value, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f threshold, Fw32f value, FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3], FwCmpOp fwCmpOp ); | |
FwStatus | fwiThreshold_Val_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3], FwCmpOp fwCmpOp ); |
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. |
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.
Compare to a threshold, replace with specified value (Greater Than)
MT, SSE2, Family10h
FwStatus | fwiThreshold_GTVal_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u threshold, Fw8u value ); | |
FwStatus | fwiThreshold_GTVal_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_GTVal_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_GTVal_8u_C4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[4], const Fw8u value[4] ); | |
FwStatus | fwiThreshold_GTVal_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s threshold, Fw16s value ); | |
FwStatus | fwiThreshold_GTVal_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_GTVal_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_GTVal_16s_C4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[4], const Fw16s value[4] ); | |
FwStatus | fwiThreshold_GTVal_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f threshold, Fw32f value ); | |
FwStatus | fwiThreshold_GTVal_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_GTVal_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_GTVal_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[4], const Fw32f value[4] ); | |
FwStatus | fwiThreshold_GTVal_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u threshold, Fw8u value ); | |
FwStatus | fwiThreshold_GTVal_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_GTVal_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_GTVal_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[4], const Fw8u value[4] ); | |
FwStatus | fwiThreshold_GTVal_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s threshold, Fw16s value ); | |
FwStatus | fwiThreshold_GTVal_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_GTVal_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_GTVal_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[4], const Fw16s value[4] ); | |
FwStatus | fwiThreshold_GTVal_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f threshold, Fw32f value ); | |
FwStatus | fwiThreshold_GTVal_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_GTVal_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_GTVal_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[4], const Fw32f value[4] ); |
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. |
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.
Compare to a threshold, replace with specified value (Less Than)
MT, SSE2, Family10h
FwStatus | fwiThreshold_LTVal_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u threshold, Fw8u value ); | |
FwStatus | fwiThreshold_LTVal_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_LTVal_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_LTVal_8u_C4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u threshold[4], const Fw8u value[4] ); | |
FwStatus | fwiThreshold_LTVal_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s threshold, Fw16s value ); | |
FwStatus | fwiThreshold_LTVal_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_LTVal_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_LTVal_16s_C4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s threshold[4], const Fw16s value[4] ); | |
FwStatus | fwiThreshold_LTVal_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f threshold, Fw32f value ); | |
FwStatus | fwiThreshold_LTVal_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_LTVal_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_LTVal_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f threshold[4], const Fw32f value[4] ); | |
FwStatus | fwiThreshold_LTVal_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u threshold, Fw8u value ); | |
FwStatus | fwiThreshold_LTVal_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_LTVal_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[3], const Fw8u value[3] ); | |
FwStatus | fwiThreshold_LTVal_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u threshold[4], const Fw8u value[4] ); | |
FwStatus | fwiThreshold_LTVal_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s threshold, Fw16s value ); | |
FwStatus | fwiThreshold_LTVal_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_LTVal_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[3], const Fw16s value[3] ); | |
FwStatus | fwiThreshold_LTVal_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s threshold[4], const Fw16s value[4] ); | |
FwStatus | fwiThreshold_LTVal_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f threshold, Fw32f value ); | |
FwStatus | fwiThreshold_LTVal_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_LTVal_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[3], const Fw32f value[3] ); | |
FwStatus | fwiThreshold_LTVal_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f threshold[4], const Fw32f value[4] ); |
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. |
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.
Compare to double threshold, replace with specified value (Less Than/Greater Than)
MT, SSE2, Family10h
FwStatus | fwiThreshold_LTValGTVal_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, Fw8u thresholdLT, Fw8u valueLT, Fw8u thresholdGT, Fw8u valueGT ); | |
FwStatus | fwiThreshold_LTValGTVal_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u thresholdLT[3], const Fw8u valueLT[3], const Fw8u thresholdGT[3], const Fw8u valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw8u thresholdLT[3], const Fw8u valueLT[3], const Fw8u thresholdGT[3], const Fw8u valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, Fw16s thresholdLT, Fw16s valueLT, Fw16s thresholdGT, Fw16s valueGT ); | |
FwStatus | fwiThreshold_LTValGTVal_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s thresholdLT[3], const Fw16s valueLT[3], const Fw16s thresholdGT[3], const Fw16s valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16s thresholdLT[3], const Fw16s valueLT[3], const Fw16s thresholdGT[3], const Fw16s valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, Fw32f thresholdLT, Fw32f valueLT, Fw32f thresholdGT, Fw32f valueGT ); | |
FwStatus | fwiThreshold_LTValGTVal_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f thresholdLT[3], const Fw32f valueLT[3], const Fw32f thresholdGT[3], const Fw32f valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw32f thresholdLT[3], const Fw32f valueLT[3], const Fw32f thresholdGT[3], const Fw32f valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw8u thresholdLT, Fw8u valueLT, Fw8u thresholdGT, Fw8u valueGT ); | |
FwStatus | fwiThreshold_LTValGTVal_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u thresholdLT[3], const Fw8u valueLT[3], const Fw8u thresholdGT[3], const Fw8u valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, const Fw8u thresholdLT[3], const Fw8u valueLT[3], const Fw8u thresholdGT[3], const Fw8u valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, Fw16s thresholdLT, Fw16s valueLT, Fw16s thresholdGT, Fw16s valueGT ); | |
FwStatus | fwiThreshold_LTValGTVal_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s thresholdLT[3], const Fw16s valueLT[3], const Fw16s thresholdGT[3], const Fw16s valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize, const Fw16s thresholdLT[3], const Fw16s valueLT[3], const Fw16s thresholdGT[3], const Fw16s valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, Fw32f thresholdLT, Fw32f valueLT, Fw32f thresholdGT, Fw32f valueGT ); | |
FwStatus | fwiThreshold_LTValGTVal_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f thresholdLT[3], const Fw32f valueLT[3], const Fw32f thresholdGT[3], const Fw32f valueGT[3] ); | |
FwStatus | fwiThreshold_LTValGTVal_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, const Fw32f thresholdLT[3], const Fw32f valueLT[3], const Fw32f thresholdGT[3], const Fw32f valueGT[3] ); |
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. |
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 source data
MT, SSE2, Family10h
FwStatus | fwiCompare_8u_C1R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_8u_C3R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_8u_C4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_8u_AC4R | ( | const Fw8u * pSrc1, int src1Step, const Fw8u * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_16s_C1R | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_16s_C3R | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_16s_C4R | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_16s_AC4R | ( | const Fw16s * pSrc1, int src1Step, const Fw16s * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_32f_C3R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_32f_C4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompare_32f_AC4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); |
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). |
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.
Compare to a constant
MT, SSE2, Family10h
FwStatus | fwiCompareC_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u value, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_8u_C3R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_8u_C4R | ( | const Fw8u * pSrc, int srcStep, const Fw8u value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s value, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_16s_C3R | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_16s_C4R | ( | const Fw16s * pSrc, int srcStep, const Fw16s value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f value, Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); | |
FwStatus | fwiCompareC_32f_C4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, FwCmpOp fwCmpOp ); |
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. |
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.
Compare floating-point data for equality
MT, SSE2, Family10h
FwStatus | fwiCompareEqualEps_32f_C1R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); | |
FwStatus | fwiCompareEqualEps_32f_C3R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); | |
FwStatus | fwiCompareEqualEps_32f_C4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); | |
FwStatus | fwiCompareEqualEps_32f_AC4R | ( | const Fw32f * pSrc1, int src1Step, const Fw32f * pSrc2, int src2Step, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); |
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). |
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.
Compare floating-point data to a constant
MT, SSE2, Family10h
FwStatus | fwiCompareEqualEpsC_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f value, Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); | |
FwStatus | fwiCompareEqualEpsC_32f_C3R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); | |
FwStatus | fwiCompareEqualEpsC_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[3], Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); | |
FwStatus | fwiCompareEqualEpsC_32f_C4R | ( | const Fw32f * pSrc, int srcStep, const Fw32f value[4], Fw8u * pDst, int dstStep, FwiSize roiSize, Fw32f eps ); |
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. |
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.
This chapter describes functions that warp, shear, resize, mirror, and rotate images.
Dilate with 3X3 mask
MT, SSE2
FwStatus | fwiDilate3x3_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
This chapter describes functions that alter frequency-related visual properties of images such as sharpness and contrast.
Sharpen
MT, SSE2
FwStatus | fwiFilterSharpen_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSharpen_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Blur
MT
FwStatus | fwiFilterBox_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); |
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). |
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.
Blur in place
MT
FwStatus | fwiFilterBox_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_8u_C4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_C1IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_C3IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_C4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_16s_AC4IR | ( | Fw16s * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterBox_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); |
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). |
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.
Filter with minimum value in mask
MT
FwStatus | fwiFilterMin_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMin_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); |
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). |
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.
Filter with maximum value in mask
MT
FwStatus | fwiFilterMax_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMax_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); |
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). |
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.
Sum pixel values in row mask
MT
FwStatus | fwiSumWindowRow_8u32f_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowRow_8u32f_C3R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowRow_8u32f_C4R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowRow_16s32f_C1R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowRow_16s32f_C3R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowRow_16s32f_C4R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); |
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). |
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.
Sum pixel values in column mask
MT
FwStatus | fwiSumWindowColumn_8u32f_C1R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowColumn_8u32f_C3R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowColumn_8u32f_C4R | ( | const Fw8u * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowColumn_16s32f_C1R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowColumn_16s32f_C3R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); | |
FwStatus | fwiSumWindowColumn_16s32f_C4R | ( | const Fw16s * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int maskSize, int anchor ); |
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). |
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.
Filter with median value in mask
MT
FwStatus | fwiFilterMedian_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); | |
FwStatus | fwiFilterMedian_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiSize maskSize, FwiPoint anchor ); |
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). |
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.
Filter with median value in horizontal mask
MT
FwStatus | fwiFilterMedianHoriz_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianHoriz_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
Filter with median value in vertical mask
MT
FwStatus | fwiFilterMedianVert_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianVert_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
Filter with median value in cross mask
MT
FwStatus | fwiFilterMedianCross_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianCross_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianCross_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianCross_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianCross_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianCross_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
Filter color with median value in mask
MT
FwStatus | fwiFilterMedianColor_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianColor_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianColor_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianColor_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianColor_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterMedianColor_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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 with an integer rectangular kernel
MT, SSE2
FwStatus | fwiFilter_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, FwiSize kernelSize, FwiPoint anchor, int divisor ); | |
FwStatus | fwiFilter_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); |
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). |
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.
Filter integer values with a floating-point rectangular kernel
MT, SSE2
FwStatus | fwiFilter32f_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); | |
FwStatus | fwiFilter32f_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, FwiSize kernelSize, FwiPoint anchor ); |
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). |
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.
Filter with an integer vertical column kernel
MT, SSE2
FwStatus | fwiFilterColumn_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int yAnchor, int divisor ); | |
FwStatus | fwiFilterColumn_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); |
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. |
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).
Filter integer values with a floating-point vertical column kernel
MT, SSE2
FwStatus | fwiFilterColumn32f_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); | |
FwStatus | fwiFilterColumn32f_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int yAnchor ); |
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. |
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.
Filter with an integer horizontal row kernel
MT, SSE2
FwStatus | fwiFilterRow_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32s * pKernel, int kernelSize, int xAnchor, int divisor ); | |
FwStatus | fwiFilterRow_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); |
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. |
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).
Filter integer values with a floating-point horizontal row kernel
MT, SSE2
FwStatus | fwiFilterRow32f_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); | |
FwStatus | fwiFilterRow32f_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, const Fw32f * pKernel, int kernelSize, int xAnchor ); |
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. |
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.
Filter with a horizontal Prewitt kernel
MT, SSE2
FwStatus | fwiFilterPrewittHoriz_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittHoriz_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Filter with a vertical Prewitt kernel
MT, SSE2
FwStatus | fwiFilterPrewittVert_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterPrewittVert_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Filter with a horizontal Scharr kernel
MT, SSE2
FwStatus | fwiFilterScharrHoriz_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterScharrHoriz_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterScharrHoriz_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Filter with a vertical Scharr kernel
MT, SSE2
FwStatus | fwiFilterScharrVert_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterScharrVert_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterScharrVert_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Filter with a horizontal Sobel kernel
MT, SSE2
FwStatus | fwiFilterSobelHoriz_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelHoriz_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelHoriz_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelHorizMask_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); |
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). |
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.
Filter with a vertical Sobel kernel
MT, SSE2
FwStatus | fwiFilterSobelVert_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterSobelVert_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelVert_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelVertMask_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); |
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). |
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.
Filter with a second derivative horizontal Sobel kernel
MT, SSE2
FwStatus | fwiFilterSobelHorizSecond_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelHorizSecond_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelHorizSecond_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); |
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). |
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.
Filter with a second derivative vertical Sobel kernel
MT, SSE2
FwStatus | fwiFilterSobelVertSecond_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelVertSecond_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelVertSecond_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); |
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). |
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.
Filter with a second cross derivative Sobel kernel
MT, SSE2
FwStatus | fwiFilterSobelCross_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelCross_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); | |
FwStatus | fwiFilterSobelCross_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize mask ); |
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). |
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.
Filter with a horizontal Roberts kernel
MT, SSE2
FwStatus | fwiFilterRobertsDown_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsDown_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Filter with a vertical Roberts kernel
MT, SSE2
FwStatus | fwiFilterRobertsUp_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); | |
FwStatus | fwiFilterRobertsUp_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize ); |
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). |
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.
Filter with a Laplace kernel
MT, SSE2
FwStatus | fwiFilterLaplace_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLaplace_8s16s_C1R | ( | const Fw8s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
Filter with a Gauss kernel
MT, SSE2
FwStatus | fwiFilterGauss_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterGauss_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
Filter with a high-pass kernel
MT, SSE2
FwStatus | fwiFilterHipass_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_16s_C4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterHipass_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
Filter with a low-pass kernel
MT, SSE2
FwStatus | fwiFilterLowpass_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_16s_C1R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_16s_C3R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_16s_AC4R | ( | const Fw16s * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); | |
FwStatus | fwiFilterLowpass_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, FwiMaskSize maskSize ); |
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). |
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.
This chapter describes functions for Discrete Cosine Transform (DCT).
Compute data block DCT
SSE2
FwStatus | fwiDCT8x8Fwd_16s_C1 | ( | const Fw16s * pSrc, Fw16s * pDst ); | |
FwStatus | fwiDCT8x8Fwd_16s_C1I | ( | Fw16s* pSrcDst ); | |
FwStatus | fwiDCT8x8Inv_16s_C1 | ( | const Fw16s * pSrc, Fw16s * pDst ); | |
FwStatus | fwiDCT8x8Inv_16s_C1I | ( | Fw16s* pSrcDst ); |
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. |
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.
This chapter describes functions that warp, shear, resize, mirror, and rotate images.
Resize an image
MT, SSE2
FwStatus | fwiResize_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); | |
FwStatus | fwiResize_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); |
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 . |
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.
Resize image relative to center pixel
MT, SSE2
FwStatus | fwiResizeCenter_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_32f_P3R | ( | const Fw32f * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiResizeCenter_32f_P4R | ( | const Fw32f * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, double xCenter, double yCenter, int interpolation ); |
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 . |
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.
Get resizing fraction
FwStatus | fwiGetResizeFract | ( | FwiSize srcSize, FwiRect srcRoi, double xFactor, double yFactor, double* xFr, double* yFr, int interpolation ); |
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 . |
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
Resize and shift an image
FwStatus | fwiResizeShift_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiResizeShift_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiSize dstRoiSize, double xFr, double yFr, double xShift, double yShift, int interpolation ); |
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. |
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
Calculate external buffer size for <FunctionName>ResizeSqrPixel</FunctionName> function
FwStatus | fwiResizeSqrPixelGetBufSize | ( | FwiSize dstSize, int nChannel, int interpolation, int * pBufferSize ); |
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. |
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.
Resize and shift an image
SSE2
FwStatus | fwiResizeSqrPixel_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_32f_P3R | ( | const Fw32f * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * const pDst[3], int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); | |
FwStatus | fwiResizeSqrPixel_32f_P4R | ( | const Fw32f * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * const pDst[4], int dstStep, FwiRect dstRoi, double xFactor, double yFactor, double xShift, double yShift, int interpolation, Fw8u * pBuffer ); |
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. |
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.
Resize a YUV422 image
FwStatus | fwiResizeYUV422_8u_C2R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, double xFactor, double yFactor, int interpolation ); |
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 . |
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 an image
SSE2
FwStatus | fwiMirror_8u_C1R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_C3R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_C4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_AC4R | ( | const Fw8u * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_C1R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_C4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_AC4R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_C1R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_C3R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_C4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_AC4R | ( | const Fw32s * pSrc, int srcStep, Fw32s * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_C1R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_C3R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_C4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_AC4R | ( | const Fw32f * pSrc, int srcStep, Fw32f * pDst, int dstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_C1IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_C3IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_C4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_8u_AC4IR | ( | Fw8u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_C1IR | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_C3IR | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_C4IR | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_16u_AC4IR | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_C1IR | ( | Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_C3IR | ( | Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_C4IR | ( | Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32s_AC4IR | ( | Fw32s * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_C1IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_C3IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_C4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); | |
FwStatus | fwiMirror_32f_AC4IR | ( | Fw32f * pSrcDst, int srcDstStep, FwiSize roiSize, FwiAxis flip ); |
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). |
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 an image using table look-up
FwStatus | fwiRemap_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw8u * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw32f * pDst, int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw8u * const pDst[3], int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw8u * const pDst[4], int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw32f* const pDst[3], int dstStep, FwiSize dstRoiSize, int interpolation ); | |
FwStatus | fwiRemap_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const Fw32f * pxMap, int xMapStep, const Fw32f * pyMap, int yMapStep, Fw32f* const pDst[4], int dstStep, FwiSize dstRoiSize, int interpolation ); |
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). |
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 an image
SSE2
FwStatus | fwiRotate_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiRotate_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xShift, double yShift, int interpolation ); |
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. |
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
Get rotation shift values
FwStatus | fwiGetRotateShift | ( | double xCenter, double yCenter, double angle, double* xShift, double* yShift ); |
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. |
This function computes shift values for the RotateCenter functions.
Add new rotation shift values to existing shift values
FwStatus | fwiAddRotateShift | ( | double xCenter, double yCenter, double angle, double* xShift, double* yShift ); |
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. |
This function adds specified shift values to existing shift values for the RotateCenter functions.
Get rotation quadrangle vertices
FwStatus | fwiGetRotateQuad | ( | FwiRect srcRoi, double quad[4][2], double angle, double xShift, double yShift ); |
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. |
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
Get rotation boundary
FwStatus | fwiGetRotateBound | ( | FwiRect srcRoi, double bound[2][2], double angle, double xShift, double yShift ); |
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. |
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
Rotate around a specific center
FwStatus | fwiRotateCenter_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); | |
FwStatus | fwiRotateCenter_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, double angle, double xCenter, double yCenter, int interpolation ); |
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. |
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
Perform shear transform
FwStatus | fwiShear_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); | |
FwStatus | fwiShear_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, double xShear, double yShear, double xShift, double yShift, int interpolation ); |
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. |
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
Get shear quadrangle vertices
FwStatus | fwiGetShearQuad | ( | FwiRect srcRoi, double quad[4][2], double xShear, double yShear, double xShift, double yShift ); |
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. |
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
Get shear boundary
FwStatus | fwiGetShearBound | ( | FwiRect srcRoi, double bound[2][2], double xShear, double yShear, double xShift, double yShift ); |
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. |
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
Perform warp affine transform
FwStatus | fwiWarpAffine_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffine_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); |
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). |
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
Perform inverse warp affine transform
FwStatus | fwiWarpAffineBack_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_16u_C1R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_16u_C3R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_16u_C4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_16u_AC4R | ( | const Fw16u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_16u_P3R | ( | const Fw16u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_16u_P4R | ( | const Fw16u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw16u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); | |
FwStatus | fwiWarpAffineBack_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][3], int interpolation ); |
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). |
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
Perform quadrangular warp affine transform
FwStatus | fwiWarpAffineQuad_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpAffineQuad_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); |
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). |
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
Get affine quadrangle vertices
FwStatus | fwiGetAffineQuad | ( | FwiRect srcRoi, double quad[4][2], const double coeffs[2][3] ); |
coeffs[2][3] | Coefficients for Warp Affine transform. | |
quad[4][2] | Quadrangle vertex coordinates. | |
srcRoi | Source image ROI. |
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
Get affine boundary
FwStatus | fwiGetAffineBound | ( | FwiRect srcRoi, double bound[2][2], const double coeffs[2][3] ); |
bound[2][2] | Boundary rectangle vertex coordinates for a transformed source ROI. | |
coeffs[2][3] | Coefficients for Warp Affine transform. | |
srcRoi | Source image ROI. |
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
Get affine transform coefficients
FwStatus | fwiGetAffineTransform | ( | FwiRect srcRoi, const double quad[4][2], double coeffs[2][3] ); |
coeffs[2][3] | Coefficients for Warp Affine transform. | |
quad[4][2] | Quadrangle vertex coordinates. | |
srcRoi | Source image ROI. |
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.
Perform warp perspective transform
FwStatus | fwiWarpPerspective_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspective_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); |
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). |
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
Perform inverse warp perspective transform
FwStatus | fwiWarpPerspectiveBack_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); | |
FwStatus | fwiWarpPerspectiveBack_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[3][3], int interpolation ); |
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). |
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
Perform quadrangular warp perspective transform
FwStatus | fwiWarpPerspectiveQuad_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpPerspectiveQuad_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); |
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). |
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
Get perspective quadrangle vertices
FwStatus | fwiGetPerspectiveQuad | ( | FwiRect srcRoi, double quad[4][2], const double coeffs[3][3] ); |
coeffs[3][3] | Coefficients for Warp Affine Perspective transform. | |
quad[4][2] | Quadrangle vertex coordinates. | |
srcRoi | Source image ROI. |
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
Get perspective boundary
FwStatus | fwiGetPerspectiveBound | ( | FwiRect srcRoi, double bound[2][2], const double coeffs[3][3] ); |
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. |
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
Get the perspective transform coefficients
FwStatus | fwiGetPerspectiveTransform | ( | FwiRect srcRoi, const double quad[4][2], double coeffs[3][3] ); |
coeffs[3][3] | Coefficients for Warp Affine Perspective transform. | |
quad[4][2] | Quadrangle vertex coordinates. | |
srcRoi | Source image ROI. |
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.
Perform warp bilinear transform
FwStatus | fwiWarpBilinear_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinear_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); |
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). |
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
Perform inverse warp bilinear transform
FwStatus | fwiWarpBilinearBack_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f * pDst, int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); | |
FwStatus | fwiWarpBilinearBack_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double coeffs[2][4], int interpolation ); |
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). |
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
Perform quadrangular warp bilinear transform
FwStatus | fwiWarpBilinearQuad_8u_C1R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_8u_C3R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_8u_C4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_8u_AC4R | ( | const Fw8u * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_32f_C1R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_32f_C3R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_32f_C4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_32f_AC4R | ( | const Fw32f * pSrc, FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f * pDst, int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_8u_P3R | ( | const Fw8u * const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * const pDst[3], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_8u_P4R | ( | const Fw8u * const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw8u * const pDst[4], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_32f_P3R | ( | const Fw32f* const pSrc[3], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f* const pDst[3], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); | |
FwStatus | fwiWarpBilinearQuad_32f_P4R | ( | const Fw32f* const pSrc[4], FwiSize srcSize, int srcStep, FwiRect srcRoi, const double srcQuad[4][2], Fw32f* const pDst[4], int dstStep, FwiRect dstRoi, const double dstQuad[4][2], int interpolation ); |
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). |
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
Get bilinear quadrangle vertices
FwStatus | fwiGetBilinearQuad | ( | FwiRect srcRoi, double quad[4][2], const double coeffs[2][4] ); |
coeffs[2][4] | Coefficients for Warp Affine Bilinear transform. | |
quad[4][2] | Quadrangle vertex coordinates. | |
srcRoi | Source image ROI. |
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
Get bilinear boundary
FwStatus | fwiGetBilinearBound | ( | FwiRect srcRoi, double bound[2][2], const double coeffs[2][4] ); |
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. |
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
Get the bilinear transform coefficients
FwStatus | fwiGetBilinearTransform | ( | FwiRect srcRoi, const double quad[4][2], double coeffs[2][4] ); |
coeffs[2][4] | Coefficients for Warp Affine Bilinear transform. | |
quad[4][2] | Quadrangle vertex coordinates. | |
srcRoi | Source image ROI. |
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.
/*#DocumentationThis chapter describes functions for 3D look-up with trilinear interpolation.
initialises the FwiLUTSpec structure
SSE2
FwStatus | fwiLookUp3DSpecInitAlloc | ( | const Fw16u cubeDimensions, const Fw16u cubeMax, FwiLUTSpec** ppLUTSpec ); |
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 |
The function allocates memory for the FwiLUTSpec structure and initialises it.
Convert the image from one color space to another by using 3D-Lookup with trilinear interpolation
SSE2
FwStatus | fwiLookUp3D_16u_C3R | ( | const Fw16u * pSrc, int srcStep, Fw16u * pDst, int dstStep, FwiSize roiSize, const Fw16u * pCube, FwiLUTSpec* pLUTSpec ); | |
FwStatus | fwiLookUp3D_16u_C3IR | ( | Fw16u * pSrcDst, int srcDstStep, FwiSize roiSize, const Fw16u * pCube, FwiLUTSpec* pLUTSpec ); |
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). |
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.
free the memory allocated to <Bold>FwiLUTSpec</Bold> structure
SSE2
FwStatus | fwiLookUp3DSpecFree | ( | FwiLUTSpec* pLUTSpec ); |
pLUTSpec | pointer to the FwiLUTSpec structure |
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.
This chapter provides an overview of the information contained in the functional descriptions.
Image Compression library functional descriptions include the following types of information.
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. |
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. |
This chapter describes the FW function that provides library version information.
Get library version
const FwLibraryVersion* | fwjGetLibVersion | ( | ); |
This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.
This chapter describes functions that are used in JPEG image compression.
Convert RGB to grayscale
SSE2
FwStatus | fwiRGBToY_JPEG_8u_P3C1R | ( | const Fw8u * const pSrcRGB[3], int srcStep, Fw8u * pDstY, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToY_JPEG_8u_C3C1R | ( | const Fw8u * pSrcRGB, int srcStep, Fw8u * pDstY, int dstStep, FwiSize roiSize ); |
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). |
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
Convert BGR to grayscale (JPEG)
FwStatus | fwiBGRToY_JPEG_8u_C3C1R | ( | const Fw8u * pSrcBGR, int srcStep, Fw8u * pDstY, int dstStep, FwiSize roiSize ); |
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). |
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
Convert RGB to YCbCr (JPEG)
MT, SSE2
FwStatus | fwiRGBToYCbCr_JPEG_8u_P3R | ( | const Fw8u * const pSrcRGB[3], int srcStep, Fw8u * pDstYCbCr[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGBToYCbCr_JPEG_8u_C3P3R | ( | const Fw8u * pSrcRGB, int srcStep, Fw8u * const pDstYCbCr[3], int dstStep, FwiSize roiSize ); |
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). |
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
Convert YCbCr to RGB (JPEG)
SSE2
FwStatus | fwiYCbCrToRGB_JPEG_8u_P3R | ( | const Fw8u * const pSrcYCbCr[3], int srcStep, Fw8u * pDstRGB[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB_JPEG_8u_P3C3R | ( | const Fw8u * const pSrcYCbCr[3], int srcStep, Fw8u * pDstRGB, int dstStep, FwiSize roiSize ); |
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). |
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
Convert 16-bit RGB to YCbCr (JPEG)
FwStatus | fwiRGB565ToYCbCr_JPEG_16u8u_C3P3R | ( | const Fw16u * pSrcRGB, int srcStep, Fw8u * pDstYCbCr[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiRGB555ToYCbCr_JPEG_16u8u_C3P3R | ( | const Fw16u * pSrcRGB, int srcStep, Fw8u * pDstYCbCr[3], int dstStep, FwiSize roiSize ); |
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). |
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
Convert YCbCr to 16-bit RGB (JPEG)
FwStatus | fwiYCbCrToRGB565_JPEG_8u16u_P3C3R | ( | const Fw8u * pSrcYCbCr[3], int srcStep, Fw16u * pDstRGB, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToRGB555_JPEG_8u16u_P3C3R | ( | const Fw8u * pSrcYCbCr[3], int srcStep, Fw16u * pDstRGB, int dstStep, FwiSize roiSize ); |
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). |
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
Convert BGR to YCbCr (JPEG)
FwStatus | fwiBGRToYCbCr_JPEG_8u_C3P3R | ( | const Fw8u * pSrcBGR, int srcStep, Fw8u * const pDstYCbCr[3], int dstStep, FwiSize roiSize ); |
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). |
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
Convert YCbCr to BGR (JPEG)
FwStatus | fwiYCbCrToBGR_JPEG_8u_P3C3R | ( | const Fw8u * const pSrcYCbCr[3], int srcStep, Fw8u * pDstBGR, int dstStep, FwiSize roiSize ); |
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). |
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
Convert 16-bit BGR to YCbCr (JPEG)
FwStatus | fwiBGR565ToYCbCr_JPEG_16u8u_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw8u * pDstYCbCr[3], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiBGR555ToYCbCr_JPEG_16u8u_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw8u * pDstYCbCr[3], int dstStep, FwiSize roiSize ); |
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). |
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
Convert YCbCr to 16-bit BGR (JPEG)
FwStatus | fwiYCbCrToBGR565_JPEG_8u16u_P3C3R | ( | const Fw8u * pSrcYCbCr[3], int srcStep, Fw16u * pDstBGR, int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCbCrToBGR555_JPEG_8u16u_P3C3R | ( | const Fw8u * pSrcYCbCr[3], int srcStep, Fw16u * pDstBGR, int dstStep, FwiSize roiSize ); |
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). |
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
Convert CMYK to YCCK (JPEG)
SSE2
FwStatus | fwiCMYKToYCCK_JPEG_8u_P4R | ( | const Fw8u * const pSrcCMYK[4], int srcStep, Fw8u * pDstYCCK[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiCMYKToYCCK_JPEG_8u_C4P4R | ( | const Fw8u * const pSrcCMYK, int srcStep, Fw8u * const pDstYCCK[4], int dstStep, FwiSize roiSize ); |
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). |
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.
Convert YCCK to CMYK (JPEG)
SSE2
FwStatus | fwiYCCKToCMYK_JPEG_8u_P4R | ( | const Fw8u * const pSrcYCCK[4], int srcStep, Fw8u * pDstCMYK[4], int dstStep, FwiSize roiSize ); | |
FwStatus | fwiYCCKToCMYK_JPEG_8u_P4C4R | ( | const Fw8u * const pSrcYCCK[4], int srcStep, Fw8u * pDstCMYK, int dstStep, FwiSize roiSize ); |
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). |
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.
Convert RGB data block to 444 YCbCr MCU
SSE2
FwStatus | fwiRGBToYCbCr444LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcRGB, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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
Convert RGB data block to 4:2:2 YCbCr MCU
SSE2
FwStatus | fwiRGBToYCbCr422LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcRGB, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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
Convert RGB data block to 4:1:1 YCbCr MCU
SSE2
FwStatus | fwiRGBToYCbCr411LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcRGB, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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
Convert BGR data block to 4:4:4 YCbCr MCU
SSE2
FwStatus | fwiBGRToYCbCr444LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR565ToYCbCr444LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR555ToYCbCr444LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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
Convert BGR data block to 4:2:2 YCbCr MCU
SSE2
FwStatus | fwiBGRToYCbCr422LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR565ToYCbCr422LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR555ToYCbCr422LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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
Convert BGR data block to 4:1:1 YCbCr MCU
SSE2
FwStatus | fwiBGRToYCbCr411LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR565ToYCbCr411LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiBGR555ToYCbCr411LS_MCU_16u16s_C3P3R | ( | const Fw16u * pSrcBGR, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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
Convert CMYK data block to 4:4:4 YCCK MCU
FwStatus | fwiCMYKToYCCK444LS_MCU_8u16s_C4P4R | ( | const Fw8u * pSrcCMYK, int srcStep, Fw16s * pDstMCU[4] ); |
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). |
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.
Convert CMYK data block to 4:2:2 YCCK MCU
FwStatus | fwiCMYKToYCCK422LS_MCU_8u16s_C4P4R | ( | const Fw8u * pSrcCMYK, int srcStep, Fw16s * pDstMCU[4] ); |
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). |
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.
Convert CMYK data block to 4:1:1 YCCK MCU
FwStatus | fwiCMYKToYCCK411LS_MCU_8u16s_C4P4R | ( | const Fw8u * pSrcCMYK, int srcStep, Fw16s * pDstMCU[4] ); |
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). |
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.
Convert YCbCr MCU to RGB
SSE2
FwStatus | fwiYCbCr444ToRGBLS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDstRGB, int dstStep ); | |
FwStatus | fwiYCbCr422ToRGBLS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDstRGB, int dstStep ); | |
FwStatus | fwiYCbCr411ToRGBLS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDstRGB, int dstStep ); |
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. |
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
Convert YCbCr MCU to BGR
SSE2
FwStatus | fwiYCbCr444ToBGRLS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr444ToBGR565LS_MCU_16s16u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw16u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr444ToBGR555LS_MCU_16s16u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw16u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr422ToBGRLS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr422ToBGR565LS_MCU_16s16u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw16u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr422ToBGR555LS_MCU_16s16u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw16u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr411ToBGRLS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr411ToBGR565LS_MCU_16s16u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw16u * pDstBGR, int dstStep ); | |
FwStatus | fwiYCbCr411ToBGR555LS_MCU_16s16u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw16u * pDstBGR, int dstStep ); |
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. |
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
Convert YCCK MCU to CMYK
FwStatus | fwiYCCK444ToCMYKLS_MCU_16s8u_P4C4R | ( | const Fw16s * pSrcMCU[4], Fw8u * pDstCMYK, int dstStep ); | |
FwStatus | fwiYCCK422ToCMYKLS_MCU_16s8u_P4C4R | ( | const Fw16s * pSrcMCU[4], Fw8u * pDstCMYK, int dstStep ); | |
FwStatus | fwiYCCK411ToCMYKLS_MCU_16s8u_P4C4R | ( | const Fw16s * pSrcMCU[4], Fw8u * pDstCMYK, int dstStep ); |
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. |
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.
Apply quality factor to the raw quantization table
FwStatus | fwiQuantFwdRawTableInit_JPEG_8u | ( | Fw8u * pQuantRawTable, int qualityFactor ); |
pQuantRawTable | Pointer to the raw quantization table. | |
qualityFactor | JPEG image quality factor (value between 1 and 100). |
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.
Change quantization table order for fast encode
FwStatus | fwiQuantFwdTableInit_JPEG_8u16u | ( | const Fw8u * pQuantRawTable, Fw16u * pQuantFwdTable ); |
pQuantFwdTable | Pointer to the forward quantization table (encoder). | |
pQuantRawTable | Pointer to the raw quantization table. |
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.
Quantize data block
FwStatus | fwiQuantFwd8x8_JPEG_16s_C1I | ( | Fw16s * pSrcDst, const Fw16u * pQuantFwdTable ); |
pQuantFwdTable | Pointer to the forward quantization table (encoder). | |
pSrcDst | Pointer to a location in a buffer that contains both the source and destination. |
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.
Change quantization table order for fast decode
FwStatus | fwiQuantInvTableInit_JPEG_8u16u | ( | const Fw8u * pQuantRawTable, Fw16u * pQuantInvTable ); |
pQuantInvTable | Pointer to the inverse quantization table (decoder). | |
pQuantRawTable | Pointer to the raw quantization table. |
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.
Dequantize data block
SSE2
FwStatus | fwiQuantInv8x8_JPEG_16s_C1I | ( | Fw16s * pSrcDst, const Fw16u * pQuantInvTable ); |
pQuantInvTable | Pointer to the inverse quantization table (decoder). | |
pSrcDst | Pointer to a location in a buffer that contains both the source and destination. |
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.
Transform and quantize
SSE2
FwStatus | fwiDCTQuantFwd8x8_JPEG_16s_C1 | ( | const Fw16s * pSrc, Fw16s * pDst, const Fw16u * pQuantFwdTable ); | |
FwStatus | fwiDCTQuantFwd8x8_JPEG_16s_C1I | ( | Fw16s * pDst, const Fw16u * pQuantFwdTable ); |
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. |
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.
Transform and quantize with level shift
SSE2
FwStatus | fwiDCTQuantFwd8x8LS_JPEG_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, const Fw16u * pQuantFwdTable ); |
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). |
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.
Dequantize and transform
SSE2
FwStatus | fwiDCTQuantInv8x8_JPEG_16s_C1 | ( | const Fw16s * pSrc, Fw16s * pDst, const Fw16u * pQuantInvTable ); | |
FwStatus | fwiDCTQuantInv8x8_JPEG_16s_C1I | ( | Fw16s * pDst, const Fw16u * pQuantInvTable ); |
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. |
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.
Dequantize and transform with level shift
SSE2
FwStatus | fwiDCTQuantInv8x8LS_JPEG_16s8u_C1R | ( | const Fw16s * pSrc, Fw8u * pDst, int dstStep, const Fw16u * pQuantInvTable ); |
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. |
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.
Level shift from unsigned 8u to signed 16s
FwStatus | fwiSub128_JPEG_8u16s_C1R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Level shift from signed 16s to unsigned 8u
SSE2
FwStatus | fwiAdd128_JPEG_16s8u_C1R | ( | const Fw16s * pSrc, int srcStep, Fw8u * pDst, int dstStep, FwiSize roiSize ); |
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). |
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.
Downsample block (H2V1)
FwStatus | fwiSampleDownH2V1_JPEG_8u_C1R | ( | const Fw8u * pSrc, int srcStep, FwiSize srcSize, Fw8u * pDst, int dstStep, FwiSize dstSize ); |
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). |
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).
Downsample block (H2V2)
FwStatus | fwiSampleDownH2V2_JPEG_8u_C1R | ( | const Fw8u * pSrc, int srcStep, FwiSize srcSize, Fw8u * pDst, int dstStep, FwiSize dstSize ); |
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). |
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).
Downsample row (H2V1)
FwStatus | fwiSampleDownRowH2V1_Box_JPEG_8u_C1 | ( | const Fw8u * pSrc, int srcWidth, Fw8u * pDst ); |
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. |
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).
Downsample row (H2V2)
FwStatus | fwiSampleDownRowH2V2_Box_JPEG_8u_C1 | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, int srcWidth, Fw8u * pDst ); |
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. |
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).
Upsample block (H2V1)
FwStatus | fwiSampleUpH2V1_JPEG_8u_C1R | ( | const Fw8u * pSrc, int srcStep, FwiSize srcSize, Fw8u * pDst, int dstStep, FwiSize dstSize ); |
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). |
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).
Upsample block (H2V2)
FwStatus | fwiSampleUpH2V2_JPEG_8u_C1R | ( | const Fw8u * pSrc, int srcStep, FwiSize srcSize, Fw8u * pDst, int dstStep, FwiSize dstSize ); |
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). |
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).
Upsample row (H2V1)
FwStatus | fwiSampleUpRowH2V1_Triangle_JPEG_8u_C1 | ( | const Fw8u * pSrc, int srcWidth, Fw8u * pDst ); |
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. |
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).
Upsample row H2V2
FwStatus | fwiSampleUpRowH2V2_Triangle_JPEG_8u_C1 | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, int srcWidth, Fw8u * pDst ); |
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. |
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).
Downsample to 4XX MCU
FwStatus | fwiSampleDown444LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiSampleDown422LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDstMCU[3] ); | |
FwStatus | fwiSampleDown411LS_MCU_8u16s_C3P3R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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.
Upsample from 4XX MCU
FwStatus | fwiSampleUp444LS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDst, int dstStep ); | |
FwStatus | fwiSampleUp422LS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDst, int dstStep ); | |
FwStatus | fwiSampleUp411LS_MCU_16s8u_P3C3R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDst, int dstStep ); |
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. |
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.
Convert 422 MCU to 422 interleaved data
FwStatus | fwiSplit422LS_MCU_8u16s_C2P3R | ( | const Fw8u * pSrc, int srcStep, Fw16s * pDstMCU[3] ); |
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). |
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.
Convert 422 interleaved data to 422 MCU
FwStatus | fwiJoin422LS_MCU_16s8u_P3C2R | ( | const Fw16s * pSrcMCU[3], Fw8u * pDst, int dstStep ); |
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. |
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.
Create raw Huffman encode table
FwStatus | fwiEncodeHuffmanRawTableInit_JPEG_8u | ( | const int pStatistics[256], Fw8u * pListBits, Fw8u * pListVals ); |
pListBits | Pointer to the Bits list. | |
pListVals | Pointer to the Vals list. | |
pStatistics[256] | Pointer to Huffman symbol statistics. |
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.
Get Huffman encode table buffer size
FwStatus | fwiEncodeHuffmanSpecGetBufSize_JPEG_8u | ( | int * pSize ); |
pSize | Pointer to the size of an internal structure. |
This function returns the Huffman encode table buffer size, in bytes.
Initialize Huffman encode table
FwStatus | fwiEncodeHuffmanSpecInit_JPEG_8u | ( | const Fw8u * pListBits, const Fw8u * pListVals, FwiEncodeHuffmanSpec * pEncHuffSpec ); |
pEncHuffSpec | Pointer to the FwiEncodeHuffmanSpec structure. | |
pListBits | Pointer to the Bits list. | |
pListVals | Pointer to the Vals list. |
This function creates and initializes a Huffman encode table.
The function definition follows CCITT Rec. T.81(1992 E), Annex C.2.
Allocate memory and initialize Huffman encode table
FwStatus | fwiEncodeHuffmanSpecInitAlloc_JPEG_8u | ( | const Fw8u * pListBits, const Fw8u * pListVals, FwiEncodeHuffmanSpec* * pEncHuffSpec ); |
pEncHuffSpec | Pointer to the FwiEncodeHuffmanSpec structure. | |
pListBits | Pointer to the Bits list. | |
pListVals | Pointer to the Vals list. |
This function allocates memory for creation of a Huffman encode table.
Free Huffman encode table memory
FwStatus | fwiEncodeHuffmanSpecFree_JPEG_8u | ( | FwiEncodeHuffmanSpec * pEncHuffSpec ); |
pEncHuffSpec | Pointer to the FwiEncodeHuffmanSpec structure. |
This function frees memory allocated by the EncodeHuffmanSpecInitAlloc function.
Get Huffman encode state structure buffer size
FwStatus | fwiEncodeHuffmanStateGetBufSize_JPEG_8u | ( | int * pSize ); |
pSize | Pointer to the size of an internal structure. |
This function returns the Huffman encode state structure buffer size, in bytes.
Initialize Huffman encode state structure.
FwStatus | fwiEncodeHuffmanStateInit_JPEG_8u | ( | FwiEncodeHuffmanState * pEncHuffState ); |
pEncHuffState | Pointer to the FwiEncodeHuffmanState structure. |
This function initializes the Huffman encode state structure.
Allocate memory and initialize Huffman encode state structure
FwStatus | fwiEncodeHuffmanStateInitAlloc_JPEG_8u | ( | FwiEncodeHuffmanState* * pEncHuffState ); |
pEncHuffState | Pointer to the FwiEncodeHuffmanState structure. |
This function allocates memory for the Huffman encode state structure and initializes the structure.
Free Huffman encode state structure memory
FwStatus | fwiEncodeHuffmanStateFree_JPEG_8u | ( | FwiEncodeHuffmanState * pEncHuffState ); |
pEncHuffState | Pointer to the FwiEncodeHuffmanState structure. |
This function frees memory allocated by the EncodeHuffmanStateInitAlloc function.
Encode data block with bit accumulation
FwStatus | fwiEncodeHuffman8x8_JPEG_16s1u_C1 | ( | const Fw16s * pSrc, Fw8u * pDst, int dstLenBytes, int * pDstCurrPos, Fw16s * pLastDC, const FwiEncodeHuffmanSpec * pDcTable, const FwiEncodeHuffmanSpec * pAcTable, FwiEncodeHuffmanState * pEncHuffState, int bFlushState ); |
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. |
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.
Encode data block without bit accumulation
FwStatus | fwiEncodeHuffman8x8_Direct_JPEG_16s1u_C1 | ( | const Fw16s * pSrc, Fw8u * pDst, int * pDstBitsLen, Fw16s * pLastDC, const FwiEncodeHuffmanSpec * pDcTable, const FwiEncodeHuffmanSpec * pAcTable ); |
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. |
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.
Encode progressive DC initial
FwStatus | fwiEncodeHuffman8x8_DCFirst_JPEG_16s1u_C1 | ( | const Fw16s * pSrc, Fw8u * pDst, int dstLenBytes, int * pDstCurrPos, Fw16s * pLastDC, int Al, const FwiEncodeHuffmanSpec * pDcTable, FwiEncodeHuffmanState * pEncHuffState, int bFlushState ); |
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. |
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.
Encode progressive DC subsequent
FwStatus | fwiEncodeHuffman8x8_DCRefine_JPEG_16s1u_C1 | ( | const Fw16s * pSrc, Fw8u * pDst, int dstLenBytes, int * pDstCurrPos, int Al, FwiEncodeHuffmanState * pEncHuffState, int bFlushState ); |
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. |
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.
Encode progressive AC initial
FwStatus | fwiEncodeHuffman8x8_ACFirst_JPEG_16s1u_C1 | ( | const Fw16s * pSrc, Fw8u * pDst, int dstLenBytes, int * pDstCurrPos, int Ss, int Se, int Al, const FwiEncodeHuffmanSpec * pAcTable, FwiEncodeHuffmanState * pEncHuffState, int bFlushState ); |
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. |
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.
Encode progressive AC subsequent
FwStatus | fwiEncodeHuffman8x8_ACRefine_JPEG_16s1u_C1 | ( | const Fw16s * pSrc, Fw8u * pDst, int dstLenBytes, int * pDstCurrPos, int Ss, int Se, int Al, const FwiEncodeHuffmanSpec * pAcTable, FwiEncodeHuffmanState * pEncHuffState, int bFlushState ); |
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. |
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.
Get encoding statistics for data block
FwStatus | fwiGetHuffmanStatistics8x8_JPEG_16s_C1 | ( | const Fw16s * pSrc, int pDcStatistics[256], int pAcStatistics[256], Fw16s * pLastDC ); |
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. |
This function computes statistics for encoding an 8X8 data block of DCT coefficients.
Get encoding statistics progressive DC initial
FwStatus | fwiGetHuffmanStatistics8x8_DCFirst_JPEG_16s_C1 | ( | const Fw16s * pSrc, int pDcStatistics[256], Fw16s * pLastDC, int Al ); |
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. |
This function computes statistics for the first scan of the DC coefficient in progressivce encoding of a data block.
Get Huffman decode buffer size
FwStatus | fwiDecodeHuffmanSpecGetBufSize_JPEG_8u | ( | int * pSize ); |
pSize | Pointer to the size of an internal structure. |
This function returns the Huffman decoder buffer size in bytes.
Initialize Huffman decode table
FwStatus | fwiDecodeHuffmanSpecInit_JPEG_8u | ( | const Fw8u * pListBits, const Fw8u * pListVals, FwiDecodeHuffmanSpec * pDecHuffSpec ); |
pDecHuffSpec | Pointer to the FwiDecodeHuffmanSpec structure. | |
pListBits | Pointer to the Bits list. | |
pListVals | Pointer to the Vals list. |
This function creates a Huffman table and initializes it for decode.
Allocate memory and initialize Huffman decode table
FwStatus | fwiDecodeHuffmanSpecInitAlloc_JPEG_8u | ( | const Fw8u * pListBits, const Fw8u * pListVals, FwiDecodeHuffmanSpec* * pDecHuffSpec ); |
pDecHuffSpec | Pointer to the FwiDecodeHuffmanSpec structure. | |
pListBits | Pointer to the Bits list. | |
pListVals | Pointer to the Vals list. |
This function allocates memory for a Huffman decode table, creates the table, and initializes it for decode.
Free Huffman decode table memory
FwStatus | fwiDecodeHuffmanSpecFree_JPEG_8u | ( | FwiDecodeHuffmanSpec * pDecHuffSpec ); |
pDecHuffSpec | Pointer to the FwiDecodeHuffmanSpec structure. |
This function frees the memory allocated for a Huffman decode table.
Get Huffman decode state structure buffer size
FwStatus | fwiDecodeHuffmanStateGetBufSize_JPEG_8u | ( | int * pSize ); |
pSize | Pointer to the size of an internal structure. |
This function returns the Huffman decode state structure buffer size, in bytes.
Initialize Huffman decode state structure
FwStatus | fwiDecodeHuffmanStateInit_JPEG_8u | ( | FwiDecodeHuffmanState * pDecHuffState ); |
pDecHuffState | Pointer to the FwiDecodeHuffmanState structure. |
This function initializes the Huffman decode state structure.
Allocate memory and initialize Huffman decode state structure
FwStatus | fwiDecodeHuffmanStateInitAlloc_JPEG_8u | ( | FwiDecodeHuffmanState* * pDecHuffState ); |
pDecHuffState | Pointer to the FwiDecodeHuffmanState structure. |
This function allocates memory and initializes a Huffman state structure.
Free Huffman decode state structure memory
FwStatus | fwiDecodeHuffmanStateFree_JPEG_8u | ( | FwiDecodeHuffmanState * pDecHuffState ); |
pDecHuffState | Pointer to the FwiDecodeHuffmanState structure. |
This function frees the memory allocated to the Huffman decode state structure.
Decode data block
SSE2
FwStatus | fwiDecodeHuffman8x8_JPEG_1u16s_C1 | ( | const Fw8u * pSrc, int srcLenBytes, int * pSrcCurrPos, Fw16s * pDst, Fw16s * pLastDC, int * pMarker, const FwiDecodeHuffmanSpec * pDcTable, const FwiDecodeHuffmanSpec * pAcTable, FwiDecodeHuffmanState * pDecHuffState ); |
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. |
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.
Decode data block without bit accumulation
FwStatus | fwiDecodeHuffman8x8_Direct_JPEG_1u16s_C1 | ( | const Fw8u * pSrc, int * pSrcBitsLen, Fw16s * pDst, Fw16s * pLastDC, int * pMarker, Fw32u * pPrefetchedBits, int * pNumValidPrefetchedBits, const FwiDecodeHuffmanSpec * pDcTable, const FwiDecodeHuffmanSpec * pAcTable ); |
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. |
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.
Decode progressive DC initial
FwStatus | fwiDecodeHuffman8x8_DCFirst_JPEG_1u16s_C1 | ( | const Fw8u * pSrc, int srcLenBytes, int * pSrcCurrPos, Fw16s * pDst, Fw16s * pLastDC, int * pMarker, int Al, const FwiDecodeHuffmanSpec * pDcTable, FwiDecodeHuffmanState * pDecHuffState ); |
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. |
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.
Decode progressive DC initial
FwStatus | fwiDecodeHuffman8x8_DCRefine_JPEG_1u16s_C1 | ( | const Fw8u * pSrc, int srcLenBytes, int * pSrcCurrPos, Fw16s * pDst, int * pMarker, int Al, FwiDecodeHuffmanState * pDecHuffState ); |
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. |
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.
Decode progressive AC initial
FwStatus | fwiDecodeHuffman8x8_ACFirst_JPEG_1u16s_C1 | ( | const Fw8u * pSrc, int srcLenBytes, int * pSrcCurrPos, Fw16s * pDst, int * pMarker, int Ss, int Se, int Al, const FwiDecodeHuffmanSpec * pAcTable, FwiDecodeHuffmanState * pDecHuffState ); |
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. |
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.
Decode progressive AC subsequent
FwStatus | fwiDecodeHuffman8x8_ACRefine_JPEG_1u16s_C1 | ( | const Fw8u * pSrc, int srcLenBytes, int * pSrcCurrPos, Fw16s * pDst, int * pMarker, int Ss, int Se, int Al, const FwiDecodeHuffmanSpec * pAcTable, FwiDecodeHuffmanState * pDecHuffState ); |
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. |
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 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.
This chapter provides an overview of the information contained in the functional descriptions.
Framewave functional descriptions include the following types of information.
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. |
This chapter describes the FW function that provides library version information.
Get library version
const FwLibraryVersion* | fwsGetLibVersion | ( | ); |
This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.
This chapter describes functions that perform vector calculations.
Add
MT, SSE2, Family10h
FwStatus | fwsAdd_8u16u | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw16u * pDst, int len ); | |
FwStatus | fwsAdd_32u | ( | const Fw32u * pSrc1, const Fw32u * pSrc2, Fw32u * pDst, int len ); | |
FwStatus | fwsAdd_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsAdd_64s | ( | const Fw64s* pSrc1, const Fw64s* pSrc2, Fw64s* pDst, int len ); | |
FwStatus | fwsAdd_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsAdd_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, Fw32fc * pDst, int len ); | |
FwStatus | fwsAdd_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, Fw64fc * pDst, int len ); | |
FwStatus | fwsAdd_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsAdd_16s_I | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsAdd_16s32s_I | ( | const Fw16s * pSrc, Fw32s * pSrcDst, int len ); | |
FwStatus | fwsAdd_32f_I | ( | const Fw32f * pSrc, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsAdd_64f_I | ( | const Fw64f * pSrc, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsAdd_32fc_I | ( | const Fw32fc * pSrc, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsAdd_64fc_I | ( | const Fw64fc * pSrc, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsAdd_8u_Sfs | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_16sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_32sc_Sfs | ( | const Fw32sc * pSrc1, const Fw32sc * pSrc2, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_8u_ISfs | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_16s_ISfs | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_32s_ISfs | ( | const Fw32s * pSrc, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_16sc_ISfs | ( | const Fw16sc * pSrc, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAdd_32sc_ISfs | ( | const Fw32sc * pSrc, Fw32sc * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Add constant
MT, SSE2, Family10h
FwStatus | fwsAddC_32f | ( | const Fw32f * pSrc, Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsAddC_64f | ( | const Fw64f * pSrc, Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsAddC_32fc | ( | const Fw32fc * pSrc, Fw32fc val, Fw32fc * pDst, int len ); | |
FwStatus | fwsAddC_64fc | ( | const Fw64fc * pSrc, Fw64fc val, Fw64fc * pDst, int len ); | |
FwStatus | fwsAddC_16s_I | ( | Fw16s val, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsAddC_32f_I | ( | Fw32f val, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsAddC_64f_I | ( | Fw64f val, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsAddC_32fc_I | ( | Fw32fc val, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsAddC_64fc_I | ( | Fw64fc val, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsAddC_8u_Sfs | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_16s_Sfs | ( | const Fw16s * pSrc, Fw16s val, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_32s_Sfs | ( | const Fw32s * pSrc, Fw32s val, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc val, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_32sc_Sfs | ( | const Fw32sc * pSrc, Fw32sc val, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_8u_ISfs | ( | Fw8u val, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_16s_ISfs | ( | Fw16s val, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_32s_ISfs | ( | Fw32s val, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_16sc_ISfs | ( | Fw16sc val, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAddC_32sc_ISfs | ( | Fw32sc val, Fw32sc * pSrcDst, int len, int scaleFactor ); |
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. |
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.
Subtract
MT, SSE2, Family10h
FwStatus | fwsSub_16s | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len ); | |
FwStatus | fwsSub_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsSub_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsSub_64s | ( | const Fw64s * pSrc1, const Fw64s * pSrc2, Fw64s * pDst, int len ); | |
FwStatus | fwsSub_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, Fw32fc * pDst, int len ); | |
FwStatus | fwsSub_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, Fw64fc * pDst, int len ); | |
FwStatus | fwsSub_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsSub_16s_I | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsSub_32f_I | ( | const Fw32f * pSrc, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsSub_64f_I | ( | const Fw64f * pSrc, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsSub_32fc_I | ( | const Fw32fc * pSrc, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsSub_64fc_I | ( | const Fw64fc * pSrc, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsSub_8u_Sfs | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_16sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_32sc_Sfs | ( | const Fw32sc * pSrc1, const Fw32sc * pSrc2, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_8u_ISfs | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_16s_ISfs | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_32s_ISfs | ( | const Fw32s * pSrc, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_16sc_ISfs | ( | const Fw16sc * pSrc, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSub_32sc_ISfs | ( | const Fw32sc * pSrc, Fw32sc * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Subtract a constant
MT, SSE2, Family10h
FwStatus | fwsSubC_32f | ( | const Fw32f * pSrc, Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsSubC_64f | ( | const Fw64f * pSrc, Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsSubC_32fc | ( | const Fw32fc * pSrc, Fw32fc val, Fw32fc * pDst, int len ); | |
FwStatus | fwsSubC_64fc | ( | const Fw64fc * pSrc, Fw64fc val, Fw64fc * pDst, int len ); | |
FwStatus | fwsSubC_16s_I | ( | Fw16s val, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsSubC_32f_I | ( | Fw32f val, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsSubC_64f_I | ( | Fw64f val, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsSubC_32fc_I | ( | Fw32fc val, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsSubC_64fc_I | ( | Fw64fc val, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsSubC_8u_Sfs | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_16s_Sfs | ( | const Fw16s * pSrc, Fw16s val, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_32s_Sfs | ( | const Fw32s * pSrc, Fw32s val, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc val, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_32sc_Sfs | ( | const Fw32sc * pSrc, Fw32sc val, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_8u_ISfs | ( | Fw8u val, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_16s_ISfs | ( | Fw16s val, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_32s_ISfs | ( | Fw32s val, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_16sc_ISfs | ( | Fw16sc val, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubC_32sc_ISfs | ( | Fw32sc val, Fw32sc * pSrcDst, int len, int scaleFactor ); |
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. |
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.
Subtract from a constant
MT, SSE2, Family10h
FwStatus | fwsSubCRev_32f | ( | const Fw32f * pSrc, Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsSubCRev_64f | ( | const Fw64f * pSrc, Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsSubCRev_32fc | ( | const Fw32fc * pSrc, Fw32fc val, Fw32fc * pDst, int len ); | |
FwStatus | fwsSubCRev_64fc | ( | const Fw64fc * pSrc, Fw64fc val, Fw64fc * pDst, int len ); | |
FwStatus | fwsSubCRev_32f_I | ( | Fw32f val, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsSubCRev_64f_I | ( | Fw64f val, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsSubCRev_32fc_I | ( | Fw32fc val, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsSubCRev_64fc_I | ( | Fw64fc val, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsSubCRev_8u_Sfs | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_16s_Sfs | ( | const Fw16s * pSrc, Fw16s val, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_32s_Sfs | ( | const Fw32s * pSrc, Fw32s val, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc val, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_32sc_Sfs | ( | const Fw32sc * pSrc, Fw32sc val, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_8u_ISfs | ( | Fw8u val, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_16s_ISfs | ( | Fw16s val, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_32s_ISfs | ( | Fw32s val, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_16sc_ISfs | ( | Fw16sc val, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSubCRev_32sc_ISfs | ( | Fw32sc val, Fw32sc * pSrcDst, int len, int scaleFactor ); |
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. |
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.
Add product
MT, SSE2
FwStatus | fwsAddProduct_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsAddProduct_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsAddProduct_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsAddProduct_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsAddProduct_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAddProduct_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsAddProduct_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32s * pSrcDst, int len, int scaleFactor ); |
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). |
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
MT, SSE2, Family10h
FwStatus | fwsAnd_8u | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len ); | |
FwStatus | fwsAnd_16u | ( | const Fw16u * pSrc1, const Fw16u * pSrc2, Fw16u * pDst, int len ); | |
FwStatus | fwsAnd_32u | ( | const Fw32u * pSrc1, const Fw32u * pSrc2, Fw32u * pDst, int len ); | |
FwStatus | fwsAnd_8u_I | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsAnd_16u_I | ( | const Fw16u * pSrc, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsAnd_32u_I | ( | const Fw32u * pSrc, Fw32u * pSrcDst, int len ); |
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. |
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
MT, SSE2, Family10h
FwStatus | fwsOr_8u | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len ); | |
FwStatus | fwsOr_16u | ( | const Fw16u * pSrc1, const Fw16u * pSrc2, Fw16u * pDst, int len ); | |
FwStatus | fwsOr_32u | ( | const Fw32u * pSrc1, const Fw32u * pSrc2, Fw32u * pDst, int len ); | |
FwStatus | fwsOr_8u_I | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsOr_16u_I | ( | const Fw16u * pSrc, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsOr_32u_I | ( | const Fw32u * pSrc, Fw32u * pSrcDst, int len ); |
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. |
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
MT, SSE2, Family10h
FwStatus | fwsXor_8u | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len ); | |
FwStatus | fwsXor_16u | ( | const Fw16u * pSrc1, const Fw16u * pSrc2, Fw16u * pDst, int len ); | |
FwStatus | fwsXor_32u | ( | const Fw32u * pSrc1, const Fw32u * pSrc2, Fw32u * pDst, int len ); | |
FwStatus | fwsXor_8u_I | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsXor_16u_I | ( | const Fw16u * pSrc, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsXor_32u_I | ( | const Fw32u * pSrc, Fw32u * pSrcDst, int len ); |
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. |
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.
AND with constant
MT, SSE2, Family10h
FwStatus | fwsAndC_8u | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len ); | |
FwStatus | fwsAndC_16u | ( | const Fw16u * pSrc, Fw16u val, Fw16u * pDst, int len ); | |
FwStatus | fwsAndC_32u | ( | const Fw32u * pSrc, Fw32u val, Fw32u * pDst, int len ); | |
FwStatus | fwsAndC_8u_I | ( | Fw8u val, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsAndC_16u_I | ( | Fw16u val, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsAndC_32u_I | ( | Fw32u val, Fw32u * pSrcDst, int len ); |
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. |
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.
OR with constant
MT, SSE2, Family10h
FwStatus | fwsOrC_8u | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len ); | |
FwStatus | fwsOrC_16u | ( | const Fw16u * pSrc, Fw16u val, Fw16u * pDst, int len ); | |
FwStatus | fwsOrC_32u | ( | const Fw32u * pSrc, Fw32u val, Fw32u * pDst, int len ); | |
FwStatus | fwsOrC_8u_I | ( | Fw8u val, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsOrC_16u_I | ( | Fw16u val, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsOrC_32u_I | ( | Fw32u val, Fw32u * pSrcDst, int len ); |
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. |
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.
Xor with constant
MT, SSE2, Family10h
FwStatus | fwsXorC_8u | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len ); | |
FwStatus | fwsXorC_16u | ( | const Fw16u * pSrc, Fw16u val, Fw16u * pDst, int len ); | |
FwStatus | fwsXorC_32u | ( | const Fw32u * pSrc, Fw32u val, Fw32u * pDst, int len ); | |
FwStatus | fwsXorC_8u_I | ( | Fw8u val, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsXorC_16u_I | ( | Fw16u val, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsXorC_32u_I | ( | Fw32u val, Fw32u * pSrcDst, int len ); |
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. |
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
MT, SSE2, Family10h
FwStatus | fwsNot_8u | ( | const Fw8u * pSrc, Fw8u * pDst, int len ); | |
FwStatus | fwsNot_16u | ( | const Fw16u * pSrc, Fw16u * pDst, int len ); | |
FwStatus | fwsNot_32u | ( | const Fw32u * pSrc, Fw32u * pDst, int len ); | |
FwStatus | fwsNot_8u_I | ( | Fw8u * pSrcDst, int len ); | |
FwStatus | fwsNot_16u_I | ( | Fw16u * pSrcDst, int len ); | |
FwStatus | fwsNot_32u_I | ( | Fw32u * pSrcDst, int len ); |
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. |
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.
Left shift by a constant value
MT, SSE2, Family10h
FwStatus | fwsLShiftC_8u | ( | const Fw8u * pSrc, int val, Fw8u * pDst, int len ); | |
FwStatus | fwsLShiftC_16s | ( | const Fw16s * pSrc, int val, Fw16s * pDst, int len ); | |
FwStatus | fwsLShiftC_16u | ( | const Fw16u * pSrc, int val, Fw16u * pDst, int len ); | |
FwStatus | fwsLShiftC_32s | ( | const Fw32s * pSrc, int val, Fw32s * pDst, int len ); | |
FwStatus | fwsLShiftC_8u_I | ( | int val, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsLShiftC_16u_I | ( | int val, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsLShiftC_16s_I | ( | int val, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsLShiftC_32s_I | ( | int val, Fw32s * pSrcDst, int len ); |
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. |
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.
Right shift by a constant value
MT, SSE2, Family10h
FwStatus | fwsRShiftC_8u | ( | const Fw8u * pSrc, int val, Fw8u * pDst, int len ); | |
FwStatus | fwsRShiftC_16s | ( | const Fw16s * pSrc, int val, Fw16s * pDst, int len ); | |
FwStatus | fwsRShiftC_16u | ( | const Fw16u * pSrc, int val, Fw16u * pDst, int len ); | |
FwStatus | fwsRShiftC_32s | ( | const Fw32s * pSrc, int val, Fw32s * pDst, int len ); | |
FwStatus | fwsRShiftC_8u_I | ( | int val, Fw8u * pSrcDst, int len ); | |
FwStatus | fwsRShiftC_16u_I | ( | int val, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsRShiftC_16s_I | ( | int val, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsRShiftC_32s_I | ( | int val, Fw32s * pSrcDst, int len ); |
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. |
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.
Multiply
MT, SSE2, Family10h
FwStatus | fwsMul_16s | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len ); | |
FwStatus | fwsMul_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsMul_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsMul_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, Fw32fc * pDst, int len ); | |
FwStatus | fwsMul_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, Fw64fc * pDst, int len ); | |
FwStatus | fwsMul_8u16u | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw16u * pDst, int len ); | |
FwStatus | fwsMul_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsMul_16s_I | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsMul_32f_I | ( | const Fw32f * pSrc, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsMul_64f_I | ( | const Fw64f * pSrc, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsMul_32fc_I | ( | const Fw32fc * pSrc, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsMul_64fc_I | ( | const Fw64fc * pSrc, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsMul_8u_Sfs | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_16sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_32sc_Sfs | ( | const Fw32sc * pSrc1, const Fw32sc * pSrc2, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_16u16s_Sfs | ( | const Fw16u * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_32s32sc_Sfs | ( | const Fw32s * pSrc1, const Fw32sc * pSrc2, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_8u_ISfs | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_16s_ISfs | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_32s_ISfs | ( | const Fw32s * pSrc, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_16sc_ISfs | ( | const Fw16sc * pSrc, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_32sc_ISfs | ( | const Fw32sc * pSrc, Fw32sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMul_32s32sc_ISfs | ( | const Fw32s * pSrc, Fw32sc * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Multiply by a constant
MT, SSE2, Family10h
FwStatus | fwsMulC_32f | ( | const Fw32f * pSrc, Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsMulC_64f | ( | const Fw64f * pSrc, Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsMulC_32fc | ( | const Fw32fc * pSrc, Fw32fc val, Fw32fc * pDst, int len ); | |
FwStatus | fwsMulC_64fc | ( | const Fw64fc * pSrc, Fw64fc val, Fw64fc * pDst, int len ); | |
FwStatus | fwsMulC_16s_I | ( | Fw16s val, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsMulC_32f_I | ( | Fw32f val, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsMulC_64f_I | ( | Fw64f val, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsMulC_32fc_I | ( | Fw32fc val, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsMulC_64fc_I | ( | Fw64fc val, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsMulC_8u_Sfs | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_16s_Sfs | ( | const Fw16s * pSrc, Fw16s val, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_32s_Sfs | ( | const Fw32s * pSrc, Fw32s val, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc val, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_32sc_Sfs | ( | const Fw32sc * pSrc, Fw32sc val, Fw32sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_8u_ISfs | ( | Fw8u val, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_16s_ISfs | ( | Fw16s val, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_32s_ISfs | ( | Fw32s val, Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_16sc_ISfs | ( | Fw16sc val, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_32sc_ISfs | ( | Fw32sc val, Fw32sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_32f16s_Sfs | ( | const Fw32f * pSrc, Fw32f val, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMulC_Low_32f16s | ( | const Fw32f * pSrc, Fw32f val, Fw16s * pDst, int len ); |
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. |
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.
Get absolute value
MT, SSE2, Family10h
FwStatus | fwsAbs_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsAbs_32s | ( | const Fw32s * pSrc, Fw32s * pDst, int len ); | |
FwStatus | fwsAbs_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAbs_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAbs_16s_I | ( | Fw16s * pSrcDst, int len ); | |
FwStatus | fwsAbs_32s_I | ( | Fw32s * pSrcDst, int len ); | |
FwStatus | fwsAbs_32f_I | ( | Fw32f * pSrcDst, int len ); | |
FwStatus | fwsAbs_64f_I | ( | Fw64f * pSrcDst, int len ); |
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. |
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.
Square root
MT, SSE2, Family10h
FwStatus | fwsSqrt_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSqrt_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsSqrt_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len ); | |
FwStatus | fwsSqrt_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len ); | |
FwStatus | fwsSqrt_32f_I | ( | Fw32f * pSrcDst, int len ); | |
FwStatus | fwsSqrt_64f_I | ( | Fw64f * pSrcDst, int len ); | |
FwStatus | fwsSqrt_32fc_I | ( | Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsSqrt_64fc_I | ( | Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsSqrt_8u_Sfs | ( | const Fw8u * pSrc, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_16s_Sfs | ( | const Fw16s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_16u_Sfs | ( | const Fw16u * pSrc, Fw16u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_32s16s_Sfs | ( | const Fw32s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_64s16s_Sfs | ( | const Fw64s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_8u_ISfs | ( | Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_16s_ISfs | ( | Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_16u_ISfs | ( | Fw16u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_64s_Sfs | ( | const Fw64s * pSrc, Fw64s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_64s_ISfs | ( | Fw64s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_16sc_ISfs | ( | Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqrt_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, int scaleFactor ); |
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). |
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.
Square
MT, SSE2, Family10h
FwStatus | fwsSqr_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSqr_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsSqr_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len ); | |
FwStatus | fwsSqr_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len ); | |
FwStatus | fwsSqr_32f_I | ( | Fw32f * pSrcDst, int len ); | |
FwStatus | fwsSqr_64f_I | ( | Fw64f * pSrcDst, int len ); | |
FwStatus | fwsSqr_32fc_I | ( | Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsSqr_64fc_I | ( | Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsSqr_8u_Sfs | ( | const Fw8u * pSrc, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_16s_Sfs | ( | const Fw16s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_16u_Sfs | ( | const Fw16u * pSrc, Fw16u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_8u_ISfs | ( | Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_16s_ISfs | ( | Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_16u_ISfs | ( | Fw16u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsSqr_16sc_ISfs | ( | Fw16sc * pSrcDst, int len, int scaleFactor ); |
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). |
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
MT, SSE2, Family10h
FwStatus | fwsNormalize_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f vsub, Fw32f vdiv ); | |
FwStatus | fwsNormalize_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f vsub, Fw64f vdiv ); | |
FwStatus | fwsNormalize_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32fc vsub, Fw32f vdiv ); | |
FwStatus | fwsNormalize_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64fc vsub, Fw64f vdiv ); | |
FwStatus | fwsNormalize_16s_Sfs | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s vsub, int vdiv, int scaleFactor ); | |
FwStatus | fwsNormalize_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, Fw16sc vsub, int vdiv, int scaleFactor ); |
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. |
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
Divide
MT, SSE2, Family10h
FwStatus | fwsDiv_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsDiv_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsDiv_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, Fw32fc * pDst, int len ); | |
FwStatus | fwsDiv_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, Fw64fc * pDst, int len ); | |
FwStatus | fwsDiv_32f_I | ( | const Fw32f * pSrc, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsDiv_64f_I | ( | const Fw64f * pSrc, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsDiv_32fc_I | ( | const Fw32fc * pSrc, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsDiv_64fc_I | ( | const Fw64fc * pSrc, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsDiv_8u_Sfs | ( | const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_16sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_32s16s_Sfs | ( | const Fw16s * pSrc1, const Fw32s * pSrc2, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_8u_ISfs | ( | const Fw8u * pSrc, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_16s_ISfs | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_16sc_ISfs | ( | const Fw16sc * pSrc, Fw16sc * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsDiv_32s_ISfs | ( | const Fw32s * pSrc, Fw32s * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Divide by a constant
MT, SSE2
FwStatus | fwsDivC_32f | ( | const Fw32f * pSrc, Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsDivC_64f | ( | const Fw64f * pSrc, Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsDivC_32fc | ( | const Fw32fc * pSrc, Fw32fc val, Fw32fc * pDst, int len ); | |
FwStatus | fwsDivC_64fc | ( | const Fw64fc * pSrc, Fw64fc val, Fw64fc * pDst, int len ); | |
FwStatus | fwsDivC_32f_I | ( | Fw32f val, Fw32f * pSrcDst, int len ); | |
FwStatus | fwsDivC_64f_I | ( | Fw64f val, Fw64f * pSrcDst, int len ); | |
FwStatus | fwsDivC_32fc_I | ( | Fw32fc val, Fw32fc * pSrcDst, int len ); | |
FwStatus | fwsDivC_64fc_I | ( | Fw64fc val, Fw64fc * pSrcDst, int len ); | |
FwStatus | fwsDivC_8u_Sfs | ( | const Fw8u * pSrc, Fw8u val, Fw8u * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDivC_16s_Sfs | ( | const Fw16s * pSrc, Fw16s val, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDivC_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16sc val, Fw16sc * pDst, int len, int scaleFactor ); | |
FwStatus | fwsDivC_8u_ISfs | ( | Fw8u val, Fw8u * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsDivC_16s_ISfs | ( | Fw16s val, Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsDivC_16sc_ISfs | ( | Fw16sc val, Fw16sc * pSrcDst, int len, int scaleFactor ); |
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. |
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.
Divide a constant
MT, SSE2
FwStatus | fwsDivCRev_16u | ( | const Fw16u * pSrc, Fw16u val, Fw16u * pDst, int len ); | |
FwStatus | fwsDivCRev_32f | ( | const Fw32f * pSrc, Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsDivCRev_16u_I | ( | Fw16u val, Fw16u * pSrcDst, int len ); | |
FwStatus | fwsDivCRev_32f_I | ( | Fw32f val, Fw32f * pSrcDst, int len ); |
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. |
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.
Cube root
MT, SSE2, Family10h
FwStatus | fwsCubrt_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCubrt_32s16s_Sfs | ( | const Fw32s * pSrc, Fw16s * pDst, int len, int scaleFactor ); |
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). |
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.
Raise base e to a specified power
MT, SSE2, Family10h
FwStatus | fwsExp_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsExp_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsExp_32f64f | ( | const Fw32f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsExp_32f_I | ( | Fw32f * pSrcDst, int len ); | |
FwStatus | fwsExp_64f_I | ( | Fw64f * pSrcDst, int len ); | |
FwStatus | fwsExp_16s_Sfs | ( | const Fw16s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsExp_32s_Sfs | ( | const Fw32s * pSrc, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsExp_64s_Sfs | ( | const Fw64s * pSrc, Fw64s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsExp_16s_ISfs | ( | Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsExp_32s_ISfs | ( | Fw32s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsExp_64s_ISfs | ( | Fw64s * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Natural logarithm
MT, SSE2, Family10h
FwStatus | fwsLn_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLn_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsLn_64f32f | ( | const Fw64f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLn_32f_I | ( | Fw32f * pSrcDst, int len ); | |
FwStatus | fwsLn_64f_I | ( | Fw64f * pSrcDst, int len ); | |
FwStatus | fwsLn_16s_Sfs | ( | const Fw16s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsLn_32s_Sfs | ( | const Fw32s * pSrc, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsLn_32s16s_Sfs | ( | const Fw32s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsLn_16s_ISfs | ( | Fw16s * pSrcDst, int len, int scaleFactor ); | |
FwStatus | fwsLn_32s_ISfs | ( | Fw32s * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Ten times log to the base 10
MT, SSE2, Family10h
FwStatus | fws10Log10_32s_Sfs | ( | const Fw32s * pSrc, Fw32s * pDst, int len, int scaleFactor ); | |
FwStatus | fws10Log10_32s_ISfs | ( | Fw32s * pSrcDst, int len, int scaleFactor ); |
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). |
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.
Arc Tangent
MT, SSE2
FwStatus | fwsArctan_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsArctan_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsArctan_32f_I | ( | Fw32f * pSrcDst, int len ); | |
FwStatus | fwsArctan_64f_I | ( | Fw64f * pSrcDst, int len ); |
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. |
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.
Compare to a threshold value, replace with a specified value (Less Than)
MT, SSE2, Family10h
FwStatus | fwsThreshold_LTVal_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s level, Fw16s value ); | |
FwStatus | fwsThreshold_LTVal_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f level, Fw32f value ); | |
FwStatus | fwsThreshold_LTVal_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f level, Fw64f value ); | |
FwStatus | fwsThreshold_LTVal_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, Fw16s level, Fw16sc value ); | |
FwStatus | fwsThreshold_LTVal_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32f level, Fw32fc value ); | |
FwStatus | fwsThreshold_LTVal_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64f level, Fw64fc value ); | |
FwStatus | fwsThreshold_LTVal_16s_I | ( | Fw16s * pSrcDst, int len, Fw16s level, Fw16s value ); | |
FwStatus | fwsThreshold_LTVal_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f level, Fw32f value ); | |
FwStatus | fwsThreshold_LTVal_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f level, Fw64f value ); | |
FwStatus | fwsThreshold_LTVal_16sc_I | ( | Fw16sc * pSrcDst, int len, Fw16s level, Fw16sc value ); | |
FwStatus | fwsThreshold_LTVal_32fc_I | ( | Fw32fc * pSrcDst, int len, Fw32f level, Fw32fc value ); | |
FwStatus | fwsThreshold_LTVal_64fc_I | ( | Fw64fc * pSrcDst, int len, Fw64f level, Fw64fc value ); |
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. |
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 | | | |
Compare to a threshold value, replace with a specified value (Greater Than)
MT, SSE2, Family10h
FwStatus | fwsThreshold_GTVal_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s level, Fw16s value ); | |
FwStatus | fwsThreshold_GTVal_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f level, Fw32f value ); | |
FwStatus | fwsThreshold_GTVal_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f level, Fw64f value ); | |
FwStatus | fwsThreshold_GTVal_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, Fw16s level, Fw16sc value ); | |
FwStatus | fwsThreshold_GTVal_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32f level, Fw32fc value ); | |
FwStatus | fwsThreshold_GTVal_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64f level, Fw64fc value ); | |
FwStatus | fwsThreshold_GTVal_16s_I | ( | Fw16s * pSrcDst, int len, Fw16s level, Fw16s value ); | |
FwStatus | fwsThreshold_GTVal_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f level, Fw32f value ); | |
FwStatus | fwsThreshold_GTVal_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f level, Fw64f value ); | |
FwStatus | fwsThreshold_GTVal_16sc_I | ( | Fw16sc * pSrcDst, int len, Fw16s level, Fw16sc value ); | |
FwStatus | fwsThreshold_GTVal_32fc_I | ( | Fw32fc * pSrcDst, int len, Fw32f level, Fw32fc value ); | |
FwStatus | fwsThreshold_GTVal_64fc_I | ( | Fw64fc * pSrcDst, int len, Fw64f level, Fw64fc value ); |
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. |
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 | | | |
Compare to upper and lower threshold values, replace with a specified value
MT, SSE2, Family10h
FwStatus | fwsThreshold_LTValGTVal_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s levelLT, Fw16s valueLT, Fw16s levelGT, Fw16s valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_32s | ( | const Fw32s * pSrc, Fw32s * pDst, int len, Fw32s levelLT, Fw32s valueLT, Fw32s levelGT, Fw32s valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f levelLT, Fw32f valueLT, Fw32f levelGT, Fw32f valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f levelLT, Fw64f valueLT, Fw64f levelGT, Fw64f valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_16s_I | ( | Fw16s * pSrcDst, int len, Fw16s levelLT, Fw16s valueLT, Fw16s levelGT, Fw16s valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_32s_I | ( | Fw32s * pSrcDst, int len, Fw32s levelLT, Fw32s valueLT, Fw32s levelGT, Fw32s valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f levelLT, Fw32f valueLT, Fw32f levelGT, Fw32f valueGT ); | |
FwStatus | fwsThreshold_LTValGTVal_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f levelLT, Fw64f valueLT, Fw64f levelGT, Fw64f valueGT ); |
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. |
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|
Compare to a threshold value (Less Than)
MT, SSE2, Family10h
FwStatus | fwsThreshold_LT_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s level ); | |
FwStatus | fwsThreshold_LT_32s | ( | const Fw32s * pSrc, Fw32s * pDst, int len, Fw32s level ); | |
FwStatus | fwsThreshold_LT_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LT_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LT_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LT_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LT_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, Fw16s level ); | |
FwStatus | fwsThreshold_LT_16s_I | ( | Fw16s * pSrcDst, int len, Fw16s level ); | |
FwStatus | fwsThreshold_LT_32s_I | ( | Fw32s * pSrcDst, int len, Fw32s level ); | |
FwStatus | fwsThreshold_LT_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LT_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LT_32fc_I | ( | Fw32fc * pSrcDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LT_64fc_I | ( | Fw64fc * pSrcDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LT_16sc_I | ( | Fw16sc * pSrcDst, int len, Fw16s level ); |
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. |
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 | | | |
Compare to a threshold value (Greater Than)
MT, SSE2, Family10h
FwStatus | fwsThreshold_GT_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s level ); | |
FwStatus | fwsThreshold_GT_32s | ( | const Fw32s * pSrc, Fw32s * pDst, int len, Fw32s level ); | |
FwStatus | fwsThreshold_GT_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_GT_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_GT_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_GT_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_GT_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, Fw16s level ); | |
FwStatus | fwsThreshold_GT_16s_I | ( | Fw16s * pSrcDst, int len, Fw16s level ); | |
FwStatus | fwsThreshold_GT_32s_I | ( | Fw32s * pSrcDst, int len, Fw32s level ); | |
FwStatus | fwsThreshold_GT_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_GT_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_GT_32fc_I | ( | Fw32fc * pSrcDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_GT_64fc_I | ( | Fw64fc * pSrcDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_GT_16sc_I | ( | Fw16sc * pSrcDst, int len, Fw16s level ); |
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. |
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 | | |
Compare to a threshold value, replace with threshold value (General)
MT, SSE2, Family10h
FwStatus | fwsThreshold_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len, Fw16s level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len, Fw16s level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_16s_I | ( | Fw16s * pSrcDst, int len, Fw16s level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_32fc_I | ( | Fw32fc * pSrcDst, int len, Fw32f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_64fc_I | ( | Fw64fc * pSrcDst, int len, Fw64f level, FwCmpOp relOp ); | |
FwStatus | fwsThreshold_16sc_I | ( | Fw16sc * pSrcDst, int len, Fw16s level, FwCmpOp relOp ); |
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. |
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 | | |
Compare to a threshold value, replace with inverted threshold value
MT, SSE2, Family10h
FwStatus | fwsThreshold_LTInv_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LTInv_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LTInv_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LTInv_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LTInv_32f_I | ( | Fw32f * pSrcDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LTInv_64f_I | ( | Fw64f * pSrcDst, int len, Fw64f level ); | |
FwStatus | fwsThreshold_LTInv_32fc_I | ( | Fw32fc * pSrcDst, int len, Fw32f level ); | |
FwStatus | fwsThreshold_LTInv_64fc_I | ( | Fw64fc * pSrcDst, int len, Fw64f level ); |
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. |
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|
Complex vector magnitude
MT, SSE2, Family10h
FwStatus | fwsMagnitude_32f | ( | const Fw32f * pSrcRe, const Fw32f * pSrcIm, Fw32f * pDst, int len ); | |
FwStatus | fwsMagnitude_64f | ( | const Fw64f * pSrcRe, const Fw64f * pSrcIm, Fw64f * pDst, int len ); | |
FwStatus | fwsMagnitude_32fc | ( | const Fw32fc * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsMagnitude_64fc | ( | const Fw64fc * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsMagnitude_16s32f | ( | const Fw16s * pSrcRe, const Fw16s * pSrcIm, Fw32f * pDst, int len ); | |
FwStatus | fwsMagnitude_16sc32f | ( | const Fw16sc * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsMagnitude_16s_Sfs | ( | const Fw16s * pSrcRe, const Fw16s * pSrcIm, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMagnitude_16sc_Sfs | ( | const Fw16sc * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsMagnitude_32sc_Sfs | ( | const Fw32sc * pSrc, Fw32s * pDst, int len, int scaleFactor ); |
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). |
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 vector data from one type to another
MT, SSE2, Family10h
FwStatus | fwsConvert_8s16s | ( | const Fw8s * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsConvert_8u16s | ( | const Fw8s * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsConvert_8s32f | ( | const Fw8s * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_8u32f | ( | const Fw8u * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_16s32s | ( | const Fw16s * pSrc, Fw32s * pDst, int len ); | |
FwStatus | fwsConvert_16u32s | ( | const Fw16u * pSrc, Fw32s * pDst, int len ); | |
FwStatus | fwsConvert_16s32f | ( | const Fw16s * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_16u32f | ( | const Fw16u * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_32s16s | ( | const Fw32s * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsConvert_32u16s | ( | const Fw32u * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsConvert_32s32f | ( | const Fw32s * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_32u32f | ( | const Fw32u * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_32s64f | ( | const Fw32s * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsConvert_32u64f | ( | const Fw32u * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsConvert_32f64f | ( | const Fw32f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsConvert_64f32f | ( | const Fw64f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsConvert_16s32f_Sfs | ( | const Fw16s * pSrc, Fw32f * pDst, int len, int scaleFactor ); | |
FwStatus | fwsConvert_16u32f_Sfs | ( | const Fw16u * pSrc, Fw32f * pDst, int len, int scaleFactor ); | |
FwStatus | fwsConvert_16s64f_Sfs | ( | const Fw16s * pSrc, Fw64f * pDst, int len, int scaleFactor ); | |
FwStatus | fwsConvert_32s16s_Sfs | ( | const Fw32s * pSrc, Fw16s * pDst, int len, int scaleFactor ); | |
FwStatus | fwsConvert_32s32f_Sfs | ( | const Fw32s * pSrc, Fw32f * pDst, int len, int scaleFactor ); | |
FwStatus | fwsConvert_32s64f_Sfs | ( | const Fw32s * pSrc, Fw64f * pDst, int len, int scaleFactor ); | |
FwStatus | fwsConvert_32f8s_Sfs | ( | const Fw32f * pSrc, Fw8s * pDst, int len, FwRoundMode rndMode, int scaleFactor ); | |
FwStatus | fwsConvert_32f8u_Sfs | ( | const Fw32f * pSrc, Fw8u * pDst, int len, FwRoundMode rndMode, int scaleFactor ); | |
FwStatus | fwsConvert_32f16s_Sfs | ( | const Fw32f * pSrc, Fw16s * pDst, int len, FwRoundMode rndMode, int scaleFactor ); | |
FwStatus | fwsConvert_32f16u_Sfs | ( | const Fw32f * pSrc, Fw16u * pDst, int len, FwRoundMode rndMode, int scaleFactor ); | |
FwStatus | fwsConvert_32f32s_Sfs | ( | const Fw32f * pSrc, Fw32s * pDst, int len, FwRoundMode rndMode, int scaleFactor ); | |
FwStatus | fwsConvert_64s32s_Sfs | ( | const Fw64s * pSrc, Fw32s * pDst, int len, FwRoundMode rndMode, int scaleFactor ); | |
FwStatus | fwsConvert_64f32s_Sfs | ( | const Fw64f * pSrc, Fw32s * pDst, int len, FwRoundMode rndMode, int scaleFactor ); |
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). |
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.
Maximum
SSE2
FwStatus | fwsMax_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMax ); | |
FwStatus | fwsMax_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMax ); | |
FwStatus | fwsMax_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMax ); | |
FwStatus | fwsMax_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMax ); | |
FwStatus | fwsMax_8s | ( | const Fw8s * pSrc, int len, Fw8s * pMax ); | |
FwStatus | fwsMax_64u | ( | const Fw64u * pSrc, int len, Fw64u * pMax ); |
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. |
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.
Maximum with index
SSE2
FwStatus | fwsMaxIndx_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMax, int * pIndx ); | |
FwStatus | fwsMaxIndx_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMax, int * pIndx ); | |
FwStatus | fwsMaxIndx_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMax, int * pIndx ); | |
FwStatus | fwsMaxIndx_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMax, int * pIndx ); |
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. |
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.
Maximum absolute value
SSE2
FwStatus | fwsMaxAbs_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMaxAbs ); | |
FwStatus | fwsMaxAbs_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMaxAbs ); |
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. |
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.
Maximum absolute value with index
SSE2
FwStatus | fwsMaxAbsIndx_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMaxAbs, int * pIndx ); | |
FwStatus | fwsMaxAbsIndx_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMaxAbs, int * pIndx ); |
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. |
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.
Minimum
SSE2
FwStatus | fwsMin_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMin ); | |
FwStatus | fwsMin_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMin ); | |
FwStatus | fwsMin_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMin ); | |
FwStatus | fwsMin_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMin ); | |
FwStatus | fwsMin_8s | ( | const Fw8s * pSrc, int len, Fw8s * pMin ); | |
FwStatus | fwsMin_64u | ( | const Fw64u * pSrc, int len, Fw64u * pMin ); |
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. |
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.
Minimum with index
SSE2
FwStatus | fwsMinIndx_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMin, int * pIndx ); | |
FwStatus | fwsMinIndx_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMin, int * pIndx ); | |
FwStatus | fwsMinIndx_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMin, int * pIndx ); | |
FwStatus | fwsMinIndx_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMin, int * pIndx ); |
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. |
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.
Minimum absolute value
SSE2
FwStatus | fwsMinAbs_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMinAbs ); | |
FwStatus | fwsMinAbs_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMinAbs ); |
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. |
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.
Minimum absolute value with index
FwStatus | fwsMinAbsIndx_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMinAbs, int * pIndx ); | |
FwStatus | fwsMinAbsIndx_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMinAbs, int * pIndx ); |
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. |
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.
Minimum and maximum
SSE2
FwStatus | fwsMinMax_8u | ( | const Fw8u * pSrc, int len, Fw8u * pMin, Fw8u * pMax ); | |
FwStatus | fwsMinMax_16u | ( | const Fw16u * pSrc, int len, Fw16u * pMin, Fw16u * pMax ); | |
FwStatus | fwsMinMax_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMin, Fw16s * pMax ); | |
FwStatus | fwsMinMax_32u | ( | const Fw32u * pSrc, int len, Fw32u * pMin, Fw32u * pMax ); | |
FwStatus | fwsMinMax_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMin, Fw32s * pMax ); | |
FwStatus | fwsMinMax_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMin, Fw32f * pMax ); | |
FwStatus | fwsMinMax_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMin, Fw64f * pMax ); |
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. |
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.
Minimum and maximum with index
FwStatus | fwsMinMaxIndx_8u | ( | const Fw8u * pSrc, int len, Fw8u * pMin, int * pMinIndx, Fw8u * pMax, int * pMaxIndx ); | |
FwStatus | fwsMinMaxIndx_16u | ( | const Fw16u * pSrc, int len, Fw16u * pMin, int * pMinIndx, Fw16u * pMax, int * pMaxIndx ); | |
FwStatus | fwsMinMaxIndx_16s | ( | const Fw16s * pSrc, int len, Fw16s * pMin, int * pMinIndx, Fw16s * pMax, int * pMaxIndx ); | |
FwStatus | fwsMinMaxIndx_32u | ( | const Fw32u * pSrc, int len, Fw32u * pMin, int * pMinIndx, Fw32u * pMax, int * pMaxIndx ); | |
FwStatus | fwsMinMaxIndx_32s | ( | const Fw32s * pSrc, int len, Fw32s * pMin, int * pMinIndx, Fw32s * pMax, int * pMaxIndx ); | |
FwStatus | fwsMinMaxIndx_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMin, int * pMinIndx, Fw32f * pMax, int * pMaxIndx ); | |
FwStatus | fwsMinMaxIndx_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMin, int * pMinIndx, Fw64f * pMax, int * pMaxIndx ); |
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. |
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 C
SSE2
FwStatus | fwsNorm_Inf_32f | ( | const Fw32f * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_Inf_64f | ( | const Fw64f * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_Inf_16s32f | ( | const Fw16s * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_Inf_32fc32f | ( | const Fw32fc * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_Inf_64fc64f | ( | const Fw64fc * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_Inf_16s32s_Sfs | ( | const Fw16s * pSrc, int len, Fw32s * pNorm, int scaleFactor ); |
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). |
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
SSE2
FwStatus | fwsNorm_L1_32f | ( | const Fw32f * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_L1_64f | ( | const Fw64f * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_L1_16s32f | ( | const Fw16s * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_L1_32fc64f | ( | const Fw32fc * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_L1_64fc64f | ( | const Fw64fc * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_L1_16s32s_Sfs | ( | const Fw16s * pSrc, int len, Fw32s * pNorm, int scaleFactor ); |
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). |
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
SSE2
FwStatus | fwsNorm_L2_32f | ( | const Fw32f * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_L2_64f | ( | const Fw64f * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_L2_16s32f | ( | const Fw16s * pSrc, int len, Fw32f * pNorm ); | |
FwStatus | fwsNorm_L2_32fc64f | ( | const Fw32fc * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_L2_64fc64f | ( | const Fw64fc * pSrc, int len, Fw64f * pNorm ); | |
FwStatus | fwsNorm_L2_16s32s_Sfs | ( | const Fw16s * pSrc, int len, Fw32s * pNorm, int scaleFactor ); |
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). |
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.
Norm of difference C
SSE2
FwStatus | fwsNormDiff_Inf_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_Inf_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_Inf_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_Inf_32fc32f | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_Inf_64fc64f | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_Inf_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32s * pNorm, int scaleFactor ); |
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). |
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.
Norm of difference L1
SSE2
FwStatus | fwsNormDiff_L1_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_L1_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_L1_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_L1_32fc64f | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_L1_64fc64f | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_L1_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32s * pNorm, int scaleFactor ); |
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). |
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.
Norm of difference L2
SSE2
FwStatus | fwsNormDiff_L2_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_L2_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_L2_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32f * pNorm ); | |
FwStatus | fwsNormDiff_L2_32fc64f | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_L2_64fc64f | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, int len, Fw64f * pNorm ); | |
FwStatus | fwsNormDiff_L2_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32s * pNorm, int scaleFactor ); |
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). |
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
SSE2
FwStatus | fwsMean_32f | ( | const Fw32f * pSrc, int len, Fw32f * pMean, FwHintAlgorithm hint ); | |
FwStatus | fwsMean_32fc | ( | const Fw32fc * pSrc, int len, Fw32fc * pMean, FwHintAlgorithm hint ); | |
FwStatus | fwsMean_64f | ( | const Fw64f * pSrc, int len, Fw64f * pMean ); | |
FwStatus | fwsMean_64fc | ( | const Fw64fc * pSrc, int len, Fw64fc * pMean ); | |
FwStatus | fwsMean_16s_Sfs | ( | const Fw16s * pSrc, int len, Fw16s * pMean, int scaleFactor ); | |
FwStatus | fwsMean_16sc_Sfs | ( | const Fw16sc * pSrc, int len, Fw16sc * pMean, int scaleFactor ); |
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). |
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.
Maximum (element pair)
MT, SSE2
FwStatus | fwsMaxEvery_16s_I | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsMaxEvery_32s_I | ( | const Fw32s * pSrc, Fw32s * pSrcDst, int len ); | |
FwStatus | fwsMaxEvery_32f_I | ( | const Fw32f * pSrc, Fw32f * pSrcDst, int len ); |
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. |
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.
Minimum (element pair)
MT, SSE2
FwStatus | fwsMinEvery_16s_I | ( | const Fw16s * pSrc, Fw16s * pSrcDst, int len ); | |
FwStatus | fwsMinEvery_32s_I | ( | const Fw32s * pSrc, Fw32s * pSrcDst, int len ); | |
FwStatus | fwsMinEvery_32f_I | ( | const Fw32f * pSrc, Fw32f * pSrcDst, int len ); |
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. |
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.
Dot Product
SSE2
FwStatus | fwsDotProd_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32f * pDp ); | |
FwStatus | fwsDotProd_16s64s | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw64s * pDp ); | |
FwStatus | fwsDotProd_16s16sc64sc | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw64sc * pDp ); | |
FwStatus | fwsDotProd_16s16sc32fc | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw32f * pDp ); | |
FwStatus | fwsDotProd_32f64f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw64f * pDp ); | |
FwStatus | fwsDotProd_32f32fc | ( | const Fw32f * pSrc1, const Fw32fc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32f32fc64fc | ( | const Fw32f * pSrc1, const Fw32fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, int len, Fw64f * pDp ); | |
FwStatus | fwsDotProd_64f64fc | ( | const Fw64f * pSrc1, const Fw64fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_16sc64sc | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw64sc * pDp ); | |
FwStatus | fwsDotProd_16sc32fc | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32fc64fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw16s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s16sc32sc_Sfs | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s32s32s_Sfs | ( | const Fw16s * pSrc1, const Fw32s * pSrc2, int len, Fw32s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s16sc_Sfs | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw16sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, int len, Fw32s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_32s32sc_Sfs | ( | const Fw32s * pSrc1, const Fw32sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw16sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16sc32sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_32sc_Sfs | ( | const Fw32sc * pSrc1, const Fw32sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); |
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). |
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
SSE2
FwStatus | fwsSum_32f | ( | const Fw32f * pSrc, int len, Fw32f * pSum, FwHintAlgorithm hint ); | |
FwStatus | fwsSum_32fc | ( | const Fw32fc * pSrc, int len, Fw32fc * pSum, FwHintAlgorithm hint ); | |
FwStatus | fwsSum_64f | ( | const Fw64f * pSrc, int len, Fw64f * pSum ); | |
FwStatus | fwsSum_64fc | ( | const Fw64fc * pSrc, int len, Fw64fc * pSum ); | |
FwStatus | fwsSum_16s_Sfs | ( | const Fw16s * pSrc, int len, Fw16s * pSum, int scaleFactor ); | |
FwStatus | fwsSum_32s_Sfs | ( | const Fw32s * pSrc, int len, Fw32s * pSum, int scaleFactor ); | |
FwStatus | fwsSum_16s32s_Sfs | ( | const Fw16s * pSrc, int len, Fw32s * pSum, int scaleFactor ); | |
FwStatus | fwsSum_16sc_Sfs | ( | const Fw16sc * pSrc, int len, Fw16sc * pSum, int scaleFactor ); | |
FwStatus | fwsSum_16sc32sc_Sfs | ( | const Fw16sc * pSrc, int len, Fw32sc * pSum, int scaleFactor ); |
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). |
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.
Standard deviation
SSE2
FwStatus | fwsStdDev_32f | ( | const Fw32f * pSrc, int len, Fw32f * pStdDev, FwHintAlgorithm hint ); | |
FwStatus | fwsStdDev_64f | ( | const Fw64f * pSrc, int len, Fw64f * pStdDev ); | |
FwStatus | fwsStdDev_16s32s_Sfs | ( | const Fw16s * pSrc, int len, Fw32s * pStdDev, int scaleFactor ); | |
FwStatus | fwsStdDev_16s_Sfs | ( | const Fw16s * pSrc, int len, Fw16s * pStdDev, int scaleFactor ); |
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). |
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.
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:
For single precision data:
For double precision data:
Inverse
MT, SSE2, Family10h
FwStatus | fwsInv_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInv_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInv_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInv_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsInv_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
These functions step through a source buffer, calculate the inverse of each element, and write the results to a destination buffer.
Divide
MT, SSE2, Family10h
FwStatus | fwsDiv_32f_A11 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsDiv_32f_A21 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsDiv_32f_A24 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsDiv_64f_A50 | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsDiv_64f_A53 | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); |
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. |
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.
Square root
MT, SSE2, Family10h
FwStatus | fwsSqrt_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSqrt_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSqrt_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSqrt_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsSqrt_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse Square root
MT, SSE2, Family10h
FwStatus | fwsInvSqrt_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInvSqrt_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInvSqrt_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInvSqrt_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsInvSqrt_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Cube root
MT, SSE2, Family10h
FwStatus | fwsCbrt_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCbrt_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCbrt_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCbrt_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsCbrt_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse cube root
MT, SSE2, Family10h
FwStatus | fwsInvCbrt_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInvCbrt_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInvCbrt_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsInvCbrt_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsInvCbrt_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Power
MT, SSE2, Family10h
FwStatus | fwsPow_32f_A11 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsPow_32f_A21 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsPow_32f_A24 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsPow_64f_A50 | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsPow_64f_A53 | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); |
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. |
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.
Constant power
MT, SSE2, Family10h
FwStatus | fwsPowx_32f_A11 | ( | const Fw32f * pSrc1, const Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsPowx_32f_A21 | ( | const Fw32f * pSrc1, const Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsPowx_32f_A24 | ( | const Fw32f * pSrc1, const Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsPowx_64f_A50 | ( | const Fw64f * pSrc1, const Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsPowx_64f_A53 | ( | const Fw64f * pSrc1, const Fw64f val, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc1 | Pointer to source buffer one. | |
val | Specified value. |
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.
Exponential
MT, SSE2, Family10h
FwStatus | fwsExp_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsExp_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsExp_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsExp_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsExp_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Natural Logarithm
MT, SSE2, Family10h
FwStatus | fwsLn_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLn_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLn_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLn_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsLn_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Common Logarithm
MT, SSE2, Family10h
FwStatus | fwsLog10_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLog10_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLog10_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsLog10_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsLog10_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Cosine
MT
FwStatus | fwsCos_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCos_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCos_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCos_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsCos_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
These functions step through vector elements in a source buffer, calculate the cosine of each element, and write the results to a destination buffer.
Sine
MT
FwStatus | fwsSin_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSin_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSin_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSin_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsSin_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
These functions step through vector elements in a source buffer, calculate the sine of each element, and write the results to a destination buffer.
Tangent
MT
FwStatus | fwsTan_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsTan_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsTan_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsTan_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsTan_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
These functions step through vector elements in a source buffer, calculate the tangent of each element, and write the results to a destination buffer.
Inverse cosine
MT
FwStatus | fwsAcos_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAcos_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAcos_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAcos_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAcos_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse sine
MT
FwStatus | fwsAsin_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAsin_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAsin_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAsin_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAsin_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse tangent
MT, SSE2
FwStatus | fwsAtan_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAtan_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAtan_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAtan_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAtan_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse tangent (four quadrant)
MT, SSE2
FwStatus | fwsAtan2_32f_A11 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsAtan2_32f_A21 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsAtan2_32f_A24 | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len ); | |
FwStatus | fwsAtan2_64f_A50 | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); | |
FwStatus | fwsAtan2_64f_A53 | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len ); |
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. |
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).
Hyperbolic cosine
MT
FwStatus | fwsCosh_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCosh_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCosh_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCosh_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsCosh_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Hyperbolic sine
MT
FwStatus | fwsSinh_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSinh_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSinh_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsSinh_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsSinh_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Hyperbolic tangent
MT
FwStatus | fwsTanh_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsTanh_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsTanh_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsTanh_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsTanh_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse hyperbolic cosine
MT
FwStatus | fwsAcosh_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAcosh_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAcosh_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAcosh_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAcosh_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse hyperbolic sine
MT
FwStatus | fwsAsinh_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAsinh_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAsinh_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAsinh_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAsinh_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
Inverse hyperbolic tangent
MT
FwStatus | fwsAtanh_32f_A11 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAtanh_32f_A21 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAtanh_32f_A24 | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsAtanh_64f_A50 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsAtanh_64f_A53 | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
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.
This chapter describes functions that perform vector initialization tasks.
Copy vector
MT, SSE2, Family10h
FwStatus | fwsCopy_8u | ( | const Fw8u * pSrc, Fw8u * pDst, int len ); | |
FwStatus | fwsCopy_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsCopy_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsCopy_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsCopy_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len ); | |
FwStatus | fwsCopy_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len ); | |
FwStatus | fwsCopy_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
These functions copy the vector elements in a source buffer to a destination buffer.
Move vector
MT, SSE2, Family10h
FwStatus | fwsMove_8u | ( | const Fw8u * pSrc, Fw8u * pDst, int len ); | |
FwStatus | fwsMove_16s | ( | const Fw16s * pSrc, Fw16s * pDst, int len ); | |
FwStatus | fwsMove_32f | ( | const Fw32f * pSrc, Fw32f * pDst, int len ); | |
FwStatus | fwsMove_64f | ( | const Fw64f * pSrc, Fw64f * pDst, int len ); | |
FwStatus | fwsMove_16sc | ( | const Fw16sc * pSrc, Fw16sc * pDst, int len ); | |
FwStatus | fwsMove_32fc | ( | const Fw32fc * pSrc, Fw32fc * pDst, int len ); | |
FwStatus | fwsMove_64fc | ( | const Fw64fc * pSrc, Fw64fc * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
pSrc | Pointer to a source buffer. |
These functions move the vector elements in a source buffer to a destination buffer.
Set vector
MT, SSE2, Family10h
FwStatus | fwsSet_8u | ( | Fw8u val, Fw8u * pDst, int len ); | |
FwStatus | fwsSet_16s | ( | Fw16s val, Fw16s * pDst, int len ); | |
FwStatus | fwsSet_32s | ( | Fw32s val, Fw32s * pDst, int len ); | |
FwStatus | fwsSet_32f | ( | Fw32f val, Fw32f * pDst, int len ); | |
FwStatus | fwsSet_64s | ( | Fw64s val, Fw64s * pDst, int len ); | |
FwStatus | fwsSet_64f | ( | Fw64f val, Fw64f * pDst, int len ); | |
FwStatus | fwsSet_16sc | ( | Fw16sc val, Fw16sc * pDst, int len ); | |
FwStatus | fwsSet_32sc | ( | Fw32sc val, Fw32sc * pDst, int len ); | |
FwStatus | fwsSet_32fc | ( | Fw32fc val, Fw32fc * pDst, int len ); | |
FwStatus | fwsSet_64sc | ( | Fw64sc val, Fw64sc * pDst, int len ); | |
FwStatus | fwsSet_64fc | ( | Fw64fc val, Fw64fc * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. | |
val | Specified value. |
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.
Clear vector
MT, SSE2, Family10h
FwStatus | fwsZero_8u | ( | Fw8u * pDst, int len ); | |
FwStatus | fwsZero_16s | ( | Fw16s * pDst, int len ); | |
FwStatus | fwsZero_32f | ( | Fw32f * pDst, int len ); | |
FwStatus | fwsZero_64f | ( | Fw64f * pDst, int len ); | |
FwStatus | fwsZero_16sc | ( | Fw16sc * pDst, int len ); | |
FwStatus | fwsZero_32fc | ( | Fw32fc * pDst, int len ); |
len | Specifies the number of elements in a buffer. | |
pDst | Pointer to a destination buffer. |
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 substring in a string
FwStatus | fwsFind_8u | ( | const Fw8u* pSrc, int len, const Fw8u* pFind, int lenFind, int* pIndex ); | |
FwStatus | fwsFind_16u | ( | const Fw16u* pSrc, int len, const Fw16u* pFind, int lenFind, int* pIndex ); | |
FwStatus | fwsFindRev_8u | ( | const Fw8u* pSrc, int len, const Fw8u* pFind, int lenFind, int* pIndex ); | |
FwStatus | fwsFindRev_16u | ( | const Fw16u* pSrc, int len, const Fw16u* pFind, int lenFind, int* pIndex ); |
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. |
Find substring in a string
Find the specified element in a given buffer
FwStatus | fwsFindC_8u | ( | const Fw8u* pSrc, int len, Fw8u valFind, int* pIndex ); | |
FwStatus | fwsFindC_16u | ( | const Fw16u* pSrc, int len, Fw16u valFind, int* pIndex ); | |
FwStatus | fwsFindRevC_8u | ( | const Fw8u* pSrc, int len, Fw8u valFind, int* pIndex ); | |
FwStatus | fwsFindRevC_16u | ( | const Fw16u* pSrc, int len, Fw16u valFind, int* pIndex ); |
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. |
Find the specified element in a given buffer
Estimates normal, biased, and unbiased auto-correlation of a vector and stores the result in a second vector.
SSE2
FwStatus | fwsAutoCorr_32f | ( | const Fw32f* pSrc, int srcLen, Fw32f* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormA_32f | ( | const Fw32f* pSrc, int srcLen, Fw32f* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormB_32f | ( | const Fw32f* pSrc, int srcLen, Fw32f* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_32fc | ( | const Fw32fc* pSrc, int srcLen, Fw32fc* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormA_32fc | ( | const Fw32fc* pSrc, int srcLen, Fw32fc* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormB_32fc | ( | const Fw32fc* pSrc, int srcLen, Fw32fc* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_64f | ( | const Fw64f* pSrc, int srcLen, Fw64f* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormA_64f | ( | const Fw64f* pSrc, int srcLen, Fw64f* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormB_64f | ( | const Fw64f* pSrc, int srcLen, Fw64f* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_64fc | ( | const Fw64fc* pSrc, int srcLen, Fw64fc* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormA_64fc | ( | const Fw64fc* pSrc, int srcLen, Fw64fc* pDst, int dstLen ); | |
FwStatus | fwsAutoCorr_NormB_64fc | ( | const Fw64fc* pSrc, int srcLen, Fw64fc* pDst, int dstLen ); |
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 |
Allocates memory aligned to 32-byte boundary.
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 ); |
len | Specifies the number of elements in a buffer. |
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.
Frees memory allocated by the function fwsMalloc.
void | fwsFree | ( | void* ptr ); |
ptr | Pointer to a valid memory. |
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.
This chapter provides an overview of the information contained in the functional descriptions.
Video Coding library functional descriptions include the following types of information.
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. |
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. |
This chapter describes the FW function that provides library version information.
Get library version
const FwLibraryVersion* | fwvGetLibVersion | ( | ); |
This function returns a pointer to the FwLibraryVersion structure that contains FW Library version information.
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.
Decode CAVLC bitstream
SSE2
FwStatus | fwiDecodeCAVLCCoeffs_H264_1u16s | ( | Fw32u ** ppBitStream, Fw32s * pBitOffset, Fw16s * pNumCoeff, Fw16s ** ppDstCoeffs, Fw32u uVLCSelect, Fw16s uMaxNumCoeff, const Fw32s ** ppTblCoeffToken, const Fw32s ** ppTblTotalZeros, const Fw32s ** ppTblRunBefore, const Fw32s * pScanMatrix ); |
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. |
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.
Decode Chroma CAVLC bitstream
SSE2
FwStatus | fwiDecodeCAVLCChromaDcCoeffs_H264_1u16s | ( | Fw32u ** ppBitStream, Fw32s * pBitOffset, Fw16s * pNumCoeff, Fw16s ** ppDstCoeffs, const Fw32s * pTblCoeffToken, const Fw32s ** ppTblTotalZerosCR, const Fw32s ** ppTblRunBefore ); |
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. |
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.
Decode ExpGolomb code
SSE2
FwStatus | fwiDecodeExpGolombOne_H264_1u16s | ( | Fw32u ** ppBitStream, Fw32s * pBitOffset, Fw16s * pDst, Fw8u isSigned ); |
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. |
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.
Deblock luma macroblock vertical edges
FwStatus | fwiFilterDeblockingLuma_VerEdge_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, Fw8u * pAlpha, Fw8u * pBeta, Fw8u * pThresholds, Fw8u * pBS ); |
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). |
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).
Deblock luma macroblock horizontal edges
FwStatus | fwiFilterDeblockingLuma_HorEdge_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, Fw8u * pAlpha, Fw8u * pBeta, Fw8u * pThresholds, Fw8u * pBS ); |
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). |
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).
Deblock chroma macroblock horizontal edges
FwStatus | fwiFilterDeblockingChroma_HorEdge_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, Fw8u * pAlpha, Fw8u * pBeta, Fw8u * pThresholds, Fw8u * pBS ); |
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). |
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).
Deblock chroma macroblock vertical edges
FwStatus | fwiFilterDeblockingChroma_VerEdge_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, Fw8u * pAlpha, Fw8u * pBeta, Fw8u * pThresholds, Fw8u * pBS ); |
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). |
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).
Interpolate luma component
SSE2
FwStatus | fwiInterpolateLuma_H264_8u_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pDst, Fw32s dstStep, Fw32s dx, Fw32s dy, FwiSize roiSize ); |
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). |
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.
Interpolate luma component at top frame boundary
SSE2
FwStatus | fwiInterpolateLumaTop_H264_8u_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pDst, Fw32s dstStep, Fw32s dx, Fw32s dy, Fw32s outPixels, FwiSize roiSize ); |
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). |
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.
Interpolate luma component at bottom frame boundary
SSE2
FwStatus | fwiInterpolateLumaBottom_H264_8u_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pDst, Fw32s dstStep, Fw32s dx, Fw32s dy, Fw32s outPixels, FwiSize roiSize ); |
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). |
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.
Interpolate chroma component
SSE2
FwStatus | fwiInterpolateChroma_H264_8u_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pDst, Fw32s dstStep, Fw32s dx, Fw32s dy, FwiSize roiSize ); |
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). |
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.
Interpolate chroma component at top frame boundary
SSE2
FwStatus | fwiInterpolateChromaTop_H264_8u_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pDst, Fw32s dstStep, Fw32s dx, Fw32s dy, Fw32s outPixels, FwiSize roiSize ); |
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). |
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.
Interpolate chroma component at bottom frame boundary
FwStatus | fwiInterpolateChromaBottom_H264_8u_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pDst, Fw32s dstStep, Fw32s dx, Fw32s dy, Fw32s outPixels, FwiSize roiSize ); |
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). |
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.
Predict motion of luma block intra-frame
FwStatus | fwiPredictIntra_4x4_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, FwIntra4x4PredMode_H264 predMode, Fw32s availability ); |
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). |
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
Predict motion of luma macroblock intra-frame
SSE2
FwStatus | fwiPredictIntra_16x16_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, FwIntra16x16PredMode_H264 predMode, Fw32s availability ); |
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). |
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
Predict motion of chroma block intra-frame
SSE2
FwStatus | fwiPredictIntraChroma8x8_H264_8u_C1IR | ( | Fw8u * pSrcDst, Fw32s srcDstStep, FwIntraChromaPredMode_H264 predMode, Fw32s availability ); |
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). |
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
Reconstruct chroma macroblock inter-frame
SSE2
FwStatus | fwiReconstructChromaInterMB_H264_16s8u_P2R | ( | Fw16s ** ppSrcCoeff, Fw8u * pSrcDstUPlane, Fw8u * pSrcDstVPlane, const Fw32u srcDstStep, const Fw32u cbp4x4, const Fw32s ChromaQP ); |
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). |
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.
Reconstruct chroma macroblock intra-frame
SSE2
FwStatus | fwiReconstructChromaIntraMB_H264_16s8u_P2R | ( | Fw16s ** ppSrcCoeff, Fw8u * pSrcDstUPlane, Fw8u * pSrcDstVPlane, const Fw32u srcDstUVStep, const FwIntraChromaPredMode_H264 intraChromaMode, const Fw32u cbp4x4, const Fw32u ChromaQP, const Fw8u edgeType ); |
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. |
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.
Reconstruct luma macroblock inter-frame
SSE2
FwStatus | fwiReconstructLumaInterMB_H264_16s8u_C1R | ( | Fw16s ** ppSrcCoeff, Fw8u * pSrcDstYPlane, const Fw32u srcDstYStep, const Fw32u cbp4x4, const Fw32s QP ); |
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. |
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.
Reconstruct luma macroblock intra-frame
SSE2
FwStatus | fwiReconstructLumaIntraMB_H264_16s8u_C1R | ( | Fw16s ** ppSrcCoeff, Fw8u * pSrcDstYPlane, Fw32s srcDstYStep, const FwIntra4x4PredMode_H264 * pMBIntraTypes, const Fw32u cbp4x4, const Fw32u QP, const Fw8u edgeType ); |
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. |
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.
Inverse transform chroma DC
FwStatus | fwiTransformDequantChromaDC_H264_16s_C1I | ( | Fw16s * pSrcDst, Fw32s QP ); |
QP | Quantizer scale factor read from the bitstream. | |
pSrcDst | Pointer to the start of the block. |
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.
Inverse transform residual
FwStatus | fwiDequantTransformResidual_H264_16s_C1I | ( | Fw16s * pSrcDst, Fw32s step, Fw16s * pDC, Fw32s AC, Fw32s QP ); |
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 |
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.
Allocate memory and initialize one-to-one Huffman decode table
FwStatus | fwiHuffmanTableInitAlloc_32s | ( | const Fw32s * pSrcTable, FwVCHuffmanSpec_32s ** ppDstSpec ); |
pSrcTable | Pointer to a source table. | |
ppDstSpec | Double pointer to a destination decoding table. |
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.
Allocate memory and initialize one-to-two Huffman decode table
FwStatus | fwiHuffmanRunLevelTableInitAlloc_32s | ( | const Fw32s * pSrcTable, FwVCHuffmanSpec_32s ** ppDstSpec ); |
pSrcTable | Pointer to a source table. | |
ppDstSpec | Double pointer to a destination decoding table. |
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.
Decode Huffman one-to-one
FwStatus | fwiDecodeHuffmanOne_1u32s | ( | Fw32u ** ppBitStream, Fw32s * pOffset, Fw32s * pDst, const FwVCHuffmanSpec_32s * pDecodeTable ); |
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. |
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.
Decode Huffman one-to-two
FwStatus | fwiDecodeHuffmanPair_1u16s | ( | Fw32u ** ppBitStream, Fw32s * pOffset, const FwVCHuffmanSpec_32s * pDecodeTable, Fw8s * pFirst, Fw16s * pSecond ); |
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. |
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.
Free memory allocated to Huffman decode table
FwStatus | fwiHuffmanTableFree_32s | ( | FwVCHuffmanSpec_32s ** ppDecodeTable ); |
ppDecodeTable | Double pointer to a decoding table. |
This function frees the memory at the location pointed to by ppDecodeTable allocated to a Huffman decode table.
Motion compensation for predicted 16X16 block
SSE2
FwStatus | fwiMC16x16_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 16X8 block
SSE2
FwStatus | fwiMC16x8_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 8X16 block
SSE2
FwStatus | fwiMC8x16_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 8X8 block
SSE2
FwStatus | fwiMC8x8_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 8X4 block
SSE2
FwStatus | fwiMC8x4_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 4X8 block
SSE2
FwStatus | fwiMC4x8_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 4X4 block
SSE2
FwStatus | fwiMC4x4_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 2X4 block
SSE2
FwStatus | fwiMC2x4_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 4X2 block
SSE2
FwStatus | fwiMC4x2_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 2X2 block
SSE2
FwStatus | fwiMC2x2_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 16X4 UV block
SSE2
FwStatus | fwiMC16x4_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for predicted 16X8 UV block
SSE2
FwStatus | fwiMC16x8UV_8u_C1 | ( | const Fw8u * pSrcRef, Fw32s srcStep, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s mcType, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 16X16 block
SSE2
FwStatus | fwiMC16x16B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 16X8 block
SSE2
FwStatus | fwiMC16x8B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 8X16 block
SSE2
FwStatus | fwiMC8x16B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 8X8 block
SSE2
FwStatus | fwiMC8x8B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 8X4 block
SSE2
FwStatus | fwiMC8x4B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 4X8 block
SSE2
FwStatus | fwiMC4x8B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 4X4 block
SSE2
FwStatus | fwiMC4x4B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 2X4 block
SSE2
FwStatus | fwiMC2x4B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 4X2 block
SSE2
FwStatus | fwiMC4x2B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 2X2 block
SSE2
FwStatus | fwiMC2x2B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 16X4 UV block
SSE2
FwStatus | fwiMC16x4B_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Motion compensation for bi-predicted 16X8 UV block
SSE2
FwStatus | fwiMC16x8BUV_8u_C1 | ( | const Fw8u * pSrcRefF, Fw32s srcStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcStepB, Fw32s mcTypeB, const Fw16s * pSrcYData, Fw32s srcYDataStep, Fw8u * pDst, Fw32s dstStep, Fw32s roundControl ); |
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). |
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.
Evaluate predicted 16X16 block
SSE2
FwStatus | fwiGetDiff16x16_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw16s * pDstPredictor, Fw32s dstPredictorStep, Fw32s mcType, Fw32s roundControl ); |
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) |
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.
Evaluate predicted 16X8 block
SSE2
FwStatus | fwiGetDiff16x8_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw16s * pDstPredictor, Fw32s dstPredictorStep, Fw32s mcType, Fw32s roundControl ); |
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) |
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.
Evaluate predicted 8X8 block
SSE2
FwStatus | fwiGetDiff8x8_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw16s * pDstPredictor, Fw32s dstPredictorStep, Fw32s mcType, Fw32s roundControl ); |
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) |
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.
Evaluate predicted 8X16 block
SSE2
FwStatus | fwiGetDiff8x16_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw16s * pDstPredictor, Fw32s dstPredictorStep, Fw32s mcType, Fw32s roundControl ); |
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) |
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.
Evaluate predicted 8X4 block
SSE2
FwStatus | fwiGetDiff8x4_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw16s * pDstPredictor, Fw32s dstPredictorStep, Fw32s mcType, Fw32s roundControl ); |
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) |
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.
Evaluate predicted 4X4 block
SSE2
FwStatus | fwiGetDiff4x4_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw16s * pDstPredictor, Fw32s dstPredictorStep, Fw32s mcType, Fw32s roundControl ); |
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) |
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.
Evaluate bi-predicted 16X16 block
SSE2
FwStatus | fwiGetDiff16x16B_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRefF, Fw32s srcRefStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcRefStepB, Fw32s mcTypeB, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw32s roundControl ); |
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) |
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.
Evaluate bi-predicted 16X8 block
SSE2
FwStatus | fwiGetDiff16x8B_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRefF, Fw32s srcRefStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcRefStepB, Fw32s mcTypeB, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw32s roundControl ); |
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) |
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.
Evaluate bi-predicted 8X8 block
SSE2
FwStatus | fwiGetDiff8x8B_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRefF, Fw32s srcRefStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcRefStepB, Fw32s mcTypeB, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw32s roundControl ); |
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) |
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.
Evaluate bi-predicted 8X16 block
SSE2
FwStatus | fwiGetDiff8x16B_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRefF, Fw32s srcRefStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcRefStepB, Fw32s mcTypeB, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw32s roundControl ); |
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) |
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.
Evaluate bi-predicted 8X4 block
SSE2
FwStatus | fwiGetDiff8x4B_8u16s_C1 | ( | const Fw8u * pSrcCur, Fw32s srcCurStep, const Fw8u * pSrcRefF, Fw32s srcRefStepF, Fw32s mcTypeF, const Fw8u * pSrcRefB, Fw32s srcRefStepB, Fw32s mcTypeB, Fw16s * pDstDiff, Fw32s dstDiffStep, Fw32s roundControl ); |
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) |
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.
Evaluate sum of squares, 16X16 block
SSE2
FwStatus | fwiSqrDiff16x16_8u32s | ( | const Fw8u * pSrc, Fw32s srcStep, const Fw8u * pRef, Fw32s refStep, Fw32s mcType, Fw32s * pSqrDiff ); |
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). |
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.
Evaluate sum of squares, bi-predicted 16X16 block
SSE2
FwStatus | fwiSqrDiff16x16B_8u32s | ( | const Fw8u * pSrc, Fw32s srcStep, const Fw8u * pRefF, Fw32s refStepF, Fw32s mcTypeF, const Fw8u * pRefB, Fw32s refStepB, Fw32s mcTypeB, Fw32s * pSqrDiff ); |
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). |
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.
Evaluate mean and variance, 8x8 block
SSE2
FwStatus | fwiVarMean8x8_8u32s_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, Fw32s * pVar, Fw32s * pMean ); | |
FwStatus | fwiVarMean8x8_16s32s_C1R | ( | const Fw16s * pSrc, Fw32s srcStep, Fw32s * pVar, Fw32s * pMean ); |
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). |
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.
Evaluate means and variances, four 8X8 blocks of difference between two 16X16 blocks
SSE2
FwStatus | fwiVarMeanDiff16x16_8u32s_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, const Fw8u * pRef, Fw32s refStep, Fw32s * pSrcSum, Fw32s * pVar, Fw32s * pMean, Fw32s mcType ); |
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). |
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.
Evaluate means and variances, two 8X8 blocks of difference between two 16X8 blocks
SSE2
FwStatus | fwiVarMeanDiff16x8_8u32s_C1R | ( | const Fw8u * pSrc, Fw32s srcStep, const Fw8u * pRef, Fw32s refStep, Fw32s * pSrcSum, Fw32s * pVar, Fw32s * pMean, Fw32s mcType ); |
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). |
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.
Evaluate variance, 16X16 block
SSE2
FwStatus | fwiVariance16x16_8u32s | ( | const Fw8u * pSrc, Fw32s srcStep, Fw32s * pVar ); |
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). |
This function evaluates the variance of a 16X16 block of unsigned elements. The result is stored in integer Var.
Detect edges within 16X16 block
SSE2
FwStatus | fwiEdgesDetect16x16_8u_C1R | ( | const Fw8u * pSrc, Fw32u srcStep, Fw8u EdgePelDifference, Fw8u EdgePelCount, Fw8u * pRes ); |
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). |
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.
Evaluate sum of absolute difference, 16X16 block
SSE2
FwStatus | fwiSAD16x16_8u32s | ( | const Fw8u * pSrc, Fw32s srcStep, const Fw8u * pRef, Fw32s refStep, Fw32s * pSAD, Fw32s mcType ); |
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). |
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.
Evaluate sum of absolute difference, 8x8 block
SSE2
FwStatus | fwiSAD8x8_8u32s_C1R | ( | const Fw8u * pSrcCur, int srcCurStep, const Fw8u * pSrcRef, Fw32s srcRefStep, Fw32s * pDst, Fw32s mcType ); |
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) |
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.
Evaluate sum of absolute difference, 4x4 block
SSE2
FwStatus | fwiSAD4x4_8u32s | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pRef, Fw32s refStep, Fw32s * pSAD, Fw32s mcType ); |
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). |
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.
Evaluate four partial sums of absolute differences, 16x16 block
SSE2
FwStatus | fwiSAD16x16Blocks8x8_8u16u | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pRef, Fw32s refStep, Fw16u * pDstSAD, Fw32s mcType ); |
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). |
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.
Evaluate sixteen partial sums of absolute differences, 16x16 block
SSE2
FwStatus | fwiSAD16x16Blocks4x4_8u16u | ( | const Fw8u * pSrc, Fw32s srcStep, Fw8u * pRef, Fw32s refStep, Fw16u * pDstSAD, Fw32s mcType ); |
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). |
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.
Evaluate sixteen sums of differences, 16X16
SSE2
FwStatus | fwiSumsDiff16x16Blocks4x4_8u16s_C1 | ( | Fw8u * pSrc, Fw32s srcStep, Fw8u * pPred, Fw32s predStep, Fw16s * pSums, Fw16s * pDiff ); |
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). |
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.
Evaluate four sums of differences, 16X16 block
SSE2
FwStatus | fwiSumsDiff8x8Blocks4x4_8u16s_C1 | ( | Fw8u * pSrc, Fw32s srcStep, Fw8u * pPred, Fw32s predStep, Fw16s * pSums, Fw16s * pDiff ); |
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). |
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.
Inverse inter frame quantization (MPEG-2)
SSE2
FwStatus | fwiQuantInv_MPEG2_16s_C1I | ( | Fw16s * pSrcDst, int QP, Fw16s * pQPMatrix ); |
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. |
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.
Inverse intra frame quantization (MPEG-2)
SSE2
FwStatus | fwiQuantInvIntra_MPEG2_16s_C1I | ( | Fw16s * pSrcDst, int QP, Fw16s * pQPMatrix ); |
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. |
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.
Reconstruct inter frame DCT block (MPEG-1)
FwStatus | fwiReconstructDCTBlock_MPEG1_32s | ( | Fw32u ** ppBitStream, int * pOffset, const Fw32s * pDCSizeTable, const Fw32s * pACTable, Fw32s * pScanMatrix, int QP, Fw16s * pQPMatrix, Fw16s * pDstBlock, Fw32s * pDstSize ); |
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. |
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.
Reconstruct intra frame DCT block (MPEG-1)
FwStatus | fwiReconstructDCTBlockIntra_MPEG1_32s | ( | Fw32u ** ppBitStream, int * pOffset, const Fw32s * pDCSizeTable, const Fw32s * pACTable, Fw32s * pScanMatrix, int QP, Fw16s * pQPMatrix, Fw16s * pDCPred, Fw16s * pDstBlock, Fw32s * pDstSize ); |
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. |
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.
Reconstruct inter feame DCT block (MPEG-2)
SSE2
FwStatus | fwiReconstructDCTBlock_MPEG2_32s | ( | Fw32u ** ppBitStream, int * pOffset, const FwVCHuffmanSpec_32s * pDCTable, const FwVCHuffmanSpec_32s * pACTable, Fw32s * pScanMatrix, int QP, Fw16s * pQPMatrix, Fw16s * pDstBlock, Fw32s * pDstSize ); |
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. |
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.
Reconstruct intra frame DCT block (MPEG-2)
SSE2
FwStatus | fwiReconstructDCTBlockIntra_MPEG2_32s | ( | Fw32u ** ppBitStream, int * pOffset, const FwVCHuffmanSpec_32s * pDCSizeTable, const FwVCHuffmanSpec_32s * pACTable, Fw32s * pScanMatrix, int QP, Fw16s * pQPMatrix, Fw16s * pDCPred, Fw32s shiftDCVal, Fw16s * pDstBlock, Fw32s * pDstSize ); |
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. |
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.
Perform AAN IDCT on an 8X8 block
SSE2
FwStatus | fwiDCT8x8Inv_AANTransposed_16s_C1R | ( | const Fw16s * pSrc, Fw16s * pDst, Fw32s dstStep, Fw32s count ); | |
FwStatus | fwiDCT8x8Inv_AANTransposed_16s8u_C1R | ( | const Fw16s * pSrc, Fw8u * pDst, Fw32s dstStep, Fw32s count ); |
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. |
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.
Perform AAN IDCT on 8X8 U and V blocks
SSE2
FwStatus | fwiDCT8x8Inv_AANTransposed_16s_P2C2R | ( | const Fw16s * pSrcU, const Fw16s * pSrcV, Fw16s * pDstUV, Fw32s dstStep, Fw32s countU, Fw32s countV ); | |
FwStatus | fwiDCT8x8Inv_AANTransposed_16s8u_P2C2R | ( | const Fw16s * pSrcU, const Fw16s * pSrcV, Fw8u * pDstUV, Fw32s dstStep, Fw32s countU, Fw32s countV ); |
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. |
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.