mlw_codec: Fixed alignment warning

- Restructured pointer API to prevent alignment warnings
- Changed weight tensor data type to np.int16

Change-Id: I310c1ca733bf98724c84e8b2194becb4be3e7eea
diff --git a/ethosu/mlw_codec/mlw_encode.c b/ethosu/mlw_codec/mlw_encode.c
index cac5e98..02e9253 100644
--- a/ethosu/mlw_codec/mlw_encode.c
+++ b/ethosu/mlw_codec/mlw_encode.c
@@ -898,21 +898,21 @@
 
 struct brick_buf_s
 {
-    uint8_t* buf;
+    int16_t* buf;
     int* strides;
 };
 typedef struct brick_buf_s brick_buf_t;
 
 static int16_t get_brick_weight(brick_buf_t* buf, int ofm_z, int wy, int wx, int ifm_z)
 {
-    uint8_t* p = buf->buf;
+    int16_t* p = buf->buf;
 
     p += ofm_z * buf->strides[0];
     p += wy * buf->strides[1];
     p += wx * buf->strides[2];
     p += ifm_z * buf->strides[3];
 
-    return *(int16_t*)p;
+    return *p;
 }
 
 static void reorder_free(int16_t* buf)
@@ -931,7 +931,7 @@
     int kernel_width,
     int ifm_depth,
     int* strides,
-    void* inbuf,
+    int16_t* inbuf,
     int ofm_block_depth,
     int is_depthwise,
     int is_partkernel,
@@ -1070,7 +1070,7 @@
     int kernel_width,
     int ifm_depth,
     int* brick_strides,
-    void* inbuf,
+    int16_t* inbuf,
     int ofm_block_depth,
     int is_depthwise,
     int is_partkernel,