summaryrefslogtreecommitdiffstats
path: root/libswscale
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-04 18:14:29 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-04 18:14:29 +0000
commitb387cc68b66d6133240c84915743115bc104a4e2 (patch)
tree149e80beae25329828e76ad08f833f39cb9200bc /libswscale
parentde4a1aae917088d52779354d27748d8a186ac4e8 (diff)
downloadmpv-b387cc68b66d6133240c84915743115bc104a4e2.tar.bz2
mpv-b387cc68b66d6133240c84915743115bc104a4e2.tar.xz
Fix rgb15/16 vs. bgr part1.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27516 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale')
-rw-r--r--libswscale/yuv2rgb.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/libswscale/yuv2rgb.c b/libswscale/yuv2rgb.c
index 83d65c5f2a..c177cba0c1 100644
--- a/libswscale/yuv2rgb.c
+++ b/libswscale/yuv2rgb.c
@@ -600,16 +600,16 @@ SwsFunc yuv2rgb_get_func_ptr (SwsContext *c)
switch(c->dstFormat){
case PIX_FMT_RGB32: return yuv420_rgb32_MMX2;
case PIX_FMT_BGR24: return yuv420_rgb24_MMX2;
- case PIX_FMT_BGR565: return yuv420_rgb16_MMX2;
- case PIX_FMT_BGR555: return yuv420_rgb15_MMX2;
+ case PIX_FMT_RGB565: return yuv420_rgb16_MMX2;
+ case PIX_FMT_RGB555: return yuv420_rgb15_MMX2;
}
}
if (c->flags & SWS_CPU_CAPS_MMX){
switch(c->dstFormat){
case PIX_FMT_RGB32: return yuv420_rgb32_MMX;
case PIX_FMT_BGR24: return yuv420_rgb24_MMX;
- case PIX_FMT_BGR565: return yuv420_rgb16_MMX;
- case PIX_FMT_BGR555: return yuv420_rgb15_MMX;
+ case PIX_FMT_RGB565: return yuv420_rgb16_MMX;
+ case PIX_FMT_RGB555: return yuv420_rgb15_MMX;
}
}
#endif
@@ -675,7 +675,14 @@ static int div_round (int dividend, int divisor)
int yuv2rgb_c_init_tables (SwsContext *c, const int inv_table[4], int fullRange, int brightness, int contrast, int saturation)
{
- const int isRgb = isBGR(c->dstFormat);
+ const int isRgb = c->dstFormat==PIX_FMT_RGB32
+ || c->dstFormat==PIX_FMT_BGR24
+ || c->dstFormat==PIX_FMT_RGB565
+ || c->dstFormat==PIX_FMT_RGB555
+ || c->dstFormat==PIX_FMT_RGB8
+ || c->dstFormat==PIX_FMT_RGB4
+ || c->dstFormat==PIX_FMT_RGB4_BYTE
+ || c->dstFormat==PIX_FMT_MONOBLACK;
const int bpp = fmt_depth(c->dstFormat);
int i;
uint8_t table_Y[1024];