GRAPHICS: Replace OverlayColor with uint16 in scaler code.
Scalers are actually fixed at 2Bpp right now and not at the depth of OverlayColor.
This commit is contained in:
parent
ef8239df48
commit
0075fa2f98
2 changed files with 9 additions and 10 deletions
|
@ -167,12 +167,12 @@ void DestroyScalers(){
|
|||
void Normal1x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
|
||||
int width, int height) {
|
||||
// Spot the case when it can all be done in 1 hit
|
||||
if ((srcPitch == sizeof(OverlayColor) * (uint)width) && (dstPitch == sizeof(OverlayColor) * (uint)width)) {
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width * height);
|
||||
if ((srcPitch == sizeof(uint16) * (uint)width) && (dstPitch == sizeof(uint16) * (uint)width)) {
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width * height);
|
||||
return;
|
||||
}
|
||||
while (height--) {
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width);
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width);
|
||||
srcPtr += srcPitch;
|
||||
dstPtr += dstPitch;
|
||||
}
|
||||
|
@ -207,11 +207,10 @@ void Normal2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPit
|
|||
uint8 *r;
|
||||
|
||||
assert(IS_ALIGNED(dstPtr, 4));
|
||||
assert(sizeof(OverlayColor) == 2);
|
||||
while (height--) {
|
||||
r = dstPtr;
|
||||
for (int i = 0; i < width; ++i, r += 4) {
|
||||
uint32 color = *(((const OverlayColor *)srcPtr) + i);
|
||||
uint32 color = *(((const uint16 *)srcPtr) + i);
|
||||
|
||||
color |= color << 16;
|
||||
|
||||
|
|
|
@ -160,14 +160,14 @@ int stretch200To240(uint8 *buf, uint32 pitch, int width, int height, int srcX, i
|
|||
#if ASPECT_MODE == kSuperFastAndUglyAspectMode
|
||||
if (srcPtr == dstPtr)
|
||||
break;
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width);
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width);
|
||||
#else
|
||||
// Bilinear filter
|
||||
switch (y % 6) {
|
||||
case 0:
|
||||
case 5:
|
||||
if (srcPtr != dstPtr)
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width);
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width);
|
||||
break;
|
||||
case 1:
|
||||
interpolate5Line<ColorMask, 1>((uint16 *)dstPtr, (const uint16 *)(srcPtr - pitch), (const uint16 *)srcPtr, width);
|
||||
|
@ -206,13 +206,13 @@ void Normal1xAspectTemplate(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr,
|
|||
#if ASPECT_MODE == kSuperFastAndUglyAspectMode
|
||||
if ((y % 6) == 5)
|
||||
srcPtr -= srcPitch;
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width);
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width);
|
||||
#else
|
||||
// Bilinear filter five input lines onto six output lines
|
||||
switch (y % 6) {
|
||||
case 0:
|
||||
// First output line is copied from first input line
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width);
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width);
|
||||
break;
|
||||
case 1:
|
||||
// Second output line is mixed from first and second input line
|
||||
|
@ -233,7 +233,7 @@ void Normal1xAspectTemplate(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr,
|
|||
case 5:
|
||||
// Sixth (and last) output line is copied from fifth (and last) input line
|
||||
srcPtr -= srcPitch;
|
||||
memcpy(dstPtr, srcPtr, sizeof(OverlayColor) * width);
|
||||
memcpy(dstPtr, srcPtr, sizeof(uint16) * width);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue