Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * AltiVec-enhanced yuv2yuvX
  3.  *
  4.  * Copyright (C) 2004 Romain Dolbeau <romain@dolbeau.org>
  5.  * based on the equivalent C code in swscale.c
  6.  *
  7.  * This file is part of FFmpeg.
  8.  *
  9.  * FFmpeg is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU Lesser General Public
  11.  * License as published by the Free Software Foundation; either
  12.  * version 2.1 of the License, or (at your option) any later version.
  13.  *
  14.  * FFmpeg is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17.  * Lesser General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU Lesser General Public
  20.  * License along with FFmpeg; if not, write to the Free Software
  21.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  22.  */
  23.  
  24. #ifndef SWSCALE_PPC_YUV2RGB_ALTIVEC_H
  25. #define SWSCALE_PPC_YUV2RGB_ALTIVEC_H
  26.  
  27. #include <stdint.h>
  28.  
  29. #include "libswscale/swscale_internal.h"
  30.  
  31. #define YUV2PACKEDX_HEADER(suffix)                                  \
  32.     void ff_yuv2 ## suffix ## _X_altivec(SwsContext *c,             \
  33.                                          const int16_t *lumFilter,  \
  34.                                          const int16_t **lumSrc,    \
  35.                                          int lumFilterSize,         \
  36.                                          const int16_t *chrFilter,  \
  37.                                          const int16_t **chrUSrc,   \
  38.                                          const int16_t **chrVSrc,   \
  39.                                          int chrFilterSize,         \
  40.                                          const int16_t **alpSrc,    \
  41.                                          uint8_t *dest,             \
  42.                                          int dstW, int dstY);
  43.  
  44. YUV2PACKEDX_HEADER(abgr);
  45. YUV2PACKEDX_HEADER(bgra);
  46. YUV2PACKEDX_HEADER(argb);
  47. YUV2PACKEDX_HEADER(rgba);
  48. YUV2PACKEDX_HEADER(rgb24);
  49. YUV2PACKEDX_HEADER(bgr24);
  50.  
  51. #endif /* SWSCALE_PPC_YUV2RGB_ALTIVEC_H */
  52.