1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

bpp changed from bytespp to bitspp

Originally committed as revision 2236 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
This commit is contained in:
Arpi 2001-10-17 10:55:29 +00:00
parent a6e972a217
commit e72c545c93
2 changed files with 16 additions and 16 deletions

View File

@ -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
: "%eax" : "%eax"
); );
} }
else if(dstbpp==2) else if(dstbpp==16)
{ {
asm volatile( asm volatile(
@ -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
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
(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
(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

View File

@ -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
: "%eax" : "%eax"
); );
} }
else if(dstbpp==2) else if(dstbpp==16)
{ {
asm volatile( asm volatile(
@ -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
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
(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
(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