summaryrefslogtreecommitdiff
path: root/src/video_out/yuv2rgb.h
diff options
context:
space:
mode:
authorEwald Snel <esnel@users.sourceforge.net>2003-01-24 17:04:37 +0000
committerEwald Snel <esnel@users.sourceforge.net>2003-01-24 17:04:37 +0000
commit99d82e5a263016bf9b9ad5bdb076954202c71ec7 (patch)
tree6ab1519e22e22db2b98a8299b2a055cba43383c8 /src/video_out/yuv2rgb.h
parent90bf73a68d075311390514fa5a2cb8cf06e9d123 (diff)
downloadxine-lib-99d82e5a263016bf9b9ad5bdb076954202c71ec7.tar.gz
xine-lib-99d82e5a263016bf9b9ad5bdb076954202c71ec7.tar.bz2
Fix yuv2rgb scaling, any destination size supported now
This also allows for true bilinear filtering, which looks much better than the current 'horizontal filtering only' (TODO) CVS patchset: 4001 CVS date: 2003/01/24 17:04:37
Diffstat (limited to 'src/video_out/yuv2rgb.h')
-rw-r--r--src/video_out/yuv2rgb.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_out/yuv2rgb.h b/src/video_out/yuv2rgb.h
index 5b9c3f6a0..b27c45bdc 100644
--- a/src/video_out/yuv2rgb.h
+++ b/src/video_out/yuv2rgb.h
@@ -52,6 +52,11 @@ struct yuv2rgb_s {
int rgb_stride);
/*
+ * start a new field or frame if dest is NULL
+ */
+ int (*next_slice) (yuv2rgb_t *this, uint8_t **dest);
+
+ /*
* this is the function to call for the yuv2rgb and scaling process
*/
yuv2rgb_fun_t yuv2rgb_fun;
@@ -74,6 +79,7 @@ struct yuv2rgb_s {
int y_stride, uv_stride;
int dest_width, dest_height;
int rgb_stride;
+ int slice_height, slice_offset;
int step_dx, step_dy;
int do_scale;
@@ -147,5 +153,6 @@ void mmx_yuv2rgb_set_gamma(int gamma);
void yuv2rgb_init_mmxext (yuv2rgb_factory_t *this);
void yuv2rgb_init_mmx (yuv2rgb_factory_t *this);
void yuv2rgb_init_mlib (yuv2rgb_factory_t *this);
+int yuv2rgb_slice (yuv2rgb_t *this, uint8_t **dest);
#endif