|
RawSpeed
fast raw decoding library
|
#include "io/ByteStream.h"
Public Types | |
| using | size_type = uint32_t |
Public Member Functions | |
| ByteStream ()=default | |
| ByteStream (DataBuffer buffer) | |
| ByteStream | getSubStream (size_type offset, size_type size_) const |
| ByteStream | getSubStream (size_type offset) const |
| size_type | check (size_type bytes) const |
| size_type | check (size_type nmemb, size_type size_) const |
| size_type | getPosition () const |
| void | setPosition (size_type newPos) |
| size_type RAWSPEED_READONLY | getRemainSize () const |
| const uint8_t * | peekData (size_type count) const |
| const uint8_t * | getData (size_type count) |
| Buffer | peekBuffer (size_type size_) const |
| Buffer | getBuffer (size_type size_) |
| Buffer | peekRemainingBuffer () const |
| ByteStream | peekStream (size_type size_) const |
| ByteStream | peekStream (size_type nmemb, size_type size_) const |
| ByteStream | getStream (size_type size_) |
| ByteStream | getStream (size_type nmemb, size_type size_) |
| void | skipBytes (size_type nbytes) |
| void | skipBytes (size_type nmemb, size_type size_) |
| bool | hasPatternAt (std::string_view pattern, size_type relPos) const |
| bool | hasPrefix (std::string_view prefix) const |
| bool | skipPrefix (std::string_view prefix) |
| template<typename T> | |
| T | peek (size_type i=0) const |
| template<typename T> | |
| T | get () |
| template<typename T, int N> | |
| std::array< T, N > | getArray () |
| template<typename T> | |
| std::vector< T > | getVector (int nElt) |
| uint8_t | peekByte (size_type i=0) const |
| uint8_t | getByte () |
| uint16_t | peekU16 () const |
| uint32_t | peekU32 (size_type i=0) const |
| uint16_t | getU16 () |
| int32_t | getI32 () |
| uint32_t | getU32 () |
| float | getFloat () |
| std::string_view | peekString () const |
| std::string_view | getString () |
| template<typename T> | |
| T | get (size_type offset, size_type index=0) const |
| template<typename T> | |
| T | get (bool inNativeByteOrder, size_type offset, size_type index=0) const |
| Endianness | getByteOrder () const |
| Endianness | setByteOrder (Endianness endianness_) |
| Array1DRef< const uint8_t > | getAsArray1DRef () const |
| operator Array1DRef< const uint8_t > () const | |
| Buffer | getSubView (size_type offset, size_type size_) const |
| Buffer | getSubView (size_type offset) const |
| uint8_t | operator[] (size_type offset) const |
| const uint8_t * | begin () const |
| const uint8_t * | end () const |
| size_type RAWSPEED_READONLY | getSize () const |
| bool | isValid (size_type offset, size_type count=1) const |
Protected Attributes | |
| const uint8_t * | data = nullptr |
Private Attributes | |
| size_type | pos |
| Endianness | endianness = Endianness::little |
| size_type | size = 0 |
Definition at line 43 of file ByteStream.h.
|
inherited |
|
default |
|
inlineexplicit |
Definition at line 50 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 99 of file Buffer.h.
References Array1DRef< T >::begin(), and getAsArray1DRef().
Referenced by Buffer(), rawspeed::ByteStream::check(), rawspeed::ArwDecoder::decodeSRF(), rawspeed::TiffEntry::getString(), rawspeed::CrwDecoder::isCRW(), rawspeed::MrwDecoder::isMRW(), rawspeed::RafDecoder::isRAF(), rawspeed::operator<(), rawspeed::PanasonicV4Decompressor::ProxyStream::parseBlock(), rawspeed::PanasonicV5Decompressor::ProxyStream::parseBlock(), rawspeed::ByteStream::peekData(), rawspeed::ByteStream::peekString(), anonymous_namespace{libFuzzer_dummy_main.cpp}::process(), rawspeed::HuffmanCode< CodeTag >::setNCodesPerLength(), and rawspeed::FileWriter::writeFile().
|
inlinenodiscard |
Definition at line 63 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 72 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 102 of file Buffer.h.
References Array1DRef< T >::end(), and getAsArray1DRef().
Referenced by rawspeed::TiffEntry::getString(), rawspeed::operator<(), rawspeed::PanasonicV4Decompressor::ProxyStream::parseBlock(), rawspeed::PanasonicV5Decompressor::ProxyStream::parseBlock(), rawspeed::ByteStream::peekString(), and rawspeed::HuffmanCode< CodeTag >::setNCodesPerLength().
|
inline |
Definition at line 159 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 107 of file Buffer.h.
References Buffer(), rawspeed::buf, rawspeed::getByteSwapped(), getSubView(), and rawspeed::T().
Referenced by rawspeed::DataBuffer::get().
|
inlinenodiscardinherited |
Definition at line 147 of file Buffer.h.
References assert(), rawspeed::big, endianness, rawspeed::Buffer::get(), rawspeed::getHostEndianness(), rawspeed::little, rawspeed::T(), and rawspeed::unknown.
Referenced by rawspeed::IiqDecoder::isAppropriateDecoder(), and rawspeed::ByteStream::peek().
|
inline |
Definition at line 165 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 70 of file Buffer.h.
References data, rawspeed::implicit_cast(), and size.
Referenced by rawspeed::VC5Decompressor::Wavelet::LowPassBand::LowPassBand(), rawspeed::SamsungV2Decompressor::SamsungV2Decompressor(), begin(), rawspeed::anonymous_namespace{PrefixCodeEncoder.cpp}::checkDecoder(), anonymous_namespace{Dual.cpp}::checkFlavour(), anonymous_namespace{Solo.cpp}::checkFlavour(), rawspeed::CrwDecoder::decodeRawInternal(), rawspeed::PentaxDecompressor::decompress(), rawspeed::SonyArw1Decompressor::decompress(), rawspeed::SonyArw2Decompressor::decompressRow(), rawspeed::PhaseOneDecompressor::decompressStrip(), rawspeed::SamsungV0Decompressor::decompressStrip(), end(), rawspeed::anonymous_namespace{Rw2Decoder.cpp}::getInputStrips(), getSubView(), rawspeed::ArwDecoder::GetWB(), LLVMFuzzerTestOneInput(), operator Array1DRef< const uint8_t >(), operator[](), rawspeed::VC5Decompressor::parseLargeCodeblock(), rawspeed::PanasonicV5Decompressor::processBlock(), and rawspeed::NefDecoder::readCoolpixSplitRaw().
|
inline |
Definition at line 103 of file ByteStream.h.
|
inline |
Definition at line 186 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 154 of file Buffer.h.
References endianness.
Referenced by rawspeed::RafDecoder::decodeRawInternal(), rawspeed::ByteStream::getSubStream(), rawspeed::ByteStream::getSubStream(), and rawspeed::ArwDecoder::GetWB().
|
inline |
Definition at line 95 of file ByteStream.h.
|
inline |
Definition at line 197 of file ByteStream.h.
|
inline |
Definition at line 195 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 78 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 87 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 115 of file Buffer.h.
References size.
Referenced by rawspeed::CiffIFD::CiffIFD(), anonymous_namespace{DeflateDecompressorBenchmark.cpp}::BM_DeflateDecompressor(), rawspeed::ByteStream::check(), rawspeed::SamsungV0Decompressor::computeStripes(), rawspeed::IiqDecoder::decodeRawInternal(), rawspeed::OrfDecoder::decodeRawInternal(), rawspeed::NefDecoder::DecodeUncompressed(), rawspeed::ByteStream::getPosition(), rawspeed::ByteStream::getRemainSize(), getSubView(), isValid(), rawspeed::PanasonicV5Decompressor::ProxyStream::parseBlock(), anonymous_namespace{libFuzzer_dummy_main.cpp}::process(), rawspeed::HuffmanCode< CodeTag >::setNCodesPerLength(), rawspeed_test::anonymous_namespace{HuffmanCodeTest.cpp}::TEST(), and rawspeed::FileWriter::writeFile().
|
inline |
Definition at line 124 of file ByteStream.h.
|
inline |
Definition at line 119 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 210 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 59 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 54 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 78 of file Buffer.h.
References Buffer(), getAsArray1DRef(), Array1DRef< T >::getCrop(), isValid(), and ThrowIOE.
Referenced by rawspeed::TiffIFD::TiffIFD(), rawspeed::ByteStream::check(), rawspeed::IiqDecoder::decodeRawInternal(), get(), rawspeed::anonymous_namespace{Rw2Decoder.cpp}::getInputStrips(), rawspeed::ByteStream::getSubStream(), rawspeed::ByteStream::getSubStream(), getSubView(), rawspeed::ArwDecoder::GetWB(), rawspeed::ByteStream::hasPatternAt(), rawspeed::CrwDecoder::isCRW(), rawspeed::MrwDecoder::isMRW(), rawspeed::RafDecoder::isRAF(), rawspeed::MrwDecoder::parseHeader(), rawspeed::ByteStream::peekBuffer(), rawspeed::ByteStream::peekData(), and rawspeed::ByteStream::peekRemainingBuffer().
|
inline |
Definition at line 194 of file ByteStream.h.
|
inline |
Definition at line 196 of file ByteStream.h.
|
inline |
Definition at line 173 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 135 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 145 of file ByteStream.h.
|
inlinenodiscardinherited |
Definition at line 117 of file Buffer.h.
References getSize().
Referenced by rawspeed::ByteStream::check(), getSubView(), getSubView(), and rawspeed::ByteStream::hasPatternAt().
|
inlineexplicitinherited |
Definition at line 74 of file Buffer.h.
References getAsArray1DRef().
|
inlineinherited |
Definition at line 94 of file Buffer.h.
References getAsArray1DRef().
|
inlinenodiscard |
Definition at line 156 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 100 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 183 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 92 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 108 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 114 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 111 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 199 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 188 of file ByteStream.h.
|
inlinenodiscard |
Definition at line 190 of file ByteStream.h.
|
inlineinherited |
Definition at line 156 of file Buffer.h.
References endianness.
Referenced by rawspeed::DngOpcodes::DngOpcodes(), rawspeed::ArwDecoder::DecodeARW2(), rawspeed::TiffParser::parse(), rawspeed::ArwDecoder::ParseA100WB(), rawspeed::TiffIFD::parseMakerNote(), and rawspeed::NefDecoder::parseWhiteBalance().
|
inline |
Definition at line 83 of file ByteStream.h.
|
inline |
Definition at line 130 of file ByteStream.h.
|
inline |
Definition at line 131 of file ByteStream.h.
|
inline |
Definition at line 149 of file ByteStream.h.
|
protectedinherited |
Definition at line 52 of file Buffer.h.
Referenced by Buffer(), and getAsArray1DRef().
|
privateinherited |
Definition at line 136 of file Buffer.h.
Referenced by DataBuffer(), get(), getByteOrder(), and setByteOrder().
|
private |
Definition at line 44 of file ByteStream.h.
|
privateinherited |
Definition at line 55 of file Buffer.h.
Referenced by Buffer(), getAsArray1DRef(), and getSize().