clang-tidy: various fixes

Signed-off-by: Rosen Penev <rosenp@gmail.com>
main
Rosen Penev 3 years ago
parent d755fc18b5
commit ce8920a0ea

@ -55,15 +55,23 @@ class QuickTimeVideo : public Image {
QuickTimeVideo(BasicIo::UniquePtr io);
//@}
//! @name NOT Implemented
//@{
//! Copy constructor
QuickTimeVideo(const QuickTimeVideo&) = delete;
//! Assignment operator
QuickTimeVideo& operator=(const QuickTimeVideo&) = delete;
//@}
//! @name Manipulators
//@{
void readMetadata();
void writeMetadata();
void readMetadata() override;
void writeMetadata() override;
//@}
//! @name Accessors
//@{
std::string mimeType() const;
std::string mimeType() const override;
//@}
protected:
@ -198,22 +206,13 @@ class QuickTimeVideo : public Image {
*/
void aspectRatio();
private:
//! @name NOT Implemented
//@{
//! Copy constructor
QuickTimeVideo(const QuickTimeVideo& rhs);
//! Assignment operator
QuickTimeVideo& operator=(const QuickTimeVideo& rhs);
//@}
private:
//! Variable which stores Time Scale unit, used to calculate time.
uint64_t timeScale_ = 0;
//! Variable which stores current stream being processsed.
int currentStream_ = 0;
//! Variable to check the end of metadata traversing.
bool continueTraversing_ = 0;
bool continueTraversing_ = false;
//! Variable to store height and width of a video frame.
uint64_t height_ = 0, width_ = 0;

@ -238,12 +238,12 @@ ExifData::const_iterator lensName(const ExifData& ed) {
"Exif.Sony1.LensID", "Exif.Sony2.LensID", "Exif.Sony1.LensSpec", "Exif.Sony2.LensSpec",
"Exif.OlympusEq.LensType", "Exif.Panasonic.LensType", "Exif.Samsung2.LensType"};
for (size_t i = 0; i < std::size(keys); ++i) {
Exiv2::ExifData::const_iterator pos = ed.findKey(ExifKey(keys[i]));
for (auto& key : keys) {
auto pos = ed.findKey(ExifKey(key));
if (pos != ed.end()) {
// Exif.NikonLd4.LensID and Exif.NikonLd4.LensIDNumber are usually together included,
// one of them has value 0 (which means undefined), so skip tag with value 0
if (strncmp(keys[i], "Exif.NikonLd4", 13) == 0) {
if (strncmp(key, "Exif.NikonLd4", 13) == 0) {
if (pos->getValue()->toInt64(0) > 0)
return pos;
} else

@ -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"
@ -30,16 +30,15 @@
#include "tags_int.hpp"
// + standard includes
#include <stdlib.h>
#include <array>
#include <cassert>
#include <cmath>
#include <cstdlib>
#include <iostream>
#include <limits>
// *****************************************************************************
// class member definitions
namespace Exiv2 {
namespace Internal {
namespace Exiv2::Internal {
/*!
Tag Look-up list for Matroska Type Video Files
@ -570,8 +569,7 @@ const std::array<MatroskaTag, 2> streamRate = {MatroskaTag(0x1, "Xmp.video.Frame
return true;
}
} // namespace Internal
} // namespace Exiv2
} // namespace Exiv2::Internal
namespace Exiv2 {
@ -847,7 +845,7 @@ void MatroskaVideo::decodeDateTags(const MatroskaTag* tag, const byte* buf, size
case TimecodeScale:
if (!convertToUint64(buf, size, value))
return;
time_code_scale_ = (double)value / (double)1000000000;
time_code_scale_ = static_cast<double>(value) / static_cast<double>(1000000000);
xmpData_[tag->_label] = time_code_scale_;
break;
default:
@ -873,7 +871,7 @@ void MatroskaVideo::decodeFloatTags(const MatroskaTag* tag, const byte* buf, siz
if (internalMt) {
switch (stream_) {
case 1: // video
frame_rate = (double)1000000000 / (double)key;
frame_rate = static_cast<double>(1000000000) / static_cast<double>(key);
break;
case 2: // audio
frame_rate = static_cast<double>(key / 1000);
@ -893,11 +891,11 @@ void MatroskaVideo::decodeFloatTags(const MatroskaTag* tag, const byte* buf, siz
}
void MatroskaVideo::aspectRatio() {
double aspectRatio = (double)width_ / (double)height_;
double aspectRatio = static_cast<double>(width_) / static_cast<double>(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:
@ -930,22 +928,21 @@ void MatroskaVideo::aspectRatio() {
uint32_t MatroskaVideo::findBlockSize(byte b) {
if (b & 128)
return 1;
else if (b & 64)
if (b & 64)
return 2;
else if (b & 32)
if (b & 32)
return 3;
else if (b & 16)
if (b & 16)
return 4;
else if (b & 8)
if (b & 8)
return 5;
else if (b & 4)
if (b & 4)
return 6;
else if (b & 2)
if (b & 2)
return 7;
else if (b & 1)
if (b & 1)
return 8;
else
return 0;
return 0;
}
Image::UniquePtr newMkvInstance(BasicIo::UniquePtr io, bool /*create*/) {
@ -973,4 +970,4 @@ bool isMkvType(BasicIo& iIo, bool advance) {
return result;
}
} // namespace Exiv2
} // namespace Exiv2

@ -994,9 +994,9 @@ static void printFlashCompensationValue(std::ostream& os, const unsigned char va
float output = 0.0;
if (value < 128) {
if (value != 0)
output = float(value) * float(-1.0);
output = static_cast<float>(value) * static_cast<float>(-1.0);
} else {
output = float(256.0) - float(value);
output = static_cast<float>(256.0) - static_cast<float>(value);
}
os.precision(1);
if (value != 0)

@ -36,8 +36,7 @@
#include <string>
// *****************************************************************************
// class member definitions
namespace Exiv2 {
namespace Internal {
namespace Exiv2::Internal {
extern const TagVocabulary qTimeFileType[] = {
{"3g2a", "3GPP2 Media (.3G2) compliant with 3GPP2 C.S0050-0 V1.0"},
@ -465,8 +464,8 @@ bool ignoreList(Exiv2::DataBuf& buf) {
"mdat", "edts", "junk", "iods", "alis", "stsc", "stsz", "stco", "ctts", "stss", "skip", "wide", "cmvd",
};
for (int i = 0; i < 13; ++i)
if (equalsQTimeTag(buf, ignoreList[i]))
for (auto i : ignoreList)
if (equalsQTimeTag(buf, i))
return true;
return false;
@ -484,14 +483,13 @@ bool dataIgnoreList(Exiv2::DataBuf& buf) {
"moov", "mdia", "minf", "dinf", "alis", "stbl", "cmov", "meta",
};
for (int i = 0; i < 8; ++i)
if (equalsQTimeTag(buf, ignoreList[i]))
for (auto i : ignoreList)
if (equalsQTimeTag(buf, i))
return true;
return false;
}
} // namespace Internal
} // namespace Exiv2
} // namespace Exiv2::Internal
namespace Exiv2 {
@ -524,7 +522,7 @@ void QuickTimeVideo::readMetadata() {
continueTraversing_ = true;
height_ = width_ = 1;
xmpData_["Xmp.video.FileSize"] = (double)io_->size() / (double)1048576;
xmpData_["Xmp.video.FileSize"] = static_cast<double>(io_->size()) / static_cast<double>(1048576);
xmpData_["Xmp.video.MimeType"] = mimeType();
while (continueTraversing_)
@ -570,7 +568,7 @@ void QuickTimeVideo::decodeBlock(std::string const& entered_from) {
enforce(size - hdrsize <= std::numeric_limits<size_t>::max(), Exiv2::ErrorCode::kerCorruptedMetadata);
// std::cerr<<"Tag=>"<<buf.data()<<" size=>"<<size-hdrsize << std::endl;
const size_t newsize = static_cast<size_t>(size - hdrsize);
const auto newsize = static_cast<size_t>(size - hdrsize);
if (newsize > buf.size()) {
buf.resize(newsize);
}
@ -765,14 +763,16 @@ void QuickTimeVideo::CameraTagsDecoder(size_t size_external) {
io_->readOrThrow(buf.data(), 14);
xmpData_["Xmp.video.Model"] = Exiv2::toString(buf.data());
io_->readOrThrow(buf.data(), 4);
xmpData_["Xmp.video.ExposureTime"] = "1/" + Exiv2::toString(ceil(buf.read_uint32(0, littleEndian) / (double)10));
xmpData_["Xmp.video.ExposureTime"] =
"1/" + Exiv2::toString(ceil(buf.read_uint32(0, littleEndian) / static_cast<double>(10)));
io_->readOrThrow(buf.data(), 4);
io_->readOrThrow(buf2.data(), 4);
xmpData_["Xmp.video.FNumber"] = buf.read_uint32(0, littleEndian) / (double)buf2.read_uint32(0, littleEndian);
xmpData_["Xmp.video.FNumber"] =
buf.read_uint32(0, littleEndian) / static_cast<double>(buf2.read_uint32(0, littleEndian));
io_->readOrThrow(buf.data(), 4);
io_->readOrThrow(buf2.data(), 4);
xmpData_["Xmp.video.ExposureCompensation"] =
buf.read_uint32(0, littleEndian) / (double)buf2.read_uint32(0, littleEndian);
buf.read_uint32(0, littleEndian) / static_cast<double>(buf2.read_uint32(0, littleEndian));
io_->readOrThrow(buf.data(), 10);
io_->readOrThrow(buf.data(), 4);
td = find(whiteBalance, buf.read_uint32(0, littleEndian));
@ -780,7 +780,8 @@ void QuickTimeVideo::CameraTagsDecoder(size_t size_external) {
xmpData_["Xmp.video.WhiteBalance"] = exvGettext(td->label_);
io_->readOrThrow(buf.data(), 4);
io_->readOrThrow(buf2.data(), 4);
xmpData_["Xmp.video.FocalLength"] = buf.read_uint32(0, littleEndian) / (double)buf2.read_uint32(0, littleEndian);
xmpData_["Xmp.video.FocalLength"] =
buf.read_uint32(0, littleEndian) / static_cast<double>(buf2.read_uint32(0, littleEndian));
io_->seek(static_cast<long>(95), BasicIo::cur);
io_->readOrThrow(buf.data(), 48);
buf.write_uint8(48, 0);
@ -820,7 +821,7 @@ void QuickTimeVideo::userDataDecoder(size_t size_external) {
if (size <= 12)
break;
else if (equalsQTimeTag(buf, "DcMD") || equalsQTimeTag(buf, "NCDT"))
if (equalsQTimeTag(buf, "DcMD") || equalsQTimeTag(buf, "NCDT"))
userDataDecoder(size - 8);
else if (equalsQTimeTag(buf, "NCTG"))
@ -892,64 +893,64 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size_external) {
std::memset(buf.data(), 0x0, buf.size());
io_->readOrThrow(buf.data(), 1);
td2 = find(PictureControlAdjust, (int)buf.data()[0] & 7);
td2 = find(PictureControlAdjust, static_cast<int>(buf.data()[0]) & 7);
if (td2)
xmpData_["Xmp.video.PictureControlAdjust"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.PictureControlAdjust"] = (int)buf.data()[0] & 7;
xmpData_["Xmp.video.PictureControlAdjust"] = static_cast<int>(buf.data()[0]) & 7;
io_->readOrThrow(buf.data(), 1);
td2 = find(NormalSoftHard, (int)buf.data()[0] & 7);
td2 = find(NormalSoftHard, static_cast<int>(buf.data()[0]) & 7);
if (td2)
xmpData_["Xmp.video.PictureControlQuickAdjust"] = exvGettext(td2->label_);
io_->readOrThrow(buf.data(), 1);
td2 = find(NormalSoftHard, (int)buf.data()[0] & 7);
td2 = find(NormalSoftHard, static_cast<int>(buf.data()[0]) & 7);
if (td2)
xmpData_["Xmp.video.Sharpness"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.Sharpness"] = (int)buf.data()[0] & 7;
xmpData_["Xmp.video.Sharpness"] = static_cast<int>(buf.data()[0]) & 7;
io_->readOrThrow(buf.data(), 1);
td2 = find(NormalSoftHard, (int)buf.data()[0] & 7);
td2 = find(NormalSoftHard, static_cast<int>(buf.data()[0]) & 7);
if (td2)
xmpData_["Xmp.video.Contrast"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.Contrast"] = (int)buf.data()[0] & 7;
xmpData_["Xmp.video.Contrast"] = static_cast<int>(buf.data()[0]) & 7;
io_->readOrThrow(buf.data(), 1);
td2 = find(NormalSoftHard, (int)buf.data()[0] & 7);
td2 = find(NormalSoftHard, static_cast<int>(buf.data()[0]) & 7);
if (td2)
xmpData_["Xmp.video.Brightness"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.Brightness"] = (int)buf.data()[0] & 7;
xmpData_["Xmp.video.Brightness"] = static_cast<int>(buf.data()[0]) & 7;
io_->readOrThrow(buf.data(), 1);
td2 = find(Saturation, (int)buf.data()[0] & 7);
td2 = find(Saturation, static_cast<int>(buf.data()[0]) & 7);
if (td2)
xmpData_["Xmp.video.Saturation"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.Saturation"] = (int)buf.data()[0] & 7;
xmpData_["Xmp.video.Saturation"] = static_cast<int>(buf.data()[0]) & 7;
io_->readOrThrow(buf.data(), 1);
xmpData_["Xmp.video.HueAdjustment"] = (int)buf.data()[0] & 7;
xmpData_["Xmp.video.HueAdjustment"] = static_cast<int>(buf.data()[0]) & 7;
io_->readOrThrow(buf.data(), 1);
td2 = find(FilterEffect, (int)buf.data()[0]);
td2 = find(FilterEffect, static_cast<int>(buf.data()[0]));
if (td2)
xmpData_["Xmp.video.FilterEffect"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.FilterEffect"] = (int)buf.data()[0];
xmpData_["Xmp.video.FilterEffect"] = static_cast<int>(buf.data()[0]);
io_->readOrThrow(buf.data(), 1);
td2 = find(ToningEffect, (int)buf.data()[0]);
td2 = find(ToningEffect, static_cast<int>(buf.data()[0]));
if (td2)
xmpData_["Xmp.video.ToningEffect"] = exvGettext(td2->label_);
else
xmpData_["Xmp.video.ToningEffect"] = (int)buf.data()[0];
xmpData_["Xmp.video.ToningEffect"] = static_cast<int>(buf.data()[0]);
io_->readOrThrow(buf.data(), 1);
xmpData_["Xmp.video.ToningSaturation"] = (int)buf.data()[0];
xmpData_["Xmp.video.ToningSaturation"] = static_cast<int>(buf.data()[0]);
io_->seek(local_pos + dataLength, BasicIo::beg);
}
@ -962,12 +963,12 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size_external) {
io_->readOrThrow(buf.data(), 2);
xmpData_["Xmp.video.TimeZone"] = Exiv2::getShort(buf.data(), bigEndian);
io_->readOrThrow(buf.data(), 1);
td2 = find(YesNo, (int)buf.data()[0]);
td2 = find(YesNo, static_cast<int>(buf.data()[0]));
if (td2)
xmpData_["Xmp.video.DayLightSavings"] = exvGettext(td2->label_);
io_->readOrThrow(buf.data(), 1);
td2 = find(DateDisplayFormat, (int)buf.data()[0]);
td2 = find(DateDisplayFormat, static_cast<int>(buf.data()[0]));
if (td2)
xmpData_["Xmp.video.DateDisplayFormat"] = exvGettext(td2->label_);
@ -1030,8 +1031,8 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size_external) {
io_->readOrThrow(buf.data(), 4);
io_->readOrThrow(buf2.data(), 4);
if (td)
xmpData_[exvGettext(td->label_)] =
Exiv2::toString((double)buf.read_uint32(0, bigEndian) / (double)buf2.read_uint32(0, bigEndian));
xmpData_[exvGettext(td->label_)] = Exiv2::toString(static_cast<double>(buf.read_uint32(0, bigEndian)) /
static_cast<double>(buf2.read_uint32(0, bigEndian)));
// Sanity check with an "unreasonably" large number
if (dataLength > 200 || dataLength < 8) {
@ -1107,7 +1108,8 @@ void QuickTimeVideo::timeToSampleDecoder() {
timeOfFrames = Safe::add(timeOfFrames, temp * buf.read_uint32(0, bigEndian));
}
if (currentStream_ == Video)
xmpData_["Xmp.video.FrameRate"] = (double)totalframes * (double)timeScale_ / (double)timeOfFrames;
xmpData_["Xmp.video.FrameRate"] =
static_cast<double>(totalframes) * static_cast<double>(timeScale_) / static_cast<double>(timeOfFrames);
} // QuickTimeVideo::timeToSampleDecoder
void QuickTimeVideo::sampleDesc(size_t size) {
@ -1537,11 +1539,11 @@ void QuickTimeVideo::movieHeaderDecoder(size_t size) {
void QuickTimeVideo::aspectRatio() {
// TODO - Make a better unified method to handle all cases of Aspect Ratio
double aspectRatio = (double)width_ / (double)height_;
double aspectRatio = static_cast<double>(width_) / static_cast<double>(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:

@ -1034,8 +1034,8 @@ std::ostream& SonyMakerNote::printWBShiftABGMPrecise(std::ostream& os, const Val
}
std::ios::fmtflags f(os.flags());
const auto temp0 = static_cast<double>(value.toInt64(0)) / double(1000.0);
const auto temp1 = static_cast<double>(value.toInt64(1)) / double(1000.0);
const auto temp0 = static_cast<double>(value.toInt64(0)) / (1000.0);
const auto temp1 = static_cast<double>(value.toInt64(1)) / (1000.0);
os << "A/B: ";
if (temp0 == 0) {
@ -1067,7 +1067,7 @@ std::ostream& SonyMakerNote::printExposureStandardAdjustment(std::ostream& os, c
std::ios::fmtflags f(os.flags());
const auto [r, s] = value.toRational();
os << std::fixed << std::setprecision(1) << (double(r) / double(s));
os << std::fixed << std::setprecision(1) << (static_cast<double>(r) / static_cast<double>(s));
os.flags(f);
return os;

@ -51,7 +51,7 @@ struct StringTagDetails {
bool operator==(const char* key) const {
return (strcmp(val_, key) == 0);
}
bool operator==(const std::string key) const {
bool operator==(const std::string& key) const {
return (key == val_);
}
}; // struct TagDetails

Loading…
Cancel
Save