forked from len0rd/rockbox
Use macro instead of literal constant for readability.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8716 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
41f1ab2710
commit
e179291190
1 changed files with 16 additions and 14 deletions
|
@ -1785,6 +1785,8 @@ int root_size;
|
||||||
#define BUFAC 14118 /* 31 * 257 * 1.772 */
|
#define BUFAC 14118 /* 31 * 257 * 1.772 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ROUNDOFFS (127*257)
|
||||||
|
|
||||||
/* Draw a partial YUV colour bitmap */
|
/* Draw a partial YUV colour bitmap */
|
||||||
void yuv_bitmap_part(unsigned char *src[3], int csub_x, int csub_y,
|
void yuv_bitmap_part(unsigned char *src[3], int csub_x, int csub_y,
|
||||||
int src_x, int src_y, int stride,
|
int src_x, int src_y, int stride,
|
||||||
|
@ -1839,9 +1841,9 @@ void yuv_bitmap_part(unsigned char *src[3], int csub_x, int csub_y,
|
||||||
|
|
||||||
u = *usrc++ - 128;
|
u = *usrc++ - 128;
|
||||||
v = *vsrc++ - 128;
|
v = *vsrc++ - 128;
|
||||||
rc = RVFAC * v + 32639;
|
rc = RVFAC * v + ROUNDOFFS;
|
||||||
gc = GVFAC * v + GUFAC * u + 32639;
|
gc = GVFAC * v + GUFAC * u + ROUNDOFFS;
|
||||||
bc = BUFAC * u + 32639;
|
bc = BUFAC * u + ROUNDOFFS;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -1850,26 +1852,26 @@ void yuv_bitmap_part(unsigned char *src[3], int csub_x, int csub_y,
|
||||||
green = GYFAC * y + gc;
|
green = GYFAC * y + gc;
|
||||||
blue = BYFAC * y + bc;
|
blue = BYFAC * y + bc;
|
||||||
|
|
||||||
if ((unsigned)red > (RYFAC*255+32639))
|
if ((unsigned)red > (RYFAC*255+ROUNDOFFS))
|
||||||
{
|
{
|
||||||
if (red < 0)
|
if (red < 0)
|
||||||
red = 0;
|
red = 0;
|
||||||
else
|
else
|
||||||
red = (RYFAC*255+32639);
|
red = (RYFAC*255+ROUNDOFFS);
|
||||||
}
|
}
|
||||||
if ((unsigned)green > (GYFAC*255+32639))
|
if ((unsigned)green > (GYFAC*255+ROUNDOFFS))
|
||||||
{
|
{
|
||||||
if (green < 0)
|
if (green < 0)
|
||||||
green = 0;
|
green = 0;
|
||||||
else
|
else
|
||||||
green = (GYFAC*255+32639);
|
green = (GYFAC*255+ROUNDOFFS);
|
||||||
}
|
}
|
||||||
if ((unsigned)blue > (BYFAC*255+32639))
|
if ((unsigned)blue > (BYFAC*255+ROUNDOFFS))
|
||||||
{
|
{
|
||||||
if (blue < 0)
|
if (blue < 0)
|
||||||
blue = 0;
|
blue = 0;
|
||||||
else
|
else
|
||||||
blue = (BYFAC*255+32639);
|
blue = (BYFAC*255+ROUNDOFFS);
|
||||||
}
|
}
|
||||||
rbits = ((unsigned)red) >> 16 ;
|
rbits = ((unsigned)red) >> 16 ;
|
||||||
gbits = ((unsigned)green) >> 16 ;
|
gbits = ((unsigned)green) >> 16 ;
|
||||||
|
@ -1884,9 +1886,9 @@ void yuv_bitmap_part(unsigned char *src[3], int csub_x, int csub_y,
|
||||||
{
|
{
|
||||||
u = *usrc++ - 128;
|
u = *usrc++ - 128;
|
||||||
v = *vsrc++ - 128;
|
v = *vsrc++ - 128;
|
||||||
rc = RVFAC * v + 32639;
|
rc = RVFAC * v + ROUNDOFFS;
|
||||||
gc = GVFAC * v + GUFAC * u + 32639;
|
gc = GVFAC * v + GUFAC * u + ROUNDOFFS;
|
||||||
bc = BUFAC * u + 32639;
|
bc = BUFAC * u + ROUNDOFFS;
|
||||||
xphase = 0;
|
xphase = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1897,8 +1899,8 @@ void yuv_bitmap_part(unsigned char *src[3], int csub_x, int csub_y,
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
y = *ysrc++;
|
y = *ysrc++;
|
||||||
red = RYFAC * y + 32639; /* blue == red */
|
red = RYFAC * y + ROUNDOFFS; /* blue == red */
|
||||||
green = GYFAC * y + 32639;
|
green = GYFAC * y + ROUNDOFFS;
|
||||||
rbits = ((unsigned)red) >> 16;
|
rbits = ((unsigned)red) >> 16;
|
||||||
gbits = ((unsigned)green) >> 16;
|
gbits = ((unsigned)green) >> 16;
|
||||||
#if LCD_PIXELFORMAT == RGB565
|
#if LCD_PIXELFORMAT == RGB565
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue