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