1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 00:03:03 +04:00

Support 32-bit unsigned type for FileStorage Base64

This commit is contained in:
MaximSmolskiy
2025-02-06 21:13:34 +03:00
parent 8badff598e
commit 1623576a88
5 changed files with 42 additions and 4 deletions
+3
View File
@@ -1882,6 +1882,9 @@ char *FileStorage::Impl::parseBase64(char *ptr, int indent, FileNode &collection
case CV_16S:
ival = (short) base64decoder.getUInt16();
break;
case CV_32U:
ival = base64decoder.getInt32();
break;
case CV_32S:
ival = base64decoder.getInt32();
break;
@@ -206,6 +206,7 @@ int base64::icvCalcStructSize(const char *dt, int initial_size) {
case 'w': { elem_max_size = std::max( elem_max_size, sizeof(ushort) ); break; }
case 's': { elem_max_size = std::max( elem_max_size, sizeof(short ) ); break; }
case 'i': { elem_max_size = std::max( elem_max_size, sizeof(int ) ); break; }
case 'n': { elem_max_size = std::max( elem_max_size, sizeof(unsigned) ); break; }
case 'f': { elem_max_size = std::max( elem_max_size, sizeof(float ) ); break; }
case 'd': { elem_max_size = std::max( elem_max_size, sizeof(double) ); break; }
case 'I': { elem_max_size = std::max( elem_max_size, sizeof(int64_t)); break; }
@@ -337,6 +338,7 @@ size_t base64::RawDataToBinaryConvertor::make_to_binary_funcs(const std::string
size = sizeof(ushort);
pack.func = to_binary<ushort>;
break;
case 'n':
case 'i':
size = sizeof(uint);
pack.func = to_binary<uint>;