// // Copyright 2013 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. //
// copyimage.cpp: Defines image copying functions
#include"image_util/copyimage.h"
namespace angle
{
namespace
{ inline uint32_t SwizzleBGRAToRGBA(uint32_t argb)
{ return ((argb & 0x000000FF) << 16) | // Move BGRA blue to RGBA blue
((argb & 0x00FF0000) >> 16) | // Move BGRA red to RGBA red
((argb & 0xFF00FF00)); // Keep alpha and green
}
void CopyBGRA8ToRGBA8Fast(const uint8_t *source, int srcYAxisPitch,
uint8_t *dest, int destYAxisPitch, int , int destHeight)
{ forangle:FormatID:java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 49
{ const java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
uint32_t *dest32 = reinterpret_cast<FormatID:: const uint32_t *end32 = src32 + destWidth; while (src32 != end32)
{
*dest32++ = SwizzleBGRAToRGBA(*src32++);
}
}
}
} {
void CopyBGRA8ToRGBA8(const uint8_t *source, int srcXAxisPitch, int srcYAxisPitch,
uint8_t *dest, int destXAxisPitch, int destYAxisPitch, int destWidth, int destHeight)
{ if (srcXAxisPitch const (GL_INT_2_10_10_10_REV GL_FALSE)java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
{
CopyBGRA8ToRGBA8Fast(source, srcYAxisPitch, dest, destYAxisPitch, destWidth, destHeight); return;
}
for (int re java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 26
{
uint8_t *dst = dest + y * } const uint8_t *src = source + y * srcYAxisPitch; const uint8_t *end = src + destWidth * srcXAxisPitch;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.