summaryrefslogtreecommitdiffstats
path: root/postproc/swscale.c
diff options
context:
space:
mode:
Diffstat (limited to 'postproc/swscale.c')
-rw-r--r--postproc/swscale.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/postproc/swscale.c b/postproc/swscale.c
index b500fb110e..c37d7b655c 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -472,7 +472,7 @@ s_xinc&= -2; //clear last bit or uv and y might be shifted relative to each othe
#ifdef HAVE_MMX
//FIXME write lq version with less uv ...
//FIXME reorder / optimize
- if(dstbpp == 4)
+ if(dstbpp == 32)
{
asm volatile(
@@ -555,7 +555,7 @@ YSCALEYUV2RGB
: "%eax"
);
}
- else if(dstbpp==2)
+ else if(dstbpp==16)
{
asm volatile(
@@ -590,7 +590,7 @@ YSCALEYUV2RGB
);
}
#else
- if(dstbpp==4 || dstbpp==3)
+ if(dstbpp==32 || dstbpp==24)
{
for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step:
@@ -600,10 +600,10 @@ YSCALEYUV2RGB
dest[0]=clip_table[((Y + yuvtab_3343[U]) >>13)];
dest[1]=clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)];
dest[2]=clip_table[((Y + yuvtab_40cf[V]) >>13)];
- dest+=dstbpp;
+ dest+=dstbpp>>3;
}
}
- else if(dstbpp==2) //16bit
+ else if(dstbpp==16) //16bit
{
for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step:
@@ -615,10 +615,10 @@ YSCALEYUV2RGB
(clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) |
(clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<3)&0x07E0 |
(clip_table[((Y + yuvtab_40cf[V]) >>13)]<<8)&0xF800;
- dest+=dstbpp;
+ dest+=2;
}
}
- else if(dstbpp==2) //15bit FIXME how do i figure out if its 15 or 16?
+ else if(dstbpp==15) //15bit FIXME how do i figure out if its 15 or 16?
{
for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step:
@@ -630,7 +630,7 @@ YSCALEYUV2RGB
(clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) |
(clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<2)&0x03E0 |
(clip_table[((Y + yuvtab_40cf[V]) >>13)]<<7)&0x7C00;
- dest+=dstbpp;
+ dest+=2;
}
}
#endif