1 /* Copyright (C) 2010-2020 The RetroArch team
3 * ---------------------------------------------------------------------------------------
4 * The following license statement only applies to this file (pixconv.h).
5 * ---------------------------------------------------------------------------------------
7 * Permission is hereby granted, free of charge,
8 * to any person obtaining a copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation the rights to
10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
13 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
16 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 #ifndef __LIBRETRO_SDK_SCALER_PIXCONV_H__
24 #define __LIBRETRO_SDK_SCALER_PIXCONV_H__
28 #include <retro_common_api.h>
32 void conv_0rgb1555_argb8888(void *output, const void *input,
33 int width, int height,
34 int out_stride, int in_stride);
36 void conv_0rgb1555_rgb565(void *output, const void *input,
37 int width, int height,
38 int out_stride, int in_stride);
40 void conv_rgb565_0rgb1555(void *output, const void *input,
41 int width, int height,
42 int out_stride, int in_stride);
44 void conv_rgb565_abgr8888(void *output, const void *input,
45 int width, int height,
46 int out_stride, int in_stride);
48 void conv_rgb565_argb8888(void *output, const void *input,
49 int width, int height,
50 int out_stride, int in_stride);
52 void conv_rgba4444_argb8888(void *output, const void *input,
53 int width, int height,
54 int out_stride, int in_stride);
56 void conv_rgba4444_rgb565(void *output, const void *input,
57 int width, int height,
58 int out_stride, int in_stride);
60 void conv_bgr24_argb8888(void *output, const void *input,
61 int width, int height,
62 int out_stride, int in_stride);
64 void conv_bgr24_rgb565(void *output, const void *input,
65 int width, int height,
66 int out_stride, int in_stride);
68 void conv_argb8888_0rgb1555(void *output, const void *input,
69 int width, int height,
70 int out_stride, int in_stride);
72 void conv_argb8888_rgba4444(void *output_, const void *input_,
73 int width, int height,
74 int out_stride, int in_stride);
76 void conv_argb8888_rgb565(void *output, const void *input,
77 int width, int height,
78 int out_stride, int in_stride);
80 void conv_argb8888_bgr24(void *output, const void *input,
81 int width, int height,
82 int out_stride, int in_stride);
84 void conv_abgr8888_bgr24(void *output, const void *input,
85 int width, int height,
86 int out_stride, int in_stride);
88 void conv_argb8888_abgr8888(void *output, const void *input,
89 int width, int height,
90 int out_stride, int in_stride);
92 void conv_0rgb1555_bgr24(void *output, const void *input,
93 int width, int height,
94 int out_stride, int in_stride);
96 void conv_rgb565_bgr24(void *output, const void *input,
97 int width, int height,
98 int out_stride, int in_stride);
100 void conv_yuyv_argb8888(void *output, const void *input,
101 int width, int height,
102 int out_stride, int in_stride);
104 void conv_copy(void *output, const void *input,
105 int width, int height,
106 int out_stride, int in_stride);