Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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 )

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()

◆ 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.

Referenced by QImage::pixel().

+ Here is the caller graph for this function:

◆ qConvertA2rgb30ToArgb32< PixelOrderRGB >()

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

Definition at line 115 of file qpixellayout_p.h.

Referenced by QImage::pixel().

+ Here is the caller graph for this function:

◆ 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.

References qRgba64(), red, and rgb.

Referenced by QImage::pixelColor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qConvertA2rgb30ToRgb64< PixelOrderRGB >()

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

Definition at line 146 of file qpixellayout_p.h.

References qRgba64(), red, and rgb.

Referenced by QImage::pixelColor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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.

Referenced by QImage::setPixel().

+ Here is the caller graph for this function:

◆ qConvertArgb32ToA2rgb30< PixelOrderRGB >()

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

Definition at line 75 of file qpixellayout_p.h.

Referenced by QImage::setPixel().

+ Here is the caller graph for this function:

◆ 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.

Referenced by QImage::setPixel().

+ Here is the caller graph for this function:

◆ qConvertRgb32ToRgb30< PixelOrderRGB >()

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

Definition at line 94 of file qpixellayout_p.h.

Referenced by QImage::setPixel().

+ Here is the caller graph for this function:

◆ 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.

Referenced by QImage::setPixelColor().

+ Here is the caller graph for this function:

◆ qConvertRgb64ToRgb30< PixelOrderRGB >()

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

Definition at line 176 of file qpixellayout_p.h.

Referenced by QImage::setPixelColor().

+ Here is the caller graph for this function:

◆ qConvertRgb64ToRgbaF16()

constexpr QRgbaFloat16 qConvertRgb64ToRgbaF16 ( QRgba64 c)
inlineconstexpr

Definition at line 186 of file qpixellayout_p.h.

References QRgbaFloat< F >::fromRgba64().

Referenced by storeRGBA16FFromRGBA64PM(), storeRGBA16FPMFromRGBA64PM(), and storeRGBX16FFromRGBA64PM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qConvertRgb64ToRgbaF32()

constexpr QRgbaFloat32 qConvertRgb64ToRgbaF32 ( QRgba64 c)
inlineconstexpr

Definition at line 191 of file qpixellayout_p.h.

References QRgbaFloat< F >::fromRgba64().

Referenced by storeRGBA32FFromRGBA64PM(), storeRGBA32FPMFromRGBA64PM(), and storeRGBX32FFromRGBA64PM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qRepremultiply() [1/2]

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

Definition at line 40 of file qpixellayout_p.h.

References qAlpha(), qPremultiply(), and qUnpremultiply().

+ Here is the call graph for this function:

◆ qRepremultiply() [2/2]

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

Definition at line 53 of file qpixellayout_p.h.

References QRgba64::alpha().

+ Here is the call graph for this function:

◆ qRgbSwapRgb30()

uint qRgbSwapRgb30 ( uint c)
inline

Definition at line 196 of file qpixellayout_p.h.

Referenced by convert_A2RGB30_PM_to_RGB30(), convert_A2RGB30_PM_to_RGB30_inplace(), and rbSwap_rgb30().

+ Here is the caller graph for this function:

◆ qt_convertARGB32ToARGB32PM()

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

Definition at line 240 of file qpixellayout_p.h.

References qPremultiply(), and UNALIASED_CONVERSION_LOOP.

Referenced by convertARGB32ToARGB32PM(), and fetchARGB32ToARGB32PM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_convertRGBA64ToARGB32()

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

Definition at line 1421 of file qpixellayout.cpp.

References ARGB2RGBA(), i, and toArgb32().

+ Here is the call graph for this function:

◆ qt_convertRGBA8888ToARGB32PM()

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

Definition at line 246 of file qpixellayout_p.h.

References qPremultiply(), RGBA2ARGB(), and UNALIASED_CONVERSION_LOOP.

Referenced by convertRGBA8888ToARGB32PM(), and fetchRGBA8888ToARGB32PM().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RGBA2ARGB()

static quint32 RGBA2ARGB ( quint32 x)
inlinestatic

Definition at line 204 of file qpixellayout_p.h.

References rgb.

Referenced by convert_ARGB_to_A2RGB30(), convert_ARGB_to_A2RGB30_inplace(), convert_RGBA_to_ARGB(), convert_RGBA_to_ARGB_inplace(), convert_RGBA_to_RGB(), convertRGBA8888PMToARGB32PM(), convertRGBA8888PMToRGBA64PM(), convertRGBA8888ToRGBA64PM(), fetchRGBA8888PMToARGB32PM(), QImage::pixel(), and qt_convertRGBA8888ToARGB32PM().

+ Here is the caller graph for this function:

Variable Documentation

◆ qMemRotateFunctions

◆ qPixelLayouts

◆ qStoreFromRGBA64PM