@@ -629,7 +629,7 @@ static std::string readString(BasicIo& io, size_t size) {
629
629
Exiv2::DataBuf str (size + 1 );
630
630
io.readOrThrow (str.data (), size);
631
631
str.write_uint8 (size, 0 ); // nul-terminate string
632
- return Exiv2::toString (str.data ());
632
+ return reinterpret_cast < const char *> (str.data ());
633
633
}
634
634
635
635
void QuickTimeVideo::tagDecoder (Exiv2::DataBuf& buf, size_t size, size_t recursion_depth) {
@@ -640,7 +640,7 @@ void QuickTimeVideo::tagDecoder(Exiv2::DataBuf& buf, size_t size, size_t recursi
640
640
discard (size);
641
641
642
642
else if (dataIgnoreList (buf)) {
643
- decodeBlock (recursion_depth + 1 , Exiv2::toString (buf.data ()));
643
+ decodeBlock (recursion_depth + 1 , reinterpret_cast < const char *> (buf.data ()));
644
644
} else if (equalsQTimeTag (buf, " ftyp" ))
645
645
fileTypeDecoder (size);
646
646
@@ -766,35 +766,35 @@ void QuickTimeVideo::trackApertureTagDecoder(size_t size) {
766
766
io_->readOrThrow (buf.data (), 2 );
767
767
io_->readOrThrow (buf2.data (), 2 );
768
768
xmpData_[" Xmp.video.CleanApertureWidth" ] =
769
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " . " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
769
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
770
770
io_->readOrThrow (buf.data (), 2 );
771
771
io_->readOrThrow (buf2.data (), 2 );
772
772
xmpData_[" Xmp.video.CleanApertureHeight" ] =
773
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " . " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
773
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
774
774
}
775
775
776
776
else if (equalsQTimeTag (buf, " prof" )) {
777
777
io_->seek (4L , BasicIo::cur);
778
778
io_->readOrThrow (buf.data (), 2 );
779
779
io_->readOrThrow (buf2.data (), 2 );
780
780
xmpData_[" Xmp.video.ProductionApertureWidth" ] =
781
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " . " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
781
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
782
782
io_->readOrThrow (buf.data (), 2 );
783
783
io_->readOrThrow (buf2.data (), 2 );
784
784
xmpData_[" Xmp.video.ProductionApertureHeight" ] =
785
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " . " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
785
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
786
786
}
787
787
788
788
else if (equalsQTimeTag (buf, " enof" )) {
789
789
io_->seek (4L , BasicIo::cur);
790
790
io_->readOrThrow (buf.data (), 2 );
791
791
io_->readOrThrow (buf2.data (), 2 );
792
792
xmpData_[" Xmp.video.EncodedPixelsWidth" ] =
793
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " . " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
793
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
794
794
io_->readOrThrow (buf.data (), 2 );
795
795
io_->readOrThrow (buf2.data (), 2 );
796
796
xmpData_[" Xmp.video.EncodedPixelsHeight" ] =
797
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " . " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
797
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
798
798
}
799
799
}
800
800
io_->seek (cur_pos + size, BasicIo::beg);
@@ -810,11 +810,11 @@ void QuickTimeVideo::CameraTagsDecoder(size_t size) {
810
810
io_->seek (cur_pos, BasicIo::beg);
811
811
812
812
io_->readOrThrow (buf.data (), 24 );
813
- xmpData_[" Xmp.video.Make" ] = Exiv2::toString ( buf.data () );
813
+ xmpData_[" Xmp.video.Make" ] = buf.data ();
814
814
io_->readOrThrow (buf.data (), 14 );
815
- xmpData_[" Xmp.video.Model" ] = Exiv2::toString ( buf.data () );
815
+ xmpData_[" Xmp.video.Model" ] = buf.data ();
816
816
io_->readOrThrow (buf.data (), 4 );
817
- xmpData_[" Xmp.video.ExposureTime" ] = " 1/" + Exiv2::toString ( ceil (buf.read_uint32 (0 , littleEndian) / 10.0 ));
817
+ xmpData_[" Xmp.video.ExposureTime" ] = stringFormat ( " 1/{} " , std:: ceil (buf.read_uint32 (0 , littleEndian) / 10.0 ));
818
818
io_->readOrThrow (buf.data (), 4 );
819
819
io_->readOrThrow (buf2.data (), 4 );
820
820
xmpData_[" Xmp.video.FNumber" ] =
@@ -834,7 +834,7 @@ void QuickTimeVideo::CameraTagsDecoder(size_t size) {
834
834
io_->seek (95L , BasicIo::cur);
835
835
io_->readOrThrow (buf.data (), 48 );
836
836
buf.write_uint8 (48 , 0 );
837
- xmpData_[" Xmp.video.Software" ] = Exiv2::toString ( buf.data () );
837
+ xmpData_[" Xmp.video.Software" ] = buf.data ();
838
838
io_->readOrThrow (buf.data (), 4 );
839
839
xmpData_[" Xmp.video.ISO" ] = buf.read_uint32 (0 , littleEndian);
840
840
}
@@ -865,9 +865,9 @@ void QuickTimeVideo::userDataDecoder(size_t outer_size, size_t recursion_depth)
865
865
866
866
if (buf.data ()[0 ] == 169 )
867
867
buf.data ()[0 ] = ' ' ;
868
- td = Exiv2::find (userDatatags, Exiv2::toString (buf.data ()));
868
+ td = Exiv2::find (userDatatags, reinterpret_cast < const char *> (buf.data ()));
869
869
870
- tv = Exiv2::find (userDataReferencetags, Exiv2::toString (buf.data ()));
870
+ tv = Exiv2::find (userDataReferencetags, reinterpret_cast < const char *> (buf.data ()));
871
871
872
872
if (size <= 12 )
873
873
break ;
@@ -891,12 +891,12 @@ void QuickTimeVideo::userDataDecoder(size_t outer_size, size_t recursion_depth)
891
891
enforce (tv, Exiv2::ErrorCode::kerCorruptedMetadata);
892
892
io_->readOrThrow (buf.data (), 2 );
893
893
buf.data ()[2 ] = ' \0 ' ;
894
- tv_internal = Exiv2::find (cameraByteOrderTags, Exiv2::toString (buf.data ()));
894
+ tv_internal = Exiv2::find (cameraByteOrderTags, reinterpret_cast < const char *> (buf.data ()));
895
895
896
896
if (tv_internal)
897
897
xmpData_[exvGettext (tv->label_ )] = exvGettext (tv_internal->label_ );
898
898
else
899
- xmpData_[exvGettext (tv->label_ )] = Exiv2::toString ( buf.data () );
899
+ xmpData_[exvGettext (tv->label_ )] = buf.data ();
900
900
}
901
901
902
902
else if (tv) {
@@ -938,11 +938,11 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size) {
938
938
std::memset (buf.data (), 0x0 , buf.size ());
939
939
940
940
io_->readOrThrow (buf.data (), 4 );
941
- xmpData_[" Xmp.video.PictureControlVersion" ] = Exiv2::toString ( buf.data () );
941
+ xmpData_[" Xmp.video.PictureControlVersion" ] = buf.data ();
942
942
io_->readOrThrow (buf.data (), 20 );
943
- xmpData_[" Xmp.video.PictureControlName" ] = Exiv2::toString ( buf.data () );
943
+ xmpData_[" Xmp.video.PictureControlName" ] = buf.data ();
944
944
io_->readOrThrow (buf.data (), 20 );
945
- xmpData_[" Xmp.video.PictureControlBase" ] = Exiv2::toString ( buf.data () );
945
+ xmpData_[" Xmp.video.PictureControlBase" ] = buf.data ();
946
946
io_->readOrThrow (buf.data (), 4 );
947
947
std::memset (buf.data (), 0x0 , buf.size ());
948
948
@@ -1047,14 +1047,14 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size) {
1047
1047
}
1048
1048
1049
1049
if (td) {
1050
- xmpData_[exvGettext (td->label_ )] = Exiv2::toString ( buf.data () );
1050
+ xmpData_[exvGettext (td->label_ )] = buf.data ();
1051
1051
}
1052
1052
} else if (dataType == 4 ) {
1053
1053
dataLength = buf.read_uint16 (0 , bigEndian) * 4 ;
1054
1054
std::memset (buf.data (), 0x0 , buf.size ());
1055
1055
io_->readOrThrow (buf.data (), 4 );
1056
1056
if (td)
1057
- xmpData_[exvGettext (td->label_ )] = Exiv2::toString ( buf.read_uint32 (0 , bigEndian) );
1057
+ xmpData_[exvGettext (td->label_ )] = buf.read_uint32 (0 , bigEndian);
1058
1058
1059
1059
// Sanity check with an "unreasonably" large number
1060
1060
if (dataLength > 200 || dataLength < 4 ) {
@@ -1070,7 +1070,7 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size) {
1070
1070
std::memset (buf.data (), 0x0 , buf.size ());
1071
1071
io_->readOrThrow (buf.data (), 2 );
1072
1072
if (td)
1073
- xmpData_[exvGettext (td->label_ )] = Exiv2::toString ( buf.read_uint16 (0 , bigEndian) );
1073
+ xmpData_[exvGettext (td->label_ )] = buf.read_uint16 (0 , bigEndian);
1074
1074
1075
1075
// Sanity check with an "unreasonably" large number
1076
1076
if (dataLength > 200 || dataLength < 2 ) {
@@ -1087,8 +1087,8 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size) {
1087
1087
io_->readOrThrow (buf.data (), 4 );
1088
1088
io_->readOrThrow (buf2.data (), 4 );
1089
1089
if (td)
1090
- xmpData_[exvGettext (td->label_ )] = Exiv2::toString ( static_cast < double >(buf. read_uint32 ( 0 , bigEndian)) /
1091
- static_cast <double >(buf2.read_uint32 (0 , bigEndian) ));
1090
+ xmpData_[exvGettext (td->label_ )] =
1091
+ static_cast < double >(buf. read_uint32 ( 0 , bigEndian)) / static_cast <double >(buf2.read_uint32 (0 , bigEndian));
1092
1092
1093
1093
// Sanity check with an "unreasonably" large number
1094
1094
if (dataLength > 200 || dataLength < 8 ) {
@@ -1106,7 +1106,7 @@ void QuickTimeVideo::NikonTagsDecoder(size_t size) {
1106
1106
io_->readOrThrow (buf2.data (), 2 );
1107
1107
if (td)
1108
1108
xmpData_[exvGettext (td->label_ )] =
1109
- Exiv2::toString ( buf.read_uint16 (0 , bigEndian)) + " " + Exiv2::toString ( buf2.read_uint16 (0 , bigEndian));
1109
+ stringFormat ( " {}.{} " , buf.read_uint16 (0 , bigEndian), buf2.read_uint16 (0 , bigEndian));
1110
1110
1111
1111
// Sanity check with an "unreasonably" large number
1112
1112
if (dataLength > 200 || dataLength < 4 ) {
@@ -1203,14 +1203,14 @@ void QuickTimeVideo::audioDescDecoder() {
1203
1203
io_->readOrThrow (buf.data (), 4 );
1204
1204
switch (i) {
1205
1205
case AudioFormat:
1206
- td = Exiv2::find (qTimeFileType, Exiv2::toString (buf.data ()));
1206
+ td = Exiv2::find (qTimeFileType, reinterpret_cast < const char *> (buf.data ()));
1207
1207
if (td)
1208
1208
xmpData_[" Xmp.audio.Compressor" ] = exvGettext (td->label_ );
1209
1209
else
1210
- xmpData_[" Xmp.audio.Compressor" ] = Exiv2::toString ( buf.data () );
1210
+ xmpData_[" Xmp.audio.Compressor" ] = buf.data ();
1211
1211
break ;
1212
1212
case AudioVendorID:
1213
- td = Exiv2::find (vendorIDTags, Exiv2::toString (buf.data ()));
1213
+ td = Exiv2::find (vendorIDTags, reinterpret_cast < const char *> (buf.data ()));
1214
1214
if (td)
1215
1215
xmpData_[" Xmp.audio.VendorID" ] = exvGettext (td->label_ );
1216
1216
break ;
@@ -1243,14 +1243,14 @@ void QuickTimeVideo::imageDescDecoder() {
1243
1243
1244
1244
switch (i) {
1245
1245
case codec:
1246
- td = Exiv2::find (qTimeFileType, Exiv2::toString (buf.data ()));
1246
+ td = Exiv2::find (qTimeFileType, reinterpret_cast < const char *> (buf.data ()));
1247
1247
if (td)
1248
1248
xmpData_[" Xmp.video.Codec" ] = exvGettext (td->label_ );
1249
1249
else
1250
- xmpData_[" Xmp.video.Codec" ] = Exiv2::toString ( buf.data () );
1250
+ xmpData_[" Xmp.video.Codec" ] = buf.data ();
1251
1251
break ;
1252
1252
case VendorID:
1253
- td = Exiv2::find (vendorIDTags, Exiv2::toString (buf.data ()));
1253
+ td = Exiv2::find (vendorIDTags, reinterpret_cast < const char *> (buf.data ()));
1254
1254
if (td)
1255
1255
xmpData_[" Xmp.video.VendorID" ] = exvGettext (td->label_ );
1256
1256
break ;
@@ -1271,7 +1271,7 @@ void QuickTimeVideo::imageDescDecoder() {
1271
1271
case CompressorName:
1272
1272
io_->readOrThrow (buf.data (), 32 );
1273
1273
size -= 32 ;
1274
- xmpData_[" Xmp.video.Compressor" ] = Exiv2::toString ( buf.data () );
1274
+ xmpData_[" Xmp.video.Compressor" ] = buf.data ();
1275
1275
break ;
1276
1276
default :
1277
1277
break ;
@@ -1335,7 +1335,7 @@ void QuickTimeVideo::handlerDecoder(size_t size) {
1335
1335
1336
1336
switch (i) {
1337
1337
case HandlerClass:
1338
- tv = Exiv2::find (handlerClassTags, Exiv2::toString (buf.data ()));
1338
+ tv = Exiv2::find (handlerClassTags, reinterpret_cast < const char *> (buf.data ()));
1339
1339
if (tv) {
1340
1340
if (currentStream_ == Video)
1341
1341
xmpData_[" Xmp.video.HandlerClass" ] = exvGettext (tv->label_ );
@@ -1344,7 +1344,7 @@ void QuickTimeVideo::handlerDecoder(size_t size) {
1344
1344
}
1345
1345
break ;
1346
1346
case HandlerType:
1347
- tv = Exiv2::find (handlerTypeTags, Exiv2::toString (buf.data ()));
1347
+ tv = Exiv2::find (handlerTypeTags, reinterpret_cast < const char *> (buf.data ()));
1348
1348
if (tv) {
1349
1349
if (currentStream_ == Video)
1350
1350
xmpData_[" Xmp.video.HandlerType" ] = exvGettext (tv->label_ );
@@ -1353,7 +1353,7 @@ void QuickTimeVideo::handlerDecoder(size_t size) {
1353
1353
}
1354
1354
break ;
1355
1355
case HandlerVendorID:
1356
- tv = Exiv2::find (vendorIDTags, Exiv2::toString (buf.data ()));
1356
+ tv = Exiv2::find (vendorIDTags, reinterpret_cast < const char *> (buf.data ()));
1357
1357
if (tv) {
1358
1358
if (currentStream_ == Video)
1359
1359
xmpData_[" Xmp.video.HandlerVendorID" ] = exvGettext (tv->label_ );
@@ -1375,7 +1375,7 @@ void QuickTimeVideo::fileTypeDecoder(size_t size) {
1375
1375
1376
1376
for (int i = 0 ; size / 4 != 0 ; size -= 4 , i++) {
1377
1377
io_->readOrThrow (buf.data (), 4 );
1378
- td = Exiv2::find (qTimeFileType, Exiv2::toString (buf.data ()));
1378
+ td = Exiv2::find (qTimeFileType, reinterpret_cast < const char *> (buf.data ()));
1379
1379
1380
1380
switch (i) {
1381
1381
case 0 :
@@ -1389,7 +1389,7 @@ void QuickTimeVideo::fileTypeDecoder(size_t size) {
1389
1389
if (td)
1390
1390
v->read (exvGettext (td->label_ ));
1391
1391
else
1392
- v->read (Exiv2::toString (buf.data ()));
1392
+ v->read (reinterpret_cast < const char *> (buf.data ()));
1393
1393
break ;
1394
1394
}
1395
1395
}
0 commit comments