Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qpixellayout_p.h File Reference

(f221ac04c5ab6ca24648321fdb1c58107262758d)

#include <QtCore/qlist.h>
#include <QtGui/qimage.h>
#include <QtGui/qrgba64.h>
#include <QtGui/qrgbafloat.h>
#include <QtCore/private/qglobal_p.h>
+ Include dependency graph for qpixellayout_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QDitherInfo
 
struct  QPixelLayout
 

Macros

#define UNALIASED_CONVERSION_LOOP(buffer, src, count, conversion)
 

Typedefs

typedef const uint *(QT_FASTCALLFetchAndConvertPixelsFunc) (uint *buffer, const uchar *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef void(QT_FASTCALLConvertAndStorePixelsFunc) (uchar *dest, const uint *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef const QRgba64 *(QT_FASTCALLFetchAndConvertPixelsFunc64) (QRgba64 *buffer, const uchar *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef void(QT_FASTCALLConvertAndStorePixelsFunc64) (uchar *dest, const QRgba64 *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef const QRgbaFloat32 *(QT_FASTCALLFetchAndConvertPixelsFuncFP) (QRgbaFloat32 *buffer, const uchar *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef void(QT_FASTCALLConvertAndStorePixelsFuncFP) (uchar *dest, const QRgbaFloat32 *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef void(QT_FASTCALLConvertFunc) (uint *buffer, int count, const QList< QRgb > *clut)
 
typedef void(QT_FASTCALLConvert64Func) (QRgba64 *buffer, int count)
 
typedef void(QT_FASTCALLConvertFPFunc) (QRgbaFloat32 *buffer, int count)
 
typedef void(QT_FASTCALLConvert64ToFPFunc) (QRgbaFloat32 *buffer, const quint64 *src, int count)
 
typedef const QRgba64 *(QT_FASTCALLConvertTo64Func) (QRgba64 *buffer, const uint *src, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef const QRgbaFloat32 *(QT_FASTCALLConvertToFPFunc) (QRgbaFloat32 *buffer, const uint *src, int count, const QList< QRgb > *clut, QDitherInfo *dither)
 
typedef void(QT_FASTCALLRbSwapFunc) (uchar *dst, const uchar *src, int count)
 
typedef void(* MemRotateFunc) (const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
 

Enumerations

enum  QtPixelOrder { PixelOrderRGB , PixelOrderBGR }
 

Functions

template<enum QtPixelOrder>
uint qConvertArgb32ToA2rgb30 (QRgb)
 
template<enum QtPixelOrder>
uint qConvertRgb32ToRgb30 (QRgb)
 
template<enum QtPixelOrder>
QRgb qConvertA2rgb30ToArgb32 (uint c)
 
template<unsigned int Shift>
QRgb qRepremultiply (QRgb p)
 
template<unsigned int Shift>
QRgba64 qRepremultiply (QRgba64 p)
 
template<>
uint qConvertArgb32ToA2rgb30< PixelOrderBGR > (QRgb c)
 
template<>
uint qConvertArgb32ToA2rgb30< PixelOrderRGB > (QRgb c)
 
template<>
uint qConvertRgb32ToRgb30< PixelOrderBGR > (QRgb c)
 
template<>
uint qConvertRgb32ToRgb30< PixelOrderRGB > (QRgb c)
 
template<>
QRgb qConvertA2rgb30ToArgb32< PixelOrderBGR > (uint c)
 
template<>
QRgb qConvertA2rgb30ToArgb32< PixelOrderRGB > (uint c)
 
template<enum QtPixelOrder>
QRgba64 qConvertA2rgb30ToRgb64 (uint rgb)
 
template<>
QRgba64 qConvertA2rgb30ToRgb64< PixelOrderBGR > (uint rgb)
 
template<>
QRgba64 qConvertA2rgb30ToRgb64< PixelOrderRGB > (uint rgb)
 
template<enum QtPixelOrder>
unsigned int qConvertRgb64ToRgb30 (QRgba64)
 
template<>
unsigned int qConvertRgb64ToRgb30< PixelOrderBGR > (QRgba64 c)
 
template<>
unsigned int qConvertRgb64ToRgb30< PixelOrderRGB > (QRgba64 c)
 
constexpr QRgbaFloat16 qConvertRgb64ToRgbaF16 (QRgba64 c)
 
constexpr QRgbaFloat32 qConvertRgb64ToRgbaF32 (QRgba64 c)
 
uint qRgbSwapRgb30 (uint c)
 
static quint32 RGBA2ARGB (quint32 x)
 
static quint32 ARGB2RGBA (quint32 x)
 
const uintqt_convertARGB32ToARGB32PM (uint *buffer, const uint *src, int count)
 
const uintqt_convertRGBA8888ToARGB32PM (uint *buffer, const uint *src, int count)
 
template<bool RGBA>
void qt_convertRGBA64ToARGB32 (uint *dst, const QRgba64 *src, int count)
 

Variables

ConvertAndStorePixelsFunc64 qStoreFromRGBA64PM [QImage::NImageFormats]
 
QPixelLayout qPixelLayouts []
 
MemRotateFunc qMemRotateFunctions [QPixelLayout::BPPCount][3]
 

Macro Definition Documentation

◆ UNALIASED_CONVERSION_LOOP

#define UNALIASED_CONVERSION_LOOP ( buffer,
src,
count,
conversion )
Value:
if (src == buffer) { \
for (int i = 0; i < count; ++i) \
buffer[i] = conversion(buffer[i]); \
} else { \
for (int i = 0; i < count; ++i) \
buffer[i] = conversion(src[i]); \
}
EGLContext EGLenum EGLClientBuffer buffer
GLenum src
GLenum GLenum GLsizei count

Definition at line 230 of file qpixellayout_p.h.

Typedef Documentation

◆ Convert64Func

typedef void(QT_FASTCALL * Convert64Func) (QRgba64 *buffer, int count)

Definition at line 280 of file qpixellayout_p.h.

◆ Convert64ToFPFunc

typedef void(QT_FASTCALL * Convert64ToFPFunc) (QRgbaFloat32 *buffer, const quint64 *src, int count)

Definition at line 282 of file qpixellayout_p.h.

◆ ConvertAndStorePixelsFunc

typedef void(QT_FASTCALL * ConvertAndStorePixelsFunc) (uchar *dest, const uint *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 263 of file qpixellayout_p.h.

◆ ConvertAndStorePixelsFunc64

typedef void(QT_FASTCALL * ConvertAndStorePixelsFunc64) (uchar *dest, const QRgba64 *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 271 of file qpixellayout_p.h.

◆ ConvertAndStorePixelsFuncFP

typedef void(QT_FASTCALL * ConvertAndStorePixelsFuncFP) (uchar *dest, const QRgbaFloat32 *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 277 of file qpixellayout_p.h.

◆ ConvertFPFunc

typedef void(QT_FASTCALL * ConvertFPFunc) (QRgbaFloat32 *buffer, int count)

Definition at line 281 of file qpixellayout_p.h.

◆ ConvertFunc

typedef void(QT_FASTCALL * ConvertFunc) (uint *buffer, int count, const QList< QRgb > *clut)

Definition at line 279 of file qpixellayout_p.h.

◆ ConvertTo64Func

typedef const QRgba64 *(QT_FASTCALL * ConvertTo64Func) (QRgba64 *buffer, const uint *src, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 284 of file qpixellayout_p.h.

◆ ConvertToFPFunc

typedef const QRgbaFloat32 *(QT_FASTCALL * ConvertToFPFunc) (QRgbaFloat32 *buffer, const uint *src, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 286 of file qpixellayout_p.h.

◆ FetchAndConvertPixelsFunc

typedef const uint *(QT_FASTCALL * FetchAndConvertPixelsFunc) (uint *buffer, const uchar *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 259 of file qpixellayout_p.h.

◆ FetchAndConvertPixelsFunc64

typedef const QRgba64 *(QT_FASTCALL * FetchAndConvertPixelsFunc64) (QRgba64 *buffer, const uchar *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 267 of file qpixellayout_p.h.

◆ FetchAndConvertPixelsFuncFP

typedef const QRgbaFloat32 *(QT_FASTCALL * FetchAndConvertPixelsFuncFP) (QRgbaFloat32 *buffer, const uchar *src, int index, int count, const QList< QRgb > *clut, QDitherInfo *dither)

Definition at line 275 of file qpixellayout_p.h.

◆ MemRotateFunc

typedef void(* MemRotateFunc) (const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)

Definition at line 290 of file qpixellayout_p.h.

◆ RbSwapFunc

typedef void(QT_FASTCALL * RbSwapFunc) (uchar *dst, const uchar *src, int count)

Definition at line 288 of file qpixellayout_p.h.

Enumeration Type Documentation

◆ QtPixelOrder

Enumerator
PixelOrderRGB 
PixelOrderBGR 

Definition at line 26 of file qpixellayout_p.h.

Function Documentation

◆ ARGB2RGBA()

static quint32 ARGB2RGBA ( quint32 x)
inlinestatic

Definition at line 210 of file qpixellayout_p.h.

◆ qConvertA2rgb30ToArgb32()

template<enum QtPixelOrder>
QRgb qConvertA2rgb30ToArgb32 ( uint c)
inline

◆ qConvertA2rgb30ToArgb32< PixelOrderBGR >()

template<>
QRgb qConvertA2rgb30ToArgb32< PixelOrderBGR > ( uint c)
inline

Definition at line 103 of file qpixellayout_p.h.

◆ qConvertA2rgb30ToArgb32< PixelOrderRGB >()

template<>
QRgb qConvertA2rgb30ToArgb32< PixelOrderRGB > ( uint c)
inline

Definition at line 115 of file qpixellayout_p.h.

◆ qConvertA2rgb30ToRgb64()

template<enum QtPixelOrder>
QRgba64 qConvertA2rgb30ToRgb64 ( uint rgb)
inline

◆ qConvertA2rgb30ToRgb64< PixelOrderBGR >()

template<>
QRgba64 qConvertA2rgb30ToRgb64< PixelOrderBGR > ( uint rgb)
inline

Definition at line 129 of file qpixellayout_p.h.

◆ qConvertA2rgb30ToRgb64< PixelOrderRGB >()

template<>
QRgba64 qConvertA2rgb30ToRgb64< PixelOrderRGB > ( uint rgb)
inline

Definition at line 146 of file qpixellayout_p.h.

◆ qConvertArgb32ToA2rgb30()

template<enum QtPixelOrder>
uint qConvertArgb32ToA2rgb30 ( QRgb )
inline

◆ qConvertArgb32ToA2rgb30< PixelOrderBGR >()

template<>
uint qConvertArgb32ToA2rgb30< PixelOrderBGR > ( QRgb c)
inline

Definition at line 65 of file qpixellayout_p.h.

◆ qConvertArgb32ToA2rgb30< PixelOrderRGB >()

template<>
uint qConvertArgb32ToA2rgb30< PixelOrderRGB > ( QRgb c)
inline

Definition at line 75 of file qpixellayout_p.h.

◆ qConvertRgb32ToRgb30()

template<enum QtPixelOrder>
uint qConvertRgb32ToRgb30 ( QRgb )
inline

◆ qConvertRgb32ToRgb30< PixelOrderBGR >()

template<>
uint qConvertRgb32ToRgb30< PixelOrderBGR > ( QRgb c)
inline

Definition at line 85 of file qpixellayout_p.h.

◆ qConvertRgb32ToRgb30< PixelOrderRGB >()

template<>
uint qConvertRgb32ToRgb30< PixelOrderRGB > ( QRgb c)
inline

Definition at line 94 of file qpixellayout_p.h.

◆ qConvertRgb64ToRgb30()

template<enum QtPixelOrder>
unsigned int qConvertRgb64ToRgb30 ( QRgba64 )
inline

◆ qConvertRgb64ToRgb30< PixelOrderBGR >()

template<>
unsigned int qConvertRgb64ToRgb30< PixelOrderBGR > ( QRgba64 c)
inline

Definition at line 165 of file qpixellayout_p.h.

◆ qConvertRgb64ToRgb30< PixelOrderRGB >()

template<>
unsigned int qConvertRgb64ToRgb30< PixelOrderRGB > ( QRgba64 c)
inline

Definition at line 176 of file qpixellayout_p.h.

◆ qConvertRgb64ToRgbaF16()

QRgbaFloat16 qConvertRgb64ToRgbaF16 ( QRgba64 c)
inlineconstexpr

Definition at line 186 of file qpixellayout_p.h.

◆ qConvertRgb64ToRgbaF32()

QRgbaFloat32 qConvertRgb64ToRgbaF32 ( QRgba64 c)
inlineconstexpr

Definition at line 191 of file qpixellayout_p.h.

◆ qRepremultiply() [1/2]

template<unsigned int Shift>
QRgb qRepremultiply ( QRgb p)
inline

Definition at line 40 of file qpixellayout_p.h.

◆ qRepremultiply() [2/2]

template<unsigned int Shift>
QRgba64 qRepremultiply ( QRgba64 p)
inline

Definition at line 53 of file qpixellayout_p.h.

References QRgba64::premultiplied(), and QRgba64::unpremultiplied().

+ Here is the call graph for this function:

◆ qRgbSwapRgb30()

uint qRgbSwapRgb30 ( uint c)
inline

Definition at line 196 of file qpixellayout_p.h.

◆ qt_convertARGB32ToARGB32PM()

const uint * qt_convertARGB32ToARGB32PM ( uint * buffer,
const uint * src,
int count )
inline

Definition at line 240 of file qpixellayout_p.h.

◆ qt_convertRGBA64ToARGB32()

template<bool RGBA>
void qt_convertRGBA64ToARGB32 ( uint * dst,
const QRgba64 * src,
int count )

Definition at line 1588 of file qpixellayout.cpp.

◆ qt_convertRGBA8888ToARGB32PM()

const uint * qt_convertRGBA8888ToARGB32PM ( uint * buffer,
const uint * src,
int count )
inline

Definition at line 246 of file qpixellayout_p.h.

◆ RGBA2ARGB()

static quint32 RGBA2ARGB ( quint32 x)
inlinestatic

Definition at line 204 of file qpixellayout_p.h.

Variable Documentation

◆ qMemRotateFunctions

MemRotateFunc qMemRotateFunctions
extern
Initial value:
=
{
{ nullptr, nullptr, nullptr },
{ nullptr, nullptr, nullptr },
{ nullptr, nullptr, nullptr },
}
void qt_memrotate90_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate90_128(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate270_24(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate270_64(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate270_32(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate180_32(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate270_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate90_24(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate180_16(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate270_128(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate180_24(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate270_8(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate90_32(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate90_8(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate180_8(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate180_128(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate90_64(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)
void qt_memrotate180_64(const uchar *srcPixels, int w, int h, int sbpl, uchar *destPixels, int dbpl)

Definition at line 361 of file qmemrotate.cpp.

◆ qPixelLayouts

QPixelLayout qPixelLayouts
extern

Definition at line 1923 of file qpixellayout.cpp.

◆ qStoreFromRGBA64PM

ConvertAndStorePixelsFunc64 qStoreFromRGBA64PM
extern

Definition at line 2192 of file qpixellayout.cpp.