4void OSDToBMP(TYPE_OsdBaseInfo *OsdBaseInfo,
int BMPwidth,
int BMPheight,
byte *BMPPixelBuffer,
int Alpha)
9 register int pos, x, y;
10 int n1, n2, nR, nG, nB;
20 pixel = OsdBaseInfo->frameBuffer;
21 for(y = 0; y < BMPheight; y++)
23 for(x = 0; x < BMPwidth; x++ )
25 pos = ((BMPheight - y - 1) * BMPwidth + x) * 3;
27 n1 =
A8888(*pixel) / 2.55;
30 nR = (n2 * BMPPixelBuffer[pos + 2] + n1 *
R8888(*pixel)) / 100;
31 nG = (n2 * BMPPixelBuffer[pos + 1] + n1 *
G8888(*pixel)) / 100;
32 nB = (n2 * BMPPixelBuffer[pos] + n1 *
B8888(*pixel)) / 100;
34 BMPPixelBuffer[pos + 2] =
_Clip(nR);
35 BMPPixelBuffer[pos + 1] =
_Clip(nG);
36 BMPPixelBuffer[pos] =
_Clip(nB);
void OSDToBMP(TYPE_OsdBaseInfo *OsdBaseInfo, int BMPwidth, int BMPheight, byte *BMPPixelBuffer, int Alpha)