Added gst-plugins-base-subtitles0.10-0.10.34 for Meego Harmattan 1.2
[mafwsubrenderer] / gst-plugins-base-subtitles0.10 / gst / videoscale / vs_image.h
1 /*
2  * Image Scaling Functions
3  * Copyright (c) 2005 David A. Schleef <ds@schleef.org>
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25  * POSSIBILITY OF SUCH DAMAGE.
26  */
27
28 #ifndef __VS_IMAGE_H__
29 #define __VS_IMAGE_H__
30
31 #include <_stdint.h>
32
33 typedef struct _VSImage VSImage;
34
35 struct _VSImage {
36   uint8_t *real_pixels;
37   int real_width;
38   int real_height;
39   int border_left, border_right;
40   int border_top, border_bottom;
41   uint8_t *pixels;
42   int width;
43   int height;
44   int stride;
45 };
46
47 void vs_image_scale_nearest_RGBA (const VSImage *dest, const VSImage *src,
48     uint8_t *tmpbuf);
49 void vs_image_scale_linear_RGBA (const VSImage *dest, const VSImage *src,
50     uint8_t *tmpbuf);
51
52 void vs_image_scale_nearest_RGB (const VSImage *dest, const VSImage *src,
53     uint8_t *tmpbuf);
54 void vs_image_scale_linear_RGB (const VSImage *dest, const VSImage *src,
55     uint8_t *tmpbuf);
56
57 void vs_image_scale_nearest_YUYV (const VSImage *dest, const VSImage *src,
58     uint8_t *tmpbuf);
59 void vs_image_scale_linear_YUYV (const VSImage *dest, const VSImage *src,
60     uint8_t *tmpbuf);
61
62 void vs_image_scale_nearest_UYVY (const VSImage *dest, const VSImage *src,
63     uint8_t *tmpbuf);
64 void vs_image_scale_linear_UYVY (const VSImage *dest, const VSImage *src,
65     uint8_t *tmpbuf);
66
67 void vs_image_scale_nearest_Y (const VSImage *dest, const VSImage *src,
68     uint8_t *tmpbuf);
69 void vs_image_scale_linear_Y (const VSImage *dest, const VSImage *src,
70     uint8_t *tmpbuf);
71
72 void vs_image_scale_nearest_RGB565 (const VSImage *dest, const VSImage *src,
73     uint8_t *tmpbuf);
74 void vs_image_scale_linear_RGB565 (const VSImage *dest, const VSImage *src,
75     uint8_t *tmpbuf);
76
77 void vs_image_scale_nearest_RGB555 (const VSImage *dest, const VSImage *src,
78     uint8_t *tmpbuf);
79 void vs_image_scale_linear_RGB555 (const VSImage *dest, const VSImage *src,
80     uint8_t *tmpbuf);
81
82 void vs_image_scale_nearest_Y16 (const VSImage *dest, const VSImage *src,
83     uint8_t *tmpbuf);
84 void vs_image_scale_linear_Y16 (const VSImage *dest, const VSImage *src,
85     uint8_t *tmpbuf);
86
87 void vs_image_scale_nearest_AYUV16 (const VSImage *dest, const VSImage *src,
88     uint8_t *tmpbuf);
89 void vs_image_scale_linear_AYUV16 (const VSImage *dest, const VSImage *src,
90     uint8_t *tmpbuf);
91
92 void vs_image_scale_nearest_AYUV64 (const VSImage * dest, const VSImage * src,
93     uint8_t * tmpbuf8);
94 void vs_image_scale_linear_AYUV64 (const VSImage * dest, const VSImage * src,
95     uint8_t * tmpbuf8);
96
97 #endif
98