Some additions to aos/vision/blob (transpose and move_scale).
Change-Id: I927144e27d0494f3ea879ebbd1647741f82e3c7b
diff --git a/aos/vision/blob/codec.h b/aos/vision/blob/codec.h
index c2bc30d..b8a8089 100644
--- a/aos/vision/blob/codec.h
+++ b/aos/vision/blob/codec.h
@@ -12,11 +12,12 @@
struct IntCodec {
static constexpr size_t kSize = sizeof(T);
static inline char *Write(char *data, T ival) {
- *(reinterpret_cast<T *>(data)) = ival;
+ memcpy(data, &ival, sizeof(T));
return data + kSize;
}
static inline T Read(const char **data) {
- auto datum = *(reinterpret_cast<const T *>(*data));
+ T datum;
+ memcpy(&datum, *data, sizeof(T));
*data += kSize;
return datum;
}