1 /*
   2  * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 
  27 #ifndef __MLIB_IMAGECONV_H
  28 #define __MLIB_IMAGECONV_H
  29 
  30 #ifdef __cplusplus
  31 extern "C" {
  32 #endif /* __cplusplus */
  33 
  34 // Shared macro defined for cleanup of allocated memory.
  35 #ifndef FREE_AND_RETURN_STATUS
  36 #define FREE_AND_RETURN_STATUS \
  37 { \
  38 if (pbuff != buff) mlib_free(pbuff); \
  39 if (k != akernel) mlib_free(k); \
  40 return status; \
  41 }
  42 #endif /* FREE_AND_RETURN_STATUS */
  43 
  44 void mlib_ImageXor80_aa(mlib_u8  *dl,
  45                         mlib_s32 wid,
  46                         mlib_s32 hgt,
  47                         mlib_s32 str);
  48 
  49 void mlib_ImageXor80(mlib_u8  *dl,
  50                      mlib_s32 wid,
  51                      mlib_s32 hgt,
  52                      mlib_s32 str,
  53                      mlib_s32 nchan,
  54                      mlib_s32 cmask);
  55 
  56 mlib_status mlib_conv2x2ext_d64(mlib_image       *dst,
  57                                 const mlib_image *src,
  58                                 mlib_s32         dx_l,
  59                                 mlib_s32         dx_r,
  60                                 mlib_s32         dy_t,
  61                                 mlib_s32         dy_b,
  62                                 const mlib_d64   *kern,
  63                                 mlib_s32         cmask);
  64 
  65 mlib_status mlib_conv2x2ext_f32(mlib_image       *dst,
  66                                 const mlib_image *src,
  67                                 mlib_s32         dx_l,
  68                                 mlib_s32         dx_r,
  69                                 mlib_s32         dy_t,
  70                                 mlib_s32         dy_b,
  71                                 const mlib_d64   *kern,
  72                                 mlib_s32         cmask);
  73 
  74 mlib_status mlib_conv2x2ext_s16(mlib_image       *dst,
  75                                 const mlib_image *src,
  76                                 mlib_s32         dx_l,
  77                                 mlib_s32         dx_r,
  78                                 mlib_s32         dy_t,
  79                                 mlib_s32         dy_b,
  80                                 const mlib_s32   *kern,
  81                                 mlib_s32         scale,
  82                                 mlib_s32         cmask);
  83 
  84 mlib_status mlib_conv2x2ext_s32(mlib_image       *dst,
  85                                 const mlib_image *src,
  86                                 mlib_s32         dx_l,
  87                                 mlib_s32         dx_r,
  88                                 mlib_s32         dy_t,
  89                                 mlib_s32         dy_b,
  90                                 const mlib_s32   *kern,
  91                                 mlib_s32         scale,
  92                                 mlib_s32         cmask);
  93 
  94 mlib_status mlib_conv2x2ext_u16(mlib_image       *dst,
  95                                 const mlib_image *src,
  96                                 mlib_s32         dx_l,
  97                                 mlib_s32         dx_r,
  98                                 mlib_s32         dy_t,
  99                                 mlib_s32         dy_b,
 100                                 const mlib_s32   *kern,
 101                                 mlib_s32         scale,
 102                                 mlib_s32         cmask);
 103 
 104 mlib_status mlib_conv2x2ext_u8(mlib_image       *dst,
 105                                const mlib_image *src,
 106                                mlib_s32         dx_l,
 107                                mlib_s32         dx_r,
 108                                mlib_s32         dy_t,
 109                                mlib_s32         dy_b,
 110                                const mlib_s32   *kern,
 111                                mlib_s32         scale,
 112                                mlib_s32         cmask);
 113 
 114 mlib_status mlib_conv2x2nw_d64(mlib_image       *dst,
 115                                const mlib_image *src,
 116                                const mlib_d64   *kern,
 117                                mlib_s32         cmask);
 118 
 119 mlib_status mlib_conv2x2nw_f32(mlib_image       *dst,
 120                                const mlib_image *src,
 121                                const mlib_d64   *kern,
 122                                mlib_s32         cmask);
 123 
 124 mlib_status mlib_conv2x2nw_s16(mlib_image       *dst,
 125                                const mlib_image *src,
 126                                const mlib_s32   *kern,
 127                                mlib_s32         scale,
 128                                mlib_s32         cmask);
 129 
 130 mlib_status mlib_conv2x2nw_s32(mlib_image       *dst,
 131                                const mlib_image *src,
 132                                const mlib_s32   *kern,
 133                                mlib_s32         scale,
 134                                mlib_s32         cmask);
 135 
 136 mlib_status mlib_conv2x2nw_u16(mlib_image       *dst,
 137                                const mlib_image *src,
 138                                const mlib_s32   *kern,
 139                                mlib_s32         scale,
 140                                mlib_s32         cmask);
 141 
 142 mlib_status mlib_conv2x2nw_u8(mlib_image       *dst,
 143                               const mlib_image *src,
 144                               const mlib_s32   *kern,
 145                               mlib_s32         scale,
 146                               mlib_s32         cmask);
 147 
 148 mlib_status mlib_conv3x3ext_bit(mlib_image       *dst,
 149                                 const mlib_image *src,
 150                                 mlib_s32         dx_l,
 151                                 mlib_s32         dx_r,
 152                                 mlib_s32         dy_t,
 153                                 mlib_s32         dy_b,
 154                                 const mlib_s32   *kern,
 155                                 mlib_s32         scale,
 156                                 mlib_s32         cmask);
 157 
 158 mlib_status mlib_conv3x3ext_d64(mlib_image       *dst,
 159                                 const mlib_image *src,
 160                                 mlib_s32         dx_l,
 161                                 mlib_s32         dx_r,
 162                                 mlib_s32         dy_t,
 163                                 mlib_s32         dy_b,
 164                                 const mlib_d64   *kern,
 165                                 mlib_s32         cmask);
 166 
 167 mlib_status mlib_conv3x3ext_f32(mlib_image       *dst,
 168                                 const mlib_image *src,
 169                                 mlib_s32         dx_l,
 170                                 mlib_s32         dx_r,
 171                                 mlib_s32         dy_t,
 172                                 mlib_s32         dy_b,
 173                                 const mlib_d64   *kern,
 174                                 mlib_s32         cmask);
 175 
 176 mlib_status mlib_conv3x3ext_s16(mlib_image       *dst,
 177                                 const mlib_image *src,
 178                                 mlib_s32         dx_l,
 179                                 mlib_s32         dx_r,
 180                                 mlib_s32         dy_t,
 181                                 mlib_s32         dy_b,
 182                                 const mlib_s32   *kern,
 183                                 mlib_s32         scale,
 184                                 mlib_s32         cmask);
 185 
 186 mlib_status mlib_conv3x3ext_s32(mlib_image       *dst,
 187                                 const mlib_image *src,
 188                                 mlib_s32         dx_l,
 189                                 mlib_s32         dx_r,
 190                                 mlib_s32         dy_t,
 191                                 mlib_s32         dy_b,
 192                                 const mlib_s32   *kern,
 193                                 mlib_s32         scale,
 194                                 mlib_s32         cmask);
 195 
 196 mlib_status mlib_conv3x3ext_u16(mlib_image       *dst,
 197                                 const mlib_image *src,
 198                                 mlib_s32         dx_l,
 199                                 mlib_s32         dx_r,
 200                                 mlib_s32         dy_t,
 201                                 mlib_s32         dy_b,
 202                                 const mlib_s32   *kern,
 203                                 mlib_s32         scale,
 204                                 mlib_s32         cmask);
 205 
 206 mlib_status mlib_conv3x3ext_u8(mlib_image       *dst,
 207                                const mlib_image *src,
 208                                mlib_s32         dx_l,
 209                                mlib_s32         dx_r,
 210                                mlib_s32         dy_t,
 211                                mlib_s32         dy_b,
 212                                const mlib_s32   *kern,
 213                                mlib_s32         scale,
 214                                mlib_s32         cmask);
 215 
 216 mlib_status mlib_conv3x3nw_bit(mlib_image       *dst,
 217                                const mlib_image *src,
 218                                const mlib_s32   *kern,
 219                                mlib_s32         scale,
 220                                mlib_s32         cmask);
 221 
 222 mlib_status mlib_conv3x3nw_d64(mlib_image       *dst,
 223                                const mlib_image *src,
 224                                const mlib_d64   *kern,
 225                                mlib_s32         cmask);
 226 
 227 mlib_status mlib_conv3x3nw_f32(mlib_image       *dst,
 228                                const mlib_image *src,
 229                                const mlib_d64   *kern,
 230                                mlib_s32         cmask);
 231 
 232 mlib_status mlib_conv3x3nw_s16(mlib_image       *dst,
 233                                const mlib_image *src,
 234                                const mlib_s32   *kern,
 235                                mlib_s32         scale,
 236                                mlib_s32         cmask);
 237 
 238 mlib_status mlib_conv3x3nw_s32(mlib_image       *dst,
 239                                const mlib_image *src,
 240                                const mlib_s32   *kern,
 241                                mlib_s32         scale,
 242                                mlib_s32         cmask);
 243 
 244 mlib_status mlib_conv3x3nw_u16(mlib_image       *dst,
 245                                const mlib_image *src,
 246                                const mlib_s32   *kern,
 247                                mlib_s32         scale,
 248                                mlib_s32         cmask);
 249 
 250 mlib_status mlib_conv3x3nw_u8(mlib_image       *dst,
 251                               const mlib_image *src,
 252                               const mlib_s32   *kern,
 253                               mlib_s32         scale,
 254                               mlib_s32         cmask);
 255 
 256 mlib_status mlib_conv4x4ext_d64(mlib_image       *dst,
 257                                 const mlib_image *src,
 258                                 mlib_s32         dx_l,
 259                                 mlib_s32         dx_r,
 260                                 mlib_s32         dy_t,
 261                                 mlib_s32         dy_b,
 262                                 const mlib_d64   *kern,
 263                                 mlib_s32         cmask);
 264 
 265 mlib_status mlib_conv4x4ext_f32(mlib_image       *dst,
 266                                 const mlib_image *src,
 267                                 mlib_s32         dx_l,
 268                                 mlib_s32         dx_r,
 269                                 mlib_s32         dy_t,
 270                                 mlib_s32         dy_b,
 271                                 const mlib_d64   *kern,
 272                                 mlib_s32         cmask);
 273 
 274 mlib_status mlib_conv4x4ext_s16(mlib_image       *dst,
 275                                 const mlib_image *src,
 276                                 mlib_s32         dx_l,
 277                                 mlib_s32         dx_r,
 278                                 mlib_s32         dy_t,
 279                                 mlib_s32         dy_b,
 280                                 const mlib_s32   *kern,
 281                                 mlib_s32         scale,
 282                                 mlib_s32         cmask);
 283 
 284 mlib_status mlib_conv4x4ext_s32(mlib_image       *dst,
 285                                 const mlib_image *src,
 286                                 mlib_s32         dx_l,
 287                                 mlib_s32         dx_r,
 288                                 mlib_s32         dy_t,
 289                                 mlib_s32         dy_b,
 290                                 const mlib_s32   *kern,
 291                                 mlib_s32         scale,
 292                                 mlib_s32         cmask);
 293 
 294 mlib_status mlib_conv4x4ext_u16(mlib_image       *dst,
 295                                 const mlib_image *src,
 296                                 mlib_s32         dx_l,
 297                                 mlib_s32         dx_r,
 298                                 mlib_s32         dy_t,
 299                                 mlib_s32         dy_b,
 300                                 const mlib_s32   *kern,
 301                                 mlib_s32         scale,
 302                                 mlib_s32         cmask);
 303 
 304 mlib_status mlib_conv4x4ext_u8(mlib_image       *dst,
 305                                const mlib_image *src,
 306                                mlib_s32         dx_l,
 307                                mlib_s32         dx_r,
 308                                mlib_s32         dy_t,
 309                                mlib_s32         dy_b,
 310                                const mlib_s32   *kern,
 311                                mlib_s32         scale,
 312                                mlib_s32         cmask);
 313 
 314 mlib_status mlib_conv4x4nw_d64(mlib_image       *dst,
 315                                const mlib_image *src,
 316                                const mlib_d64   *kern,
 317                                mlib_s32         cmask);
 318 
 319 mlib_status mlib_conv4x4nw_f32(mlib_image       *dst,
 320                                const mlib_image *src,
 321                                const mlib_d64   *kern,
 322                                mlib_s32         cmask);
 323 
 324 mlib_status mlib_conv4x4nw_s16(mlib_image       *dst,
 325                                const mlib_image *src,
 326                                const mlib_s32   *kern,
 327                                mlib_s32         scale,
 328                                mlib_s32         cmask);
 329 
 330 mlib_status mlib_conv4x4nw_s32(mlib_image       *dst,
 331                                const mlib_image *src,
 332                                const mlib_s32   *kern,
 333                                mlib_s32         scale,
 334                                mlib_s32         cmask);
 335 
 336 mlib_status mlib_conv4x4nw_u16(mlib_image       *dst,
 337                                const mlib_image *src,
 338                                const mlib_s32   *kern,
 339                                mlib_s32         scale,
 340                                mlib_s32         cmask);
 341 
 342 mlib_status mlib_conv4x4nw_u8(mlib_image       *dst,
 343                               const mlib_image *src,
 344                               const mlib_s32   *kern,
 345                               mlib_s32         scale,
 346                               mlib_s32         cmask);
 347 
 348 mlib_status mlib_conv5x5ext_d64(mlib_image       *dst,
 349                                 const mlib_image *src,
 350                                 mlib_s32         dx_l,
 351                                 mlib_s32         dx_r,
 352                                 mlib_s32         dy_t,
 353                                 mlib_s32         dy_b,
 354                                 const mlib_d64   *kern,
 355                                 mlib_s32         cmask);
 356 
 357 mlib_status mlib_conv5x5ext_f32(mlib_image       *dst,
 358                                 const mlib_image *src,
 359                                 mlib_s32         dx_l,
 360                                 mlib_s32         dx_r,
 361                                 mlib_s32         dy_t,
 362                                 mlib_s32         dy_b,
 363                                 const mlib_d64   *kern,
 364                                 mlib_s32         cmask);
 365 
 366 mlib_status mlib_conv5x5ext_s16(mlib_image       *dst,
 367                                 const mlib_image *src,
 368                                 mlib_s32         dx_l,
 369                                 mlib_s32         dx_r,
 370                                 mlib_s32         dy_t,
 371                                 mlib_s32         dy_b,
 372                                 const mlib_s32   *kern,
 373                                 mlib_s32         scale,
 374                                 mlib_s32         cmask);
 375 
 376 mlib_status mlib_conv5x5ext_s32(mlib_image       *dst,
 377                                 const mlib_image *src,
 378                                 mlib_s32         dx_l,
 379                                 mlib_s32         dx_r,
 380                                 mlib_s32         dy_t,
 381                                 mlib_s32         dy_b,
 382                                 const mlib_s32   *kern,
 383                                 mlib_s32         scale,
 384                                 mlib_s32         cmask);
 385 
 386 mlib_status mlib_conv5x5ext_u16(mlib_image       *dst,
 387                                 const mlib_image *src,
 388                                 mlib_s32         dx_l,
 389                                 mlib_s32         dx_r,
 390                                 mlib_s32         dy_t,
 391                                 mlib_s32         dy_b,
 392                                 const mlib_s32   *kern,
 393                                 mlib_s32         scale,
 394                                 mlib_s32         cmask);
 395 
 396 mlib_status mlib_conv5x5ext_u8(mlib_image       *dst,
 397                                const mlib_image *src,
 398                                mlib_s32         dx_l,
 399                                mlib_s32         dx_r,
 400                                mlib_s32         dy_t,
 401                                mlib_s32         dy_b,
 402                                const mlib_s32   *kern,
 403                                mlib_s32         scale,
 404                                mlib_s32         cmask);
 405 
 406 mlib_status mlib_conv5x5nw_d64(mlib_image       *dst,
 407                                const mlib_image *src,
 408                                const mlib_d64   *kern,
 409                                mlib_s32         cmask);
 410 
 411 mlib_status mlib_conv5x5nw_f32(mlib_image       *dst,
 412                                const mlib_image *src,
 413                                const mlib_d64   *kern,
 414                                mlib_s32         cmask);
 415 
 416 mlib_status mlib_conv5x5nw_s16(mlib_image       *dst,
 417                                const mlib_image *src,
 418                                const mlib_s32   *kern,
 419                                mlib_s32         scale,
 420                                mlib_s32         cmask);
 421 
 422 mlib_status mlib_conv5x5nw_s32(mlib_image       *dst,
 423                                const mlib_image *src,
 424                                const mlib_s32   *kern,
 425                                mlib_s32         scale,
 426                                mlib_s32         cmask);
 427 
 428 mlib_status mlib_conv5x5nw_u16(mlib_image       *dst,
 429                                const mlib_image *src,
 430                                const mlib_s32   *kern,
 431                                mlib_s32         scale,
 432                                mlib_s32         cmask);
 433 
 434 mlib_status mlib_conv5x5nw_u8(mlib_image       *dst,
 435                               const mlib_image *src,
 436                               const mlib_s32   *kern,
 437                               mlib_s32         scale,
 438                               mlib_s32         cmask);
 439 
 440 mlib_status mlib_conv7x7ext_s16(mlib_image       *dst,
 441                                 const mlib_image *src,
 442                                 mlib_s32         dx_l,
 443                                 mlib_s32         dx_r,
 444                                 mlib_s32         dy_t,
 445                                 mlib_s32         dy_b,
 446                                 const mlib_s32   *kern,
 447                                 mlib_s32         scale,
 448                                 mlib_s32         cmask);
 449 
 450 mlib_status mlib_conv7x7ext_s32(mlib_image       *dst,
 451                                 const mlib_image *src,
 452                                 mlib_s32         dx_l,
 453                                 mlib_s32         dx_r,
 454                                 mlib_s32         dy_t,
 455                                 mlib_s32         dy_b,
 456                                 const mlib_s32   *kern,
 457                                 mlib_s32         scale,
 458                                 mlib_s32         cmask);
 459 
 460 mlib_status mlib_conv7x7ext_u16(mlib_image       *dst,
 461                                 const mlib_image *src,
 462                                 mlib_s32         dx_l,
 463                                 mlib_s32         dx_r,
 464                                 mlib_s32         dy_t,
 465                                 mlib_s32         dy_b,
 466                                 const mlib_s32   *kern,
 467                                 mlib_s32         scale,
 468                                 mlib_s32         cmask);
 469 
 470 mlib_status mlib_conv7x7ext_u8(mlib_image       *dst,
 471                                const mlib_image *src,
 472                                mlib_s32         dx_l,
 473                                mlib_s32         dx_r,
 474                                mlib_s32         dy_t,
 475                                mlib_s32         dy_b,
 476                                const mlib_s32   *kern,
 477                                mlib_s32         scale,
 478                                mlib_s32         cmask);
 479 
 480 mlib_status mlib_conv7x7nw_s16(mlib_image       *dst,
 481                                const mlib_image *src,
 482                                const mlib_s32   *kern,
 483                                mlib_s32         scale,
 484                                mlib_s32         cmask);
 485 
 486 mlib_status mlib_conv7x7nw_s32(mlib_image       *dst,
 487                                const mlib_image *src,
 488                                const mlib_s32   *kern,
 489                                mlib_s32         scale,
 490                                mlib_s32         cmask);
 491 
 492 mlib_status mlib_conv7x7nw_u16(mlib_image       *dst,
 493                                const mlib_image *src,
 494                                const mlib_s32   *kern,
 495                                mlib_s32         scale,
 496                                mlib_s32         cmask);
 497 
 498 mlib_status mlib_conv7x7nw_u8(mlib_image       *dst,
 499                               const mlib_image *src,
 500                               const mlib_s32   *kern,
 501                               mlib_s32         scale,
 502                               mlib_s32         cmask);
 503 
 504 mlib_status mlib_convMxNext_s32(mlib_image       *dst,
 505                                 const mlib_image *src,
 506                                 const mlib_s32   *kernel,
 507                                 mlib_s32         m,
 508                                 mlib_s32         n,
 509                                 mlib_s32         dx_l,
 510                                 mlib_s32         dx_r,
 511                                 mlib_s32         dy_t,
 512                                 mlib_s32         dy_b,
 513                                 mlib_s32         scale,
 514                                 mlib_s32         cmask);
 515 
 516 mlib_status mlib_convMxNnw_d64(mlib_image       *dst,
 517                                const mlib_image *src,
 518                                const mlib_d64   *ker,
 519                                mlib_s32         m,
 520                                mlib_s32         n,
 521                                mlib_s32         dm,
 522                                mlib_s32         dn,
 523                                mlib_s32         cmask);
 524 
 525 mlib_status mlib_convMxNnw_f32(mlib_image       *dst,
 526                                const mlib_image *src,
 527                                const mlib_d64   *ker,
 528                                mlib_s32         m,
 529                                mlib_s32         n,
 530                                mlib_s32         dm,
 531                                mlib_s32         dn,
 532                                mlib_s32         cmask);
 533 
 534 mlib_status mlib_convMxNnw_s16(mlib_image       *dst,
 535                                const mlib_image *src,
 536                                const mlib_s32   *kernel,
 537                                mlib_s32         m,
 538                                mlib_s32         n,
 539                                mlib_s32         dm,
 540                                mlib_s32         dn,
 541                                mlib_s32         scale,
 542                                mlib_s32         cmask);
 543 
 544 mlib_status mlib_convMxNnw_s32(mlib_image       *dst,
 545                                const mlib_image *src,
 546                                const mlib_s32   *kernel,
 547                                mlib_s32         m,
 548                                mlib_s32         n,
 549                                mlib_s32         dm,
 550                                mlib_s32         dn,
 551                                mlib_s32         scale,
 552                                mlib_s32         cmask);
 553 
 554 mlib_status mlib_convMxNnw_u16(mlib_image       *dst,
 555                                const mlib_image *src,
 556                                const mlib_s32   *kernel,
 557                                mlib_s32         m,
 558                                mlib_s32         n,
 559                                mlib_s32         dm,
 560                                mlib_s32         dn,
 561                                mlib_s32         scale,
 562                                mlib_s32         cmask);
 563 
 564 mlib_s32 mlib_ImageConvVersion(mlib_s32  m,
 565                                mlib_s32  n,
 566                                mlib_s32  scale,
 567                                mlib_type type);
 568 
 569 mlib_status mlib_ImageConvMxN_f(mlib_image       *dst,
 570                                 const mlib_image *src,
 571                                 const void       *kernel,
 572                                 mlib_s32         m,
 573                                 mlib_s32         n,
 574                                 mlib_s32         dm,
 575                                 mlib_s32         dn,
 576                                 mlib_s32         scale,
 577                                 mlib_s32         cmask,
 578                                 mlib_edge        edge);
 579 
 580 mlib_status mlib_convMxNnw_u8(mlib_image       *dst,
 581                               const mlib_image *src,
 582                               const mlib_s32   *kern,
 583                               mlib_s32         m,
 584                               mlib_s32         n,
 585                               mlib_s32         dm,
 586                               mlib_s32         dn,
 587                               mlib_s32         scale,
 588                               mlib_s32         cmask);
 589 
 590 mlib_status mlib_convMxNext_u8(mlib_image       *dst,
 591                                const mlib_image *src,
 592                                const mlib_s32   *kern,
 593                                mlib_s32         m,
 594                                mlib_s32         n,
 595                                mlib_s32         dx_l,
 596                                mlib_s32         dx_r,
 597                                mlib_s32         dy_t,
 598                                mlib_s32         dy_b,
 599                                mlib_s32         scale,
 600                                mlib_s32         cmask);
 601 
 602 mlib_status mlib_convMxNext_s16(mlib_image *dst,
 603                                 const mlib_image *src,
 604                                 const mlib_s32 *kernel,
 605                                 mlib_s32 m,
 606                                 mlib_s32 n,
 607                                 mlib_s32 dx_l,
 608                                 mlib_s32 dx_r,
 609                                 mlib_s32 dy_t,
 610                                 mlib_s32 dy_b,
 611                                 mlib_s32 scale,
 612                                 mlib_s32 cmask);
 613 
 614 mlib_status mlib_convMxNext_u16(mlib_image       *dst,
 615                                 const mlib_image *src,
 616                                 const mlib_s32   *kernel,
 617                                 mlib_s32         m,
 618                                 mlib_s32         n,
 619                                 mlib_s32         dx_l,
 620                                 mlib_s32         dx_r,
 621                                 mlib_s32         dy_t,
 622                                 mlib_s32         dy_b,
 623                                 mlib_s32         scale,
 624                                 mlib_s32         cmask);
 625 
 626 mlib_status mlib_convMxNext_f32(mlib_image       *dst,
 627                                 const mlib_image *src,
 628                                 const mlib_d64   *kernel,
 629                                 mlib_s32         m,
 630                                 mlib_s32         n,
 631                                 mlib_s32         dx_l,
 632                                 mlib_s32         dx_r,
 633                                 mlib_s32         dy_t,
 634                                 mlib_s32         dy_b,
 635                                 mlib_s32         cmask);
 636 
 637 mlib_status mlib_convMxNext_d64(mlib_image       *dst,
 638                                 const mlib_image *src,
 639                                 const mlib_d64   *kernel,
 640                                 mlib_s32         m,
 641                                 mlib_s32         n,
 642                                 mlib_s32         dx_l,
 643                                 mlib_s32         dx_r,
 644                                 mlib_s32         dy_t,
 645                                 mlib_s32         dy_b,
 646                                 mlib_s32         cmask);
 647 
 648 #ifdef __cplusplus
 649 }
 650 #endif /* __cplusplus */
 651 #endif /* __MLIB_IMAGECONV_H */