summaryrefslogtreecommitdiff
path: root/src/video_out/yuv2rgb_mmx.c
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_mmx.c
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_mmx.c')
-rw-r--r--src/video_out/yuv2rgb_mmx.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/video_out/yuv2rgb_mmx.c b/src/video_out/yuv2rgb_mmx.c
index 0686cc2d1..3de843500 100644
--- a/src/video_out/yuv2rgb_mmx.c
+++ b/src/video_out/yuv2rgb_mmx.c
@@ -383,8 +383,8 @@ static inline void yuv420_rgb16 (yuv2rgb_t *this,
int y_stride = this->y_stride;
int uv_stride = this->uv_stride;
int width = this->source_width;
- int height = this->source_height;
- int dst_height = this->dest_height;
+ int height = this->slice_height;
+ int dst_height = this->next_slice (this, &image);
uint8_t *img;
width >>= 3;
@@ -494,8 +494,8 @@ static inline void yuv420_rgb15 (yuv2rgb_t *this,
int y_stride = this->y_stride;
int uv_stride = this->uv_stride;
int width = this->source_width;
- int height = this->source_height;
- int dst_height = this->dest_height;
+ int height = this->slice_height;
+ int dst_height = this->next_slice (this, &image);
uint8_t *img;
width >>= 3;
@@ -603,8 +603,8 @@ static inline void yuv420_rgb24 (yuv2rgb_t *this,
int y_stride = this->y_stride;
int uv_stride = this->uv_stride;
int width = this->source_width;
- int height = this->source_height;
- int dst_height = this->dest_height;
+ int height = this->slice_height;
+ int dst_height = this->next_slice (this, &image);
uint8_t *img;
/* rgb_stride -= 4 * this->dest_width; */
@@ -714,8 +714,8 @@ static inline void yuv420_argb32 (yuv2rgb_t *this,
int y_stride = this->y_stride;
int uv_stride = this->uv_stride;
int width = this->source_width;
- int height = this->source_height;
- int dst_height = this->dest_height;
+ int height = this->slice_height;
+ int dst_height = this->next_slice (this, &image);
uint8_t *img;
/* rgb_stride -= 4 * this->dest_width; */
@@ -824,8 +824,8 @@ static inline void yuv420_abgr32 (yuv2rgb_t *this,
int y_stride = this->y_stride;
int uv_stride = this->uv_stride;
int width = this->source_width;
- int height = this->source_height;
- int dst_height = this->dest_height;
+ int height = this->slice_height;
+ int dst_height = this->next_slice (this, &image);
uint8_t *img;
/* rgb_stride -= 4 * this->dest_width; */