JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 3: Multimedia Library Functions
search filter icon
search icon

Document Information

Preface

Multimedia Library Functions - Part 1

Multimedia Library Functions - Part 2

Multimedia Library Functions - Part 3

mlib_ImageDivShift2_Inp(3MLIB)

mlib_ImageDivShift(3MLIB)

mlib_ImageErode4(3MLIB)

mlib_ImageErode4_Fp(3MLIB)

mlib_ImageErode8(3MLIB)

mlib_ImageErode8_Fp(3MLIB)

mlib_ImageExp(3MLIB)

mlib_ImageExp_Fp(3MLIB)

mlib_ImageExp_Fp_Inp(3MLIB)

mlib_ImageExp_Inp(3MLIB)

mlib_ImageExtrema2(3MLIB)

mlib_ImageExtrema2_Fp(3MLIB)

mlib_ImageExtremaLocations(3MLIB)

mlib_ImageExtremaLocations_Fp(3MLIB)

mlib_ImageFilteredSubsample(3MLIB)

mlib_ImageFilteredSubsample_Fp(3MLIB)

mlib_ImageFlipAntiDiag(3MLIB)

mlib_ImageFlipAntiDiag_Fp(3MLIB)

mlib_ImageFlipMainDiag(3MLIB)

mlib_ImageFlipMainDiag_Fp(3MLIB)

mlib_ImageFlipX(3MLIB)

mlib_ImageFlipX_Fp(3MLIB)

mlib_ImageFlipY(3MLIB)

mlib_ImageFlipY_Fp(3MLIB)

mlib_ImageFourierTransform(3MLIB)

mlib_ImageGetBitOffset(3MLIB)

mlib_ImageGetChannels(3MLIB)

mlib_ImageGetData(3MLIB)

mlib_ImageGetFlags(3MLIB)

mlib_ImageGetFormat(3MLIB)

mlib_ImageGetHeight(3MLIB)

mlib_ImageGetPaddings(3MLIB)

mlib_ImageGetStride(3MLIB)

mlib_ImageGetType(3MLIB)

mlib_ImageGetWidth(3MLIB)

mlib_ImageGradient3x3(3MLIB)

mlib_ImageGradient3x3_Fp(3MLIB)

mlib_ImageGradientMxN(3MLIB)

mlib_ImageGradientMxN_Fp(3MLIB)

mlib_ImageGridWarp(3MLIB)

mlib_ImageGridWarp_Fp(3MLIB)

mlib_ImageGridWarpTable(3MLIB)

mlib_ImageGridWarpTable_Fp(3MLIB)

mlib_ImageHistogram2(3MLIB)

mlib_ImageHistogram(3MLIB)

mlib_ImageInterpTableCreate(3MLIB)

mlib_ImageInterpTableDelete(3MLIB)

mlib_ImageInvert(3MLIB)

mlib_ImageInvert_Fp(3MLIB)

mlib_ImageInvert_Fp_Inp(3MLIB)

mlib_ImageInvert_Inp(3MLIB)

mlib_ImageIsNotAligned2(3MLIB)

mlib_ImageIsNotAligned4(3MLIB)

mlib_ImageIsNotAligned64(3MLIB)

mlib_ImageIsNotAligned8(3MLIB)

mlib_ImageIsNotHeight2X(3MLIB)

mlib_ImageIsNotHeight4X(3MLIB)

mlib_ImageIsNotHeight8X(3MLIB)

mlib_ImageIsNotOneDvector(3MLIB)

mlib_ImageIsNotStride8X(3MLIB)

mlib_ImageIsNotWidth2X(3MLIB)

mlib_ImageIsNotWidth4X(3MLIB)

mlib_ImageIsNotWidth8X(3MLIB)

mlib_ImageIsUserAllocated(3MLIB)

mlib_ImageLog(3MLIB)

mlib_ImageLog_Fp(3MLIB)

mlib_ImageLog_Fp_Inp(3MLIB)

mlib_ImageLog_Inp(3MLIB)

mlib_ImageLookUp2(3MLIB)

mlib_ImageLookUp(3MLIB)

mlib_ImageLookUp_Inp(3MLIB)

mlib_ImageLookUpMask(3MLIB)

mlib_ImageMax(3MLIB)

mlib_ImageMaxFilter3x3(3MLIB)

mlib_ImageMaxFilter3x3_Fp(3MLIB)

mlib_ImageMaxFilter5x5(3MLIB)

mlib_ImageMaxFilter5x5_Fp(3MLIB)

mlib_ImageMaxFilter7x7(3MLIB)

mlib_ImageMaxFilter7x7_Fp(3MLIB)

mlib_ImageMax_Fp(3MLIB)

mlib_ImageMax_Fp_Inp(3MLIB)

mlib_ImageMaximum(3MLIB)

mlib_ImageMaximum_Fp(3MLIB)

mlib_ImageMax_Inp(3MLIB)

mlib_ImageMean(3MLIB)

mlib_ImageMean_Fp(3MLIB)

mlib_ImageMedianFilter3x3(3MLIB)

mlib_ImageMedianFilter3x3_Fp(3MLIB)

mlib_ImageMedianFilter3x3_US(3MLIB)

mlib_ImageMedianFilter5x5(3MLIB)

mlib_ImageMedianFilter5x5_Fp(3MLIB)

mlib_ImageMedianFilter5x5_US(3MLIB)

mlib_ImageMedianFilter7x7(3MLIB)

mlib_ImageMedianFilter7x7_Fp(3MLIB)

mlib_ImageMedianFilter7x7_US(3MLIB)

mlib_ImageMedianFilterMxN(3MLIB)

mlib_ImageMedianFilterMxN_Fp(3MLIB)

mlib_ImageMedianFilterMxN_US(3MLIB)

mlib_ImageMin(3MLIB)

mlib_ImageMinFilter3x3(3MLIB)

mlib_ImageMinFilter3x3_Fp(3MLIB)

mlib_ImageMinFilter5x5(3MLIB)

mlib_ImageMinFilter5x5_Fp(3MLIB)

mlib_ImageMinFilter7x7(3MLIB)

mlib_ImageMinFilter7x7_Fp(3MLIB)

mlib_ImageMin_Fp(3MLIB)

mlib_ImageMin_Fp_Inp(3MLIB)

mlib_ImageMinimum(3MLIB)

mlib_ImageMinimum_Fp(3MLIB)

mlib_ImageMin_Inp(3MLIB)

mlib_ImageMoment2(3MLIB)

mlib_ImageMoment2_Fp(3MLIB)

mlib_ImageMulAlpha(3MLIB)

mlib_ImageMulAlpha_Fp(3MLIB)

mlib_ImageMulAlpha_Fp_Inp(3MLIB)

mlib_ImageMulAlpha_Inp(3MLIB)

mlib_ImageMul_Fp(3MLIB)

mlib_ImageMul_Fp_Inp(3MLIB)

mlib_ImageMulShift(3MLIB)

mlib_ImageMulShift_Inp(3MLIB)

mlib_ImageNormCrossCorrel(3MLIB)

mlib_ImageNormCrossCorrel_Fp(3MLIB)

mlib_ImageNot(3MLIB)

mlib_ImageNotAnd(3MLIB)

mlib_ImageNotAnd_Inp(3MLIB)

mlib_ImageNot_Inp(3MLIB)

mlib_ImageNotOr(3MLIB)

mlib_ImageNotOr_Inp(3MLIB)

mlib_ImageNotXor(3MLIB)

mlib_ImageNotXor_Inp(3MLIB)

mlib_ImageOr(3MLIB)

mlib_ImageOr_Inp(3MLIB)

mlib_ImageOrNot1_Inp(3MLIB)

mlib_ImageOrNot2_Inp(3MLIB)

mlib_ImageOrNot(3MLIB)

mlib_ImagePolynomialWarp(3MLIB)

mlib_ImagePolynomialWarp_Fp(3MLIB)

mlib_ImagePolynomialWarpTable(3MLIB)

mlib_ImagePolynomialWarpTable_Fp(3MLIB)

mlib_ImageRankFilter3x3(3MLIB)

mlib_ImageRankFilter3x3_Fp(3MLIB)

mlib_ImageRankFilter3x3_US(3MLIB)

mlib_ImageRankFilter5x5(3MLIB)

mlib_ImageRankFilter5x5_Fp(3MLIB)

mlib_ImageRankFilter5x5_US(3MLIB)

mlib_ImageRankFilter7x7(3MLIB)

mlib_ImageRankFilter7x7_Fp(3MLIB)

mlib_ImageRankFilter7x7_US(3MLIB)

mlib_ImageRankFilterMxN(3MLIB)

mlib_ImageRankFilterMxN_Fp(3MLIB)

mlib_ImageRankFilterMxN_US(3MLIB)

mlib_ImageReformat(3MLIB)

mlib_ImageReplaceColor(3MLIB)

mlib_ImageReplaceColor_Fp(3MLIB)

mlib_ImageReplaceColor_Fp_Inp(3MLIB)

mlib_ImageReplaceColor_Inp(3MLIB)

mlib_ImageResetStruct(3MLIB)

mlib_ImageResetSubimageStruct(3MLIB)

mlib_ImageRotate180(3MLIB)

mlib_ImageRotate180_Fp(3MLIB)

mlib_ImageRotate270(3MLIB)

mlib_ImageRotate270_Fp(3MLIB)

mlib_ImageRotate(3MLIB)

mlib_ImageRotate90(3MLIB)

mlib_ImageRotate90_Fp(3MLIB)

mlib_ImageRotate_Fp(3MLIB)

mlib_ImageRotateIndex(3MLIB)

mlib_ImageScalarBlend(3MLIB)

mlib_ImageScalarBlend_Fp(3MLIB)

mlib_ImageScalarBlend_Fp_Inp(3MLIB)

mlib_ImageScalarBlend_Inp(3MLIB)

mlib_ImageScale2(3MLIB)

mlib_ImageScale2_Inp(3MLIB)

mlib_ImageScale(3MLIB)

mlib_ImageScale_Fp(3MLIB)

mlib_ImageScale_Fp_Inp(3MLIB)

mlib_ImageScale_Inp(3MLIB)

mlib_ImageSConv3x3(3MLIB)

mlib_ImageSConv3x3_Fp(3MLIB)

mlib_ImageSConv5x5(3MLIB)

mlib_ImageSConv5x5_Fp(3MLIB)

mlib_ImageSConv7x7(3MLIB)

mlib_ImageSConv7x7_Fp(3MLIB)

mlib_ImageSConvKernelConvert(3MLIB)

mlib_ImageSetFormat(3MLIB)

mlib_ImageSetPaddings(3MLIB)

mlib_ImageSetStruct(3MLIB)

mlib_ImageSetSubimageStruct(3MLIB)

mlib_ImageSobel(3MLIB)

mlib_ImageSobel_Fp(3MLIB)

mlib_ImageSqr_Fp(3MLIB)

mlib_ImageSqr_Fp_Inp(3MLIB)

mlib_ImageSqrShift(3MLIB)

mlib_ImageSqrShift_Inp(3MLIB)

mlib_ImageStdDev(3MLIB)

mlib_ImageStdDev_Fp(3MLIB)

mlib_ImageSub1_Fp_Inp(3MLIB)

mlib_ImageSub1_Inp(3MLIB)

mlib_ImageSub2_Fp_Inp(3MLIB)

mlib_ImageSub2_Inp(3MLIB)

mlib_ImageSub(3MLIB)

mlib_ImageSub_Fp(3MLIB)

mlib_ImageSubsampleAverage(3MLIB)

mlib_ImageSubsampleAverage_Fp(3MLIB)

mlib_ImageSubsampleBinaryToGray(3MLIB)

mlib_ImageTestFlags(3MLIB)

mlib_ImageThresh1(3MLIB)

mlib_ImageThresh1_Fp(3MLIB)

mlib_ImageThresh1_Fp_Inp(3MLIB)

mlib_ImageThresh1_Inp(3MLIB)

mlib_ImageThresh2(3MLIB)

mlib_ImageThresh2_Fp(3MLIB)

mlib_ImageThresh2_Fp_Inp(3MLIB)

mlib_ImageThresh2_Inp(3MLIB)

mlib_ImageThresh3(3MLIB)

mlib_ImageThresh3_Fp(3MLIB)

mlib_ImageThresh3_Fp_Inp(3MLIB)

mlib_ImageThresh3_Inp(3MLIB)

mlib_ImageThresh4(3MLIB)

mlib_ImageThresh4_Fp(3MLIB)

mlib_ImageThresh4_Fp_Inp(3MLIB)

mlib_ImageThresh4_Inp(3MLIB)

mlib_ImageThresh5(3MLIB)

mlib_ImageThresh5_Fp(3MLIB)

mlib_ImageThresh5_Fp_Inp(3MLIB)

mlib_ImageThresh5_Inp(3MLIB)

mlib_ImageXor(3MLIB)

mlib_ImageXor_Inp(3MLIB)

mlib_ImageXProj(3MLIB)

mlib_ImageXProj_Fp(3MLIB)

mlib_ImageYProj(3MLIB)

mlib_ImageYProj_Fp(3MLIB)

mlib_ImageZoom(3MLIB)

mlib_ImageZoomBlend(3MLIB)

mlib_ImageZoom_Fp(3MLIB)

mlib_ImageZoomIn2X(3MLIB)

mlib_ImageZoomIn2X_Fp(3MLIB)

mlib_ImageZoomIn2XIndex(3MLIB)

mlib_ImageZoomIndex(3MLIB)

mlib_ImageZoomOut2X(3MLIB)

mlib_ImageZoomOut2X_Fp(3MLIB)

mlib_ImageZoomOut2XIndex(3MLIB)

mlib_ImageZoomTranslate(3MLIB)

mlib_ImageZoomTranslateBlend(3MLIB)

mlib_ImageZoomTranslate_Fp(3MLIB)

mlib_ImageZoomTranslateTable(3MLIB)

mlib_ImageZoomTranslateTableBlend(3MLIB)

mlib_ImageZoomTranslateTable_Fp(3MLIB)

mlib_ImageZoomTranslateToGray(3MLIB)

mlib_malloc(3MLIB)

mlib_MatrixAdd_S16C_Mod(3MLIB)

mlib_MatrixAdd_S16C_S16C_Mod(3MLIB)

mlib_MatrixAdd_S16C_S16C_Sat(3MLIB)

mlib_MatrixAdd_S16C_S8C_Mod(3MLIB)

mlib_MatrixAdd_S16C_S8C_Sat(3MLIB)

mlib_MatrixAdd_S16C_Sat(3MLIB)

mlib_MatrixAdd_S16C_U8C_Mod(3MLIB)

mlib_MatrixAdd_S16C_U8C_Sat(3MLIB)

mlib_MatrixAdd_S16_Mod(3MLIB)

mlib_MatrixAdd_S16_S16_Mod(3MLIB)

mlib_MatrixAdd_S16_S16_Sat(3MLIB)

mlib_MatrixAdd_S16_S8_Mod(3MLIB)

mlib_MatrixAdd_S16_S8_Sat(3MLIB)

mlib_MatrixAdd_S16_Sat(3MLIB)

mlib_MatrixAdd_S16_U8_Mod(3MLIB)

mlib_MatrixAdd_S16_U8_Sat(3MLIB)

mlib_MatrixAdd_S32C_Mod(3MLIB)

mlib_MatrixAdd_S32C_S16C_Mod(3MLIB)

mlib_MatrixAdd_S32C_S16C_Sat(3MLIB)

mlib_MatrixAdd_S32C_S32C_Mod(3MLIB)

mlib_MatrixAdd_S32C_S32C_Sat(3MLIB)

mlib_MatrixAdd_S32C_Sat(3MLIB)

mlib_MatrixAdd_S32_Mod(3MLIB)

mlib_MatrixAdd_S32_S16_Mod(3MLIB)

mlib_MatrixAdd_S32_S16_Sat(3MLIB)

mlib_MatrixAdd_S32_S32_Mod(3MLIB)

mlib_MatrixAdd_S32_S32_Sat(3MLIB)

mlib_MatrixAdd_S32_Sat(3MLIB)

mlib_MatrixAdd_S8C_Mod(3MLIB)

mlib_MatrixAdd_S8C_S8C_Mod(3MLIB)

mlib_MatrixAdd_S8C_S8C_Sat(3MLIB)

mlib_MatrixAdd_S8C_Sat(3MLIB)

mlib_MatrixAdd_S8_Mod(3MLIB)

mlib_MatrixAdd_S8_S8_Mod(3MLIB)

mlib_MatrixAdd_S8_S8_Sat(3MLIB)

mlib_MatrixAdd_S8_Sat(3MLIB)

mlib_MatrixAddS_S16C_Mod(3MLIB)

mlib_MatrixAddS_S16C_S16C_Mod(3MLIB)

mlib_MatrixAddS_S16C_S16C_Sat(3MLIB)

mlib_MatrixAddS_S16C_S8C_Mod(3MLIB)

mlib_MatrixAddS_S16C_S8C_Sat(3MLIB)

mlib_MatrixAddS_S16C_Sat(3MLIB)

mlib_MatrixAddS_S16C_U8C_Mod(3MLIB)

mlib_MatrixAddS_S16C_U8C_Sat(3MLIB)

mlib_MatrixAddS_S16_Mod(3MLIB)

mlib_MatrixAddS_S16_S16_Mod(3MLIB)

mlib_MatrixAddS_S16_S16_Sat(3MLIB)

mlib_MatrixAddS_S16_S8_Mod(3MLIB)

mlib_MatrixAddS_S16_S8_Sat(3MLIB)

mlib_MatrixAddS_S16_Sat(3MLIB)

mlib_MatrixAddS_S16_U8_Mod(3MLIB)

mlib_MatrixAddS_S16_U8_Sat(3MLIB)

mlib_MatrixAddS_S32C_Mod(3MLIB)

mlib_MatrixAddS_S32C_S16C_Mod(3MLIB)

mlib_MatrixAddS_S32C_S16C_Sat(3MLIB)

mlib_MatrixAddS_S32C_S32C_Mod(3MLIB)

mlib_MatrixAddS_S32C_S32C_Sat(3MLIB)

mlib_MatrixAddS_S32C_Sat(3MLIB)

mlib_MatrixAddS_S32_Mod(3MLIB)

mlib_MatrixAddS_S32_S16_Mod(3MLIB)

mlib_MatrixAddS_S32_S16_Sat(3MLIB)

mlib_MatrixAddS_S32_S32_Mod(3MLIB)

mlib_MatrixAddS_S32_S32_Sat(3MLIB)

mlib_MatrixAddS_S32_Sat(3MLIB)

mlib_MatrixAddS_S8C_Mod(3MLIB)

mlib_MatrixAddS_S8C_S8C_Mod(3MLIB)

mlib_MatrixAddS_S8C_S8C_Sat(3MLIB)

mlib_MatrixAddS_S8C_Sat(3MLIB)

mlib_MatrixAddS_S8_Mod(3MLIB)

mlib_MatrixAddS_S8_S8_Mod(3MLIB)

mlib_MatrixAddS_S8_S8_Sat(3MLIB)

mlib_MatrixAddS_S8_Sat(3MLIB)

mlib_MatrixAddS_U8C_Mod(3MLIB)

mlib_MatrixAddS_U8C_Sat(3MLIB)

mlib_MatrixAddS_U8C_U8C_Mod(3MLIB)

mlib_MatrixAddS_U8C_U8C_Sat(3MLIB)

mlib_MatrixAddS_U8_Mod(3MLIB)

mlib_MatrixAddS_U8_Sat(3MLIB)

mlib_MatrixAddS_U8_U8_Mod(3MLIB)

mlib_MatrixAddS_U8_U8_Sat(3MLIB)

mlib_MatrixAdd_U8C_Mod(3MLIB)

mlib_MatrixAdd_U8C_Sat(3MLIB)

mlib_MatrixAdd_U8C_U8C_Mod(3MLIB)

mlib_MatrixAdd_U8C_U8C_Sat(3MLIB)

mlib_MatrixAdd_U8_Mod(3MLIB)

mlib_MatrixAdd_U8_Sat(3MLIB)

mlib_MatrixAdd_U8_U8_Mod(3MLIB)

mlib_MatrixAdd_U8_U8_Sat(3MLIB)

mlib_MatrixAve_S16(3MLIB)

mlib_MatrixAve_S16C(3MLIB)

mlib_MatrixAve_S16C_S16C(3MLIB)

mlib_MatrixAve_S16C_S8C(3MLIB)

mlib_MatrixAve_S16C_U8C(3MLIB)

mlib_MatrixAve_S16_S16(3MLIB)

mlib_MatrixAve_S16_S8(3MLIB)

mlib_MatrixAve_S16_U8(3MLIB)

mlib_MatrixAve_S32(3MLIB)

mlib_MatrixAve_S32C(3MLIB)

mlib_MatrixAve_S32C_S16C(3MLIB)

mlib_MatrixAve_S32C_S32C(3MLIB)

mlib_MatrixAve_S32_S16(3MLIB)

mlib_MatrixAve_S32_S32(3MLIB)

mlib_MatrixAve_S8(3MLIB)

mlib_MatrixAve_S8C(3MLIB)

mlib_MatrixAve_S8C_S8C(3MLIB)

mlib_MatrixAve_S8_S8(3MLIB)

mlib_MatrixAve_U8(3MLIB)

mlib_MatrixAve_U8C(3MLIB)

mlib_MatrixAve_U8C_U8C(3MLIB)

mlib_MatrixAve_U8_U8(3MLIB)

mlib_MatrixMaximum_D64(3MLIB)

mlib_MatrixMaximum_F32(3MLIB)

mlib_MatrixMaximumMag_D64C(3MLIB)

mlib_MatrixMaximumMag_F32C(3MLIB)

mlib_MatrixMaximumMag_S16C(3MLIB)

mlib_MatrixMaximumMag_S32C(3MLIB)

mlib_MatrixMaximumMag_S8C(3MLIB)

mlib_MatrixMaximumMag_U8C(3MLIB)

mlib_MatrixMaximum_S16(3MLIB)

mlib_MatrixMaximum_S32(3MLIB)

mlib_MatrixMaximum_S8(3MLIB)

mlib_MatrixMaximum_U8(3MLIB)

mlib_MatrixMinimum_D64(3MLIB)

mlib_MatrixMinimum_F32(3MLIB)

mlib_MatrixMinimumMag_D64C(3MLIB)

mlib_MatrixMinimumMag_F32C(3MLIB)

mlib_MatrixMinimumMag_S16C(3MLIB)

mlib_MatrixMinimumMag_S32C(3MLIB)

mlib_MatrixMinimumMag_S8C(3MLIB)

mlib_MatrixMinimumMag_U8C(3MLIB)

mlib_MatrixMinimum_S16(3MLIB)

mlib_MatrixMinimum_S32(3MLIB)

mlib_MatrixMinimum_S8(3MLIB)

mlib_MatrixMinimum_U8(3MLIB)

mlib_MatrixMul_S16C_S16C_Mod(3MLIB)

mlib_MatrixMul_S16C_S16C_Sat(3MLIB)

mlib_MatrixMul_S16C_S8C_Mod(3MLIB)

mlib_MatrixMul_S16C_S8C_Sat(3MLIB)

mlib_MatrixMul_S16C_U8C_Mod(3MLIB)

mlib_MatrixMul_S16C_U8C_Sat(3MLIB)

mlib_MatrixMul_S16_S16_Mod(3MLIB)

mlib_MatrixMul_S16_S16_Sat(3MLIB)

mlib_MatrixMul_S16_S8_Mod(3MLIB)

mlib_MatrixMul_S16_S8_Sat(3MLIB)

mlib_MatrixMul_S16_U8_Mod(3MLIB)

mlib_MatrixMul_S16_U8_Sat(3MLIB)

mlib_MatrixMul_S32C_S16C_Mod(3MLIB)

mlib_MatrixMul_S32C_S16C_Sat(3MLIB)

mlib_MatrixMul_S32C_S32C_Mod(3MLIB)

mlib_MatrixMul_S32C_S32C_Sat(3MLIB)

mlib_MatrixMul_S32_S16_Mod(3MLIB)

mlib_MatrixMul_S32_S16_Sat(3MLIB)

mlib_MatrixMul_S32_S32_Mod(3MLIB)

mlib_MatrixMul_S32_S32_Sat(3MLIB)

mlib_MatrixMul_S8C_S8C_Mod(3MLIB)

mlib_MatrixMul_S8C_S8C_Sat(3MLIB)

mlib_MatrixMul_S8_S8_Mod(3MLIB)

mlib_MatrixMul_S8_S8_Sat(3MLIB)

mlib_MatrixMulShift_S16C_S16C_Mod(3MLIB)

mlib_MatrixMulShift_S16C_S16C_Sat(3MLIB)

mlib_MatrixMulShift_S16_S16_Mod(3MLIB)

mlib_MatrixMulShift_S16_S16_Sat(3MLIB)

mlib_MatrixMulS_S16C_Mod(3MLIB)

mlib_MatrixMulS_S16C_S16C_Mod(3MLIB)

mlib_MatrixMulS_S16C_S16C_Sat(3MLIB)

mlib_MatrixMulS_S16C_S8C_Mod(3MLIB)

mlib_MatrixMulS_S16C_S8C_Sat(3MLIB)

mlib_MatrixMulS_S16C_Sat(3MLIB)

mlib_MatrixMulS_S16C_U8C_Mod(3MLIB)

mlib_MatrixMulS_S16C_U8C_Sat(3MLIB)

mlib_MatrixMulS_S16_Mod(3MLIB)

mlib_MatrixMulS_S16_S16_Mod(3MLIB)

mlib_MatrixMulS_S16_S16_Sat(3MLIB)

mlib_MatrixMulS_S16_S8_Mod(3MLIB)

mlib_MatrixMulS_S16_S8_Sat(3MLIB)

mlib_MatrixMulS_S16_Sat(3MLIB)

mlib_MatrixMulS_S16_U8_Mod(3MLIB)

mlib_MatrixMulS_S16_U8_Sat(3MLIB)

mlib_MatrixMulS_S32C_Mod(3MLIB)

mlib_MatrixMulS_S32C_S16C_Mod(3MLIB)

mlib_MatrixMulS_S32C_S16C_Sat(3MLIB)

mlib_MatrixMulS_S32C_S32C_Mod(3MLIB)

mlib_MatrixMulS_S32C_S32C_Sat(3MLIB)

mlib_MatrixMulS_S32C_Sat(3MLIB)

mlib_MatrixMulS_S32_Mod(3MLIB)

mlib_MatrixMulS_S32_S16_Mod(3MLIB)

mlib_MatrixMulS_S32_S16_Sat(3MLIB)

mlib_MatrixMulS_S32_S32_Mod(3MLIB)

mlib_MatrixMulS_S32_S32_Sat(3MLIB)

mlib_MatrixMulS_S32_Sat(3MLIB)

mlib_MatrixMulS_S8C_Mod(3MLIB)

mlib_MatrixMulS_S8C_S8C_Mod(3MLIB)

mlib_MatrixMulS_S8C_S8C_Sat(3MLIB)

mlib_MatrixMulS_S8C_Sat(3MLIB)

mlib_MatrixMulS_S8_Mod(3MLIB)

mlib_MatrixMulS_S8_S8_Mod(3MLIB)

mlib_MatrixMulS_S8_S8_Sat(3MLIB)

mlib_MatrixMulS_S8_Sat(3MLIB)

mlib_MatrixMulSShift_S16C_Mod(3MLIB)

mlib_MatrixMulSShift_S16C_S16C_Mod(3MLIB)

mlib_MatrixMulSShift_S16C_S16C_Sat(3MLIB)

mlib_MatrixMulSShift_S16C_Sat(3MLIB)

mlib_MatrixMulSShift_S16_Mod(3MLIB)

mlib_MatrixMulSShift_S16_S16_Mod(3MLIB)

mlib_MatrixMulSShift_S16_S16_Sat(3MLIB)

mlib_MatrixMulSShift_S16_Sat(3MLIB)

mlib_MatrixMulSShift_S32C_Mod(3MLIB)

mlib_MatrixMulSShift_S32C_S32C_Mod(3MLIB)

mlib_MatrixMulSShift_S32C_S32C_Sat(3MLIB)

mlib_MatrixMulSShift_S32C_Sat(3MLIB)

mlib_MatrixMulSShift_S32_Mod(3MLIB)

mlib_MatrixMulSShift_S32_S32_Mod(3MLIB)

mlib_MatrixMulSShift_S32_S32_Sat(3MLIB)

mlib_MatrixMulSShift_S32_Sat(3MLIB)

mlib_MatrixMulSShift_S8C_Mod(3MLIB)

mlib_MatrixMulSShift_S8C_S8C_Mod(3MLIB)

mlib_MatrixMulSShift_S8C_S8C_Sat(3MLIB)

mlib_MatrixMulSShift_S8C_Sat(3MLIB)

mlib_MatrixMulSShift_S8_Mod(3MLIB)

mlib_MatrixMulSShift_S8_S8_Mod(3MLIB)

mlib_MatrixMulSShift_S8_S8_Sat(3MLIB)

mlib_MatrixMulSShift_S8_Sat(3MLIB)

Multimedia Library Functions - Part 4

Multimedia Library Functions - Part 5

Multimedia Library Functions - Part 6

Multimedia Library Functions - Part 7

mlib_ImageZoomTranslateTableBlend

- image scaling using interpolation table, combined with alpha blending

Synopsis

cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>

mlib_status mlib_ImageZoomTranslateTableBlend(mlib_image *dst, 
     const mlib_image *src, mlib_d64 zoomx, mlib_d64 zoomy, 
     mlib_d64 tx, mlib_d64 ty, const void *table, mlib_edge edge, 
     mlib_blend blend, mlib_s32 cmask);

Description

The mlib_ImageZoomTranslateTableBlend() function will enlarge or minify the source image by the X and Y zoom factors, with translation, and blend it with the destination image.

It uses the following equation for coordinate mapping:

xd = zoomx*xs + tx
yd = zoomy*ys + ty

where a point with coordinates (xs, ys) in the source image is mapped to a point with coordinates (xd, yd) in the destination image.

The center of the upper-left corner pixel of an image is located at (0.5, 0.5).

It is assumed that the overall alpha for controlling the blending between the source image and the destination image has been pre-multiplied to the interpolation table for better performance.

The alpha blending is closely combined with the interpolation to achieve better performance. Part of alpha blending has to be performed before or together with the interpolation if the source image has an alpha channel. In that case, the color components of each neighboring source pixel which participates in the interpolation (src_r and etc.) have to be pre-multiplied by the alpha component of the same source pixel (src_a). After the interpolation, the interpolated alpha (interp_a, which has been multiplied by the overall alpha because of the pre-multiplied interpolation table) and the destination pixel's original alpha (dst_a, if any) are used to blend the interpolated source pixel (with components interp_r and etc.) with the destination pixel (with components dst_r and etc.).

The MLIB_BLEND_GTK_SRC blending is similar to the SRC rule of the Porter-Duff rules for image compositing. It is defined by

Cd = Cs
Ad = As

in general, and by the following formula for this function:

if (interp_a != 0.0) {
    if (dst_has_alpha) {
        dst_r = interp_r/interp_a;
        dst_g = interp_g/interp_a;
        dst_b = interp_b/interp_a;
        dst_a = interp_a;
    } else {
        dst_r = interp_r;
        dst_g = interp_g;
        dst_b = interp_b;
        dst_a = 1.0; // implied
    }
} else {
    dst_r = 0;
    dst_g = 0;
    dst_b = 0;
    dst_a = 0;
}

The MLIB_BLEND_GTK_SRC_OVER or MLIB_BLEND_GTK_SRC_OVER2 blending is similar to the SRC_OVER rule of the Porter-Duff rules for image compositing. It is defined by

Cd = Cs + Cd*(1 - As)
Ad = As + Ad*(1 - As)

in general, and by the following formula for this function:

w = interp_a + (1 - interp_a)*dst_a;
if (w != 0.0) {
    dst_r = (interp_r + (1 - interp_a)*dst_a*dst_r)/w;
    dst_g = (interp_g + (1 - interp_a)*dst_a*dst_g)/w;
    dst_b = (interp_b + (1 - interp_a)*dst_a*dst_b)/w;
    dst_a = w;
} else if (MLIB_BLEND_GTK_SRC_OVER) {
    dst_r = 0;
    dst_g = 0;
    dst_b = 0;
    dst_a = 0;
}

where src_a, interp_a and dst_a are assumed to be in the range of [0.0, 1.0].

For an image with 4 channels, the first or the fourth channel is considered the alpha channel if cmask equals 8 or 1, respectively. An image with 3 channels is considered to have no alpha channel, which is equivalent to having an alpha channel filled with all 1.0, or 0xff in case of MLIB_BYTE, if the general formulas for blending shown above are used.

Both src and dst must be of type MLIB_BYTE. They can have either 3 or 4 channels.

The src image cannot have width or height larger than 32767.

Parameters

The function takes the following arguments:

dst

Pointer to destination image.

src

Pointer to first source image.

zoomx

X zoom factor. zoomx > 0.0.

zoomy

Y zoom factor. zoomy > 0.0.

tx

X translation.

ty

Y translation.

table

Pointer to interpolation table structure.

edge

Type of edge condition. It can be one of the following:

MLIB_EDGE_DST_NO_WRITE
MLIB_EDGE_DST_FILL_ZERO
MLIB_EDGE_OP_NEAREST
MLIB_EDGE_SRC_EXTEND
MLIB_EDGE_SRC_EXTEND_INDEF
MLIB_EDGE_SRC_PADDED
blend

Type of alpha blending. It can be one of the following:

MLIB_BLEND_GTK_SRC
MLIB_BLEND_GTK_SRC_OVER
MLIB_BLEND_GTK_SRC_OVER2
cmask

Channel mask to indicate the alpha channel.

Return Values

The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe

See Also

mlib_ImageZoomBlend(3MLIB), mlib_ImageZoomTranslateBlend(3MLIB), mlib_ImageInterpTableCreate(3MLIB), attributes(5)