summaryrefslogtreecommitdiff
path: root/libswscale/swscale_template.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-09-04 21:59:15 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-09-04 21:59:15 +0000
commit9990e4269c37d77a26777a98e42c59179bdda7fb (patch)
tree21355d417f8bf71e09d31e56d7b1807f672579a1 /libswscale/swscale_template.c
parent6b682df2337eeec0fceafc1a54b8c7d1804d03cf (diff)
Support PIX_FMT_RGB32_1 and PIX_FMT_BGR32_1.
Fixes issue248. Originally committed as revision 27522 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
Diffstat (limited to 'libswscale/swscale_template.c')
-rw-r--r--libswscale/swscale_template.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libswscale/swscale_template.c b/libswscale/swscale_template.c
index fdb14fb0a1..888428cb73 100644
--- a/libswscale/swscale_template.c
+++ b/libswscale/swscale_template.c
@@ -2522,6 +2522,11 @@ static inline void RENAME(hyscale)(uint16_t *dst, long dstWidth, uint8_t *src, i
RENAME(bgr32ToY)(formatConvBuffer, src, srcW);
src= formatConvBuffer;
}
+ else if (srcFormat==PIX_FMT_RGB32_1)
+ {
+ RENAME(bgr32ToY)(formatConvBuffer, src+ALT32_CORR, srcW);
+ src= formatConvBuffer;
+ }
else if (srcFormat==PIX_FMT_BGR24)
{
RENAME(bgr24ToY)(formatConvBuffer, src, srcW);
@@ -2542,6 +2547,11 @@ static inline void RENAME(hyscale)(uint16_t *dst, long dstWidth, uint8_t *src, i
RENAME(rgb32ToY)(formatConvBuffer, src, srcW);
src= formatConvBuffer;
}
+ else if (srcFormat==PIX_FMT_BGR32_1)
+ {
+ RENAME(rgb32ToY)(formatConvBuffer, src+ALT32_CORR, srcW);
+ src= formatConvBuffer;
+ }
else if (srcFormat==PIX_FMT_RGB24)
{
RENAME(rgb24ToY)(formatConvBuffer, src, srcW);
@@ -2727,6 +2737,12 @@ inline static void RENAME(hcscale)(uint16_t *dst, long dstWidth, uint8_t *src1,
src1= formatConvBuffer;
src2= formatConvBuffer+VOFW;
}
+ else if (srcFormat==PIX_FMT_RGB32_1)
+ {
+ RENAME(bgr32ToUV)(formatConvBuffer, formatConvBuffer+VOFW, src1+ALT32_CORR, src2+ALT32_CORR, srcW);
+ src1= formatConvBuffer;
+ src2= formatConvBuffer+VOFW;
+ }
else if (srcFormat==PIX_FMT_BGR24)
{
RENAME(bgr24ToUV)(formatConvBuffer, formatConvBuffer+VOFW, src1, src2, srcW);
@@ -2751,6 +2767,12 @@ inline static void RENAME(hcscale)(uint16_t *dst, long dstWidth, uint8_t *src1,
src1= formatConvBuffer;
src2= formatConvBuffer+VOFW;
}
+ else if (srcFormat==PIX_FMT_BGR32_1)
+ {
+ RENAME(rgb32ToUV)(formatConvBuffer, formatConvBuffer+VOFW, src1+ALT32_CORR, src2+ALT32_CORR, srcW);
+ src1= formatConvBuffer;
+ src2= formatConvBuffer+VOFW;
+ }
else if (srcFormat==PIX_FMT_RGB24)
{
RENAME(rgb24ToUV)(formatConvBuffer, formatConvBuffer+VOFW, src1, src2, srcW);