Commit 0b1a56a0 authored by arpi's avatar arpi

bpp changed from bytespp to bitspp


git-svn-id: file:///var/local/repositories/mplayer/trunk/postproc@2236 b3059339-0415-0410-9bf9-f77b7e298cf2
parent 4a8f8e04
...@@ -472,7 +472,7 @@ s_xinc&= -2; //clear last bit or uv and y might be shifted relative to each othe ...@@ -472,7 +472,7 @@ s_xinc&= -2; //clear last bit or uv and y might be shifted relative to each othe
#ifdef HAVE_MMX #ifdef HAVE_MMX
//FIXME write lq version with less uv ... //FIXME write lq version with less uv ...
//FIXME reorder / optimize //FIXME reorder / optimize
if(dstbpp == 4) if(dstbpp == 32)
{ {
asm volatile( asm volatile(
...@@ -555,7 +555,7 @@ YSCALEYUV2RGB ...@@ -555,7 +555,7 @@ YSCALEYUV2RGB
: "%eax" : "%eax"
); );
} }
else if(dstbpp==2) else if(dstbpp==16)
{ {
asm volatile( asm volatile(
...@@ -590,7 +590,7 @@ YSCALEYUV2RGB ...@@ -590,7 +590,7 @@ YSCALEYUV2RGB
); );
} }
#else #else
if(dstbpp==4 || dstbpp==3) if(dstbpp==32 || dstbpp==24)
{ {
for(i=0;i<dstw;i++){ for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step: // vertical linear interpolation && yuv2rgb in a single step:
...@@ -600,10 +600,10 @@ YSCALEYUV2RGB ...@@ -600,10 +600,10 @@ YSCALEYUV2RGB
dest[0]=clip_table[((Y + yuvtab_3343[U]) >>13)]; dest[0]=clip_table[((Y + yuvtab_3343[U]) >>13)];
dest[1]=clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]; dest[1]=clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)];
dest[2]=clip_table[((Y + yuvtab_40cf[V]) >>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++){ for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step: // vertical linear interpolation && yuv2rgb in a single step:
...@@ -615,10 +615,10 @@ YSCALEYUV2RGB ...@@ -615,10 +615,10 @@ YSCALEYUV2RGB
(clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) | (clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) |
(clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<3)&0x07E0 | (clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<3)&0x07E0 |
(clip_table[((Y + yuvtab_40cf[V]) >>13)]<<8)&0xF800; (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++){ for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step: // vertical linear interpolation && yuv2rgb in a single step:
...@@ -630,7 +630,7 @@ YSCALEYUV2RGB ...@@ -630,7 +630,7 @@ YSCALEYUV2RGB
(clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) | (clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) |
(clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<2)&0x03E0 | (clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<2)&0x03E0 |
(clip_table[((Y + yuvtab_40cf[V]) >>13)]<<7)&0x7C00; (clip_table[((Y + yuvtab_40cf[V]) >>13)]<<7)&0x7C00;
dest+=dstbpp; dest+=2;
} }
} }
#endif #endif
......
...@@ -472,7 +472,7 @@ s_xinc&= -2; //clear last bit or uv and y might be shifted relative to each othe ...@@ -472,7 +472,7 @@ s_xinc&= -2; //clear last bit or uv and y might be shifted relative to each othe
#ifdef HAVE_MMX #ifdef HAVE_MMX
//FIXME write lq version with less uv ... //FIXME write lq version with less uv ...
//FIXME reorder / optimize //FIXME reorder / optimize
if(dstbpp == 4) if(dstbpp == 32)
{ {
asm volatile( asm volatile(
...@@ -555,7 +555,7 @@ YSCALEYUV2RGB ...@@ -555,7 +555,7 @@ YSCALEYUV2RGB
: "%eax" : "%eax"
); );
} }
else if(dstbpp==2) else if(dstbpp==16)
{ {
asm volatile( asm volatile(
...@@ -590,7 +590,7 @@ YSCALEYUV2RGB ...@@ -590,7 +590,7 @@ YSCALEYUV2RGB
); );
} }
#else #else
if(dstbpp==4 || dstbpp==3) if(dstbpp==32 || dstbpp==24)
{ {
for(i=0;i<dstw;i++){ for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step: // vertical linear interpolation && yuv2rgb in a single step:
...@@ -600,10 +600,10 @@ YSCALEYUV2RGB ...@@ -600,10 +600,10 @@ YSCALEYUV2RGB
dest[0]=clip_table[((Y + yuvtab_3343[U]) >>13)]; dest[0]=clip_table[((Y + yuvtab_3343[U]) >>13)];
dest[1]=clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]; dest[1]=clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)];
dest[2]=clip_table[((Y + yuvtab_40cf[V]) >>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++){ for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step: // vertical linear interpolation && yuv2rgb in a single step:
...@@ -615,10 +615,10 @@ YSCALEYUV2RGB ...@@ -615,10 +615,10 @@ YSCALEYUV2RGB
(clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) | (clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) |
(clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<3)&0x07E0 | (clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<3)&0x07E0 |
(clip_table[((Y + yuvtab_40cf[V]) >>13)]<<8)&0xF800; (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++){ for(i=0;i<dstw;i++){
// vertical linear interpolation && yuv2rgb in a single step: // vertical linear interpolation && yuv2rgb in a single step:
...@@ -630,7 +630,7 @@ YSCALEYUV2RGB ...@@ -630,7 +630,7 @@ YSCALEYUV2RGB
(clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) | (clip_table[((Y + yuvtab_3343[U]) >>13)]>>3) |
(clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<2)&0x03E0 | (clip_table[((Y + yuvtab_0c92[V] + yuvtab_1a1e[U]) >>13)]<<2)&0x03E0 |
(clip_table[((Y + yuvtab_40cf[V]) >>13)]<<7)&0x7C00; (clip_table[((Y + yuvtab_40cf[V]) >>13)]<<7)&0x7C00;
dest+=dstbpp; dest+=2;
} }
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment