clang-tidy: apply to newly merged stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
e87de698f3
commit
d458bf2540
@ -61,12 +61,15 @@ struct MatroskaTag {
|
||||
matroskaTypeEnum _type;
|
||||
matroskaProcessEnum _process;
|
||||
|
||||
MatroskaTag(uint64_t id, const std::string& label, matroskaTypeEnum type, matroskaProcessEnum process) :
|
||||
_id(id), _label(label), _type(type), _process(process) {
|
||||
MatroskaTag(uint64_t id, std::string label, matroskaTypeEnum type, matroskaProcessEnum process) :
|
||||
_id(id), _label(std::move(label)), _type(type), _process(process) {
|
||||
}
|
||||
|
||||
MatroskaTag(uint64_t id, const std::string& label) :
|
||||
_id(id), _label(label), _type(matroskaTypeEnum::UndefinedType), _process(matroskaProcessEnum::Undefined) {
|
||||
MatroskaTag(uint64_t id, std::string label) :
|
||||
_id(id),
|
||||
_label(std::move(label)),
|
||||
_type(matroskaTypeEnum::UndefinedType),
|
||||
_process(matroskaProcessEnum::Undefined) {
|
||||
}
|
||||
|
||||
bool isSkipped() const {
|
||||
@ -141,7 +144,7 @@ class EXIV2API MatroskaVideo : public Image {
|
||||
@param b The byte, which stores the information to calculate the size
|
||||
@return Return the size of the block.
|
||||
*/
|
||||
[[nodiscard]] uint32_t findBlockSize(byte b);
|
||||
[[nodiscard]] static uint32_t findBlockSize(byte b);
|
||||
/*!
|
||||
@brief Check for a valid tag and decode the block at the current IO position.
|
||||
Calls contentManagement() or skips to next tag, if required.
|
||||
|
||||
@ -79,7 +79,7 @@ class QuickTimeVideo : public Image {
|
||||
@brief Check for a valid tag and decode the block at the current IO
|
||||
position. Calls tagDecoder() or skips to next tag, if required.
|
||||
*/
|
||||
void decodeBlock(std::string const& parent_box = "");
|
||||
void decodeBlock(std::string const& entered_from = "");
|
||||
/*!
|
||||
@brief Interpret tag information, and call the respective function
|
||||
to save it in the respective XMP container. Decodes a Tag
|
||||
|
||||
@ -71,7 +71,7 @@ class EXIV2API RiffVideo : public Image {
|
||||
//! @name Accessors
|
||||
//@{
|
||||
[[nodiscard]] std::string mimeType() const override;
|
||||
[[nodiscard]] const char* printAudioEncoding(uint64_t i);
|
||||
[[nodiscard]] static const char* printAudioEncoding(uint64_t i);
|
||||
//@}
|
||||
|
||||
protected:
|
||||
@ -155,7 +155,7 @@ class EXIV2API RiffVideo : public Image {
|
||||
@param divisor The Divisor required to calculate sample rate.
|
||||
@return Return the sample rate of the stream.
|
||||
*/
|
||||
[[nodiscard]] double returnSampleRate(Exiv2::DataBuf& buf, size_t divisor = 1);
|
||||
[[nodiscard]] static double returnSampleRate(Exiv2::DataBuf& buf, size_t divisor = 1);
|
||||
/*!
|
||||
@brief Calculates Aspect Ratio of a video, and stores it in the
|
||||
respective XMP container.
|
||||
@ -171,9 +171,9 @@ class EXIV2API RiffVideo : public Image {
|
||||
*/
|
||||
void fillDuration(double frame_rate, size_t frame_count);
|
||||
|
||||
[[nodiscard]] bool equalsRiffTag(Exiv2::DataBuf& buf, const char* str);
|
||||
[[nodiscard]] static bool equalsRiffTag(Exiv2::DataBuf& buf, const char* str);
|
||||
|
||||
void copyTagValue(DataBuf& buf_dest, DataBuf& buf_src, size_t index = RIFF_TAG_SIZE);
|
||||
static void copyTagValue(DataBuf& buf_dest, DataBuf& buf_src, size_t index = RIFF_TAG_SIZE);
|
||||
|
||||
private:
|
||||
static constexpr size_t RIFF_TAG_SIZE = 0x4;
|
||||
|
||||
@ -94,9 +94,9 @@ int main(int argc, char* const argv[]) {
|
||||
if (tagInfo) {
|
||||
Exiv2::TypeId type = i->typeId();
|
||||
if (type != tagInfo->typeId_ &&
|
||||
!(tagInfo->typeId_ == Exiv2::comment && type == Exiv2::undefined) // comment is stored as undefined
|
||||
&& !(shortLong.find(i->key()) != shortLong.end() &&
|
||||
(type == Exiv2::unsignedShort || type == Exiv2::unsignedLong)) // can be short or long!
|
||||
(tagInfo->typeId_ != Exiv2::comment || type != Exiv2::undefined) // comment is stored as undefined
|
||||
&& (shortLong.find(i->key()) == shortLong.end() ||
|
||||
(type != Exiv2::unsignedShort && type != Exiv2::unsignedLong)) // can be short or long!
|
||||
) {
|
||||
std::cerr << i->key() << " type " << i->typeName() << " (" << type << ")"
|
||||
<< " expected " << Exiv2::TypeInfo::typeName(tagInfo->typeId_) << " (" << tagInfo->typeId_ << ")"
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
#include <iostream>
|
||||
#include "config.h"
|
||||
|
||||
//#ifdef EXV_ENABLE_VIDEO
|
||||
// #ifdef EXV_ENABLE_VIDEO
|
||||
#include "asfvideo.hpp"
|
||||
#include "basicio.hpp"
|
||||
#include "convert.hpp"
|
||||
@ -40,8 +40,8 @@
|
||||
#include "types.hpp"
|
||||
|
||||
// + standard includes
|
||||
#include <ctype.h>
|
||||
#include <cassert>
|
||||
#include <cctype>
|
||||
#include <cstring>
|
||||
|
||||
// *****************************************************************************
|
||||
@ -215,12 +215,9 @@ void getGUID(byte buf[], char GUID[]) {
|
||||
@return Returns true if the buffer data is equivalent to Header GUID.
|
||||
*/
|
||||
bool isASFType(byte buf[]) {
|
||||
if (buf[0] == 0x30 && buf[1] == 0x26 && buf[2] == 0xb2 && buf[3] == 0x75 && buf[4] == 0x8e && buf[5] == 0x66 &&
|
||||
buf[6] == 0xcf && buf[7] == 0x11 && buf[8] == 0xa6 && buf[9] == 0xd9 && buf[10] == 0x00 && buf[11] == 0xaa &&
|
||||
buf[12] == 0x00 && buf[13] == 0x62 && buf[14] == 0xce && buf[15] == 0x6c)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
return buf[0] == 0x30 && buf[1] == 0x26 && buf[2] == 0xb2 && buf[3] == 0x75 && buf[4] == 0x8e && buf[5] == 0x66 &&
|
||||
buf[6] == 0xcf && buf[7] == 0x11 && buf[8] == 0xa6 && buf[9] == 0xd9 && buf[10] == 0x00 && buf[11] == 0xaa &&
|
||||
buf[12] == 0x00 && buf[13] == 0x62 && buf[14] == 0xce && buf[15] == 0x6c;
|
||||
}
|
||||
|
||||
} // namespace Exiv2::Internal
|
||||
@ -341,7 +338,7 @@ void AsfVideo::decodeBlock() {
|
||||
while (count--) {
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
io_->read(buf.data(), 1);
|
||||
tempLength = (int)buf.data()[0];
|
||||
tempLength = static_cast<int>(buf.data()[0]);
|
||||
|
||||
io_->read(buf.data(), tempLength);
|
||||
v->read(Util::toString16(buf));
|
||||
@ -383,12 +380,12 @@ void AsfVideo::extendedStreamProperties(uint64_t size) {
|
||||
void AsfVideo::contentDescription(uint64_t size) {
|
||||
const size_t pos = io_->tell();
|
||||
size_t length[5];
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
for (size_t& i : length) {
|
||||
byte buf[2];
|
||||
io_->read(buf, 2);
|
||||
if (io_->error() || io_->eof())
|
||||
throw Error(ErrorCode::kerFailedToReadImageData);
|
||||
length[i] = getUShort(buf, littleEndian);
|
||||
i = getUShort(buf, littleEndian);
|
||||
}
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
DataBuf buf(length[i]);
|
||||
@ -398,7 +395,7 @@ void AsfVideo::contentDescription(uint64_t size) {
|
||||
throw Error(ErrorCode::kerFailedToReadImageData);
|
||||
const TagDetails* td = find(contentDescriptionTags, i);
|
||||
assert(td);
|
||||
std::string str((const char*)buf.data(), length[i]);
|
||||
std::string str(reinterpret_cast<const char*>(buf.data()), length[i]);
|
||||
if (convertStringCharset(str, "UCS-2LE", "UTF-8")) {
|
||||
xmpData()[td->label_] = str;
|
||||
} else {
|
||||
@ -436,7 +433,7 @@ void AsfVideo::streamProperties() {
|
||||
io_->read(buf.data(), BUFF_MIN_SIZE);
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
io_->read(buf.data(), 1);
|
||||
streamNumber_ = (int)buf.data()[0] & 127;
|
||||
streamNumber_ = static_cast<int>(buf.data()[0]) & 127;
|
||||
|
||||
io_->read(buf.data(), 5);
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
@ -553,16 +550,17 @@ void AsfVideo::metadataHandler(int meta) {
|
||||
if (dataType == 6) {
|
||||
io_->read(guidBuf, GUI_SIZE);
|
||||
getGUID(guidBuf, fileID);
|
||||
} else
|
||||
// Sanity check with an "unreasonably" large number
|
||||
if (dataLength > 5000) {
|
||||
} else {
|
||||
// Sanity check with an "unreasonably" large number
|
||||
if (dataLength > 5000) {
|
||||
#ifndef SUPPRESS_WARNINGS
|
||||
EXV_ERROR << "Xmp.video.Metadata dataLength was found to be larger than 5000 "
|
||||
<< " entries considered invalid; not read.\n";
|
||||
EXV_ERROR << "Xmp.video.Metadata dataLength was found to be larger than 5000 "
|
||||
<< " entries considered invalid; not read.\n";
|
||||
#endif
|
||||
io_->seek(io_->tell() + dataLength, BasicIo::beg);
|
||||
} else
|
||||
io_->read(buf.data(), dataLength);
|
||||
io_->seek(io_->tell() + dataLength, BasicIo::beg);
|
||||
} else
|
||||
io_->read(buf.data(), dataLength);
|
||||
}
|
||||
}
|
||||
|
||||
else if (meta == 2) {
|
||||
@ -655,11 +653,11 @@ void AsfVideo::fileProperties() {
|
||||
void AsfVideo::aspectRatio() {
|
||||
// TODO - Make a better unified method to handle all cases of Aspect Ratio
|
||||
|
||||
double aspectRatio = (double)width_ / height_;
|
||||
double aspectRatio = static_cast<double>(width_) / height_;
|
||||
aspectRatio = floor(aspectRatio * 10) / 10;
|
||||
xmpData()["Xmp.video.AspectRatio"] = aspectRatio;
|
||||
|
||||
int aR = (int)((aspectRatio * 10.0) + 0.1);
|
||||
auto aR = static_cast<int>((aspectRatio * 10.0) + 0.1);
|
||||
|
||||
switch (aR) {
|
||||
case 13:
|
||||
@ -715,4 +713,4 @@ bool isAsfType(BasicIo& iIo, bool advance) {
|
||||
}
|
||||
|
||||
} // namespace Exiv2
|
||||
//#endif // EXV_ENABLE_VIDEO
|
||||
// #endif // EXV_ENABLE_VIDEO
|
||||
|
||||
@ -171,7 +171,7 @@ class BrotliDecoderWrapper {
|
||||
BrotliDecoderState* decoder_;
|
||||
|
||||
public:
|
||||
BrotliDecoderWrapper() : decoder_(BrotliDecoderCreateInstance(NULL, NULL, NULL)) {
|
||||
BrotliDecoderWrapper() : decoder_(BrotliDecoderCreateInstance(nullptr, nullptr, nullptr)) {
|
||||
if (!decoder_) {
|
||||
throw Error(ErrorCode::kerMallocFailed);
|
||||
}
|
||||
|
||||
@ -1573,7 +1573,7 @@ bool convertStringCharsetIconv(std::string& str, const char* from, const char* t
|
||||
bool ret = true;
|
||||
iconv_t cd;
|
||||
cd = iconv_open(to, from);
|
||||
if (cd == (iconv_t)(-1)) {
|
||||
if (cd == iconv_t(-1)) {
|
||||
#ifndef SUPPRESS_WARNINGS
|
||||
EXV_WARNING << "iconv_open: " << strError() << "\n";
|
||||
#endif
|
||||
|
||||
@ -16,9 +16,8 @@ std::string string_from_unterminated(const char* data, size_t data_length) {
|
||||
namespace Util {
|
||||
char returnHEX(int n) {
|
||||
if (n >= 0 && n <= 9)
|
||||
return (char)(n + 48);
|
||||
else
|
||||
return (char)(n + 55);
|
||||
return static_cast<char>(n + 48);
|
||||
return static_cast<char>(n + 55);
|
||||
}
|
||||
|
||||
std::string toString16(Exiv2::DataBuf& buf) {
|
||||
|
||||
@ -98,7 +98,7 @@ inline binaryToStringHelper<T> binaryToString(const Slice<T> sl) noexcept {
|
||||
}
|
||||
|
||||
/// @brief indent output for kpsRecursive in \em printStructure() \em .
|
||||
std::string indent(size_t depth);
|
||||
std::string indent(size_t i);
|
||||
|
||||
} // namespace Exiv2::Internal
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ PNG tags : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PNG
|
||||
*/
|
||||
namespace {
|
||||
constexpr size_t nullSeparators = 2;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
// *****************************************************************************
|
||||
// class member definitions
|
||||
|
||||
@ -206,6 +206,7 @@ class LoaderTiff : public Loader {
|
||||
public:
|
||||
//! Constructor
|
||||
LoaderTiff(PreviewId id, const Image& image, int parIdx);
|
||||
~LoaderTiff() override = default;
|
||||
|
||||
LoaderTiff(const LoaderTiff&) = delete;
|
||||
LoaderTiff& operator=(const LoaderTiff&) = delete;
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
// included header files
|
||||
#include "config.h"
|
||||
|
||||
//#ifdef EXV_ENABLE_VIDEO
|
||||
// #ifdef EXV_ENABLE_VIDEO
|
||||
#include "basicio.hpp"
|
||||
#include "error.hpp"
|
||||
#include "futils.hpp"
|
||||
@ -36,8 +36,7 @@
|
||||
|
||||
// *****************************************************************************
|
||||
// class member definitions
|
||||
namespace Exiv2 {
|
||||
namespace Internal {
|
||||
namespace Exiv2::Internal {
|
||||
|
||||
/*!
|
||||
@brief Dummy TIFF header structure.
|
||||
@ -49,7 +48,7 @@ class DummyTiffHeader : public TiffHeaderBase {
|
||||
//! Default constructor
|
||||
DummyTiffHeader(ByteOrder byteOrder);
|
||||
//! Destructor
|
||||
~DummyTiffHeader();
|
||||
~DummyTiffHeader() override = default;
|
||||
//@}
|
||||
|
||||
//! @name Manipulators
|
||||
@ -63,9 +62,6 @@ class DummyTiffHeader : public TiffHeaderBase {
|
||||
DummyTiffHeader::DummyTiffHeader(ByteOrder byteOrder) : TiffHeaderBase(42, 0, byteOrder, 0) {
|
||||
}
|
||||
|
||||
DummyTiffHeader::~DummyTiffHeader() {
|
||||
}
|
||||
|
||||
bool DummyTiffHeader::read(const byte* /*pData*/, size_t /*size*/) {
|
||||
return true;
|
||||
}
|
||||
@ -426,8 +422,7 @@ constexpr TagDetails nikonAVITags[] = {{0x0003, "Xmp.video.Make"},
|
||||
|
||||
enum streamTypeInfo { Audio = 1, MIDI, Text, Video };
|
||||
|
||||
} // namespace Internal
|
||||
} // namespace Exiv2
|
||||
} // namespace Exiv2::Internal
|
||||
|
||||
namespace Exiv2 {
|
||||
using namespace Exiv2::Internal;
|
||||
@ -479,8 +474,8 @@ void RiffVideo::printStructure(std::ostream& out, PrintStructureOption option, s
|
||||
|
||||
const uint64_t bufMaxSize = 200;
|
||||
io_->seek(0, BasicIo::beg); // rewind
|
||||
while (!io_->eof() && (uint64_t)io_->tell() < filesize) {
|
||||
uint64_t offset = (uint64_t)io_->tell();
|
||||
while (!io_->eof() && static_cast<uint64_t>(io_->tell()) < filesize) {
|
||||
auto offset = static_cast<uint64_t>(io_->tell());
|
||||
byte size_buff[RIFF_TAG_SIZE];
|
||||
io_->read(chunkId.data(), RIFF_TAG_SIZE);
|
||||
io_->read(size_buff, RIFF_TAG_SIZE);
|
||||
@ -494,7 +489,8 @@ void RiffVideo::printStructure(std::ostream& out, PrintStructureOption option, s
|
||||
|
||||
if (bPrint) {
|
||||
out << Internal::indent(depth)
|
||||
<< Internal::stringFormat(" %s | %12u | %12u | ", (const char*)chunkId.data(), size, (uint32_t)offset)
|
||||
<< Internal::stringFormat(" %s | %12u | %12u | ", reinterpret_cast<const char*>(chunkId.data()), size,
|
||||
static_cast<uint32_t>(offset))
|
||||
<< Internal::binaryToString(makeSlice(payload, 0, payload.size() > 32 ? 32 : payload.size())) << std::endl;
|
||||
}
|
||||
|
||||
@ -507,7 +503,7 @@ void RiffVideo::printStructure(std::ostream& out, PrintStructureOption option, s
|
||||
bool bPrintPayload = (equalsRiffTag(chunkId, RIFF_CHUNK_HEADER_XMP) && option == kpsXMP) ||
|
||||
(equalsRiffTag(chunkId, RIFF_CHUNK_HEADER_ICCP) && option == kpsIccProfile);
|
||||
if (bPrintPayload) {
|
||||
out.write((const char*)payload.data(), payload.size());
|
||||
out.write(reinterpret_cast<const char*>(payload.data()), payload.size());
|
||||
}
|
||||
|
||||
if (offset && io_->tell() % 2)
|
||||
@ -560,7 +556,8 @@ void RiffVideo::decodeBlock() {
|
||||
if (io_->eof() || equalsRiffTag(buf2, "MOVI") || equalsRiffTag(buf2, "DATA")) {
|
||||
continueTraversing_ = false;
|
||||
return;
|
||||
} else if (equalsRiffTag(buf2, "HDRL") || equalsRiffTag(buf2, "STRL")) {
|
||||
}
|
||||
if (equalsRiffTag(buf2, "HDRL") || equalsRiffTag(buf2, "STRL")) {
|
||||
decodeBlock();
|
||||
} else {
|
||||
io_->read(buf.data(), RIFF_TAG_SIZE);
|
||||
@ -578,7 +575,7 @@ void RiffVideo::tagDecoder(Exiv2::DataBuf& buf, size_t size) {
|
||||
listFlag = true;
|
||||
listEnd = false;
|
||||
|
||||
while ((uint64_t)(io_->tell()) < cur_pos + size)
|
||||
while (static_cast<uint64_t>(io_->tell()) < cur_pos + size)
|
||||
decodeBlock();
|
||||
|
||||
listEnd = true;
|
||||
@ -762,7 +759,7 @@ void RiffVideo::nikonTagsHandler() {
|
||||
while (dataSize) {
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
io_->read(buf.data(), 1);
|
||||
str[(RIFF_TAG_SIZE - dataSize) * 2] = (char)(Exiv2::getULong(buf.data(), littleEndian) + 48);
|
||||
str[(RIFF_TAG_SIZE - dataSize) * 2] = static_cast<char>(Exiv2::getULong(buf.data(), littleEndian) + 48);
|
||||
--dataSize;
|
||||
}
|
||||
xmpData_["Xmp.video.MakerNoteVersion"] = str;
|
||||
@ -817,7 +814,7 @@ void RiffVideo::nikonTagsHandler() {
|
||||
case 0x001b:
|
||||
case 0x0016:
|
||||
copyTagValue(buf2, buf);
|
||||
denominator = (double)Exiv2::getLong(buf2.data(), littleEndian);
|
||||
denominator = static_cast<double>(Exiv2::getLong(buf2.data(), littleEndian));
|
||||
if (denominator != 0)
|
||||
xmpData_[exvGettext(td->label_)] = Exiv2::getLong(buf.data(), littleEndian) / denominator;
|
||||
else
|
||||
@ -901,7 +898,7 @@ void RiffVideo::junkHandler(size_t size) {
|
||||
io_->read(buf.data(), 8);
|
||||
copyTagValue(buf2, buf);
|
||||
xmpData_["Xmp.video.FNumber"] =
|
||||
(double)Exiv2::getLong(buf.data(), littleEndian) / Exiv2::getLong(buf2.data(), littleEndian);
|
||||
static_cast<double>(Exiv2::getLong(buf.data(), littleEndian)) / Exiv2::getLong(buf2.data(), littleEndian);
|
||||
;
|
||||
|
||||
io_->seek(cur_pos + 131, BasicIo::beg);
|
||||
@ -943,7 +940,7 @@ void RiffVideo::aviHeaderTagsHandler(size_t size) {
|
||||
uint64_t cur_pos = io_->tell();
|
||||
|
||||
enum aviHeaderTags { frameRate, maxDataRate, frameCount = 4, streamCount = 6, imageWidth_h = 8, imageHeight_h, last };
|
||||
for (aviHeaderTags tag = frameRate; tag != aviHeaderTags::last; tag = aviHeaderTags(tag + 1)) {
|
||||
for (aviHeaderTags tag = frameRate; tag != aviHeaderTags::last; tag = static_cast<aviHeaderTags>(tag + 1)) {
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
io_->read(buf.data(), RIFF_TAG_SIZE);
|
||||
|
||||
@ -1001,7 +998,7 @@ void RiffVideo::streamHandler(size_t size) {
|
||||
sampleSize = 11,
|
||||
last
|
||||
};
|
||||
for (streamHeaderTags tag = codec; tag != streamHeaderTags::last; tag = streamHeaderTags(tag + 1)) {
|
||||
for (streamHeaderTags tag = codec; tag != streamHeaderTags::last; tag = static_cast<streamHeaderTags>(tag + 1)) {
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
io_->read(buf.data(), RIFF_TAG_SIZE); // the position is advanced by the number of bytes read, that's why we need
|
||||
// to iterate sequentially , not only on switch values.
|
||||
@ -1073,7 +1070,7 @@ void RiffVideo::streamFormatHandler(size_t size) {
|
||||
numImportantColors,
|
||||
last
|
||||
};
|
||||
for (bmptags tag = imageWidth; tag != bmptags::last; tag = bmptags(tag + 1)) {
|
||||
for (bmptags tag = imageWidth; tag != bmptags::last; tag = static_cast<bmptags>(tag + 1)) {
|
||||
std::memset(buf.data(), 0x0, buf.size());
|
||||
|
||||
switch (tag) {
|
||||
@ -1131,7 +1128,7 @@ void RiffVideo::streamFormatHandler(size_t size) {
|
||||
int c = 0;
|
||||
const TagDetails* td;
|
||||
enum audioFormatTags { encoding, numberOfChannels, audioSampleRate, avgBytesPerSec = 4, bitsPerSample = 7, last };
|
||||
for (audioFormatTags tag = encoding; tag != audioFormatTags::last; tag = audioFormatTags(tag + 1)) {
|
||||
for (audioFormatTags tag = encoding; tag != audioFormatTags::last; tag = static_cast<audioFormatTags>(tag + 1)) {
|
||||
io_->read(buf.data(), 2);
|
||||
|
||||
switch (tag) {
|
||||
@ -1175,7 +1172,7 @@ void RiffVideo::streamFormatHandler(size_t size) {
|
||||
} // RiffVideo::streamFormatHandler
|
||||
|
||||
double RiffVideo::returnSampleRate(Exiv2::DataBuf& buf, size_t divisor) {
|
||||
return ((double)Exiv2::getULong(buf.data(), littleEndian) / divisor);
|
||||
return (static_cast<double>(Exiv2::getULong(buf.data(), littleEndian)) / divisor);
|
||||
} // RiffVideo::returnSampleRate
|
||||
|
||||
const char* RiffVideo::printAudioEncoding(uint64_t i) {
|
||||
@ -1190,11 +1187,11 @@ const char* RiffVideo::printAudioEncoding(uint64_t i) {
|
||||
void RiffVideo::fillAspectRatio(size_t width, size_t height) {
|
||||
if (height == 0)
|
||||
return;
|
||||
double aspectRatio = (double)width / height;
|
||||
double aspectRatio = static_cast<double>(width) / height;
|
||||
aspectRatio = floor(aspectRatio * 10) / 10;
|
||||
xmpData_["Xmp.video.AspectRatio"] = aspectRatio;
|
||||
|
||||
int aR = (int)((aspectRatio * 10.0) + 0.1);
|
||||
auto aR = static_cast<int>((aspectRatio * 10.0) + 0.1);
|
||||
|
||||
switch (aR) {
|
||||
case 13:
|
||||
@ -1228,7 +1225,7 @@ void RiffVideo::fillDuration(double frame_rate, size_t frame_count) {
|
||||
if (frame_rate == 0)
|
||||
return;
|
||||
|
||||
uint64_t duration = static_cast<uint64_t>(frame_count * 1000. / frame_rate);
|
||||
auto duration = static_cast<uint64_t>(frame_count * 1000. / frame_rate);
|
||||
xmpData_["Xmp.video.FileDataRate"] = io_->size() / (1048576. * duration);
|
||||
xmpData_["Xmp.video.Duration"] = duration; // Duration in number of seconds
|
||||
} // RiffVideo::fillDuration
|
||||
@ -1257,4 +1254,4 @@ bool isRiffType(BasicIo& iIo, bool advance) {
|
||||
}
|
||||
|
||||
} // namespace Exiv2
|
||||
//#endif // EXV_ENABLE_VIDEO
|
||||
// #endif // EXV_ENABLE_VIDEO
|
||||
|
||||
@ -61,10 +61,9 @@ typename std::enable_if<std::is_signed<T>::value && sizeof(T) >= sizeof(int), bo
|
||||
if (((summand_2 >= 0) && (summand_1 > std::numeric_limits<T>::max() - summand_2)) ||
|
||||
((summand_2 < 0) && (summand_1 < std::numeric_limits<T>::min() - summand_2))) {
|
||||
return true;
|
||||
} else {
|
||||
result = summand_1 + summand_2;
|
||||
return false;
|
||||
}
|
||||
result = summand_1 + summand_2;
|
||||
return false;
|
||||
}
|
||||
|
||||
/*!
|
||||
@ -92,10 +91,9 @@ typename std::enable_if<std::is_signed<T>::value && sizeof(T) < sizeof(int), boo
|
||||
const int res = summand_1 + summand_2;
|
||||
if ((res > std::numeric_limits<T>::max()) || (res < std::numeric_limits<T>::min())) {
|
||||
return true;
|
||||
} else {
|
||||
result = static_cast<T>(res);
|
||||
return false;
|
||||
}
|
||||
result = static_cast<T>(res);
|
||||
return false;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@ -939,27 +939,31 @@ std::ostream& SonyMakerNote::printAFPointSelected(std::ostream& os, const Value&
|
||||
if (std::any_of(models1.begin(), models1.end(), [&model](auto& m) { return startsWith(model, m); })) {
|
||||
EXV_PRINT_TAG(sonyAFPointSelectedSet1)(os, value.toUint32(0), metadata);
|
||||
return os;
|
||||
} else if (std::any_of(models2.begin(), models2.end(), [&model](auto& m) { return startsWith(model, m); }) &&
|
||||
status && aFAreaModeSetting == 4) {
|
||||
}
|
||||
if (std::any_of(models2.begin(), models2.end(), [&model](auto& m) { return startsWith(model, m); }) && status &&
|
||||
aFAreaModeSetting == 4) {
|
||||
EXV_PRINT_TAG(sonyAFPointSelectedSet1)(os, value.toUint32(0), metadata);
|
||||
return os;
|
||||
} else if (std::any_of(models3.begin(), models3.end(), [&model](auto& m) { return startsWith(model, m); }) &&
|
||||
status && aFAreaModeSetting != 8) {
|
||||
}
|
||||
if (std::any_of(models3.begin(), models3.end(), [&model](auto& m) { return startsWith(model, m); }) && status &&
|
||||
aFAreaModeSetting != 8) {
|
||||
EXV_PRINT_TAG(sonyAFPointSelectedSet2)(os, value, metadata);
|
||||
return os;
|
||||
} else if (startsWith(model, "ILCA-99M2") && status && aFAreaModeSetting != 8) {
|
||||
}
|
||||
if (startsWith(model, "ILCA-99M2") && status && aFAreaModeSetting != 8) {
|
||||
EXV_PRINT_TAG(sonyAFPointSelectedSet3)(os, value, metadata);
|
||||
return os;
|
||||
} else if (startsWith(model, "ILCA-") && status && aFAreaModeSetting == 8) {
|
||||
}
|
||||
if (startsWith(model, "ILCA-") && status && aFAreaModeSetting == 8) {
|
||||
EXV_PRINT_TAG(sonyAFPointSelectedSet4)(os, value.toUint32(0), metadata);
|
||||
return os;
|
||||
} else if (std::any_of(models4.begin(), models4.end(), [&model](auto& m) { return startsWith(model, m); })) {
|
||||
}
|
||||
if (std::any_of(models4.begin(), models4.end(), [&model](auto& m) { return startsWith(model, m); })) {
|
||||
EXV_PRINT_TAG(sonyAFPointSelectedSet5)(os, value.toUint32(0), metadata);
|
||||
return os;
|
||||
} else {
|
||||
os << _("n/a");
|
||||
return os;
|
||||
}
|
||||
os << _("n/a");
|
||||
return os;
|
||||
}
|
||||
|
||||
std::ostream& SonyMakerNote::printAFPointsUsed(std::ostream& os, const Value& value, const ExifData* metadata) {
|
||||
@ -980,13 +984,13 @@ std::ostream& SonyMakerNote::printAFPointsUsed(std::ostream& os, const Value& va
|
||||
if (std::none_of(models1.begin(), models1.end(), [&model](auto& m) { return startsWith(model, m); })) {
|
||||
EXV_PRINT_TAG_BITLIST_ALL_LE(sonyAFPointsUsedSet1)(os, value, metadata);
|
||||
return os;
|
||||
} else if (std::any_of(models2.begin(), models2.end(), [&model](auto& m) { return startsWith(model, m); })) {
|
||||
}
|
||||
if (std::any_of(models2.begin(), models2.end(), [&model](auto& m) { return startsWith(model, m); })) {
|
||||
EXV_PRINT_TAG_BITLIST_ALL_LE(sonyAFPointsUsedSet2)(os, value, metadata);
|
||||
return os;
|
||||
} else {
|
||||
os << _("n/a");
|
||||
return os;
|
||||
}
|
||||
os << _("n/a");
|
||||
return os;
|
||||
}
|
||||
|
||||
std::ostream& SonyMakerNote::printAFTracking(std::ostream& os, const Value& value, const ExifData* metadata) {
|
||||
|
||||
@ -11,7 +11,7 @@ using namespace Exiv2;
|
||||
|
||||
namespace {
|
||||
constexpr std::array validMarkers{"8BIM", "AgHg", "DCSR", "PHUT"};
|
||||
}
|
||||
} // namespace
|
||||
|
||||
TEST(Photoshop_isIrb, returnsTrueWithValidMarkers) {
|
||||
for (const auto& marker : validMarkers) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user