Exiv2
jp2image_int.hpp
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 
3 #ifndef JP2IMAGE_INT_HPP
4 #define JP2IMAGE_INT_HPP
5 
6 #include <cstdint>
7 #include <vector>
8 
9 namespace Exiv2::Internal {
10 
11 struct Jp2BoxHeader {
12  uint32_t length;
13  uint32_t type;
14 };
15 
17  uint32_t imageHeight;
18  uint32_t imageWidth;
19  uint16_t componentCount;
20  uint8_t bpc;
21  uint8_t c;
22  uint8_t unkC;
23  uint8_t ipr;
24 };
25 
26 struct Jp2UuidBox {
27  uint8_t uuid[16];
28 };
29 
30 constexpr uint32_t brandJp2{0x6a703220};
31 
33 bool isValidBoxFileType(const std::vector<std::uint8_t>& boxData);
34 } // namespace Exiv2::Internal
35 
36 #endif // JP2IMAGE_INT_HPP
Definition: jp2image_int.hpp:16
uint8_t ipr
Intellectual property.
Definition: jp2image_int.hpp:23
uint8_t c
Compression type.
Definition: jp2image_int.hpp:21
uint8_t unkC
Colourspace unknown.
Definition: jp2image_int.hpp:22
uint8_t bpc
Bits per component.
Definition: jp2image_int.hpp:20
Helper structure for the Matroska tags lookup table.
Definition: matroskavideo.hpp:39
Definition: jp2image_int.hpp:26
Definition: jp2image_int.hpp:11