2362N/A * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A * Image affine transformation with Bicubic filtering 0N/A * mlib_status mlib_ImageAffine_[u8|s16|u16]_?ch_bc(mlib_s32 *leftEdges, 0N/A * mlib_s32 *rightEdges, 0N/A * mlib_s32 *xStarts, 0N/A * mlib_s32 *yStarts, 0N/A * mlib_u8 **lineAddr, 0N/A * mlib_s32 dstYStride, 0N/A * mlib_s32 is_affine, 0N/A * mlib_s32 srcYStride, 0N/A * mlib_filter filter) 0N/A * leftEdges array[dstHeight] of xLeft coordinates 0N/A * RightEdges array[dstHeight] of xRight coordinates 0N/A * xStarts array[dstHeight] of xStart * 65536 coordinates 0N/A * yStarts array[dstHeight] of yStart * 65536 coordinates 0N/A * sides output array[4]. sides[0] is yStart, sides[1] is yFinish, 0N/A * sides[2] is dx * 65536, sides[3] is dy * 65536 0N/A * dstData pointer to the first pixel on (yStart - 1) line 0N/A * lineAddr array[srcHeight] of pointers to the first pixel on 0N/A * the corresponding lines 0N/A * dstYStride stride of destination image 0N/A * is_affine indicator (Affine - GridWarp) 0N/A * srcYStride stride of source image 0N/A * filter type of resampling filter 0N/A * The functions step along the lines from xLeft to xRight and apply 0N/A * the bicubic filtering. 0N/A/***************************************************************/ 0N/A#
ifdef __sparc /* for SPARC, using floating-point multiplies is faster */ 0N/A#
endif /* MLIB_USE_FTOI_CLAMPING */ 0N/A for (k = 0; k <
2; k++) {
0N/A for (k = 0; k <
3; k++) {
0N/A for (k = 0; k <
4; k++) {
0N/A#
else /* for x86, using integer multiplies is faster */ 0N/A for (k = 0; k <
2; k++) {
0N/A for (k = 0; k <
3; k++) {
0N/A for (k = 0; k <
4; k++) {
0N/A#
endif /* __sparc ( for SPARC, using floating-point multiplies is faster ) */ 0N/A/***************************************************************/