synios banner.
        Home         Demonstration         Technical Details         Download         Contact         Miscellaneous



 
Open Vision System - API Reference

This document is automatically generated from the open vision system source code and provides a complete application programmable interface reference for every exported function within the open vision system library. Note functions are listed in alphabetical order and that this document changes with each snap shot. Simply click a function in the listing below to go to the detailed function information.


 
     
 
Library API Function Listing (218)

AVIAddStreamChunk
AVIClose
AVICreate
AVIFindFirstVideoStream
AVIGetChunksCount
AVIGetStreamCode
AVIGetStreamData
AVIGetStreamEncodingCodec
AVIOpen
AVIPrintAllStructures
AVIPrintHeader
AVIPrintIdx1Entries
AVIPrintODMLHeader
AVIPrintStdIndexEntries
AVIPrintStdIndexHeader
AVIPrintStreamHeader
AVIPrintSuperIndexEntries
AVIPrintSuperIndexHeader
AVIPrintVideoProperties
AVISetStreamData
ApplyGaussian
ApplyGaussianByMask
ApplyGaussianToUint32Array
BGR24ToGS8
BGR24ToRGB24
BGR24ToRGBA32
BGR24ToYUY2
BGR24ToYV12
BimapValidateInfoHeader
BitmapHeaderPrint
BitmapInfoHeaderPrint
BitmapLoadImage
BitmapSaveImage
BitmapValidateHeader
ByteSwap16
ByteSwap32
ByteSwap64
ConvolutionMatrixApply
ConvolutionMatrixCalculateSum
ConvolutionMatrixCreate
ConvolutionMatrixRelease
ConvolutionMatrixValidate
CreateGaussian
DebugOut
DebugOutInfo
DestroyCS
EnterCS
ExtractFCC
FileClose
FileFlush
FileGetSize
FileOpen
FileRead
FileSeek
FileTell
FileWrite
FillImageSeed4WayStack
FrameCapAdd
FrameCapAddCopy
FrameCapDumpFrames
FrameCapInitialize
FrameCapUninitialize
GS8ToBGR24
GS8ToRGB24
GS8ToRGBA32
GS8ToYUY2
GaussianValidate
GetBPPFromFCC
GetChannelsFromFCC
GetListSize
HSIToRGB
HSLToRGB
HSVToRGB
I420ExtractLuma
I420ToBGR24
I420ToGS8
I420ToRGB24
I420ToRGBA32
I420ToYUY2
I420ToYV12
ImageAdjustBrightness
ImageCompare
ImageCompareProperties
ImageCopy
ImageCreate
ImageCreateCopyAs
ImageCreateDifference
ImageDrawHorizontalLine
ImageDrawLine
ImageDrawRectangle
ImageDrawVerticalLine
ImageExtractByColour
ImageFlipHorizontal
ImageFlipVertical
ImageFrame
ImageGetPixel
ImageGreyScale
ImageGreyScaleWithoutBias
ImageIsRectInBounds
ImageMakePointsInBounds
ImageNegative
ImageNewCopy
ImageNormalizeChannel
ImagePeekChannelThresholdBW
ImagePrintProperties
ImageRelease
ImageSetPixel
ImageThresholdBW
ImageValidate
ImageValidateProperties
ImageValidateType
InitializeCS
InitializeListHead
InitializeVision
InsertHeadList
InsertTailList
LeaveCS
LineThinImageZhangAndSuen
MVPPCreateProfileGraphImage
MVPPDrawProfileOnImage
MVPPExtractProfile
MVPPInitialize
MVPPNewProfile
MVPPNewProfileCopy
MVPPReleaseProfile
MVPPUninitialize
MakeFCC
MakeRectInBounds
PkeWr64BE
PkeWr64LE
PktCloseFile
PktCloseSocket
PktFileSize
PktFlush
PktIsValid
PktOpenFile
PktOpenSocket
PktRd16BE
PktRd16LE
PktRd32BE
PktRd32LE
PktRd64BE
PktRd64LE
PktRdByte
PktRdBytes
PktSeekFile
PktTell
PktWr16BE
PktWr16LE
PktWr32BE
PktWr32LE
PktWrByte
PktWrBytes
PopEntryList
PrewittApply
PrintGaussian
PushEntryList
RGB24ToBGR24
RGB24ToGS8
RGB24ToI420
RGB24ToRGBA32
RGB24ToYUY2
RGB24ToYV12
RGBA32ToBGR24
RGBA32ToGS8
RGBA32ToRGB24
RGBA32ToYUY2
RGBA32ToYV12
RGBToHSI
RGBToHSL
RGBToHSV
RGBToYCrCbBT601
RGBToYCrCbBT709
RGBToYCrCbLogitech
ReleaseGaussian
ReleaseVisionSegments
RemoveEntryList
RemoveHeadList
RemoveTailList
RobertsCrossApply
Sobel3x3Apply
Sobel3x3OptApply
Sobel5x5Apply
StrHexToUint32
StrReverse
TBSPCalcProfileLength
TBSPCompareProfiles
TBSPCreateProfileGraphImage
TBSPDrawProfileOnImage
TBSPExtractProfile
TBSPInitialize
TBSPIsPointInProfileBounds
TBSPNewProfile
TBSPNewProfileCopy
TBSPReleaseProfile
TBSPUninitialize
TryEnterCS
Uint64RaiseToPower
Uint8Max
Uint8Min
UninitializeVision
VisionProcess
YCrCbToRGBBT601
YCrCbToRGBBT709
YCrCbToRGBLogitech
YUY2ExtractLuma
YUY2ToBGR24
YUY2ToGS8
YUY2ToRGB24
YUY2ToRGBA32
YUY2ToYV12
YV12ExtractLuma
YV12ToBGR24
YV12ToGS8
YV12ToRGB24
YV12ToRGBA32
YV12ToYUY2
itoa


 
     
 


AVIAddStreamChunk

Prototype:BOOL AVIAddStreamChunk(POVS_AVI pAVI, PUINT8 pui8Buffer, UINT32 ui32BufferSz, UINT8 ui8StreamNo)
Description:This function adds a chunk to an OVS_AVI object. (NOT IMPLEMENTED YET)
Pre-condition(s):pAVI points to an OVS_AVI object obtained from the AVICreate function.
Post-condition(s):A chunk is added to the ui8StreamNo stream of the pAVI object and all index structures are updated for the new chunk.
Input(s):pAVI, pui8Buffer, ui32BufferSz, ui8StreamNo.
Output(s):pAVI.
Return:TRUE on success of FALSE otherwise.
CCM:4 (Cyclomatic Complexity Metric).
LOC:23 (Lines Of Code - Physical).
CD:4.29% (Comment Density).
Location:./ovs-lib/avi.c:1904

AVIClose

Prototype:BOOL AVIClose(POVS_AVI pAVI)
Description:This function closes and AVI object, releasing all memory resources held and flushing data to disk.
Pre-condition(s):pAVI points to a valid OVS_AVI object in memory that was obtained from the OpenAVI or CreateAVI functions.
Post-condition(s):The OVS_AVI object is destroyed, all memory associated released and all file data flushed to disk.
Input(s):pAVI.
Output(s):None.
Return:TRUE on success or FALSE otherwise.
CCM:19 (Cyclomatic Complexity Metric).
LOC:80 (Lines Of Code - Physical).
CD:12.50% (Comment Density).
Location:./ovs-lib/avi.c:1468

AVICreate

Prototype:POVS_AVI AVICreate(PCHAR pchFile)
Description:This function creates a new AVI object ready for writing to, (NOT IMPLEMENTED YET).
Pre-condition(s):pchFile points to a NULL terminated string of the path of file.
Post-condition(s):An AVI object is created and file prepared for writing.
Input(s):pchFile.
Output(s):None.
Return:On success a pointer to an OVS_AVI object is returned or NULL on failure.
CCM:2 (Cyclomatic Complexity Metric).
LOC:14 (Lines Of Code - Physical).
CD:8.41% (Comment Density).
Location:./ovs-lib/avi.c:1435

AVIFindFirstVideoStream

Prototype:UINT8 AVIFindFirstVideoStream(POVS_AVI pAVI)
Description:This function locates the first video stream of an OVS_AVI object.
Pre-condition(s):pAVI is a valid OVS_AVI object returned from either the AVIOpen or AVICreate functions.
Post-condition(s):The first existing stream number of a video stream is returned.
Input(s):pAVI.
Output(s):None.
Return:On success a stream number that is >= 0 and <= 99, on failure 0xFF (255 decimal) is returned.
CCM:7 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:3.52% (Comment Density).
Location:./ovs-lib/avi.c:1982

AVIGetChunksCount

Prototype:UINT32 AVIGetChunksCount(POVS_AVI pAVI, UINT8 ui8StreamNo)
Description:This function returns the total number of chunks for a stream of an OVS_AVI object.
Pre-condition(s):pAVI points to a valid OVS_AVI object in memory that was obtained from the OpenAVI or CreateAVI functions.
Post-condition(s):The total number of chunks for ui8StreamNo is returned.
Input(s):pAVI, ui8StreamNo.
Output(s):None.
Return:An unsigned integer count of chunks.
CCM:3 (Cyclomatic Complexity Metric).
LOC:16 (Lines Of Code - Physical).
CD:12.79% (Comment Density).
Location:./ovs-lib/avi.c:1566

AVIGetStreamCode

Prototype:BOOL AVIGetStreamCode(PUINT16 pui16Code, UINT8 ui8StreamNo)
Description:This function produces a two byte stream code from an integer stream number.
Pre-condition(s):pui16Code points to a 2 byte buffer to hold the generated stream code, 0 >= ui8StreamNo <= 99.
Post-condition(s):pui16Code has its buffer set with a stream code.
Input(s):ui8StreamNo.
Output(s):pui16StreamCode.
Return:TRUE on success or FALSE otherwise.
CCM:3 (Cyclomatic Complexity Metric).
LOC:19 (Lines Of Code - Physical).
CD:5.68% (Comment Density).
Location:./ovs-lib/avi.c:1945

AVIGetStreamData

Prototype:BOOL AVIGetStreamData(POVS_AVI pAVI, PUINT8 pui8Buffer, UINT32 ui32BufferSz, UINT64 ui64ChunkNo, UINT8 ui8StreamNo)
Description:This function reads a stream chunk from an AVI object.
Pre-condition(s):pAVI is a valid AVI object obtained from OpenAVI or CreateAVI functions, pui8Buffer points to valid memory of at least ui32BufferSz size in bytes.
Post-condition(s):ui32Buffer has its data filled with the specified ui64ChunkNo chunk from the OVS_AVI object.
Input(s):pAVI, pui8Buffer, ui32BufferSz, ui64ChunkNo, ui8StreamNo.
Output(s):pui8Buffer.
Return:TRUE on success or FALSE otherwise
CCM:23 (Cyclomatic Complexity Metric).
LOC:129 (Lines Of Code - Physical).
CD:10.10% (Comment Density).
Location:./ovs-lib/avi.c:1601

AVIGetStreamEncodingCodec

Prototype:UINT32 AVIGetStreamEncodingCodec(POVS_AVI pAVI, UINT8 ui8StreamNo)
Description:This function returns FourCC handler type for a stream within an OVS_AVI object.
Pre-condition(s):pAVI is a valid OVS_AVI object returned from AVIOpen or AVICreate functions.
Post-condition(s):The FourCC handler value for the specified stream is returned if a ui8StreamNo exists within the OVS_AVI object.
Input(s):pAVI, ui8StreamNo.
Output(s):None.
Return:On success the FourCC handler value as an unsigned 32bit integer or on failure 0xFFFFFFFF is returned
CCM:3 (Cyclomatic Complexity Metric).
LOC:18 (Lines Of Code - Physical).
CD:5.43% (Comment Density).
Location:./ovs-lib/avi.c:2032

AVIOpen

Prototype:POVS_AVI AVIOpen(PCHAR pchFile, PCHAR pchMode)
Description:This function opens an AVI file for reading or modifying existing frames but not extending.
Pre-condition(s):pchFile points to a null terminated string of the file path, pchMode points to a null terminated string with a valid access mode string (see fopen() second argument for details).
Post-condition(s):The file is opened and an OVS_AVI object returned for processing with AVI functions.
Input(s):pchFile, pchMode.
Output(s):None.
Return:On success a pointer to an OVS_AVI object or on failure NULL.
CCM:61 (Cyclomatic Complexity Metric).
LOC:345 (Lines Of Code - Physical).
CD:9.41% (Comment Density).
Location:./ovs-lib/avi.c:1072

AVIPrintAllStructures

Prototype:VOID AVIPrintAllStructures(POVS_AVI pAVI)
Description:This function prints all data structure information for an AVI object in memory formated to stdout.
Pre-condition(s):pAVI is a valid AVI object in memory created from either the AVIOpen or AVICreate functions.
Post-condition(s):The data structure details are printed formated to stdout.
Input(s):pAVI.
Output(s):None.
Return:None
CCM:13 (Cyclomatic Complexity Metric).
LOC:48 (Lines Of Code - Physical).
CD:3.65% (Comment Density).
Location:./ovs-lib/avi.c:584

AVIPrintHeader

Prototype:VOID AVIPrintHeader(PAVI_HEADER pHeader)
Description:This function prints an AVI header to stdout.
Pre-condition(s):pHeader points to an area of memory of at least sizeof(AVI_HEADER) bytes.
Post-condition(s):The header details are printed formated to stdout.
Input(s):pHeader.
Output(s):None.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:24 (Lines Of Code - Physical).
CD:2.60% (Comment Density).
Location:./ovs-lib/avi.c:99

AVIPrintIdx1Entries

Prototype:VOID AVIPrintIdx1Entries(PAVI_INDEX_ENTRY pIndex, UINT32 ui32Size)
Description:This function prints an AVI idx1 index entry data structure formated to stdout.
Pre-condition(s):pIndex points to an area of memory of at least ( ui32Size * sizeof(AVI_INDEX_ENTRY) ) bytes.
Post-condition(s):The array of index entries are printed formated to stdout.
Input(s):pIndex, ui32Size.
Output(s):None.
Return:None.
CCM:11 (Cyclomatic Complexity Metric).
LOC:46 (Lines Of Code - Physical).
CD:1.74% (Comment Density).
Location:./ovs-lib/avi.c:235

AVIPrintODMLHeader

Prototype:VOID AVIPrintODMLHeader(PODML_EXT_HEADER pHeader)
Description:This function prints an AVI ODML (OpenDML) header to stdout.
Pre-condition(s):pHeader points to an area of memory of at least sizeof(ODML_EXT_HEADER).
Post-condition(s):The odml header details are printed formated to stdout.
Input(s):pHeader.
Output(s):None.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:15 (Lines Of Code - Physical).
CD:6.91% (Comment Density).
Location:./ovs-lib/avi.c:140

AVIPrintStdIndexEntries

Prototype:VOID AVIPrintStdIndexEntries(PAVI_STDINDEX_CHUNK pIndex)
Description:This function prints AVI standard index entries formated to stdout.
Pre-condition(s):pIndex points to an area of memory of at least sizeof(AVI_STD_INDEX_ENTRY).
Post-condition(s):The index entry details are printed formated to stdout.
Input(s):pIndex.
Output(s):None.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:22 (Lines Of Code - Physical).
CD:4.15% (Comment Density).
Location:./ovs-lib/avi.c:441

AVIPrintStdIndexHeader

Prototype:VOID AVIPrintStdIndexHeader(PAVI_STDINDEX_CHUNK pIndex)
Description:This function prints an AVI standard index header formated to stdout.
Pre-condition(s):pIndex points to an area of memory of at least sizeof(AVI_STDINDEX_CHUNK).
Post-condition(s):The header details are printed formated to stdout.
Input(s):pIndex.
Output(s):None.
Return:None.
CCM:7 (Cyclomatic Complexity Metric).
LOC:34 (Lines Of Code - Physical).
CD:2.17% (Comment Density).
Location:./ovs-lib/avi.c:390

AVIPrintStreamHeader

Prototype:VOID AVIPrintStreamHeader(PAVI_STREAM_HDR pHeader)
Description:This function prints an AVI stream header to stdout.
Pre-condition(s):pHeader points to an area of memory of at least sizeof(AVI_STREAM_HDR).
Post-condition(s):The header details are printed formated to stdout.
Input(s):pHeader.
Output(s):None.
Return:None.
CCM:6 (Cyclomatic Complexity Metric).
LOC:45 (Lines Of Code - Physical).
CD:1.43% (Comment Density).
Location:./ovs-lib/avi.c:172

AVIPrintSuperIndexEntries

Prototype:VOID AVIPrintSuperIndexEntries(PAVI_SUPERINDEX_CHUNK pIndex)
Description:This function prints AVI super index entries formated to stdout.
Pre-condition(s):pIndex points to an area of memory of at least sizeof(AVI_SUPERINDEX_CHUNK).
Post-condition(s):The array of entry details are printed formated to stdout.
Input(s):pIndex.
Output(s):None.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:23 (Lines Of Code - Physical).
CD:3.57% (Comment Density).
Location:./ovs-lib/avi.c:349

AVIPrintSuperIndexHeader

Prototype:VOID AVIPrintSuperIndexHeader(PAVI_SUPERINDEX_CHUNK pIndex)
Description:This function prints an AVI super index header data structure formated to stdout.
Pre-condition(s):pHeader points to an area of memory of at least sizeof(AVI_SUPERINDEX_CHUNK).
Post-condition(s):The header details are printed formated to stdout.
Input(s):pIndex.
Output(s):None.
Return:None.
CCM:7 (Cyclomatic Complexity Metric).
LOC:33 (Lines Of Code - Physical).
CD:2.28% (Comment Density).
Location:./ovs-lib/avi.c:299

AVIPrintVideoProperties

Prototype:VOID AVIPrintVideoProperties(PVIDEO_PROPERTIES_CHUNK pVprp)
Description:This function prints AVI video properties header information and field descriptions formated to stdout.
Pre-condition(s):pVprp points to an area of memory of at least sizeof(VIDEO_PROPERTIES_CHUNK).
Post-condition(s):The header details are printed formated to stdout.
Input(s):pVprp.
Output(s):None.
Return:None.
CCM:14 (Cyclomatic Complexity Metric).
LOC:85 (Lines Of Code - Physical).
CD:0.83% (Comment Density).
Location:./ovs-lib/avi.c:481

AVISetStreamData

Prototype:BOOL AVISetStreamData(POVS_AVI pAVI, PUINT8 pui8Buffer, UINT32 ui32BufferSz, UINT64 ui64ChunkNo, UINT8 ui8StreamNo)
Description:This function writes a stream chunk to an AVI object.
Pre-condition(s):pAVI is a valid AVI object obtained from OpenAVI or CreateAVI, pui8Buffer points to valid area of memory of at least ui32BufferSz size in bytes.
Post-condition(s):The specified chunk (ui64ChunkNo) has its data filled with the data in pui8Buffer of ui32BufferSz size in bytes for the OVS_AVI object.
Input(s):pAVI, pui8Buffer, ui32BufferSz, ui64ChunkNo, ui8StreamNo.
Output(s):pui8Buffer.
Return:TRUE on success or FALSE otherwise
CCM:25 (Cyclomatic Complexity Metric).
LOC:136 (Lines Of Code - Physical).
CD:9.83% (Comment Density).
Location:./ovs-lib/avi.c:1749

ApplyGaussian

Prototype:POVS_IMAGE ApplyGaussian(POVS_IMAGE pImage, PGAUSSIAN pGaussian)
Description:This function applies guassian in two directions to an image and creates a new image with the output which is returned.
Pre-condition(s):Argument pImage must be a valid image object and of one of the following types/properties: grey scale, 8 bits per pixel, 1 channel; RGB, 24 bits per pixel, 3 channels; BGR, 24 bits per pixel, 3 channels. Argument gaussian must be valid.
Post-condition(s):A new image will be created with the guassian application from the input image.
Input(s):pImage, pdGuassian.
Output(s):None.
Return:Pointer to new image or NULL on failure.
CCM:24 (Cyclomatic Complexity Metric).
LOC:157 (Lines Of Code - Physical).
CD:5.62% (Comment Density).
Location:./ovs-lib/gaussian.c:282

ApplyGaussianByMask

Prototype:POVS_IMAGE ApplyGaussianByMask(POVS_IMAGE pImage, POVS_IMAGE pImageMask, UINT32 ui32Colour, PGAUSSIAN pGaussian)
Description:This function applies guassian in two directions to an image and creates a new image with the output which is returned. Only pixels within pImage are processed if identified in pImageMask by ui32Colour.
Pre-condition(s):Argument pImage must be a valid image object and of one of the following types/properties: grey scale, 8 bits per pixel, 1 channel; RGB, 24 bits per pixel, 3 channels; BGR, 24 bits per pixel, 3 channels. Argument gaussian must be valid.
Post-condition(s):A new image will be created with the guassian application from the input image by input mask.
Input(s):pImage, pImageMask, ui32Colour, pdGuassian.
Output(s):None.
Return:Pointer to new image or NULL on failure.
CCM:31 (Cyclomatic Complexity Metric).
LOC:192 (Lines Of Code - Physical).
CD:3.82% (Comment Density).
Location:./ovs-lib/gaussian.c:464

ApplyGaussianToUint32Array

Prototype:BOOL ApplyGaussianToUint32Array(PUINT32 pui32Array, UINT32 ui32Size, PGAUSSIAN pGaussian)
Description:This function applies guassian in one direction using an input gaussian object, the result is the input array is smoothed by the gaussian application.
Pre-condition(s):Argument pGaussian must be a valid object in memory, pi32Array must be an array of 32 bit integers and ui32Size must indicate the number of integers in pi32Array.
Post-condition(s):A input array is processed and smoothed.
Input(s):pi32Array, ui32Size, pGuassian.
Output(s):pi32Array.
Return:TRUE on success of FALSE otherwise.
CCM:15 (Cyclomatic Complexity Metric).
LOC:102 (Lines Of Code - Physical).
CD:4.21% (Comment Density).
Location:./ovs-lib/gaussian.c:676

BGR24ToGS8

Prototype:VOID BGR24ToGS8(PUINT8 pui8GS, PUINT8 pui8BGR, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a GS8 grey scale 8 bit pixel formated frame from a BGR24 packed pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8BGR is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8GS is filled with a frame in grey scale 8 pixel format.
Input(s):pui8GS, pui8BGR, ui32Width, ui32Height.
Output(s):pui8GS.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:25 (Lines Of Code - Physical).
CD:4.40% (Comment Density).
Location:./ovs-lib/gs.c:142

BGR24ToRGB24

Prototype:VOID BGR24ToRGB24(PUINT8 pui8RGB, PUINT8 pui8BGR, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGB24 packed pixel formated frame from a BGR24 packed pixel formated frame.
Pre-condition(s):pui8RGB is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8BGR is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB24 packed pixel format.
Input(s):pui8RGB, pui8BGR, ui32Width, ui32Height.
Output(s):pui8RGB.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:22 (Lines Of Code - Physical).
CD:4.75% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:230

BGR24ToRGBA32

Prototype:VOID BGR24ToRGBA32(PUINT8 pui8RGBA, PUINT8 pui8BGR, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGBA packed pixel formated frame from a BGR24 packed pixel formated frame, note opacity is set on output pixels.
Pre-condition(s):pui8RGB is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8BGR is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGBA32 packed pixel format.
Input(s):pui8RGBA, pui8BGR, ui32Width, ui32Height.
Output(s):pui8RGBA.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:273

BGR24ToYUY2

Prototype:VOID BGR24ToYUY2(PUINT8 pui8YUY2, PUINT8 pui8BGR, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YUY2 packed pixel format frame from a BGR24 packed pixel format frame.
Pre-condition(s):pui8YUY2 is a valid pointer to storage at at least ( ui32Width * ui32Height * 2 ) bytes, pui8BGR is a pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8YUY2 is filled with a frame in YUY2 packed pixel format using YCrCb ITU-R BT.601 digital encoding.
Input(s):pui8YUY2, pui8BGR, ui32Width, ui32Height.
Output(s):pui8YUY2.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.04% (Comment Density).
Location:./ovs-lib/yuy2.c:183

BGR24ToYV12

Prototype:VOID BGR24ToYV12(PUINT8 pui8YV12, PUINT8 pui8BGR, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YV12 planar encoded frame from an BGR24 packed pixel formated frame.
Pre-condition(s):pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes and pui8BGR is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8YV12 is filled with a YV12 planar format encoded YCrCb frame in ITU-R BT.601 digital encoding.
Input(s):pui8YV12, pui8BGR, ui32Width, ui32Height.
Output(s):pui8YV12.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.04% (Comment Density).
Location:./ovs-lib/yv12.c:160

BimapValidateInfoHeader

Prototype:BOOL BimapValidateInfoHeader(PBITMAP_INFO_HEADER_V3 pBitmapInfoHeader)
Description:This function validates a bitmap information header based on the requirement that it is 24bpp and none-compressed.
Pre-condition(s):Argument pui32BitmapInfoHeader points to bitmap info header in memory of sizeof(BITMAP_INFO_HEADER) or
Post-condition(s):The bitmap information header is validated.
Input(s):pui32BitmapInfoHeader.
Output(s):None.
Return:TRUE if the pui32BitmapInfoHeader is valid or FALSE otherwise.
CCM:4 (Cyclomatic Complexity Metric).
LOC:18 (Lines Of Code - Physical).
CD:11.70% (Comment Density).
Location:./ovs-lib/bitmap.c:274

BitmapHeaderPrint

Prototype:VOID BitmapHeaderPrint(PBITMAP_HEADER pBmpHeader)
Description:This function prints out information from a bitmap header.
Pre-condition(s):Argument points to an area of memory of at least sizeof(PBITMAP_HEADER) in bytes.
Post-condition(s):The header information is printed formated to stdout.
Input(s):pBmpHeader.
Output(s):None.
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:21 (Lines Of Code - Physical).
CD:3.58% (Comment Density).
Location:./ovs-lib/bitmap.c:90

BitmapInfoHeaderPrint

Prototype:VOID BitmapInfoHeaderPrint(PBITMAP_INFO_HEADER_V3 pBitmapInfoHeader, UINT32 ui32BitmapInfoHeaderSize)
Description:This function prints out information from a bitmap information header.
Pre-condition(s):Argument of ui32BitmapInfoHeaderSize specifies the size in bytes of the memory area pointed to by pBitmapInfoHeader.
Post-condition(s):The header information is printed formated to stdout.
Input(s):ui32BitmapInfoHeaderSize, pui32BitmapInfoHeader.
Output(s):None.
Return:None.
CCM:21 (Cyclomatic Complexity Metric).
LOC:89 (Lines Of Code - Physical).
CD:6.63% (Comment Density).
Location:./ovs-lib/bitmap.c:129

BitmapLoadImage

Prototype:POVS_IMAGE BitmapLoadImage(PCHAR pchFilePath)
Description:This function loads a 24 bits per pixel bitmap image from a file to an OVS_IMAGE object image in memory.
Pre-condition(s):Argument pchFilePath is a valid path string of a file that is null terminated and the file is a 24 bits per pixel none compressed bitmap image.
Post-condition(s):The image is loaded into memory as an OVS_IMAGE object.
Input(s):pchFilePath.
Output(s):None.
Return:On success a pointer to an OVS_IMAGE object in memory or on failure NULL.
CCM:33 (Cyclomatic Complexity Metric).
LOC:195 (Lines Of Code - Physical).
CD:18.23% (Comment Density).
Location:./ovs-lib/bitmap.c:312

BitmapSaveImage

Prototype:BOOL BitmapSaveImage(PCHAR pchFilePath, POVS_IMAGE pImage)
Description:This function saves an OVS_IMAGE to a 24 bits per pixel none compressed bitmap file.
Pre-condition(s):Argument pchFile is a valid path string and pImage is a valid OVS_IMAGE image object in memory with one of the following types/properties: FCC_RGB with 24 bits per pixel and 3 channels; FCC_BGR with 24 bits per pixel and 3 channels.
Post-condition(s):The image is saved to file at location pchFilePath.
Input(s):pchFilePath, pImage.
Output(s):None.
Return:TRUE on success of FALSE on failure.
CCM:21 (Cyclomatic Complexity Metric).
LOC:166 (Lines Of Code - Physical).
CD:9.52% (Comment Density).
Location:./ovs-lib/bitmap.c:528

BitmapValidateHeader

Prototype:BOOL BitmapValidateHeader(PBITMAP_HEADER pBmpHeader)
Description:This function validates a bitmap header.
Pre-condition(s):Argument pBmpHeader points to a bitmap header in memory of size >= sizeof(BITMAP_HEADER).
Post-condition(s):The bitmap header is validated.
Input(s):pBmpHeader.
Output(s):None.
Return:TRUE if the bitmap header is valid of FALSE otherwise.
CCM:4 (Cyclomatic Complexity Metric).
LOC:19 (Lines Of Code - Physical).
CD:9.43% (Comment Density).
Location:./ovs-lib/bitmap.c:235

ByteSwap16

Prototype:UINT16 ByteSwap16(UINT16 ui16Word)
Description:This function swaps the byte order of a 16 bit value.
Pre-condition(s):None.
Post-condition(s):The swapped 16 bit word value is calculated.
Input(s):ui16Word.
Output(s):None.
Return:The 16 bit byte swapped value of ui16Word.
CCM:1 (Cyclomatic Complexity Metric).
LOC:4 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/byteorder.c:89

ByteSwap32

Prototype:UINT32 ByteSwap32(UINT32 ui32DWord)
Description:This function swaps the byte order of a 32 bit value.
Pre-condition(s):None.
Post-condition(s):The swapped 32 bit word value is calculated.
Input(s):ui32DWord.
Output(s):None.
Return:The 32 bit byte swapped value of ui32DWord.
CCM:1 (Cyclomatic Complexity Metric).
LOC:7 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/byteorder.c:109

ByteSwap64

Prototype:UINT64 ByteSwap64(UINT64 ui64QWord)
Description:This function swaps the byte order of a 64 bit value.
Pre-condition(s):None.
Post-condition(s):The swapped 64 bit word value is calculated.
Input(s):ui64QWord.
Output(s):None.
Return:The 64 bit byte swapped value of ui64QWord.
CCM:1 (Cyclomatic Complexity Metric).
LOC:11 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/byteorder.c:132

ConvolutionMatrixApply

Prototype:POVS_IMAGE ConvolutionMatrixApply(POVS_IMAGE pImage, PCONVOLUTION_MATRIX pCM)
Description:This function applies a convolution matrix object to an image and produces a new image as the output.
Pre-condition(s):Argument pImage is a valid image of one of the following types/ properties: GreyScal 8 bits per pixel and 1 channel; RGB 24 bits per pixel and 3 channels; BGR 24 bits per pixel and 3 channels. pCM points to a valid convolution matrix object in memory.
Post-condition(s):pImage has the application of a convolution matrix applied and the output calculated and returned.
Input(s):pImage, pCM.
Output(s):None.
Return:On success a pointer to an OVS_IMAGE object with the same type/ properties as the input pImage or on failure NULL.
CCM:31 (Cyclomatic Complexity Metric).
LOC:151 (Lines Of Code - Physical).
CD:6.66% (Comment Density).
Location:./ovs-lib/convolution.c:270

ConvolutionMatrixCalculateSum

Prototype:BOOL ConvolutionMatrixCalculateSum(PCONVOLUTION_MATRIX pCM)
Description:This function calculates the sum value of all elements of a convolution matrix kernel and sets the appropriate property of the object.
Pre-condition(s):Argument pCM points to a valid convolution matrix object in memory.
Post-condition(s):The object has its sum value calculated and set.
Input(s):pCM.
Output(s):None.
Return:On success TRUE or on failure FALSE.
CCM:3 (Cyclomatic Complexity Metric).
LOC:21 (Lines Of Code - Physical).
CD:14.64% (Comment Density).
Location:./ovs-lib/convolution.c:225

ConvolutionMatrixCreate

Prototype:PCONVOLUTION_MATRIX ConvolutionMatrixCreate(UINT32 ui32Width, UINT32 ui32Height)
Description:This function creates a convolution matrix object in memory.
Pre-condition(s):Arguments ui16Width and ui16Height must be odd numbers.
Post-condition(s):A new convolution matrix object is created.
Input(s):ui16Width, ui16Height.
Output(s):None.
Return:A pointer to a convolution object on success or NULL otherwise.
CCM:6 (Cyclomatic Complexity Metric).
LOC:36 (Lines Of Code - Physical).
CD:2.49% (Comment Density).
Location:./ovs-lib/convolution.c:91

ConvolutionMatrixRelease

Prototype:VOID ConvolutionMatrixRelease(PCONVOLUTION_MATRIX pCM)
Description:This function releases the resources of a convolution matrix object.
Pre-condition(s):Argument points to a valid convoltion matrix object in memory.
Post-condition(s):The argument object is released from memory.
Input(s):pCM.
Output(s):None.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:17 (Lines Of Code - Physical).
CD:6.65% (Comment Density).
Location:./ovs-lib/convolution.c:144

ConvolutionMatrixValidate

Prototype:BOOL ConvolutionMatrixValidate(PCONVOLUTION_MATRIX pCM)
Description:This function validates a convolution matrix object in memory.
Pre-condition(s):Argument points to a convoltion matrix object in memory.
Post-condition(s):The argument convolution object is validated.
Input(s):pCM.
Output(s):None.
Return:TRUE if the argument convolution matrix object is valid or FALSE otherwise.
CCM:7 (Cyclomatic Complexity Metric).
LOC:27 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/convolution.c:179

CreateGaussian

Prototype:PGAUSSIAN CreateGaussian(UINT32 ui32Width, FLOAT fStdDeviation)
Description:This function creates a guassian object in memory.
Pre-condition(s):Argument ui32Width must be an odd number that is greater than zero and dStandardDeviation must be greater than 0.
Post-condition(s):A new gaussian object is created in memory.
Input(s):ui32Width, dStandardDeviation.
Output(s):None.
Return:Pointer to new gaussian object or NULL on failure.
CCM:8 (Cyclomatic Complexity Metric).
LOC:58 (Lines Of Code - Physical).
CD:8.48% (Comment Density).
Location:./ovs-lib/gaussian.c:105

DebugOut

Prototype:VOID DebugOut(PCHAR pchFile, CONSTPCHAR pchFunction, UINT32 ui32Line, PCHAR pchMessage)
Description:This function prints out debugging information, and is NOT to be used directly, use the DebugPrint function instead. This function is called for error conditions only as DebugPrint.
Pre-condition(s):pchFile, pchFunction and pchMessage point to valid null terminated strings.
Post-condition(s):A message is printed to stdout and if logging is enabled also the message is written to a log file.
Input(s):pchFile, pchFunction, ui32Line, pchMessage.
Output(s):None.
Return:None.
CCM:6 (Cyclomatic Complexity Metric).
LOC:54 (Lines Of Code - Physical).
CD:9.10% (Comment Density).
Location:./ovs-lib/debug.c:91

DebugOutInfo

Prototype:VOID DebugOutInfo(CONSTPCHAR pchFile, CONSTPCHAR pchFunction, CONST UINT32 ui32Line, CONSTPCHAR pchMessage, ...)
Description:This function prints out debugging information, do NOT use this function, instead use the DebugInfo macro. This function is to be used for any output usage desired.
Pre-condition(s):pchFile, pchFunction and pchMessage point to valid null terminated strings.
Post-condition(s):A message is printed to stdout and if logging is enabled the message is also written to a log file.
Input(s):pchFile, pchFunction, ui32Line, pchMessage, ... .
Output(s):None.
Return:None.
CCM:13 (Cyclomatic Complexity Metric).
LOC:112 (Lines Of Code - Physical).
CD:12.24% (Comment Density).
Location:./ovs-lib/debug.c:165

DestroyCS

Prototype:VOID DestroyCS(CRITICAL_SECTION * pCriticalSection)
Description:This function destroys a critical section object.
Pre-condition(s):Arguments points to a critical section object of type CRITICAL_SECTION which has previously been initialized with the InitializeCS function.
Post-condition(s):The argument critical section object is destroyed.
Input(s):pCriticalSection.
Output(s):pCriticalSection.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:11 (Lines Of Code - Physical).
CD:26.36% (Comment Density).
Location:./ovs-lib/cs.c:125

EnterCS

Prototype:VOID EnterCS(CRITICAL_SECTION * pCriticalSection)
Description:This function enters into a critical section.
Pre-condition(s):Argument points to a valid initialized critical section object.
Post-condition(s):The thread enters the critical section.
Input(s):pCriticalSection.
Output(s):pCriticalSection.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:9 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/cs.c:152

ExtractFCC

Prototype:BOOL ExtractFCC(PCHAR pchFCC, UINT32 ui32FCC)
Description:This function extracts a FCC string from a FCC code.
Pre-condition(s):pchFcc points to an area of memory of at least 5 bytes. The ui32FCC is a valid four character code (see fourcc.h).
Post-condition(s):A FCC string is created for the FCC code.
Input(s):pchFcc, ui32FCC.
Output(s):pchFcc.
Return:On success the pointer pchFCC has a 4 character string with a null terminator (5 char) written to and TRUE is returned otherwise FALSE is returned.
CCM:1 (Cyclomatic Complexity Metric).
LOC:12 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/fourcc.c:120

FileClose

Prototype:INT32 FileClose(PFILEHANDLE fpFile)
Description:This function closes a FILEHANDLE object and releases its resources.
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function.
Post-condition(s):None.
Input(s):fpFile.
Output(s):None.
Return:0 on success or EOF on failure.
CCM:4 (Cyclomatic Complexity Metric).
LOC:24 (Lines Of Code - Physical).
CD:12.26% (Comment Density).
Location:./ovs-lib/mpfile.c:168

FileFlush

Prototype:BOOL FileFlush(PFILEHANDLE fpFile)
Description:This function flushes data on a file stream.
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function.
Post-condition(s):All file data is flushed to disk.
Input(s):fpFile.
Output(s):None.
Return:On success TRUE of failure FALSE.
CCM:4 (Cyclomatic Complexity Metric).
LOC:24 (Lines Of Code - Physical).
CD:13.93% (Comment Density).
Location:./ovs-lib/mpfile.c:336

FileGetSize

Prototype:INT64 FileGetSize(PFILEHANDLE fpFile)
Description:This function gets the file size of an open file.
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function.
Post-condition(s):The file size is returned.
Input(s):fpFile.
Output(s):None.
Return:On success the file size is returned or on failure -1.
CCM:6 (Cyclomatic Complexity Metric).
LOC:32 (Lines Of Code - Physical).
CD:15.85% (Comment Density).
Location:./ovs-lib/mpfile.c:611

FileOpen

Prototype:PFILEHANDLE FileOpen(PCHAR pchFile, PCHAR pchMode)
Description:This function opens a file ready for reading and or writing.
Pre-condition(s):pchFile and pchMode are NULL terminated string (see fopen).
Post-condition(s):A file is opened reading for reading and or writing.
Input(s):pchFile, pchMode.
Output(s):None.
Return:On success a pointer to a FILEHANDLE object or on failure NULL.
CCM:9 (Cyclomatic Complexity Metric).
LOC:55 (Lines Of Code - Physical).
CD:9.30% (Comment Density).
Location:./ovs-lib/mpfile.c:95

FileRead

Prototype:UINT64 FileRead(PVOID pvBuffer, UINT64 ui64Size, UINT64 ui64Count, PFILEHANDLE fpFile)
Description:This function reads data from an open file.
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function. pvBuffer is a pointer to memory of at least (ui64Size * ui64Count) bytes in size.
Post-condition(s):The file data at the current stream position is read into the pvBuffer of up to (ui64Size * ui64Count) bytes in size.
Input(s):pvBuffer, ui64Size, ui64Count, fpFile.
Output(s):fpFile.
Return:On success the total count of blocks read is returned, on failure the count of blocks read is returned which is less than ui64Count requested.
CCM:20 (Cyclomatic Complexity Metric).
LOC:97 (Lines Of Code - Physical).
CD:6.99% (Comment Density).
Location:./ovs-lib/mpfile.c:381

FileSeek

Prototype:INT32 FileSeek(PFILEHANDLE fpFile, INT64 i64Offset, INT32 i32Whence)
Description:This function seeks the position of the file pointer to ui64Offset from i32Whence location, valid values for i32Whence are: SEEK_SET, SEEK_CUR, SEEK_END.
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function.
Post-condition(s):The file stream position is changed to the position at i64Offset from location i32Whence.
Input(s):fpFile, ui64Offset, i32Whence.
Output(s):None.
Return:0 on success or -1 on failure.
CCM:8 (Cyclomatic Complexity Metric).
LOC:51 (Lines Of Code - Physical).
CD:15.02% (Comment Density).
Location:./ovs-lib/mpfile.c:212

FileTell

Prototype:INT64 FileTell(PFILEHANDLE fpFile)
Description:This function returns the current file position.
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function.
Post-condition(s):fpFile is a valid file handle returned from the FileOpen function.
Input(s):fpFile.
Output(s):None.
Return:On success the file position is returned or on failure -1 is returned.
CCM:4 (Cyclomatic Complexity Metric).
LOC:38 (Lines Of Code - Physical).
CD:16.31% (Comment Density).
Location:./ovs-lib/mpfile.c:281

FileWrite

Prototype:UINT64 FileWrite(PVOID pvBuffer, UINT64 ui64Size, UINT64 ui64Count, PFILEHANDLE fpFile)
Description:This function writes data to an open file, .
Pre-condition(s):fpFile is a valid FILEHANDLE object in memory returned from the FileOpen function. pvBuffer is a pointer to memory of at least ui64Size * ui64Count bytes in size.
Post-condition(s):None.
Input(s):pvBuffer, ui64Size, ui64Count, fpFile.
Output(s):None.
Return:On success the total count of blocks written is returned, on failure the count of blocks written is returned which is less than ui64Count requested.
CCM:20 (Cyclomatic Complexity Metric).
LOC:96 (Lines Of Code - Physical).
CD:6.83% (Comment Density).
Location:./ovs-lib/mpfile.c:498

FillImageSeed4WayStack

Prototype:UINT32 FillImageSeed4WayStack(POVS_IMAGE pImage, UINT32 ui32OldColour, UINT32 ui32NewColour, UINT32 ui32X, UINT32 ui32Y)
Description:This function applies a seed 4 way stack fill algorithm to fill an area of an image with a colour.
Pre-condition(s):Argument pImage must be a valid image object of one of the following types/properties: RGB with 24 bits per pixels, 3 channels; BGR with 24 bits per pixels, 3 channels.
Post-condition(s):The image area of ui32OldColour from location ui32X, ui32Y will be filled with the colour of ui32NewColour.
Input(s):pImage, ui32OldColour, ui32NewColour, ui32X, ui32Y.
Output(s):pImage.
Return:TRUE on success or FALSE on failure.
CCM:19 (Cyclomatic Complexity Metric).
LOC:157 (Lines Of Code - Physical).
CD:8.49% (Comment Density).
Location:./ovs-lib/fill.c:106

FrameCapAdd

Prototype:BOOL FrameCapAdd(PLIST_ENTRY pListHead, POVS_IMAGE pImage )
Description:This function adds a frame to a frame capture list.
Pre-condition(s):pListHead is a valid initlaized frame capture list head returned from FrameCapInitialize and pImage is a valid image object.
Post-condition(s):The pImage argument image is added to the frame capture list.
Input(s):pListHead, pImage.
Output(s):pListHead.
Return:TRUE on success or FALSE otherwise
CCM:5 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:16.61% (Comment Density).
Location:./ovs-lib/framecap.c:121

FrameCapAddCopy

Prototype:BOOL FrameCapAddCopy(PLIST_ENTRY pListHead, POVS_IMAGE pImage )
Description:This function adds a copy of a frame to a frame capture list.
Pre-condition(s):pListHead is a valid initailized frame capture list head returned from FrameCapInitialize and pImage is a valid image object.
Post-condition(s):The pImage argument image is added to the frame capture list.
Input(s):pListHead, pImage.
Output(s):pListHead.
Return:TRUE on success or FALSE otherwise
CCM:6 (Cyclomatic Complexity Metric).
LOC:35 (Lines Of Code - Physical).
CD:15.40% (Comment Density).
Location:./ovs-lib/framecap.c:168

FrameCapDumpFrames

Prototype:BOOL FrameCapDumpFrames(PCHAR pchPath, PLIST_ENTRY pListHead)
Description:This function dumps a frame capture list to image files with a sequential name output using the format of capture-NNN.bmp, where NNN is a decimal numerical value starting with 000.
Pre-condition(s):pchPath is a valid path directory and pListHead is a valid initlaized frame capture list head returned from FrameCapInitialize, the frames added to the list must be one of the following types/properties: RGB 24 bits per pixel 3 channels.
Post-condition(s):All list elements are written to bitmaps on disk.
Input(s):pchPath, pListHead.
Output(s):None.
Return:TRUE on success or FALSE otherwise
CCM:4 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:6.57% (Comment Density).
Location:./ovs-lib/framecap.c:271

FrameCapInitialize

Prototype:PLIST_ENTRY FrameCapInitialize()
Description:This function initializes a frame capture list ready for the insertion of frames.
Pre-condition(s):None.
Post-condition(s):A new frame capture list is created and initialized.
Input(s):None.
Output(s):None.
Return:On success a pointer to a frame capture list or NULL on failure.
CCM:2 (Cyclomatic Complexity Metric).
LOC:12 (Lines Of Code - Physical).
CD:19.21% (Comment Density).
Location:./ovs-lib/framecap.c:92

FrameCapUninitialize

Prototype:BOOL FrameCapUninitialize(PLIST_ENTRY pListHead)
Description:This function releases all resources of a frame capture list, including all images within the list.
Pre-condition(s):pListHead is a valid initlaized frame capture list head returned from FrameCapInitialize.
Post-condition(s):All resources associated with the capture list are released.
Input(s):pListHead.
Output(s):None.
Return:TRUE on success or FALSE otherwise
CCM:3 (Cyclomatic Complexity Metric).
LOC:28 (Lines Of Code - Physical).
CD:29.08% (Comment Density).
Location:./ovs-lib/framecap.c:221

GS8ToBGR24

Prototype:VOID GS8ToBGR24(PUINT8 pui8BGR, PUINT8 pui8GS, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGR24 packed pixel formated frame from a grey scale 8 pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8BGR is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8BGR is filled with a frame in BGR24 packed pixel format.
Input(s):pui8BGR, pui8GS, ui32Width, ui32Height.
Output(s):pui8BGR.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.54% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:137

GS8ToRGB24

Prototype:VOID GS8ToRGB24(PUINT8 pui8RGB, PUINT8 pui8GS, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGB24 packed pixel formated frame from a grey scale 8 pixel formated frame.
Pre-condition(s):pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes, pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB24 packed pixel format.
Input(s):pui8RGB, pui8GS, ui32Width, ui32Height.
Output(s):pui8RGB.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:11 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:106

GS8ToRGBA32

Prototype:VOID GS8ToRGBA32(PUINT8 pui8RGBA, PUINT8 pui8GS, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGBA32 packed pixel formated frame from a grey scale 8 pixel formated frame, note opacity is set for all pixels on output.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8BGRA is a buffer of at least ( ui32Width * ui32Height * 4 ) bytes.
Post-condition(s):The buffer of pui8RGBA is filled with a frame in RGBA32 packed pixel format.
Input(s):pui8RGBA, pui8GS, ui32Width, ui32Height.
Output(s):pui8RGBA.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.32% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:163

GS8ToYUY2

Prototype:VOID GS8ToYUY2(PUINT8 pui8YUY2, PUINT8 pui8GS, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YUY2 packed pixel format frame from a grey scale 8 bit pixel format frame.
Pre-condition(s):pui8YUY2 is a valid pointer to storage at at least ( ui32Width * ui32Height * 2 ) bytes, pui8GS is a pointer to storage of at least ( ui32Width * ui32Height ).
Post-condition(s):The buffer of pui8YUY2 is filled with a frame in YUY2 packed pixel format using YCrCb ITU-R BT.601 digital encoding.
Input(s):pui8YUY2, pui8GS, ui32Width, ui32Height.
Output(s):pui8YUY2.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.40% (Comment Density).
Location:./ovs-lib/yuy2.c:106

GaussianValidate

Prototype:BOOL GaussianValidate(PGAUSSIAN pGaussian)
Description:This function checks if a gaussian object has valid properties, that is the members of the gaussian data structure conform to valid values.
Pre-condition(s):pGaussian must point to an gaussian object in memory.
Post-condition(s):Image is validated.
Input(s):pGaussian.
Output(s):None.
Return:TRUE is returned if argument is valid or FALSE otherwise.
CCM:4 (Cyclomatic Complexity Metric).
LOC:16 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/gaussian.c:181

GetBPPFromFCC

Prototype:UINT32 GetBPPFromFCC(UINT32 ui32Fcc)
Description:This function returns the bits per pixels value for a FCC frame type. Note not all FCC types have a bits per pixel value (only raw fixed length types).
Pre-condition(s):None.
Post-condition(s):The bits per pixels is returned for the specified FCC type.
Input(s):ui32Fcc.
Output(s):None.
Return:On success the number of bits per pixels for the specified FCC is returned, if the value is indeterminate then 0 is returned, on failure 0xFFFFFFFF is returned.
CCM:13 (Cyclomatic Complexity Metric).
LOC:42 (Lines Of Code - Physical).
CD:5.73% (Comment Density).
Location:./ovs-lib/fourcc.c:152

GetChannelsFromFCC

Prototype:UINT32 GetChannelsFromFCC(UINT32 ui32Fcc)
Description:This function returns the number of channels or planes for a FCC frame type.
Pre-condition(s):None.
Post-condition(s):The number of channels is returned for the specified FCC type.
Input(s):ui32Fcc.
Output(s):None.
Return:On success the number of channels or planes for the specified FCC is returned, if the value is indeterminate then 0 is returned, on failure 0xFFFFFFFF is returned.
CCM:13 (Cyclomatic Complexity Metric).
LOC:35 (Lines Of Code - Physical).
CD:3.64% (Comment Density).
Location:./ovs-lib/fourcc.c:214

GetListSize

Prototype:UINT32 GetListSize(PLIST_ENTRY pListHead)
Description:This function returns the size (number of items) of a doubly linked list.
Pre-condition(s):pListHead is an initialized list head.
Post-condition(s):The list is iterated and all items counted.
Input(s):pListHead.
Output(s):None.
Return:Number of list items.
CCM:2 (Cyclomatic Complexity Metric).
LOC:12 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:296

HSIToRGB

Prototype:VOID HSIToRGB(PUINT8 pui8R, PUINT8 pui8G, PUINT8 pui8B, UINT16 ui16H, UINT8 ui8S, UINT8 ui8I)
Description:This function produces RGB values from HSI (hue, saturation, intensity) values, output ranges are as follows: pui8R ( 0 - 255 ), pui8G ( 0 - 255 ), pui8B ( 0 - 255 ). (NOT IMPLEMENTED YET).
Pre-condition(s):pui8R, pui8G, pui8B point to memory capable of holding the type sizes.
Post-condition(s):The RGB values are calculated from the HSI values.
Input(s):ui16H, ui8S, ui8I, pui8R, pui8G, pui8B.
Output(s):pui8R, pui8G, pui8B.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:6 (Lines Of Code - Physical).
CD:20.29% (Comment Density).
Location:./ovs-lib/hsx.c:393

HSLToRGB

Prototype:VOID HSLToRGB(PUINT8 pui8R, PUINT8 pui8G, PUINT8 pui8B, UINT16 ui16H, UINT8 ui8S, UINT8 ui8L)
Description:This function produces RGB values from HSL (hue, saturation, lightness) values, input ranges are as follows: pui16H ( 0 - 360 ), pui8S ( 0 - 100 ), pui8L ( 0 - 100 ).
Pre-condition(s):pui8R, pui8G, pui8B point to memory capable of holding the type sizes.
Post-condition(s):The RGB values are caclulated from the HSL values.
Input(s):pui16H, pui8S, pui8L, ui8R, ui8G, ui8B.
Output(s):pui8R, pui8G, pui8B.
Return:None.
CCM:12 (Cyclomatic Complexity Metric).
LOC:48 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/hsx.c:270

HSVToRGB

Prototype:VOID HSVToRGB(PUINT8 pui8R, PUINT8 pui8G, PUINT8 pui8B, UINT16 ui16H, UINT8 ui8S, UINT8 ui8V)
Description:This function produces RGB values from HSV (hue, saturation, value) values, note the input ranges are as follows: ui16H ( 0 - 360 ), ui8S ( 0 - 100 ), ui8V ( 0 - 100 ).
Pre-condition(s):pui8R, pui8G, pui8B point to memory capable of holding the type sizes.
Post-condition(s):The RGB values are calculated from the HSV input values.
Input(s):ui16H, ui8S, ui8V, pui8R, pui8G, pui8B.
Output(s):pui8R, pui8G, pui8B.
Return:None.
CCM:10 (Cyclomatic Complexity Metric).
LOC:44 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/hsx.c:150

I420ExtractLuma

Prototype:VOID I420ExtractLuma(PUINT8 pui8Luma, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function extracts the luma data from a I420 encoded frame (NOT IMPLEMENTED YET).
Pre-condition(s):pui8Luma points to a buffer of at least ( ui32Width * ui32Height ) bytes and pui8I420 points to a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8Luma is filled with the luma data from the pui8I420 frame.
Input(s):pui8I420, ui32Width, ui32Height.
Output(s):pui8Luma.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:7 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/i420.c:196

I420ToBGR24

Prototype:VOID I420ToBGR24(PUINT8 pui8BGR, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGBA32 packed formated frame from a I420 planar pixel formated frame.
Pre-condition(s):pui8RGBA is a valid pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes, pui8I420 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGBA32 packed format using ITU-R BT.601 digital decoding.
Input(s):pui8RGBA ,pui8I420, ui32Width, ui32Height.
Output(s):pui8RGBA.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.21% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:672

I420ToGS8

Prototype:VOID I420ToGS8(PUINT8 pui8GS, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a GS8 grey scale 8 bit pixel formated frame from a I420 planar pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8I420 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8GS is filled with a frame in grey scale 8 pixel format.
Input(s):pui8GS, pui8I420, ui32Width, ui32Height.
Output(s):pui8GS.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.54% (Comment Density).
Location:./ovs-lib/gs.c:262

I420ToRGB24

Prototype:VOID I420ToRGB24(PUINT8 pui8RGB, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGB24 packed formated frame from a I420 planar pixel formated frame.
Pre-condition(s):pui8RGB is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8I420 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB24 packed format using ITU-R BT.601 digital decoding.
Input(s):pui8RGB ,pui8I420, ui32Width, ui32Height.
Output(s):pui8RGB.
Return:None.
CCM:5 (Cyclomatic Complexity Metric).
LOC:51 (Lines Of Code - Physical).
CD:3.60% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:600

I420ToRGBA32

Prototype:VOID I420ToRGBA32(PUINT8 pui8RGBA, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGR24 packed formated frame from a I420 planar pixel formated frame.
Pre-condition(s):pui8BGR is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8I420 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGB is filled with a frame in BGR24 packed format using ITU-R BT.601 digital decoding.
Input(s):pui8BGR ,pui8I420, ui32Width, ui32Height.
Output(s):pui8BGR.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:698

I420ToYUY2

Prototype:VOID I420ToYUY2(PUINT8 pui8YUY2, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YUY2 packed pixel format frame from a I420 planar pixel format frame.
Pre-condition(s):pui8YUY2 is a valid pointer to storage at at least ( ui32Width * ui32Height * 2 ) bytes, pui8I420 is a pointer to storage of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8YUY2 is filled with a frame in YUY2 packed pixel format using YCrCb ITU-R BT.601 digital encoding.
Input(s):pui8YUY2, pui8I420, ui32Width, ui32Height.
Output(s):pui8YUY2.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.04% (Comment Density).
Location:./ovs-lib/yuy2.c:258

I420ToYV12

Prototype:VOID I420ToYV12(PUINT8 pui8YV12, PUINT8 pui8I420, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YV12 planar encoded frame from an I420 planar pixel formated frame.
Pre-condition(s):pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes and pui8YUY2 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8YV12 is filled with a YV12 planar format encoded YCrCb frame in ITU-R BT.601 digital encoding.
Input(s):pui8YV12, pui8I420, ui32Width, ui32Height.
Output(s):pui8YV12.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.04% (Comment Density).
Location:./ovs-lib/yv12.c:235

ImageAdjustBrightness

Prototype:BOOL ImageAdjustBrightness(POVS_IMAGE pImage, INT16 i16Adjustment)
Description:This function adjusts the brightness level of an image by increasing the intensity or channel intensity value of an image.
Pre-condition(s):pImage is a valid image object.
Post-condition(s):pImage has its brightness intensity or channel intensity increased by i16Adjustment.
Input(s):pImage, i16Adjustment.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:13 (Cyclomatic Complexity Metric).
LOC:40 (Lines Of Code - Physical).
CD:2.21% (Comment Density).
Location:./ovs-lib/image.c:2406

ImageCompare

Prototype:BOOL ImageCompare(POVS_IMAGE pImage1, POVS_IMAGE pImage2)
Description:This function compares two images by the properties and image pixel data.
Pre-condition(s):pImage1 and pImage2 must point to valid image objects in memory.
Post-condition(s):pImage1 and pImage2 are compared.
Input(s):pImage1, pImage2.
Output(s):None.
Return:TRUE is returned if pImage1 is equal to pImage2 or FALSE otherwise.
CCM:5 (Cyclomatic Complexity Metric).
LOC:27 (Lines Of Code - Physical).
CD:10.45% (Comment Density).
Location:./ovs-lib/image.c:407

ImageCompareProperties

Prototype:BOOL ImageCompareProperties(POVS_IMAGE pImage1, POVS_IMAGE pImage2)
Description:This function compares the properties of two images excluding image pixel data.
Pre-condition(s):pImage1 and pImage2 must point to valid image objects in memory.
Post-condition(s):Image properties of pImage1 and pImage2 are compared.
Input(s):pImage1, pImage2.
Output(s):None.
Return:TRUE is returned if pImage1 is equal to pImage2 in properties or FALSE otherwise.
CCM:9 (Cyclomatic Complexity Metric).
LOC:50 (Lines Of Code - Physical).
CD:29.32% (Comment Density).
Location:./ovs-lib/image.c:340

ImageCopy

Prototype:BOOL ImageCopy(POVS_IMAGE pDstImage, POVS_IMAGE pSrcImage)
Description:This function copies image pixel data from one image to another.
Pre-condition(s):pDstImage and pSrcImage point to valid images in memory that are equal in properties of type, channels, bits per pixel, width and height.
Post-condition(s):pDstImage has its pixel data replaced by the pixel data of pSrcImage.
Input(s):pDstImage, pSrcImage.
Output(s):pDstImage.
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:22 (Lines Of Code - Physical).
CD:9.23% (Comment Density).
Location:./ovs-lib/image.c:631

ImageCreate

Prototype:POVS_IMAGE ImageCreate(UINT32 ui32Width, UINT32 ui32Height, UINT8 ui8Channels, UINT8 ui32BitsPerPixel, UINT32 ui32Type, UINT32 ui32HorizontalResolution, UINT32 ui32VerticalResolution)
Description:This function creates a new image object in memory.
Pre-condition(s):ui32Width > 0, ui32Height > 0, ui32Type is a valid image type (see fourcc.h), ui32BitsPerPixel and ui8Channels are valid values for the specified ui32Type.
Post-condition(s):A new image object is created in memory.
Input(s):ui32Width, ui32Height, ui8Channels, ui32BitsPerPixel, ui32Type, ui32HorizontalResolution, ui32VerticalResolution.
Output(s):None.
Return:A pointer to a new OVS_IMAGE object in memory on success or NULL on failure.
CCM:18 (Cyclomatic Complexity Metric).
LOC:83 (Lines Of Code - Physical).
CD:13.11% (Comment Density).
Location:./ovs-lib/image.c:454

ImageCreateCopyAs

Prototype:POVS_IMAGE ImageCreateCopyAs(POVS_IMAGE pImage, UINT32 ui32NewType, UINT8 ui8NewChannels, UINT8 ui8NewBitsPerPixel)
Description:This function converts an image from one format to another, valid types include at current FCC_GS, FCC_RGB, FCC_BGR, FCC_RGBA, FCC_YUY2, FCC_YV12 and FCC_I420. Note that valid properties for the specified type must be provided, see ImageValidateProperties for more information.
Pre-condition(s):pImage points to a valid image object. Arguments ui32NewType, ui8NewChannels and ui8NewBitsPerPixel are valid properties.
Post-condition(s):A new image will be created in the specified type configuration with its image data being converted from the input image pImage.
Input(s):pImage, ui32NewType, ui8NewChannels, ui8NewBitsPerPixel.
Output(s):None.
Return:On success a pointer to an image object or on failure NULL.
CCM:68 (Cyclomatic Complexity Metric).
LOC:252 (Lines Of Code - Physical).
CD:4.35% (Comment Density).
Location:./ovs-lib/image.c:1133

ImageCreateDifference

Prototype:POVS_IMAGE ImageCreateDifference(POVS_IMAGE pImage1, POVS_IMAGE pImage2)
Description:This function creates a image that is the difference of two images.
Pre-condition(s):pImage1 and pImage2 are valid image objects with equal type and properties.
Post-condition(s):A new image is created which is the difference of pImage1 and pImage2.
Input(s):pImage1, pImage2.
Output(s):None.
Return:a pointer to a new image object of equal type/properties of the input argument images on success or NULL on failure.
CCM:16 (Cyclomatic Complexity Metric).
LOC:63 (Lines Of Code - Physical).
CD:3.76% (Comment Density).
Location:./ovs-lib/image.c:2543

ImageDrawHorizontalLine

Prototype:BOOL ImageDrawHorizontalLine(POVS_IMAGE pImage, UINT32 ui32X, UINT32 ui32Y, UINT32 ui32Length, UINT32 ui32Colour)
Description:This function draws a horizontal line onto an image.
Pre-condition(s):pImage is a valid image object. ui32X < pImage->ui32Width. ui32Y < pImage->ui32Height. ui32Length < pImage->ui32Width - ui32X.
Post-condition(s):The image has a horizontal line drawn on at coordinates ui32X, ui32Y for ui32Length.
Input(s):pImage, ui32X, ui32Y, ui32Length, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:19 (Cyclomatic Complexity Metric).
LOC:68 (Lines Of Code - Physical).
CD:1.17% (Comment Density).
Location:./ovs-lib/image.c:1915

ImageDrawLine

Prototype:BOOL ImageDrawLine(POVS_IMAGE pImage, INT32 ui32X, INT32 ui32Y, INT32 ui32X1, INT32 ui32Y1, UINT32 ui32Colour)
Description:This function draws a line on an image from ui32X, ui32Y to ui32X1, ui32Y1 coordinates in ui32Colour.
Pre-condition(s):pImage is a valid image object. ui32X < pImage->ui32Width. ui32Y < pImage-ui32Height. ui32X1 < pImage->ui32Width. ui32Y1 < pImage->ui32Height.
Post-condition(s):pImage has a line drawn on from ui32X, ui32Y to ui32X1, ui32Y1.
Input(s):pImage, ui32X, ui32Y, ui32X1, ui32Y1, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:14 (Cyclomatic Complexity Metric).
LOC:62 (Lines Of Code - Physical).
CD:1.51% (Comment Density).
Location:./ovs-lib/image.c:2088

ImageDrawRectangle

Prototype:BOOL ImageDrawRectangle(POVS_IMAGE pImage, PRECTANGLE pRect, UINT32 ui32Colour)
Description:This function draws a rectangle shape onto an image.
Pre-condition(s):pImage is a valid image object. pRect is a valid rectangle object. pRect->ui32StartX < pImage->ui32Width. pRect->ui32EndX < pImage->ui32Width. pRect->ui32StartX < pImage->ui32Height. pRect->ui32EndY < pImage->ui32Height.
Post-condition(s):pImage is modified by a rectangle being drawn on in ui32Colour.
Input(s):pImage, pRect, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:7 (Cyclomatic Complexity Metric).
LOC:49 (Lines Of Code - Physical).
CD:7.70% (Comment Density).
Location:./ovs-lib/image.c:2169

ImageDrawVerticalLine

Prototype:BOOL ImageDrawVerticalLine(POVS_IMAGE pImage, UINT32 ui32X, UINT32 ui32Y, UINT32 ui32Length, UINT32 ui32Colour)
Description:This function draws a vertical line onto an image.
Pre-condition(s):pImage is a valid image object. ui32X < pImage->ui32Width. ui32Y < pImage->ui32Height. ui32Length < pImage->ui32Height - ui32Y.
Post-condition(s):The image is modified by a line drawn based on by argument parameters.
Input(s):pImage, ui32X, ui32Y, ui32Length, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:19 (Cyclomatic Complexity Metric).
LOC:68 (Lines Of Code - Physical).
CD:1.12% (Comment Density).
Location:./ovs-lib/image.c:2001

ImageExtractByColour

Prototype:POVS_IMAGE ImageExtractByColour(POVS_IMAGE pImage, UINT32 ui32Colour)
Description:This function extracts image pixels of a specified colour, the extracted image pixel data is returned as a new image with the rest of the image data in the new image being black pixels.
Pre-condition(s):pImage is a valid image object. ui32Colour > 0.
Post-condition(s):A new image is produced of equal properties as pImage and pixel data of ui32Colour with all other pixels being 0.
Input(s):pImage, ui32Colour.
Output(s):None.
Return:A pointer to a new image object on success or NULL otherwise.
CCM:20 (Cyclomatic Complexity Metric).
LOC:82 (Lines Of Code - Physical).
CD:3.72% (Comment Density).
Location:./ovs-lib/image.c:2306

ImageFlipHorizontal

Prototype:BOOL ImageFlipHorizontal(POVS_IMAGE pImage)
Description:This function flips an image horizontally, meaning that pixels at the right of image will appear at the left and vice versa.
Pre-condition(s):pImage must be a valid image object.
Post-condition(s):The image is modified by its image data being fliped horizontally.
Input(s):pImage.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:18 (Cyclomatic Complexity Metric).
LOC:64 (Lines Of Code - Physical).
CD:1.22% (Comment Density).
Location:./ovs-lib/image.c:1833

ImageFlipVertical

Prototype:BOOL ImageFlipVertical(POVS_IMAGE pImage)
Description:This function flips and image vertically, meaning that pixels at the top of image will appear at the bottom and vice versa.
Pre-condition(s):pImage must be a valid image object.
Post-condition(s):The image is modified by its image pixels being fliped vertically.
Input(s):pImage.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:18 (Cyclomatic Complexity Metric).
LOC:82 (Lines Of Code - Physical).
CD:0.90% (Comment Density).
Location:./ovs-lib/image.c:1734

ImageFrame

Prototype:BOOL ImageFrame(POVS_IMAGE pImage, UINT32 ui32Size, UINT32 ui32Colour)
Description:This function creates a border around an image in effect framing the image in a specified colour.
Pre-condition(s):pImage is a valid image object.
Post-condition(s):pImage has a border drawn on using the ui32Colour.
Input(s):pImage, ui32Size, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:8 (Cyclomatic Complexity Metric).
LOC:52 (Lines Of Code - Physical).
CD:5.86% (Comment Density).
Location:./ovs-lib/image.c:2235

ImageGetPixel

Prototype:UINT32 ImageGetPixel(POVS_IMAGE pImage, UINT32 ui32X, UINT32 ui32Y)
Description:This function gets a pixel from an image at a specified X and Y coordinate.
Pre-condition(s):pImage must point to a valid image object in memory, ui32X must be < pImage->ui32Width and ui32Y must be < pImage->ui32Height.
Post-condition(s):The pixel colour for pImage at coordinate ui32X, ui32Y is returned.
Input(s):pImage, ui32X, ui32Y.
Output(s):None.
Return:On success a pixels colour value.
CCM:24 (Cyclomatic Complexity Metric).
LOC:106 (Lines Of Code - Physical).
CD:6.95% (Comment Density).
Location:./ovs-lib/image.c:671

ImageGreyScale

Prototype:BOOL ImageGreyScale(POVS_IMAGE pImage)
Description:This function modifies an images data from colour to grey scale using the bias of 59% green, 30% red and 11% blue.
Pre-condition(s):pImage point to valid image object in memory that is not of type FCC_GS.
Post-condition(s):The image data of pImage will be converted to grey scale using a bias.
Input(s):pImage.
Output(s):pImage.
Return:TRUE on success of FALSE otherwise.
CCM:16 (Cyclomatic Complexity Metric).
LOC:65 (Lines Of Code - Physical).
CD:1.29% (Comment Density).
Location:./ovs-lib/image.c:1404

ImageGreyScaleWithoutBias

Prototype:BOOL ImageGreyScaleWithoutBias(POVS_IMAGE pImage)
Description:This function modifies an images data from colour to grey scale using equal proportions of the red, green and blue colour parts.
Pre-condition(s):pImage point to valid image object in memory that is not of type FCC_GS.
Post-condition(s):The image data of pImage will be converted to grey scale.
Input(s):pImage.
Output(s):pImage.
Return:TRUE on success of FALSE otherwise.
CCM:16 (Cyclomatic Complexity Metric).
LOC:65 (Lines Of Code - Physical).
CD:1.28% (Comment Density).
Location:./ovs-lib/image.c:1487

ImageIsRectInBounds

Prototype:BOOL ImageIsRectInBounds(POVS_IMAGE pImage, PRECTANGLE pRect)
Description:This function checks if a rectangle falls within the bounds of an image object.
Pre-condition(s):pImage points to a valid image object and pRect points to a valid rectangle data structure.
Post-condition(s):The rectangle data structure has its member values checks for falling within the bounds of the image.
Input(s):pImage, pRect.
Output(s):None.
Return:None.
CCM:7 (Cyclomatic Complexity Metric).
LOC:32 (Lines Of Code - Physical).
CD:2.96% (Comment Density).
Location:./ovs-lib/image.c:2649

ImageMakePointsInBounds

Prototype:VOID ImageMakePointsInBounds(POVS_IMAGE pImage, PUINT32 pui32X, PUINT32 pui32Y)
Description:This function makes X and Y points within the bounds of an image.
Pre-condition(s):pImage points to a valid image. pui32X and pui32Y points to type sized memory.
Post-condition(s):The values pointed to by pui32X and pui32Y are limited to the bounds of the image.
Input(s):pImage, pui32X, pui32Y.
Output(s):pui32X, pui32Y.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:7 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/image.c:2624

ImageNegative

Prototype:BOOL ImageNegative(POVS_IMAGE pImage)
Description:This function inverts the pixel data of an image.
Pre-condition(s):Argument pImage must point to a valid image in memory.
Post-condition(s):pImage will be transformed with its image pixel data inverted.
Input(s):pImage.
Output(s):pImage.
Return:TRUE on success of FALSE otherwise.
CCM:22 (Cyclomatic Complexity Metric).
LOC:89 (Lines Of Code - Physical).
CD:5.38% (Comment Density).
Location:./ovs-lib/image.c:1022

ImageNewCopy

Prototype:POVS_IMAGE ImageNewCopy(POVS_IMAGE pImage)
Description:This function creates a new image object with the same image properties and pixel data as the provided argument image object.
Pre-condition(s):pImage points to a valid image object in memory.
Post-condition(s):A new image object equal in properties and pixel data is created.
Input(s):pImage.
Output(s):None.
Return:A pointer to a new OVS_IMAGE image object on success or NULL on failure.
CCM:3 (Cyclomatic Complexity Metric).
LOC:26 (Lines Of Code - Physical).
CD:12.36% (Comment Density).
Location:./ovs-lib/image.c:586

ImageNormalizeChannel

Prototype:BOOL ImageNormalizeChannel(POVS_IMAGE pImage, UINT32 ui8Channel, UINT8 ui8Value)
Description:This function normalises a images channel by setting all values of a specified channel to specific value.
Pre-condition(s):pImage must be a valid image object. ui8Channel < pImage->ui8Channels.
Post-condition(s):The image is modified elements of ui8Channel being set to ui8Value.
Input(s):pImage, ui8Channel, ui8Value.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise.
CCM:19 (Cyclomatic Complexity Metric).
LOC:60 (Lines Of Code - Physical).
CD:1.36% (Comment Density).
Location:./ovs-lib/image.c:2464

ImagePeekChannelThresholdBW

Prototype:BOOL ImagePeekChannelThresholdBW(POVS_IMAGE pImage, UINT8 ui8Threshold)
Description:This function creates a black and white image by setting any pixels equal or above the argument threshold to white and all other pixels to black, the highest intensity value for a channel of a pixel is used for the thresholding.
Pre-condition(s):Argument pImage must be a valid image object.
Post-condition(s):A images data is turned into a black and white image by the thresholding process on the peek channel of each pixel.
Input(s):pImage, ui8Threshold.
Output(s):pImage.
Return:TRUE on success of FALSE otherwise.
CCM:22 (Cyclomatic Complexity Metric).
LOC:60 (Lines Of Code - Physical).
CD:1.38% (Comment Density).
Location:./ovs-lib/image.c:1656

ImagePrintProperties

Prototype:VOID ImagePrintProperties(POVS_IMAGE pImage)
Description:This function prints the properties of an image object, this consists of the data members an OVS_AVI data structure.
Pre-condition(s):pImage points to a valid image object in memory.
Post-condition(s):The image properties are printed to stdout.
Input(s):pImage.
Output(s):None.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:9.15% (Comment Density).
Location:./ovs-lib/image.c:292

ImageRelease

Prototype:VOID ImageRelease(POVS_IMAGE pImage)
Description:This function releases resources held by an an image object.
Pre-condition(s):pImage points to a valid image object in memory.
Post-condition(s):The image object pointed to by pImage is released from memory.
Input(s):pImage.
Output(s):pImage.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:15 (Lines Of Code - Physical).
CD:19.40% (Comment Density).
Location:./ovs-lib/image.c:553

ImageSetPixel

Prototype:BOOL ImageSetPixel(POVS_IMAGE pImage, UINT32 ui32X, UINT32 ui32Y, UINT32 ui32Colour)
Description:This function sets a pixel in an image at a given X and Y coordinate.
Pre-condition(s):pImage must point to a valid image object in memory, ui32X must be < pImage->ui32Width and ui32Y must be < pImage->ui32Height.
Post-condition(s):A pixel is set within an pImage at coordinate ui32X, ui32Y with pixel colour ui32Pixel.
Input(s):pImage, ui32X, ui32Y, ui32Colour.
Output(s):pImage.
Return:TRUE on success of FALSE otherwise.
CCM:27 (Cyclomatic Complexity Metric).
LOC:210 (Lines Of Code - Physical).
CD:16.22% (Comment Density).
Location:./ovs-lib/image.c:796

ImageThresholdBW

Prototype:BOOL ImageThresholdBW(POVS_IMAGE pImage, UINT8 ui8Threshold)
Description:This function results in a black and white image by setting any pixels equal or above the argument threshold to white and all other pixels to black, for colour images the intensity is the non biased grey scale conversion.
Pre-condition(s):Argument pImage must be a valid image object.
Post-condition(s):pImage pixel data is turned into a black and white image by the thresholding process.
Input(s):pImage, ui8Threshold.
Output(s):pImage.
Return:TRUE on success of FALSE otherwise.
CCM:20 (Cyclomatic Complexity Metric).
LOC:64 (Lines Of Code - Physical).
CD:1.32% (Comment Density).
Location:./ovs-lib/image.c:1572

ImageValidate

Prototype:BOOL ImageValidate(POVS_IMAGE pImage)
Description:This function checks if an image object has valid type and properties.
Pre-condition(s):pImage must point to an area of memory of at least sizeof(OVS_IMAGE) bytes.
Post-condition(s):pImage is validated.
Input(s):pImage.
Output(s):None.
Return:TRUE is returned if pImage has valid properties or FALSE otherwise.
CCM:7 (Cyclomatic Complexity Metric).
LOC:41 (Lines Of Code - Physical).
CD:11.16% (Comment Density).
Location:./ovs-lib/image.c:234

ImageValidateProperties

Prototype:BOOL ImageValidateProperties(UINT32 ui32Type, UINT8 ui8Channels, UINT8 ui8BitsPerPixel, UINT32 ui32Width, UINT32 ui32Height)
Description:This function checks for valid property configurations of an image.
Pre-condition(s):None.
Post-condition(s):The argument values are checked for validity of configuration for an image object.
Input(s):ui8Type, ui8Channels, ui8BitsPerPixel, ui32Width, ui32Height.
Output(s):None.
Return:TRUE if the argument values are valid in configuration or FALSE otherwise.
CCM:19 (Cyclomatic Complexity Metric).
LOC:68 (Lines Of Code - Physical).
CD:3.76% (Comment Density).
Location:./ovs-lib/image.c:147

ImageValidateType

Prototype:BOOL ImageValidateType(UINT32 ui32Type)
Description:This function checks if a image type is valid and supported, note this does not necessarily mean all operations are supported on the specified type.
Pre-condition(s):None.
Post-condition(s):The ui32Type is validated for support.
Input(s):ui8Type.
Output(s):None.
Return:TRUE is returned if ui8Type is a valid supported type or FALSE otherwise.
CCM:9 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:47.11% (Comment Density).
Location:./ovs-lib/image.c:99

InitializeCS

Prototype:VOID InitializeCS(CRITICAL_SECTION * pCriticalSection)
Description:This function initializes a critical section object. Note once initializes should be cleaned up when not needed and before re initializing the object, see DestroyCS.
Pre-condition(s):Arguments points to a critical section object of type CRITICAL_SECTION.
Post-condition(s):The argument critical section object is initialized and ready for use with EnterCS and LeaveCS.
Input(s):pCriticalSection.
Output(s):pCriticalSection.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:11 (Lines Of Code - Physical).
CD:26.29% (Comment Density).
Location:./ovs-lib/cs.c:96

InitializeListHead

Prototype:VOID InitializeListHead(PLIST_ENTRY pListHead)
Description:This function initializes a doubly linked list head.
Pre-condition(s):pListHead points to a LIST_ENTRY structure in memory of at least sizeof(LIST_ENTRY) bytes in size.
Post-condition(s):The argument list head is initialized as an empty list.
Input(s):pListHead.
Output(s):pListHead.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:136

InitializeVision

Prototype:BOOL InitializeVision(UINT32 ui32SegmentPoolSize, UINT32 ui32MinSegmentSize)
Description:This function performs initialization for the vision system processing by creating a segment object pool.
Pre-condition(s):Argument ui32SegmentPoolSize > 0.
Post-condition(s):A segment pool and vision processing are initialized.
Input(s):None.
Output(s):None.
Return:TRUE on success of FALSE otherwise.
CCM:8 (Cyclomatic Complexity Metric).
LOC:48 (Lines Of Code - Physical).
CD:22.18% (Comment Density).
Location:./ovs-lib/vision.c:100

InsertHeadList

Prototype:VOID InsertHeadList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry)
Description:This function inserts the doubly linked list item pointed to by pEntry at the beginning of list pointed to by pListHead.
Pre-condition(s):pListHead is an initialized list head.
Post-condition(s):The argument pEntry is added to the beginning of the list pointed to by pListHead.
Input(s):pListHead, pEntry.
Output(s):pListHead, pEntry.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:159

InsertTailList

Prototype:VOID InsertTailList(PLIST_ENTRY pListHead, PLIST_ENTRY pEntry)
Description:This function inserts the doubly linked list item pEntry at the end of the list pointed to by pListHead.
Pre-condition(s):pListHead is an initialzed list head.
Post-condition(s):The argument pEntry is added to the end of the list pointed to by pListHead.
Input(s):pListHead, pEntry.
Output(s):pListHead, pEntry.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:187

LeaveCS

Prototype:VOID LeaveCS(CRITICAL_SECTION * pCriticalSection)
Description:This function leaves a critical section.
Pre-condition(s):Arguments points to a valid initialized critical section object.
Post-condition(s):The thread leaves the critical section.
Input(s):pCriticalSection.
Output(s):pCriticalSection.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:9 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/cs.c:211

LineThinImageZhangAndSuen

Prototype:BOOL LineThinImageZhangAndSuen(POVS_IMAGE pImage)
Description:Not implemented yet.
Pre-condition(s):None.
Post-condition(s):None.
Input(s):None.
Output(s):None.
Return:None.
CCM:12 (Cyclomatic Complexity Metric).
LOC:64 (Lines Of Code - Physical).
CD:6.96% (Comment Density).
Location:./ovs-lib/linethinning.c:89

MVPPCreateProfileGraphImage

Prototype:POVS_IMAGE MVPPCreateProfileGraphImage(POVS_MVPP pMVPProfile, UINT32 ui32Colour)
Description:This function creates a profile graph image from an MVPP profile.
Pre-condition(s):Argument pMVPProfile is a valid MVPP profile object.
Post-condition(s):A new RGB 24bit per pixel and 3 channels image is created as a graph of the MVPP profile points.
Input(s):pProfile, ui32Colour.
Output(s):None.
Return:An image object on success or NULL otherwise.
CCM:7 (Cyclomatic Complexity Metric).
LOC:38 (Lines Of Code - Physical).
CD:14.86% (Comment Density).
Location:./ovs-lib/mvpp.c:587

MVPPDrawProfileOnImage

Prototype:BOOL MVPPDrawProfileOnImage(POVS_IMAGE pImage, POVS_TBSP pTBSProfile, POVS_MVPP pMVPProfile)
Description:This function draws a MVPP profile points onto an image in a nice graphical representation using arrows from the origin by TBSP profile.
Pre-condition(s):Argument pImage must point to a valid image object in memory with type RGB, properties 24 bits per pixel and 3 channels. pTBSProfile must be an extracted profile from pImage and pMVPProfile must have been extracted from pTBSProfile.
Post-condition(s):The argument pImage has drawn on the points from the pMVPProfile at the orgin taken from TBSProfile.
Input(s):pImage, pTBSProfile, pMVPProfile, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise..
CCM:10 (Cyclomatic Complexity Metric).
LOC:146 (Lines Of Code - Physical).
CD:49.67% (Comment Density).
Location:./ovs-lib/mvpp.c:424

MVPPExtractProfile

Prototype:POVS_MVPP MVPPExtractProfile(POVS_TBSP pTBSProfile)
Description:This function creates a new MVPP object extracted from a TBSP profile object in memory.
Pre-condition(s):Argument pTBSProfile must be a valid TBSP profile object in memory.
Post-condition(s):A new MVPP object is created in memory from pTBSProfile.
Input(s):pTBSProfile.
Output(s):None.
Return:A pointer to new MVPP profile object on success or NULL on failure.
CCM:22 (Cyclomatic Complexity Metric).
LOC:126 (Lines Of Code - Physical).
CD:7.39% (Comment Density).
Location:./ovs-lib/mvpp.c:276

MVPPInitialize

Prototype:BOOL MVPPInitialize(UINT32 ui32SmoothWidth, DOUBLE dSmoothStdDeviation, UINT32 ui32ScanWidth)
Description:This function initializes MVPP profiling.
Pre-condition(s):Argument ui32SmoothWidth must be an odd integer > 0, dSmoothStdDeviation is > 0.0, ui32ScanWidth > 0 and < 360.
Post-condition(s):The MVPP module is initialized and MVPP functions may then be called.
Input(s):ui32SmoothWidth, dSmoothStdDeviation, ui32ScanWidth.
Output(s):None.
Return:TRUE on success of FALSE otherwise.
CCM:2 (Cyclomatic Complexity Metric).
LOC:13 (Lines Of Code - Physical).
CD:8.51% (Comment Density).
Location:./ovs-lib/mvpp.c:95

MVPPNewProfile

Prototype:POVS_MVPP MVPPNewProfile(UINT32 ui32Length)
Description:This function creates a new MVPP profile object in memory.
Pre-condition(s):Argument ui32Length must be a value greater than 0.
Post-condition(s):A new profile object in memory is created.
Input(s):ui32Length.
Output(s):None.
Return:A pointer to new MVPP profile object on success or NULL on error.
CCM:4 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:14.64% (Comment Density).
Location:./ovs-lib/mvpp.c:152

MVPPNewProfileCopy

Prototype:POVS_MVPP MVPPNewProfileCopy(POVS_MVPP pProfile)
Description:This function creates a new copy of an MVPP profile object in memory.
Pre-condition(s):Argument pProfile must be a valid MVPP profile object in memory.
Post-condition(s):A new copy of pProfile is created in memory.
Input(s):pProfile.
Output(s):None.
Return:A pointer to new profile object with the same state as pProfile on success or NULL on failure.
CCM:3 (Cyclomatic Complexity Metric).
LOC:24 (Lines Of Code - Physical).
CD:7.46% (Comment Density).
Location:./ovs-lib/mvpp.c:235

MVPPReleaseProfile

Prototype:VOID MVPPReleaseProfile(POVS_MVPP pProfile)
Description:This function releases resources held by a in memory by an MVPP profile object.
Pre-condition(s):Argument pProfile must be a valid pointer to a valid profile object in memory.
Post-condition(s):All resources associated with the MVPP pointed to by pProfile are releases.
Input(s):pProfile.
Output(s):pProfile.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:16 (Lines Of Code - Physical).
CD:8.16% (Comment Density).
Location:./ovs-lib/mvpp.c:201

MVPPUninitialize

Prototype:BOOL MVPPUninitialize()
Description:This function cleans up MVPP and releases resources associated with the module.
Pre-condition(s):MVPPInitialize has been successfully called.
Post-condition(s):All resources are released.
Input(s):None.
Output(s):None.
Return:TRUE on success or FALSE otherwise.
CCM:2 (Cyclomatic Complexity Metric).
LOC:11 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/mvpp.c:125

MakeFCC

Prototype:UINT32 MakeFCC(UINT8 ui8One, UINT8 ui8Two, UINT8 ui8Three, UINT8 ui8Four)
Description:This function creates a FCC code from separate character part.
Pre-condition(s):None.
Post-condition(s):A FCC value is returned which is produced from the 4 argument parameters.
Input(s):ui8One, ui8Two, ui8Three, ui8Four.
Output(s):None.
Return:The FCC for the input parts is returned.
CCM:1 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/fourcc.c:91

MakeRectInBounds

Prototype:BOOL MakeRectInBounds(PRECTANGLE pRect, UINT32 ui32MaxX, UINT32 ui32MaxY)
Description:This function makes a rectangle data structure within the bounds of a maximum value by limiting the member values of a rectangle.
Pre-condition(s):pRect points to a valid rectangle data structure.
Post-condition(s):The rectangle data structure has its member values limited by the ui32MaxX and ui32MaxY values.
Input(s):pRect, ui32MaxX, ui32MaxY.
Output(s):pRect.
Return:None.
CCM:6 (Cyclomatic Complexity Metric).
LOC:20 (Lines Of Code - Physical).
CD:12.52% (Comment Density).
Location:./ovs-lib/image.c:2699

PkeWr64BE

Prototype:BOOL PkeWr64BE(PPKTRW pPkt, UINT64 ui64QWord)
Description:This function writes a 64 bit quad word to a PKTRW object in big endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 64 bit quad word is read from the PKTRW object in big endian, the value is converted from host endian if necessary.
Input(s):pPkt, pui64QWord.
Output(s):pui64QWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:967

PkeWr64LE

Prototype:BOOL PkeWr64LE(PPKTRW pPkt, UINT64 ui64QWord)
Description:This function writes a 64 bit quad word to a PKTRW object in little endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 64 bit quad word is read from the PKTRW object in little endian, the value is converted from host endian if necessary.
Input(s):pPkt, pui64QWord.
Output(s):pui64QWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:900

PktCloseFile

Prototype:BOOL PktCloseFile(PPKTRW pPktF)
Description:This function closes an open PKTRW file object.
Pre-condition(s):pPktF points to a valid PKTRW object.
Post-condition(s):The resources held are released and the file object closed.
Input(s):pPktF.
Output(s):None.
Return:On success TRUE is returned and on failure FALSE.
CCM:3 (Cyclomatic Complexity Metric).
LOC:18 (Lines Of Code - Physical).
CD:20.88% (Comment Density).
Location:./ovs-lib/pktrw.c:167

PktCloseSocket

Prototype:BOOL PktCloseSocket(PPKTRW pPktS)
Description:This closes an releases resource held by a PKTRW object for socket operations (NOT IMPLEMENTED YET).
Pre-condition(s):None.
Post-condition(s):None.
Input(s):pPktS.
Output(s):None.
Return:On success TRUE or on failure FALSE
CCM:2 (Cyclomatic Complexity Metric).
LOC:13 (Lines Of Code - Physical).
CD:20.18% (Comment Density).
Location:./ovs-lib/pktrw.c:234

PktFileSize

Prototype:INT64 PktFileSize(PPKTRW pPktF)
Description:This function returns the file size for a file based PKTRW object.
Pre-condition(s):pPktF is a valid PKTRW object obtained from the PktOpenFile function.
Post-condition(s):The size of the file in bytes is returned.
Input(s):pPktF.
Output(s):None.
Return:On success a positive integer of the number of bytes the file consists of or on failure -1.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:349

PktFlush

Prototype:BOOL PktFlush(PPKTRW pPkt)
Description:This function flushes all write operations to a file or socket for PKTRW objects.
Pre-condition(s):pPkt points to a valid PKTRW object returned from either the PktOpenFile function.
Post-condition(s):All data is written out to either the file or socket associated with the pPkt PKTRW object.
Input(s):pPkt.
Output(s):None.
Return:On success TRUE or on failure FALSE.
CCM:8 (Cyclomatic Complexity Metric).
LOC:47 (Lines Of Code - Physical).
CD:13.43% (Comment Density).
Location:./ovs-lib/pktrw.c:371

PktIsValid

Prototype:BOOL PktIsValid(PPKTRW pPkt)
Description:This function tests if a PKTRW object is valid.
Pre-condition(s):None.
Post-condition(s):pPkt is validated.
Input(s):pPkt.
Output(s):None.
Return:TRUE indicates a valid object or FALSE not.
CCM:3 (Cyclomatic Complexity Metric).
LOC:12 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:92

PktOpenFile

Prototype:PPKTRW PktOpenFile(PCHAR pchFile, PCHAR pchMode)
Description:This function opens a file for packet access.
Pre-condition(s):pchFile and pchMode are null terminated strings.
Post-condition(s):A PKTRW object is created for the specified file.
Input(s):pchFile, pchMode.
Output(s):None.
Return:On success a PKTRW object is returned on failure NULL is returned.
CCM:5 (Cyclomatic Complexity Metric).
LOC:30 (Lines Of Code - Physical).
CD:15.13% (Comment Density).
Location:./ovs-lib/pktrw.c:121

PktOpenSocket

Prototype:PPKTRW PktOpenSocket()
Description:This function opens a socket for packet access (NOT IMPLEMENTED YET).
Pre-condition(s):None.
Post-condition(s):None.
Input(s):None.
Output(s):None.
Return:On success a PKTRW object or on failure NULL.
CCM:2 (Cyclomatic Complexity Metric).
LOC:15 (Lines Of Code - Physical).
CD:19.21% (Comment Density).
Location:./ovs-lib/pktrw.c:202

PktRd16BE

Prototype:BOOL PktRd16BE(PPKTRW pPkt, PUINT16 pui16Word)
Description:This function reads a 16 bit word from a PKTRW object in big endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 16 bit word is read from the PKTRW object in big endian, the value returned will in host endian.
Input(s):pPkt, pui16Word.
Output(s):pui16Word.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:630

PktRd16LE

Prototype:BOOL PktRd16LE(PPKTRW pPkt, PUINT16 pui16Word)
Description:This function reads a 16 bit word from a PKTRW object in little endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 16 bit word is read from the PKTRW object in little endian, the value returned will in host endian.
Input(s):pPkt, pui16Word.
Output(s):pui16Word.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:564

PktRd32BE

Prototype:BOOL PktRd32BE(PPKTRW pPkt, PUINT32 pui32DWord)
Description:This function reads a 32 bit double word from a PKTRW object in big endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 32 bit double word is read from the PKTRW object in big endian, the value returned will in host endian.
Input(s):pPkt, pui32DWord.
Output(s):pui32DWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:652

PktRd32LE

Prototype:BOOL PktRd32LE(PPKTRW pPkt, PUINT32 pui32DWord)
Description:This function reads a 32 bit double word from a PKTRW object in little endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 32 bit double word is read from the PKTRW object in little endian, the value returned will in host endian.
Input(s):pPkt, pui32DWord.
Output(s):pui32DWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:586

PktRd64BE

Prototype:BOOL PktRd64BE(PPKTRW pPkt, PUINT64 pui64QWord)
Description:This function reads a 64 bit quad word from a PKTRW object in big endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 64 bit quad word is read from the PKTRW object in big endian, the value returned will in host endian.
Input(s):pPkt, pui64QWord.
Output(s):pui64QWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:674

PktRd64LE

Prototype:BOOL PktRd64LE(PPKTRW pPkt, PUINT64 pui64QWord)
Description:This function reads a 64 bit quad word from a PKTRW object in little endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 64 bit quad word is read from the PKTRW object in little endian, the value returned will in host endian.
Input(s):pPkt, pui64QWord.
Output(s):pui64QWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:608

PktRdByte

Prototype:BOOL PktRdByte(PPKTRW pPkt, PUINT8 pui8Byte)
Description:This function reads a byte from a PKTRW object.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A single byte is read from the PKTRW object.
Input(s):pPkt, pui8Byte.
Output(s):pui8Byte.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:522

PktRdBytes

Prototype:BOOL PktRdBytes(PPKTRW pPkt, PUINT8 pui8Buffer, UINT64 ui64Size)
Description:This function reads ui64Size bytes from a PKTRW object.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):Multiple bytes are read from the PKTRW object.
Input(s):pPkt, pui8Buffer, ui64Size.
Output(s):pui8Buffer.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:542

PktSeekFile

Prototype:BOOL PktSeekFile(PPKTRW pPktF, INT64 i64Offset, INT32 i32Whence)
Description:This function seeks to a position on a PKTRW object for files. The pPktF object must be returned from PktOpenFile, i64Whence must be an integer of the position to seek to and i32Whence must be the relativity of the seek operation which include SEEK_SET, SEEK_CUR and SEEK_END.
Pre-condition(s):pPktF is a valid PKTRW object returned from PktOpenFile, i32Whence must be SEEK_SET or SEEK_CUR or SEEK_END.
Post-condition(s):The file stream of the PKTRW object is repositioned.
Input(s):pPktF, i64Offset, i32Whence.
Output(s):pPktF.
Return:On success TRUE or on failure FALSE.
CCM:4 (Cyclomatic Complexity Metric).
LOC:22 (Lines Of Code - Physical).
CD:7.97% (Comment Density).
Location:./ovs-lib/pktrw.c:268

PktTell

Prototype:INT64 PktTell(PPKTRW pPkt)
Description:This function returns the current file position for a file based PKTRW object and for a socket based object the total bytes written is returned.
Pre-condition(s):pPkt is a valid PKTRW object obtained from the PktOpenFile or PktOpenSocket functions.
Post-condition(s):The file position is returned for a file object or the bytes written count is returned for a socket object.
Input(s):pPkt
Output(s):None.
Return:On success positive integer or on failure -1.
CCM:5 (Cyclomatic Complexity Metric).
LOC:21 (Lines Of Code - Physical).
CD:4.91% (Comment Density).
Location:./ovs-lib/pktrw.c:310

PktWr16BE

Prototype:BOOL PktWr16BE(PPKTRW pPkt, UINT16 ui16Word)
Description:This function writes a 16 bit word to a PKTRW object in big endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 16 bit word is written to the PKTRW object in big endian, the value is converted from host endian if necessary.
Input(s):pPkt, ui16Word.
Output(s):ui16Word.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:922

PktWr16LE

Prototype:BOOL PktWr16LE(PPKTRW pPkt, UINT16 ui16Word)
Description:This function writes a 16 bit word to a PKTRW object in little endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 16 bit word is written to the PKTRW object in little endian, the value is converted from host endian if necessary.
Input(s):pPkt, ui16Word.
Output(s):ui16Word.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:856

PktWr32BE

Prototype:BOOL PktWr32BE(PPKTRW pPkt, UINT32 ui32DWord)
Description:This function writes a 32 bit double word to a PKTRW object in big endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A 32 bit double word is written to the PKTRW object in big endian, the value is converted from host endian if necessary.
Input(s):pPkt, ui32DWord.
Output(s):ui32DWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:945

PktWr32LE

Prototype:BOOL PktWr32LE(PPKTRW pPkt, UINT32 ui32DWord)
Description:This function writes a 32 bit double word to a PKTRW object in little endian byte ordering.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or
Post-condition(s):A 32 bit double word is written to the PKTRW object in little endian, the value is converted from host endian if necessary.
Input(s):pPkt, ui32DWord.
Output(s):ui32DWord.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:878

PktWrByte

Prototype:BOOL PktWrByte(PPKTRW pPkt, UINT8 ui8Byte)
Description:This function writes a byte to a PKTRW object.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):A single byte is written to the PKTRW object.
Input(s):pPkt, ui8Byte.
Output(s):pPkt.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:813

PktWrBytes

Prototype:BOOL PktWrBytes(PPKTRW pPkt, PUINT8 pui8Buffer, UINT64 ui64Size)
Description:This function writes ui64Size bytes to a PKTRW object from pui8Buffer.
Pre-condition(s):pPkt is a valid PKTRW object created from either PktOpenFile or PktOpenSocket.
Post-condition(s):ui64Size bytes are written from pui8Buffer to the PKTRW object.
Input(s):pPkt, pui8Buffer, ui64Size.
Output(s):pPkt.
Return:On success TRUE or on failure FALSE.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/pktrw.c:834

PopEntryList

Prototype:PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY pListHead)
Description:This function pops a list item of a singly linked list.
Pre-condition(s):pListHead points to a valid list head.
Post-condition(s):The element returned is poped from the argument list head.
Input(s):pListHead.
Output(s):pListHead.
Return:A list element from the pListHead list.
CCM:1 (Cyclomatic Complexity Metric).
LOC:7 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:112

PrewittApply

Prototype:POVS_IMAGE PrewittApply(POVS_IMAGE pImage)
Description:This function applies a two directional prewitt convolution based edge detection algorithm to a image and the result is outputs to a new image of equal type and properties as the input image which is returned on success. This function supports input images of the following types/properties: Grey Scale 8 bits per pixel, 1 channel; RGB 24 bits per pixel, 3 channels; BGR 24 bits per pixel, 3 channels.
Pre-condition(s):Argument pImage points to a valid image object in memory.
Post-condition(s):The input image object is edge detected and results in a new image.
Input(s):pImage.
Output(s):None.
Return:On success a pointer to a new OVS image object in memory or on failure NULL.
CCM:15 (Cyclomatic Complexity Metric).
LOC:123 (Lines Of Code - Physical).
CD:11.68% (Comment Density).
Location:./ovs-lib/edge-prewitt.c:108

PrintGaussian

Prototype:VOID PrintGaussian(PGAUSSIAN pGaussian)
Description:This function prints a guassians data to std out.
Pre-condition(s):Argument pGaussian points to a valid gaussian object.
Post-condition(s):The gaussian object pointed to by pGaussian is printed to stdout.
Input(s):pGaussian.
Output(s):None.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:15 (Lines Of Code - Physical).
CD:5.48% (Comment Density).
Location:./ovs-lib/gaussian.c:243

PushEntryList

Prototype:VOID PushEntryList(PSINGLE_LIST_ENTRY pListHead, PSINGLE_LIST_ENTRY pEntry)
Description:This function pushes a singly linked list item onto a list.
Pre-condition(s):pListHead is a valid list head pointer.
Post-condition(s):The argument pEntry list is pushed onto the argument pListHead list head.
Input(s):pListHead, pEntry
Output(s):pListHead.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:91

RGB24ToBGR24

Prototype:VOID RGB24ToBGR24(PUINT8 pui8BGR, PUINT8 pui8RGB, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGR24 packed pixel formated frame from a RGB24 packed pixel formated frame.
Pre-condition(s):pui8BGR is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8BGR is filled with a frame in BGR24 packed pixel format.
Input(s):pui8BGR, pui8RGB, ui32Width, ui32Height.
Output(s):pui8BGR.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:22 (Lines Of Code - Physical).
CD:4.75% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:188

RGB24ToGS8

Prototype:VOID RGB24ToGS8(PUINT8 pui8GS, PUINT8 pui8RGB, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a GS8 grey scale 8 bit pixel formated frame from a RGB24 pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8GS is filled with a frame in grey scale 8 pixel format.
Input(s):pui8GS, pui8RGB, ui32Width, ui32Height.
Output(s):pui8GS.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:25 (Lines Of Code - Physical).
CD:4.40% (Comment Density).
Location:./ovs-lib/gs.c:97

RGB24ToI420

Prototype:VOID RGB24ToI420(PUINT8 pui8I420, PUINT8 pui8RGB, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a I420 planar encoded frame from an RGB24 frame.
Pre-condition(s):pui8I420 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes and pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8I420 is filled with a I420 encoded frame in YCrCb format using ITU-R BT.601 digital encoding.
Input(s):pui8RGB, ui32Width, ui32Height.
Output(s):pui8I420.
Return:None.
CCM:6 (Cyclomatic Complexity Metric).
LOC:55 (Lines Of Code - Physical).
CD:3.69% (Comment Density).
Location:./ovs-lib/i420.c:105

RGB24ToRGBA32

Prototype:VOID RGB24ToRGBA32(PUINT8 pui8RGBA, PUINT8 pui8RGB, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGBA32 packed pixel formated frame from a RGB24 packed pixel formated frame, note opacity is set on output pixels.
Pre-condition(s):pui8RGBA is a valid pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes, pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8RGBA is filled with a frame in RGBA32 packed pixel format.
Input(s):pui8RGBA, pui8RGB, ui32Width, ui32Height.
Output(s):pui8RGBA.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:299

RGB24ToYUY2

Prototype:VOID RGB24ToYUY2(PUINT8 pui8YUY2, PUINT8 pui8RGB, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YUY2 packed pixel format frame from a RGB24 packed pixel format frame.
Pre-condition(s):pui8YUY2 is a valid pointer to storage at at least ( ui32Width * ui32Height * 2 ) bytes, pui8RBG is a pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8YUY2 is filled with a frame in YUY2 packed pixel format using YCrCb ITU-R BT.601 digital encoding.
Input(s):pui8YUY2, pui8RGB, ui32Width, ui32Height.
Output(s):pui8YUY2.
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:32 (Lines Of Code - Physical).
CD:14.14% (Comment Density).
Location:./ovs-lib/yuy2.c:131

RGB24ToYV12

Prototype:VOID RGB24ToYV12(PUINT8 pui8YV12, PUINT8 pui8RGB, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YV12 planar encoded frame from an RGB24 packed pixel formated frame.
Pre-condition(s):pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes and pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes.
Post-condition(s):The buffer of pui8YV12 is filled with a YV12 planar format encoeded YCrCb frame in ITU-R BT.601 digital encoding.
Input(s):pui8YV12, pui8RGB, ui32Width, ui32Height.
Output(s):pui8YV12.
Return:None.
CCM:3 (Cyclomatic Complexity Metric).
LOC:35 (Lines Of Code - Physical).
CD:2.90% (Comment Density).
Location:./ovs-lib/yv12.c:105

RGBA32ToBGR24

Prototype:VOID RGBA32ToBGR24(PUINT8 pui8BGR, PUINT8 pui8BGRA, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGR24 packed pixel formated frame from a RGBA32 packed pixel formated frame.
Pre-condition(s):pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes. pui8RGBA is a valid pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB24 packed pixel format.
Input(s):pui8BGR, pui8BGRA, ui32Width, ui32Height.
Output(s):pui8BGR.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:349

RGBA32ToGS8

Prototype:VOID RGBA32ToGS8(PUINT8 pui8GS, PUINT8 pui8RGBA, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a GS8 grey scale 8 bit pixel formated frame from a BGRA32 packed pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8RGBA is a buffer of at least ( ui32Width * ui32Height * 4 ) bytes.
Post-condition(s):The buffer of pui8GS is filled with a frame in grey scale 8 pixel format.
Input(s):pui8GS, pui8RGBA, ui32Width, ui32Height.
Output(s):pui8GS.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.32% (Comment Density).
Location:./ovs-lib/gs.c:187

RGBA32ToRGB24

Prototype:VOID RGBA32ToRGB24(PUINT8 pui8RGB, PUINT8 pui8RGBA, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGB24 packed pixel formated frame from a RGBA32 packed pixel formated frame.
Pre-condition(s):pui8RGB is a buffer of at least ( ui32Width * ui32Height * 3 ) bytes. pui8RGBA is a valid pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB24 packed pixel format.
Input(s):pui8RGB, pui8RGBA, ui32Width, ui32Height.
Output(s):pui8RGB.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:324

RGBA32ToYUY2

Prototype:VOID RGBA32ToYUY2(PUINT8 pui8YUY2, PUINT8 pui8RGBA, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YUY2 packed pixel format frame from a RGBA32 packed pixel format frame.
Pre-condition(s):pui8YUY2 is a valid pointer to storage at at least ( ui32Width * ui32Height * 2 ) bytes, pui8RGBA is a pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes.
Post-condition(s):The buffer of pui8YUY2 is filled with a frame in YUY2 packed pixel format using YCrCb ITU-R BT.601 digital encoding.
Input(s):pui8YUY2, pui8RGBA, ui32Width, ui32Height.
Output(s):pui8YUY2.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.81% (Comment Density).
Location:./ovs-lib/yuy2.c:208

RGBA32ToYV12

Prototype:VOID RGBA32ToYV12(PUINT8 pui8YV12, PUINT8 pui8RGBA, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YV12 planar encoded frame from an BGRA32 packed pixel formated frame.
Pre-condition(s):pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes and pui8RGBA32 is a buffer of at least ( ui32Width * ui32Height * 4 ) bytes.
Post-condition(s):The buffer of pui8YV12 is filled with a YV12 planar format encoded YCrCb frame in ITU-R BT.601 digital encoding.
Input(s):pui8YV12, pui8RGBA, ui32Width, ui32Height.
Output(s):pui8YV12.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.81% (Comment Density).
Location:./ovs-lib/yv12.c:185

RGBToHSI

Prototype:VOID RGBToHSI(PUINT16 pui16H, PUINT8 pui8S, PUINT8 pui8I, UINT8 ui8R, UINT8 ui8G, UINT8 ui8B)
Description:This function produces HSI (hue, saturation, intensity) values from RGB values, output ranges are as follows: pui16H ( 0 - 360 ), pui8S ( 0 - 100 ), pui8I ( 0 - 100 ).
Pre-condition(s):pui16H, pui8S, pui8I point to memory capable of holding the type sizes.
Post-condition(s):The HSL values are calculated from the RGB values.
Input(s):pui16H, pui8S, pui8I, ui8R, ui8G, ui8B.
Output(s):pui16H, pui8S, pui8I.
Return:None.
CCM:5 (Cyclomatic Complexity Metric).
LOC:32 (Lines Of Code - Physical).
CD:2.09% (Comment Density).
Location:./ovs-lib/hsx.c:339

RGBToHSL

Prototype:VOID RGBToHSL(PUINT16 pui16H, PUINT8 pui8S, PUINT8 pui8L, UINT8 ui8R, UINT8 ui8G, UINT8 ui8B)
Description:This function produces HSL (hue, saturation, lightness) values from RGB values, output ranges are as follows: pui16H ( 0 - 360 ), pui8S ( 0 - 100 ), pui8L ( 0 - 100 ).
Pre-condition(s):pui16H, pui8S, pui8L point to memory capable of holding the type sizes.
Post-condition(s):The HSL values are calculated from the RGB values.
Input(s):pui16H, pui8S, pui8L, ui8R, ui8G, ui8B.
Output(s):pui16H, pui8S, pui8L.
Return:None.
CCM:7 (Cyclomatic Complexity Metric).
LOC:34 (Lines Of Code - Physical).
CD:2.12% (Comment Density).
Location:./ovs-lib/hsx.c:215

RGBToHSV

Prototype:VOID RGBToHSV(PUINT16 pui16H, PUINT8 pui8S, PUINT8 pui8V, UINT8 ui8R, UINT8 ui8G, UINT8 ui8B)
Description:This function produces HSV (hue, saturation, value) values from RGB values, note the output ranges are as follows: pui16H ( 0 - 360 ), pui8S ( 0 - 100 ), pui8V ( 0 - 100 ).
Pre-condition(s):pui16H, pui8S, pui8V point to memory capable of holding the type sizes.
Post-condition(s):The H S and V values are calculated for the input RGB values.
Input(s):pui16H, pui8S, pui8V, ui8R, ui8G, ui8B.
Output(s):pui16H, pui8S, pui8V.
Return:None.
CCM:5 (Cyclomatic Complexity Metric).
LOC:32 (Lines Of Code - Physical).
CD:2.25% (Comment Density).
Location:./ovs-lib/hsx.c:97

RGBToYCrCbBT601

Prototype:VOID RGBToYCrCbBT601(PUINT8 pui8Y, PUINT8 pui8Cr, PUINT8 pui8Cb, UINT8 ui8R, UINT8 ui8G, UINT8 ui8B)
Description:This function converts RGB values to YCrCb values.
Pre-condition(s):pointers pui8Y, pui8Cr, pui8Cb are valid pointers to byte storage.
Post-condition(s):The YCrCb values are calculated for the RGB input using the ITU-R BT.601 digital encoding standard.
Input(s):ui8R, ui8G, ui8B.
Output(s):pui8Y, pui8Cr, pui8Cb.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:40 (Lines Of Code - Physical).
CD:31.93% (Comment Density).
Location:./ovs-lib/ycrcb.c:192

RGBToYCrCbBT709

Prototype:VOID RGBToYCrCbBT709(PUINT8 pui8Y, PUINT8 pui8Cr, PUINT8 pui8Cb, UINT8 ui8R, UINT8 ui8G, UINT8 ui8B)
Description:This function is not implemented.
Pre-condition(s):None.
Post-condition(s):None.
Input(s):pui8Y,pui8Cr, pui8Cb, ui8R, ui8G, ui8B
Output(s):pui8Y, pui8Cr, pui8Cb.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:11 (Lines Of Code - Physical).
CD:13.80% (Comment Density).
Location:./ovs-lib/ycrcb.c:274

RGBToYCrCbLogitech

Prototype:VOID RGBToYCrCbLogitech(PUINT8 pui8Y, PUINT8 pui8Cr, PUINT8 pui8Cb, UINT8 ui8R, UINT8 ui8G, UINT8 ui8B)
Description:This function converts RGB values to YCrCb values.
Pre-condition(s):Pointers pui8Y, pui8Cr, pui8Cb are valid pointers to byte storage.
Post-condition(s):The YCrCb values are calculated using the encoding/ decoding formula described by logitech.
Input(s):ui8R, ui8G, ui8B.
Output(s):pui8Y, pui8Cr, pui8Cb.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:52 (Lines Of Code - Physical).
CD:33.74% (Comment Density).
Location:./ovs-lib/ycrcb.c:367

ReleaseGaussian

Prototype:VOID ReleaseGaussian(PGAUSSIAN pGaussian)
Description:This function releases memory of a gaussian object.
Pre-condition(s):Argument pGaussian points to a valid gaussian object.
Post-condition(s):The gaussian object pointed to by pGaussian is released from memory.
Input(s):pGaussian.
Output(s):None.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:12 (Lines Of Code - Physical).
CD:8.91% (Comment Density).
Location:./ovs-lib/gaussian.c:214

ReleaseVisionSegments

Prototype:BOOL ReleaseVisionSegments(PLIST_ENTRY pSegmentsList)
Description:This function takes a list of segments provided by VisionProcess and releases the resources back to the pool.
Pre-condition(s):pSegment is a valid segment list head returned from the VisionProcess function.
Post-condition(s):All resources are returned to the pool.
Input(s):pSegmentList.
Output(s):None.
Return:TRUE on success of FALSE otherwise.
CCM:3 (Cyclomatic Complexity Metric).
LOC:28 (Lines Of Code - Physical).
CD:30.91% (Comment Density).
Location:./ovs-lib/vision.c:460

RemoveEntryList

Prototype:VOID RemoveEntryList(PLIST_ENTRY pEntry)
Description:This function removes a doubly linked list item from a the list.
Pre-condition(s):Argument pEntry must be part of a doubly linked list.
Post-condition(s):The item pointed to by pEntry is removed from its list.
Input(s):pEntry.
Output(s):pEntry.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:213

RemoveHeadList

Prototype:PLIST_ENTRY RemoveHeadList(PLIST_ENTRY pListHead)
Description:This function removes the first list item from a doubly linked list and returns a pointer to the item.
Pre-condition(s):pListHead is an initialized list head.
Post-condition(s):An item is removed from the begining of the list pointed to by pListHead and that items LIST_ENTRY pointer is returned.
Input(s):pListHead.
Output(s):pListHead.
Return:Pointer to item or NULL if list is empty.
CCM:2 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:241

RemoveTailList

Prototype:PLIST_ENTRY RemoveTailList(PLIST_ENTRY pListHead)
Description:This function removes a list item from the end of a doubly linked lists and returns a pointer to the item.
Pre-condition(s):pListHead is an initialized list head.
Post-condition(s):An item is removed from the end of the list pointed to by pListHead and that items LIST_ENTRY pointer is returned.
Input(s):pListHead.
Output(s):pListHead.
Return:Pointer to item or NULL if list is empty.
CCM:2 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/linkedlist.c:269

RobertsCrossApply

Prototype:POVS_IMAGE RobertsCrossApply(POVS_IMAGE pImage)
Description:This function applies a two directional roberts cross convolution based edge detection algorithm to an image and produces a new out put image with magnitude data. This function supports input images of the following types/properties: Grey scale 8 bits per pixel, 1 channel; RGB 24 bits per pixel, 3 channels; BGR 24 bits per pixels, 3 channels.
Pre-condition(s):Argument pImage points to a valid image object in memory.
Post-condition(s):The input image object is edge detected.
Input(s):pImage.
Output(s):None.
Return:On success a pointer to a new OVS image object in memory is returned or on failure NULL.
CCM:14 (Cyclomatic Complexity Metric).
LOC:105 (Lines Of Code - Physical).
CD:16.23% (Comment Density).
Location:./ovs-lib/edge-roberts.c:107

Sobel3x3Apply

Prototype:BOOL Sobel3x3Apply(POVS_IMAGE *pOutImage, PUINT8 pui8DirectionMap, PUINT8 pui8MagnitudeMap, POVS_IMAGE pImage)
Description:This function applies a sobel edge detection algorithm using 3 by 3 directional matricies. The function can produce up to three outputs which are an image with magnitude output, a magnitude output array and an direction output array.
Pre-condition(s):Argument pImage must be a valid image object in memory of one of the following types/properties: Grey scale 8 bits per pixels, 1 channel; RGB 24 bits per pixels, 3 channels; BGR 24 bits per pixels, 3 channels. If pui8DirectionMap != NULL then it must point to valid memory capable of holding ( pImage->ui32Width * pImage->ui32Height * pImage->ui8Channels ) bytes. If pui8MagnitudeMap != NULL then it must point to valid memory capable of holding ( pImage->ui32Width * pImage->ui32Height * pImage->ui8Channels ) bytes.
Post-condition(s):Up to three output can be produced depending on valid memory pointers for pOutImage, pui8DirectionMap and pui8MagnitudeMap. These outputs are produced for none NULL pointers.
Input(s):pImage, pOutImage, pui8DirectionMap, pui8MagnitudeMap.
Output(s):pOutImage, pui8DirectionMap, pui8MagnitudeMap.
Return:TRUE on success of FALSE otherwise.
CCM:43 (Cyclomatic Complexity Metric).
LOC:220 (Lines Of Code - Physical).
CD:10.56% (Comment Density).
Location:./ovs-lib/edge-sobel.c:130

Sobel3x3OptApply

Prototype:BOOL Sobel3x3OptApply(POVS_IMAGE *pOutImage, PUINT8 pui8DirectionMap, PUINT8 pui8MagnitudeMap, POVS_IMAGE pImage)
Description:This function applies a sobel edge detection algorithm using 3 by 3 directional matricies and is minimallly optimized. The function can produce up to three outputs which are an image with magnitude output, a magnitude output array and an direction output array.
Pre-condition(s):Argument pImage must be a valid image object in memory of one of the following types/properties: Grey scale 8 bits per pixels, 1 channel. If pui8DirectionMap != NULL then it must point to valid memory capable of holding ( pImage->ui32Width * pImage->ui32Height * pImage->ui8Channels ) bytes. If pui8MagnitudeMap != NULL then it must point to valid memory capable of holding ( pImage->ui32Width * pImage->ui32Height * pImage->ui8Channels ) bytes.
Post-condition(s):Up to three output can be produced depending on valid memory pointers for pOutImage, pui8DirectionMap and pui8MagnitudeMap. These outputs are produced for none NULL pointers.
Input(s):pImage, pOutImage, pui8DirectionMap, pui8MagnitudeMap.
Output(s):pOutImage, pui8DirectionMap, pui8MagnitudeMap.
Return:TRUE on success of FALSE otherwise.
CCM:23 (Cyclomatic Complexity Metric).
LOC:133 (Lines Of Code - Physical).
CD:11.45% (Comment Density).
Location:./ovs-lib/edge-sobel.c:693

Sobel5x5Apply

Prototype:BOOL Sobel5x5Apply(POVS_IMAGE *pOutImage, PUINT8 pui8DirectionMap, PUINT8 pui8MagnitudeMap, POVS_IMAGE pImage)
Description:This function applies a sobel edge detection algorithm using 5 by 5 directional matricies. The function can produce up to three outputs which are an image with magnitude output, a magnitude output array and an direction output array.
Pre-condition(s):Argument pImage must be a valid image object in memory of one of the following types/properties: Grey scale 8 bits per pixels, 1 channel; RGB 24 bits per pixels, 3 channels; BGR 24 bits per pixels, 3 channels. If pui8DirectionMap != NULL then it must point to valid memory capable of holding ( pImage->ui32Width * pImage->ui32Height * pImage->ui8Channels ) bytes. If pui8MagnitudeMap != NULL then it must point to valid memory capable of holding ( pImage->ui32Width * pImage->ui32Height * pImage->ui8Channels ) bytes.
Post-condition(s):Up to three output can be produced depending on valid memory pointers for pOutImage, pui8DirectionMap and pui8MagnitudeMap. These outputs are produced for none NULL pointers.
Input(s):pImage, pOutImage, pui8DirectionMap, pui8MagnitudeMap.
Output(s):pOutImage, pui8DirectionMap, pui8MagnitudeMap.
Return:TRUE on success of FALSE otherwise.
CCM:43 (Cyclomatic Complexity Metric).
LOC:282 (Lines Of Code - Physical).
CD:7.45% (Comment Density).
Location:./ovs-lib/edge-sobel.c:382

StrHexToUint32

Prototype:BOOL StrHexToUint32(PUINT32 pui32Value, PCHAR pchString)
Description:This function takes a string of ascii of which is a hexidecimal value and converts it to a UINT32 value (note string must have a prefix of "0x" thus "0xFF" or 0xDEADBEEF" are valid inputs).
Pre-condition(s):pui32Value is a pointer to UINT32 storage, pchString is a pointer to a null terminated string.
Post-condition(s):pui32Value is set to the value formed from pchString.
Input(s):pchString.
Output(s):pui32Value.
Return:TRUE on success of FALSE otherwise.
CCM:9 (Cyclomatic Complexity Metric).
LOC:57 (Lines Of Code - Physical).
CD:7.98% (Comment Density).
Location:./ovs-lib/strutl.c:92

StrReverse

Prototype:VOID StrReverse(PCHAR pchString)
Description:This function reverses a string in memory.
Pre-condition(s):pchString is a pointer to null terminated string.
Post-condition(s):The string in pchString is reversed.
Input(s):pchString.
Output(s):pchString
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:23 (Lines Of Code - Physical).
CD:5.06% (Comment Density).
Location:./ovs-lib/strutl.c:165

TBSPCalcProfileLength

Prototype:UINT32 TBSPCalcProfileLength(PRECTANGLE pRect)
Description:This function calculates a profile length using a bounding rectangle.
Pre-condition(s):Argument pRect must be a valid rectangle data structure in which ui32EndX > ui32StartX and ui32EndY > ui32StartY.
Post-condition(s):A new profile length is calculated.
Input(s):pRect.
Output(s):None.
Return:A length value is returned or 0 on failure.
CCM:3 (Cyclomatic Complexity Metric).
LOC:33 (Lines Of Code - Physical).
CD:63.76% (Comment Density).
Location:./ovs-lib/tbsp.c:285

TBSPCompareProfiles

Prototype:BOOL TBSPCompareProfiles(PUINT32 ui32Direction, POVS_TBSP pProfile1, POVS_TBSP pProfile2, DOUBLE dTolerance)
Description:This function compares two trigonometric based shape profiles for equality with a specified tolerance and if the profiles match then the direction from the origin profile (pProfile1) is returned in pui32Direction.
Pre-condition(s):pProfile1 and pProfile2 are valid objects in memory.
Post-condition(s):The two argument profiles are compared.
Input(s):ui32Direction, pProfile1, pProfile2, dTolerance.
Output(s):ui32Direction.
Return:TRUE if equal within tolerance or FALSE otherwise.
CCM:18 (Cyclomatic Complexity Metric).
LOC:100 (Lines Of Code - Physical).
CD:19.29% (Comment Density).
Location:./ovs-lib/tbsp.c:524

TBSPCreateProfileGraphImage

Prototype:POVS_IMAGE TBSPCreateProfileGraphImage(POVS_TBSP pProfile, UINT32 ui32Colour)
Description:This function produces an image graph of a TBSP profile.
Pre-condition(s):pProfile is a valid TBSP profile object in memory.
Post-condition(s):A new image object is created containing a graph of the TBSP profile pProfile.
Input(s):pProfile.
Output(s):None.
Return:A pointer to an image on succcess or NULL on failure.
CCM:5 (Cyclomatic Complexity Metric).
LOC:37 (Lines Of Code - Physical).
CD:7.75% (Comment Density).
Location:./ovs-lib/tbsp.c:755

TBSPDrawProfileOnImage

Prototype:BOOL TBSPDrawProfileOnImage(POVS_IMAGE pImage, POVS_TBSP pProfile, UINT32 ui32Colour)
Description:This function draws a TBSP profiles shape onto an image.
Pre-condition(s):Argument pImage must point to a valid image object in memory of type RGB, properties 24 bits per pixel, 3 channels and pProfile must point to a valid trigonometric shape profile that is within bounds of the image.
Post-condition(s):The argument pImage has drawn on the argument pProfile profiles shape.
Input(s):pImage, pProfile, ui32Colour.
Output(s):pImage.
Return:TRUE on success or FALSE otherwise..
CCM:6 (Cyclomatic Complexity Metric).
LOC:57 (Lines Of Code - Physical).
CD:5.24% (Comment Density).
Location:./ovs-lib/tbsp.c:644

TBSPExtractProfile

Prototype:POVS_TBSP TBSPExtractProfile(POVS_IMAGE pImage, UINT32 ui32Colour, UINT32 ui32Pixels)
Description:This function extracts a TBSP profile from a shape which is of colour pui32Colour from an image pImage.
Pre-condition(s):Argument pImage must point to a valid image object in memory of type RGB with properties 24 bits per pixel, 3 channels. ui32Colour must be a colour of a pixel within the pImage.
Post-condition(s):A new TBSP profile is created of the shape in pImage which is of colour ui32Colour.
Input(s):pImage, ui32Colour, ui32Pixels.
Output(s):None.
Return:A pointer to a new TBSP profile is returned on success or NULL otherwise.
CCM:25 (Cyclomatic Complexity Metric).
LOC:166 (Lines Of Code - Physical).
CD:11.52% (Comment Density).
Location:./ovs-lib/tbsp.c:339

TBSPInitialize

Prototype:BOOL TBSPInitialize()
Description:This function initializes the TBSP modules and must be called before any other TBSP functions.
Pre-condition(s):TBSPInitialize has not previously called or that TBSPUninitialize has been called before.
Post-condition(s):The TBSP module is initialized.
Input(s):None.
Output(s):None.
Return:TRUE on success or FALSE otherwise.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/tbsp.c:105

TBSPIsPointInProfileBounds

Prototype:BOOL TBSPIsPointInProfileBounds(POVS_TBSP pProfile, UINT32 ui32X, UINT32 ui32Y)
Description:This function determines if a X and Y value fall within the bounds of a profile.
Pre-condition(s):pProfile is a valid TBSP profile object in memory.
Post-condition(s):The argument ui32X and ui32Y are checked for falling in bounds of pProfile.
Input(s):pProfile, ui32X, ui32Y.
Output(s):None.
Return:TRUE if the points ui32X and ui32Y both are within the bounds of the pProfile or FALSE otherwise.
CCM:4 (Cyclomatic Complexity Metric).
LOC:18 (Lines Of Code - Physical).
CD:5.01% (Comment Density).
Location:./ovs-lib/tbsp.c:720

TBSPNewProfile

Prototype:POVS_TBSP TBSPNewProfile(UINT32 ui32Length)
Description:This function creates a new profile object in memory.
Pre-condition(s):Argument ui32Length must be a value greater than 0.
Post-condition(s):A TBSP object is created in memory.
Input(s):ui32Length.
Output(s):None.
Return:Pointer to new TBSP profile object on success or NULL on failuer.
CCM:5 (Cyclomatic Complexity Metric).
LOC:35 (Lines Of Code - Physical).
CD:2.36% (Comment Density).
Location:./ovs-lib/tbsp.c:144

TBSPNewProfileCopy

Prototype:POVS_TBSP TBSPNewProfileCopy(POVS_TBSP pProfile)
Description:This function creates a new copy of a TBSP object in memory.
Pre-condition(s):Argument pProfile must be a valid TBSP profile object in memory.
Post-condition(s):A new copy of pProfile is created in memory.
Input(s):pProfile.
Output(s):None.
Return:Pointer to new profile object on success or NULL on failure.
CCM:3 (Cyclomatic Complexity Metric).
LOC:34 (Lines Of Code - Physical).
CD:1.90% (Comment Density).
Location:./ovs-lib/tbsp.c:233

TBSPReleaseProfile

Prototype:VOID TBSPReleaseProfile(POVS_TBSP pProfile)
Description:This function releases resources held by an in memory by a TBSP profile object.
Pre-condition(s):Argument pProfile must be a valid pointer to a valid TBSP profile object in memory.
Post-condition(s):All resources associated with the profile argument are released.
Input(s):pProfile.
Output(s):None.
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:20 (Lines Of Code - Physical).
CD:6.49% (Comment Density).
Location:./ovs-lib/tbsp.c:197

TBSPUninitialize

Prototype:BOOL TBSPUninitialize()
Description:This function uninitializes the TBSP modules releases any held resources.
Pre-condition(s):TBSPInitialize has been previously called.
Post-condition(s):All resources are released.
Input(s):None.
Output(s):None.
Return:TRUE on success or FALSE otherwise.
CCM:1 (Cyclomatic Complexity Metric).
LOC:3 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/tbsp.c:125

TryEnterCS

Prototype:UINT32 TryEnterCS(CRITICAL_SECTION * pCriticalSection)
Description:This function attempts to enter a critical section, if the thread can immediately be entered then the critical section is entered if the critical section can not be immediately entered then no action is performed.
Pre-condition(s):Argument points to a valid initialized critical section object.
Post-condition(s):The thread enters the critical section if available and not if unavailable.
Input(s):pCriticalSection.
Output(s):pCriticalSection.
Return:On successful entry into the critical section non-zero and if unavailable for entry then 0.
CCM:3 (Cyclomatic Complexity Metric).
LOC:12 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/cs.c:182

Uint64RaiseToPower

Prototype:UINT64 Uint64RaiseToPower(UINT64 ui64X, UINT64 ui64N)
Description:This function raises a 64 bit values to the power of another 64 bit value.
Pre-condition(s):None.
Post-condition(s):ui64X is raised to the power of ui64N.
Input(s):ui64X, ui64N.
Output(s):None.
Return:ui64X ^ ui64N.
CCM:2 (Cyclomatic Complexity Metric).
LOC:8 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/math.c:168

Uint8Max

Prototype:UINT8 Uint8Max(UINT32 ui32NumValues, ...)
Description:This function returns the maximum value for a group of argument UINT8 values, this function uses var args and requires the first argument of ui32NumValues to indicate the total number of argument values provided.
Pre-condition(s):ui32NumValues equals the number of argument values.
Post-condition(s):The largest value out of all argument values is returned.
Input(s):ui32NumValues, (var arg UINT8 values).
Output(s):None.
Return:On success the largest value of the var arg argument values.
CCM:3 (Cyclomatic Complexity Metric).
LOC:17 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/math.c:92

Uint8Min

Prototype:UINT8 Uint8Min(UINT32 ui32NumValues, ...)
Description:This function returns the minimum value for a group of argument UINT8 values, this function uses var args and requires the first argument of ui32NumValues to indicate the total number of argument values provided.
Pre-condition(s):ui32NumValues equals the number of argument values.
Post-condition(s):The smallest value out of all argument values is returned.
Input(s):ui32NumValues, (var arg UINT8 values).
Output(s):None.
Return:On success the smallest value of the var arg argument values.
CCM:3 (Cyclomatic Complexity Metric).
LOC:22 (Lines Of Code - Physical).
CD:0.00% (Comment Density).
Location:./ovs-lib/math.c:129

UninitializeVision

Prototype:BOOL UninitializeVision()
Description:This function performs uninitialization for the vision system processing, by cleanup resources held.
Pre-condition(s):Initialization has been called prior.
Post-condition(s):All resources are released.
Input(s):None.
Output(s):None.
Return:TRUE on success of FALSE otherwise.
CCM:3 (Cyclomatic Complexity Metric).
LOC:23 (Lines Of Code - Physical).
CD:16.08% (Comment Density).
Location:./ovs-lib/vision.c:165

VisionProcess

Prototype:PLIST_ENTRY VisionProcess(POVS_IMAGE pImage, POVS_IMAGE pRaw, BOOL bT, BOOL bE)
Description:This function performs vision system processing on an image producing as an output a double linked list with all segments of an image and related data structures including TBSP and MVPP profiles.
Pre-condition(s):pImage is a valid image object in memory with black and white colours only with properties of RGB with 24 bits per pixel and 3 channels, pRaw is a valid image object in memory with equal properties/type to pImage.
Post-condition(s):Vision processing is performed on the input images.
Input(s):None.
Output(s):None.
Return:A segment list head is returned on success of NULL otherwise.
CCM:30 (Cyclomatic Complexity Metric).
LOC:231 (Lines Of Code - Physical).
CD:30.44% (Comment Density).
Location:./ovs-lib/vision.c:211

YCrCbToRGBBT601

Prototype:VOID YCrCbToRGBBT601(PUINT8 pui8R, PUINT8 pui8G, PUINT8 pui8B, UINT8 ui8Y, UINT8 ui8Cr, UINT8 ui8Cb)
Description:This function converts Y, Cr, Cb values to RGB values.
Pre-condition(s):ui8Y >= 16, ui32Y <= 235, ui8Cr >= 16, ui8Cr <= 240, ui8Cb >= 16, ui8Cb <= 240, pointers pui8R, pui8G and pui8B are valid pointers to byte storage.
Post-condition(s):The RGB values are calculated for the YCrCb input using the ITU-R BT.601 digital decoding standard.
Input(s):ui8Y, ui8Cr, ui8Cb.
Output(s):pui8R, pui8G, pui8B.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:54 (Lines Of Code - Physical).
CD:57.87% (Comment Density).
Location:./ovs-lib/ycrcb.c:121

YCrCbToRGBBT709

Prototype:VOID YCrCbToRGBBT709(PUINT8 pui8R, PUINT8 pui8G, PUINT8 pui8B, UINT8 ui8Y, UINT8 ui8Cr, UINT8 ui8Cb)
Description:This function is not implemented.
Pre-condition(s):None.
Post-condition(s):None.
Input(s):None.
Output(s):None.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:10 (Lines Of Code - Physical).
CD:13.76% (Comment Density).
Location:./ovs-lib/ycrcb.c:248

YCrCbToRGBLogitech

Prototype:VOID YCrCbToRGBLogitech(PUINT8 pui8R, PUINT8 pui8G, PUINT8 pui8B, UINT8 ui8Y, UINT8 ui8Cr, UINT8 ui8Cb)
Description:This function converts YCrCb values to RGB values.
Pre-condition(s):Pointers pui8R, pui8G, pui8B are valid pointers to byte storage.
Post-condition(s):The RGB values are calculated using the decoding formula described by logitech.
Input(s):pui8R, pui8G, pui8B, ui8Y, ui8Cr, ui8Cb.
Output(s):pui8R, pui8G, pui8B.
Return:None.
CCM:2 (Cyclomatic Complexity Metric).
LOC:47 (Lines Of Code - Physical).
CD:34.37% (Comment Density).
Location:./ovs-lib/ycrcb.c:302

YUY2ExtractLuma

Prototype:VOID YUY2ExtractLuma(PUINT8 pui8Luma, PUINT8 pui8YUY2, UINT32 ui32Width, UINT32 ui32Height)
Description:This function extracts the luma channel data from a YUY2 packed pixel format encoded frame.
Pre-condition(s):pui8Luma points to a buffer of at least ( ui32Width * ui32Height ) bytes and pui8YUY2 points to a buffer of at least ( ui32Width * ui32Height * 2 ) bytes.
Post-condition(s):The buffer of pui8Luma is filled with the luma channel data from the pui8YUY2 frame.
Input(s):pui8Luma, pui8YUY2, ui32Width, ui32Height.
Output(s):pui8Luma.
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:31 (Lines Of Code - Physical).
CD:11.62% (Comment Density).
Location:./ovs-lib/yuy2.c:283

YUY2ToBGR24

Prototype:VOID YUY2ToBGR24(PUINT8 pui8BGR, PUINT8 pui8YUY2, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGR24 packed pixel formated frame from a YUY2 packed pixel formated frame.
Pre-condition(s):pui8BGR is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8YUY2 is a buffer of at least ( ui32Width * ui32Height * 2 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGB is filled with a frame in BGR24 packed pixel format using ITU-R BT.601 digital decoding.
Input(s):pui8BGR, pui8YUY2, ui32Width, ui32Height.
Output(s):pui8BGR.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.21% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:425

YUY2ToGS8

Prototype:VOID YUY2ToGS8(PUINT8 pui8GS, PUINT8 pui8YUY2, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a GS8 grey scale 8 bit pixel formated frame from a YUY2 packed pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8YUY2 is a buffer of at least ( ui32Width * ui32Height * 2 ) bytes.
Post-condition(s):The buffer of pui8GS is filled with a frame in grey scale 8 pixel format.
Input(s):pui8GS, pui8YUY2, ui32Width, ui32Height.
Output(s):pui8GS.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.54% (Comment Density).
Location:./ovs-lib/gs.c:212

YUY2ToRGB24

Prototype:VOID YUY2ToRGB24(PUINT8 pui8RGB, PUINT8 pui8YUY2, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGB24 packed pixel formated frame from a YUY2 packed pixel formated frame.
Pre-condition(s):pui8RGB is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8YUY2 is a buffer of at least ( ui32Width * ui32Height * 2 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB packed pixel format using ITU-R BT.601 digital decoding.
Input(s):pui8RGB, pui8YUY2, ui32Width, ui32Height.
Output(s):pui8RGB.
Return:None.
CCM:4 (Cyclomatic Complexity Metric).
LOC:29 (Lines Of Code - Physical).
CD:10.34% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:375

YUY2ToRGBA32

Prototype:VOID YUY2ToRGBA32(PUINT8 pui8RGBA, PUINT8 pui8YUY2, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGRA32 packed pixel formated frame from a YUY2 packed pixel formated frame.
Pre-condition(s):pui8RGBA is a valid pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes, pui8YUY2 is a buffer of at least ( ui32Width * ui32Height * 2 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGBA is filled with a frame in RGBA32 packed pixel format using ITU-R BT.601 digital decoding.
Input(s):pui8RGBA, pui8YUY2, ui32Width, ui32Height.
Output(s):pui8RGBA.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:451

YUY2ToYV12

Prototype:VOID YUY2ToYV12(PUINT8 pui8YV12, PUINT8 pui8YUY2, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YV12 planar encoded frame from an YUY2 packed pixel formated frame.
Pre-condition(s):pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes and pui8YUY2 is a buffer of at least ( ui32Width * ui32Height * 2 ) bytes.
Post-condition(s):The buffer of pui8YV12 is filled with a YV12 planar format encoded YCrCb frame in ITU-R BT.601 digital encoding.
Input(s):pui8YV12, pui8YUY2, ui32Width, ui32Height.
Output(s):pui8YV12.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.04% (Comment Density).
Location:./ovs-lib/yv12.c:210

YV12ExtractLuma

Prototype:VOID YV12ExtractLuma(PUINT8 pui8Luma, PUINT8 pui8YV12, UINT32 ui32Width, UINT32 ui32Height)
Description:This function extracts the luma channel data from a YV12 planar encoded frame (NOT IMPLEMENTED YET).
Pre-condition(s):pui8Luma points to a buffer of at least ( ui32Width * ui32Height ) bytes and pui8YV12 points to a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8Luma is filled with the luma channel data from the pui8YV12 YV12 planar formated frame.
Input(s):pui8Luma, pui8YV12, ui32Width, ui32Height.
Output(s):pui8Luma.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:8 (Lines Of Code - Physical).
CD:16.33% (Comment Density).
Location:./ovs-lib/yv12.c:260

YV12ToBGR24

Prototype:VOID YV12ToBGR24(PUINT8 pui8BGR, PUINT8 pui8YV12, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a BGR24 packed pixel formated frame from a YV12 planar formated frame.
Pre-condition(s):pui8BGR is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8BGR is filled with a frame in RGB24 packed pixel format using ITU-R BT.601 digital decoding.
Input(s):pui8BGR, pui8YV12, ui32Width, ui32Height.
Output(s):pui8BGR.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.21% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:548

YV12ToGS8

Prototype:VOID YV12ToGS8(PUINT8 pui8GS, PUINT8 pui8YV12, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a GS8 grey scale 8 bit pixel formated frame from a YV12 planar pixel formated frame.
Pre-condition(s):pui8GS is a valid pointer to storage of at least ( ui32Width * ui32Height ) bytes, pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8GS is filled with a frame in grey scale 8 pixel format.
Input(s):pui8GS, pui8YV12, ui32Width, ui32Height.
Output(s):pui8GS.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.54% (Comment Density).
Location:./ovs-lib/gs.c:237

YV12ToRGB24

Prototype:VOID YV12ToRGB24(PUINT8 pui8RGB, PUINT8 pui8YV12, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGB24 packed pixel formated frame from a YV12 planar formated frame.
Pre-condition(s):pui8RGB is a valid pointer to storage of at least ( ui32Width * ui32Height * 3 ) bytes, pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGB is filled with a frame in RGB24 packed pixel format using ITU-R BT.601 digital decoding.
Input(s):pui8RGB, pui8YV12, ui32Width, ui32Height.
Output(s):pui8RGB.
Return:None.
CCM:5 (Cyclomatic Complexity Metric).
LOC:50 (Lines Of Code - Physical).
CD:3.61% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:477

YV12ToRGBA32

Prototype:VOID YV12ToRGBA32(PUINT8 pui8RGBA, PUINT8 pui8YV12, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a RGBA32 packed pixel formated frame from a YV12 planar formated frame, note opacity is set on output pixels.
Pre-condition(s):pui8RGBA is a valid pointer to storage of at least ( ui32Width * ui32Height * 4 ) bytes, pui8YV12 is a buffer of at least ( ui32Width * ui32Height * 1.5 ) bytes. ui32Width is an even number that is greater than 0.
Post-condition(s):The buffer of pui8RGBA is filled with a frame in RGBA32 packed pixel format using ITU-R BT.601 digital decoding.
Input(s):pui8RGBA, pui8YV12, ui32Width, ui32Height.
Output(s):pui8RGBA.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:21.00% (Comment Density).
Location:./ovs-lib/rgb-bgr.c:574

YV12ToYUY2

Prototype:VOID YV12ToYUY2(PUINT8 pui8YUY2, PUINT8 pui8YV12, UINT32 ui32Width, UINT32 ui32Height)
Description:This function produces a YUY2 packed pixel format frame from a YV12 planar pixel format frame.
Pre-condition(s):pui8YUY2 is a valid pointer to storage at at least ( ui32Width * ui32Height * 2 ) bytes, pui8YV12 is a pointer to storage of at least ( ui32Width * ui32Height * 1.5 ) bytes.
Post-condition(s):The buffer of pui8YUY2 is filled with a frame in YUY2 packed pixel format using YCrCb ITU-R BT.601 digital encoding.
Input(s):pui8YUY2, pui8YV12, ui32Width, ui32Height.
Output(s):pui8YUY2.
Return:None.
CCM:1 (Cyclomatic Complexity Metric).
LOC:5 (Lines Of Code - Physical).
CD:22.04% (Comment Density).
Location:./ovs-lib/yuy2.c:233

itoa

Prototype:VOID itoa(INT32 i32Value, PCHAR pchString)
Description:This function produces a string of an integer decimal value.
Pre-condition(s):pchString is a buffer capable of holding the string representation of i32Value in decimal.
Post-condition(s):pchString is filled with a string of the that represents the decimal numerical value of i32Value.
Input(s):i32Value.
Output(s):pchString
Return:None.
CCM:5 (Cyclomatic Complexity Metric).
LOC:26 (Lines Of Code - Physical).
CD:4.99% (Comment Density).
Location:./ovs-lib/strutl.c:206


 
     
 
Library Source Analysis

Function Static    Cyclomatic Complexity Metric    Lines Of Code    Comment Density   
AVIOpen 61 345 9.41%
AVIHelperLoadStream Y 52 319 5.18%
Sobel5x5Apply 43 282 7.45%
ImageCreateCopyAs 68 252 4.35%
VisionProcess 30 231 30.44%
Sobel3x3Apply 43 220 10.56%
ImageSetPixel 27 210 16.22%
BitmapLoadImage 33 195 18.23%
ApplyGaussianByMask 31 192 3.82%
TBSPExtractProfile 25 166 11.52%
ApplyGaussian 24 157 5.62%
ConvolutionMatrixApply 31 151 6.66%
AVISetStreamData 25 136 9.83%
Sobel3x3OptApply 23 133 11.45%
ImageGetPixel 24 106 6.95%
AVIGetStreamData 23 129 10.10%
ImagePeekChannelThresholdBW 22 60 1.38%
MVPPExtractProfile 22 126 7.39%
BitmapInfoHeaderPrint 21 89 6.63%
BitmapSaveImage 21 166 9.52%
FileRead 20 97 6.99%
ImageNegative 22 89 5.38%
ImageExtractByColour 20 82 3.72%
FileWrite 20 96 6.83%
ImageDrawVerticalLine 19 68 1.12%
ImageValidateProperties 19 68 3.76%
FillImageSeed4WayStack 19 157 8.49%
ImageDrawHorizontalLine 19 68 1.17%
AVIClose 19 80 12.50%
ImageFlipHorizontal 18 64 1.22%
ImageThresholdBW 20 64 1.32%
ImageNormalizeChannel 19 60 1.36%
ImageCreate 18 83 13.11%
ImageFlipVertical 18 82 0.90%
TBSPCompareProfiles 18 100 19.29%
ImageCreateDifference 16 63 3.76%
ApplyGaussianToUint32Array 15 102 4.21%
PktRd Y 17 63 7.14%
ImageGreyScaleWithoutBias 16 65 1.28%
PrewittApply 15 123 11.68%
ImageGreyScale 16 65 1.29%
ImageDrawLine 14 62 1.51%
MVPPDrawProfileOnImage 10 146 49.67%
DebugOutInfo 13 112 12.24%
RobertsCrossApply 14 105 16.23%
PktWr Y 13 95 11.72%
AVIPrintVideoProperties 14 85 0.83%
LineThinImageZhangAndSuen 12 64 6.96%
AVIHelperLoadODML Y 13 59 8.81%
CreateGaussian 8 58 8.48%
StrHexToUint32 9 57 7.98%
RGB24ToI420 6 55 3.69%
FileOpen 9 55 9.30%
TBSPDrawProfileOnImage 6 57 5.24%
YCrCbToRGBBT601 1 54 57.87%
ImageFrame 8 52 5.86%
FileSeek 8 51 15.02%
ImageCompareProperties 9 50 29.32%
ImageDrawRectangle 7 49 7.70%
ImageAdjustBrightness 13 40 2.21%
HSLToRGB 12 48 0.00%
InitializeVision 8 48 22.18%
AVIPrintAllStructures 13 48 3.65%
AVIPrintIdx1Entries 11 46 1.74%
HSVToRGB 10 44 0.00%
PktFlush 8 47 13.43%
GetBPPFromFCC 13 42 5.73%
ImageValidate 7 41 11.16%
GetChannelsFromFCC 13 35 3.64%
ImageValidateType 9 30 47.11%
ConvolutionMatrixValidate 7 27 0.00%
MVPPCreateProfileGraphImage 7 38 14.86%
AVIFindFirstVideoStream 7 30 3.52%
ImageIsRectInBounds 7 32 2.96%
AVIPrintStdIndexHeader 7 34 2.17%
RGBToHSL 7 34 2.12%
AVIPrintSuperIndexHeader 7 33 2.28%
MakeRectInBounds 6 20 12.52%
FrameCapAddCopy 6 35 15.40%
DebugOut 6 54 9.10%
ConvolutionMatrixCreate 6 36 2.49%
FileGetSize 6 32 15.85%
AVIPrintStreamHeader 6 45 1.43%
FrameCapAdd 5 30 16.61%
YV12ToRGB24 5 50 3.61%
RGBToHSI 5 32 2.09%
I420ToRGB24 5 51 3.60%
RGBToHSV 5 32 2.25%
itoa 5 26 4.99%
ImageCompare 5 27 10.45%
PktOpenFile 5 30 15.13%
TBSPCreateProfileGraphImage 5 37 7.75%
PktTell 5 21 4.91%
TBSPNewProfile 5 35 2.36%
GaussianValidate 4 16 0.00%
YUY2ToRGB24 4 29 10.34%
StrReverse 4 23 5.06%
FrameCapDumpFrames 4 30 6.57%
BitmapHeaderPrint 4 21 3.58%
YUY2ExtractLuma 4 31 11.62%
BitmapValidateHeader 4 19 9.43%
RGB24ToYUY2 4 32 14.14%
BimapValidateInfoHeader 4 18 11.70%
ImageCopy 4 22 9.23%
PktSeekFile 4 22 7.97%
TBSPIsPointInProfileBounds 4 18 5.01%
FileClose 4 24 12.26%
TBSPReleaseProfile 4 20 6.49%
FileTell 4 38 16.31%
MVPPNewProfile 4 30 14.64%
FileFlush 4 24 13.93%
AVIAddStreamChunk 4 23 4.29%
Uint8Max 3 17 0.00%
RGB24ToGS8 3 25 4.40%
BGR24ToGS8 3 25 4.40%
RGB24ToYV12 3 35 2.90%
Uint8Min 3 22 0.00%
ImageNewCopy 3 26 12.36%
RGBToYCrCbBT601 2 40 31.93%
ConvolutionMatrixRelease 3 17 6.65%
TBSPCalcProfileLength 3 33 63.76%
ConvolutionMatrixCalculateSum 3 21 14.64%
TBSPNewProfileCopy 3 34 1.90%
ImagePrintProperties 3 30 9.15%
MVPPNewProfileCopy 3 24 7.46%
UninitializeVision 3 23 16.08%
MVPPReleaseProfile 3 16 8.16%
ReleaseVisionSegments 3 28 30.91%
AVIGetStreamEncodingCodec 3 18 5.43%
FrameCapUninitialize 3 28 29.08%
AVIGetStreamCode 3 19 5.68%
RGB24ToBGR24 3 22 4.75%
AVIGetChunksCount 3 16 12.79%
BGR24ToRGB24 3 22 4.75%
AVIPrintStdIndexEntries 3 22 4.15%
PktCloseFile 3 18 20.88%
AVIPrintSuperIndexEntries 3 23 3.57%
ImageRelease 2 15 19.40%
PrintGaussian 3 15 5.48%
ReleaseGaussian 2 12 8.91%
TryEnterCS 3 12 0.00%
RGBToYCrCbLogitech 2 52 33.74%
FrameCapInitialize 2 12 19.21%
YCrCbToRGBLogitech 2 47 34.37%
PktIsValid 3 12 0.00%
GS8ToRGB24 2 11 0.00%
MVPPUninitialize 2 11 0.00%
MVPPInitialize 2 13 8.51%
GetListSize 2 12 0.00%
AVICreate 2 14 8.41%
PktOpenSocket 2 15 19.21%
AVIPrintODMLHeader 2 15 6.91%
PktCloseSocket 2 13 20.18%
AVIPrintHeader 2 24 2.60%
MakeFCC 1 10 0.00%
LeaveCS 2 9 0.00%
EnterCS 2 9 0.00%
RemoveHeadList 2 10 0.00%
Uint64RaiseToPower 2 8 0.00%
RemoveTailList 2 10 0.00%
ImageMakePointsInBounds 3 7 0.00%
RGB24ToRGBA32 1 5 21.00%
RGBA32ToBGR24 1 5 21.00%
RGBA32ToRGB24 1 5 21.00%
YUY2ToBGR24 1 5 21.21%
BGR24ToRGBA32 1 5 21.00%
YUY2ToRGBA32 1 5 21.00%
GS8ToRGBA32 1 5 21.32%
YV12ToBGR24 1 5 21.21%
GS8ToBGR24 1 5 21.54%
YV12ToRGBA32 1 5 21.00%
DestroyCS 1 11 26.36%
I420ToBGR24 1 5 21.21%
InitializeCS 1 11 26.29%
I420ToRGBA32 1 5 21.00%
ExtractFCC 1 12 0.00%
PushEntryList 1 5 0.00%
ByteSwap64 1 11 0.00%
PopEntryList 1 7 0.00%
ByteSwap32 1 7 0.00%
InitializeListHead 1 5 0.00%
ByteSwap16 1 4 0.00%
InsertHeadList 1 10 0.00%
I420ExtractLuma 1 7 0.00%
InsertTailList 1 10 0.00%
RGBToYCrCbBT709 1 11 13.80%
RemoveEntryList 1 10 0.00%
YCrCbToRGBBT709 1 10 13.76%
PktFileSize 1 3 0.00%
I420ToGS8 1 5 21.54%
PktRdByte 1 3 0.00%
YV12ToGS8 1 5 21.54%
PktRdBytes 1 3 0.00%
YUY2ToGS8 1 5 21.54%
PktRd16LE 1 3 0.00%
RGBA32ToGS8 1 5 21.32%
PktRd32LE 1 3 0.00%
I420ToYUY2 1 5 22.04%
PktRd64LE 1 3 0.00%
YV12ToYUY2 1 5 22.04%
PktRd16BE 1 3 0.00%
RGBA32ToYUY2 1 5 21.81%
PktRd32BE 1 3 0.00%
BGR24ToYUY2 1 5 22.04%
PktRd64BE 1 3 0.00%
GS8ToYUY2 1 5 22.40%
PktWrByte 1 3 0.00%
HSIToRGB 1 6 20.29%
PktWrBytes 1 3 0.00%
YV12ExtractLuma 1 8 16.33%
PktWr16LE 1 3 0.00%
I420ToYV12 1 5 22.04%
PktWr32LE 1 3 0.00%
YUY2ToYV12 1 5 22.04%
PkeWr64LE 1 3 0.00%
RGBA32ToYV12 1 5 21.81%
PktWr16BE 1 3 0.00%
BGR24ToYV12 1 5 22.04%
PktWr32BE 1 3 0.00%
TBSPUninitialize 1 3 0.00%
PkeWr64BE 1 3 0.00%
TBSPInitialize 1 3 0.00%


 
     
 
©2010 Richard .J. Harris