summaryrefslogtreecommitdiffstats
path: root/libswscale/swscale_template.c
diff options
context:
space:
mode:
authorlu_zero <lu_zero@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-18 00:24:32 +0000
committerlu_zero <lu_zero@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-09-18 00:24:32 +0000
commit3a3d1283b6e0f345fd41c2c69a2c603bfff487fc (patch)
tree598542cd6d6cf58b2bf43cdc29815f02f1df0082 /libswscale/swscale_template.c
parentb1f6b965481514a7d2878db9f96043b7b5c2df81 (diff)
downloadmpv-3a3d1283b6e0f345fd41c2c69a2c603bfff487fc.tar.bz2
mpv-3a3d1283b6e0f345fd41c2c69a2c603bfff487fc.tar.xz
Split mono2Y in monowhite and monoblack
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27635 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale/swscale_template.c')
-rw-r--r--libswscale/swscale_template.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index 87ef2d94cc..fa657b383c 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -2152,11 +2152,21 @@ static inline void RENAME(palToUV)(uint8_t *dstU, uint8_t *dstV, uint8_t *src1,
}
}
-static inline void RENAME(mono2Y)(uint8_t *dst, uint8_t *src, long width, int format)
+static inline void RENAME(monowhite2Y)(uint8_t *dst, uint8_t *src, long width)
{
int i, j;
for (i=0; i<width/8; i++){
- int d= format == PIX_FMT_MONOBLACK ? src[i] : ~src[i];
+ int d= ~src[i];
+ for(j=0; j<8; j++)
+ dst[8*i+j]= ((d>>(7-j))&1)*255;
+ }
+}
+
+static inline void RENAME(monoblack2Y)(uint8_t *dst, uint8_t *src, long width)
+{
+ int i, j;
+ for (i=0; i<width/8; i++){
+ int d= src[i];
for(j=0; j<8; j++)
dst[8*i+j]= ((d>>(7-j))&1)*255;
}
@@ -2416,9 +2426,14 @@ static inline void RENAME(hyscale)(SwsContext *c, uint16_t *dst, long dstWidth,
RENAME(palToY)(formatConvBuffer, src, srcW, pal);
src= formatConvBuffer;
}
- else if (srcFormat==PIX_FMT_MONOBLACK ||srcFormat==PIX_FMT_MONOWHITE)
+ else if (srcFormat==PIX_FMT_MONOBLACK)
+ {
+ RENAME(monoblack2Y)(formatConvBuffer, src, srcW);
+ src= formatConvBuffer;
+ }
+ else if (srcFormat==PIX_FMT_MONOWHITE)
{
- RENAME(mono2Y)(formatConvBuffer, src, srcW, srcFormat);
+ RENAME(monowhite2Y)(formatConvBuffer, src, srcW);
src= formatConvBuffer;
}