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
qssgexrcodecs_p.h
Go to the documentation of this file.
1// Copyright (C) 2026 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:critical reason:data-parser
4
5#ifndef QSSGEXRCODECS_P_H
6#define QSSGEXRCODECS_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtCore/qbytearrayview.h>
20#include <QtCore/qlist.h>
21#include <QtCore/qspan.h>
22#include <QtCore/qstring.h>
23
24#include <array>
25#include <limits>
26#include <vector>
27
28QT_BEGIN_NAMESPACE
29
30namespace QSSGExr {
31
32constexpr int UShortRange = std::numeric_limits<quint16>::max() + 1;
33constexpr int BitmapSize = UShortRange >> 3;
34
35bool undoPredictorAndDeinterleave(QSpan<char> out, QSpan<char> scratch, QString *error);
36
37bool inflateExact(QByteArrayView in, QSpan<char> out, QString *error);
38
39bool rleDecode(QByteArrayView in, QSpan<char> out, QString *error);
40
46
47// A zero len marks a bucket of longer codes in longSymbols.
55
69
70bool pizDecode(QByteArrayView in,
71 QSpan<char> out,
72 const QList<PizChannel> &channels,
73 qint64 nx,
74 qint64 ny,
75 qint64 bytesPerPixel,
76 PizScratch *scratch,
77 QString *error);
78
79// Exposed for the tests.
80bool hufUncompress(QByteArrayView in, QSpan<quint16> out, PizScratch *scratch, QString *error);
81void wav2Decode(QSpan<quint16> base, qint64 offset, qint64 nx, qint64 ox, qint64 ny, qint64 oy, quint16 maxValue);
82
83} // namespace QSSGExr
84
85QT_END_NAMESPACE
86
87#endif // QSSGEXRCODECS_P_H
std::vector< HufDecEntry > dec
std::vector< quint16 > planar
std::vector< qint64 > hcode
std::array< quint16, UShortRange > lut
std::vector< quint32 > longSymbolsFilled
std::array< quint8, BitmapSize > bitmap
std::vector< quint32 > longSymbols
constexpr int BitmapSize
bool undoPredictorAndDeinterleave(QSpan< char > out, QSpan< char > scratch, QString *error)
bool inflateExact(QByteArrayView in, QSpan< char > out, QString *error)
bool rleDecode(QByteArrayView in, QSpan< char > out, QString *error)
constexpr int UShortRange
void wav2Decode(QSpan< quint16 > base, qint64 offset, qint64 nx, qint64 ox, qint64 ny, qint64 oy, quint16 maxValue)