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
qimage_mips_dspr2.cpp
Go to the documentation of this file.
1// Copyright (C) 2013 Imagination Technologies Limited, www.imgtec.com
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#include "qimage.h"
6#include <private/qimage_p.h>
7
9
10// Defined in qimage_mips_dspr2_asm.S
11//
12extern "C" void premultiply_argb_inplace_mips_asm(void*, unsigned, unsigned, int);
13
15{
16 Q_ASSERT(data->format == QImage::Format_ARGB32);
17
18 if (!data->width || !data->height)
19 return true;
20
21 Q_ASSERT((data->bytes_per_line - (data->width << 2)) >= 0);
22
23 premultiply_argb_inplace_mips_asm(data->data,
24 data->height,
25 data->width,
26 data->bytes_per_line - (data->width << 2));
27
28 data->format = QImage::Format_ARGB32_Premultiplied;
29 return true;
30}
31
32extern "C" void qt_convert_rgb888_to_rgb32_mips_dspr2_asm(uint *dst, const uchar *src, int len);
33
34void convert_RGB888_to_RGB32_mips_dspr2(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
35{
36 Q_ASSERT(src->format == QImage::Format_RGB888);
37 Q_ASSERT(dest->format == QImage::Format_RGB32 || dest->format == QImage::Format_ARGB32 || dest->format == QImage::Format_ARGB32_Premultiplied);
38 Q_ASSERT(src->width == dest->width);
39 Q_ASSERT(src->height == dest->height);
40
41 const uchar *src_data = (const uchar*) src->data;
42 quint32 *dest_data = (quint32*) dest->data;
43
44 for (int i = 0; i < src->height; ++i) {
45 qt_convert_rgb888_to_rgb32_mips_dspr2_asm(dest_data, src_data, src->width);
46 src_data += src->bytes_per_line;
47 dest_data = (quint32*) ((uchar*) dest_data + dest->bytes_per_line);
48 }
49}
50
51QT_END_NAMESPACE
Combined button and popup list for selecting options.
QT_BEGIN_NAMESPACE void premultiply_argb_inplace_mips_asm(void *, unsigned, unsigned, int)
void convert_RGB888_to_RGB32_mips_dspr2(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
void qt_convert_rgb888_to_rgb32_mips_dspr2_asm(uint *dst, const uchar *src, int len)
bool convert_ARGB_to_ARGB_PM_inplace_mips_dspr2(QImageData *data, Qt::ImageConversionFlags)