message: vertexcodec: Tighten the decode group size
  Right now we are assuming that decoding a byte group reads at most 32b
  from a stream - however, the actual limit is 16b.
  This change adjusts that accordingly but keeps the tail size as is for
  now; adjusting this is a bit more complex.
diff: @@ -99,6 +99,7 @@ const unsigned char kVertexHeader = 0xa0;
  const size_t kVertexBlockSizeBytes = 8192;
  const size_t kVertexBlockMaxSize = 256;
  const size_t kByteGroupSize = 16;
  +const size_t kByteGroupDecodeLimit = 24;
  const size_t kTailMaxSize = 32;
  static size_t getVertexBlockSize(size_t vertex_size)
  @@ -229,7 +230,7 @@ static unsigned char* encodeBytes(unsigned char* data, unsigned char* data_end,
  for (size_t i = 0; i < buffer_size; i += kByteGroupSize)
  {
  - if (size_t(data_end - data) < kTailMaxSize)
  + if (size_t(data_end - data) < kByteGroupDecodeLimit)
  return 0;
  int best_bits = 8;
  @@ -382,7 +383,7 @@ static const unsigned char* decodeBytes(const unsigned char* data, const unsigne
  for (size_t i = 0; i < buffer_size; i += kByteGroupSize)
  {
  - if (size_t(data_end - data) < kTailMaxSize)
  + if (size_t(data_end - data) < kByteGroupDecodeLimit)
  return 0;
  size_t header_offset = i / kByteGroupSize;
  @@ -932,8 +933,8 @@ static const unsigned char* decodeBytesSimd(const unsigned char* data, const uns
  size_t i = 0;
  - // fast-path: process 4 groups at a time, do a shared bounds check - each group reads <=32b
  - for (; i + kByteGroupSize * 4 <= buffer_size && size_t(data_end - data) >= kTailMaxSize * 4; i += kByteGroupSize * 4)
  + // fast-path: process 4 groups at a time, do a shared bounds check - each group reads <=24b
  + for (; i + kByteGroupSize * 4 <= buffer_size && size_t(data_end - data) >= kByteGroupDecodeLimit * 4; i += kByteGroupSize * 4)
  {
  size_t header_offset = i / kByteGroupSize;
  unsigned char header_byte = header[header_offset / 4];
  @@ -947,7 +948,7 @@ static const unsigned char* decodeBytesSimd(const unsigned char* data, const uns
  // slow-path: process remaining groups
  for (; i < buffer_size; i += kByteGroupSize)
  {
  - if (size_t(data_end - data) < kTailMaxSize)
  + if (size_t(data_end - data) < kByteGroupDecodeLimit)
  return 0;
  size_t header_offset = i / kByteGroupSize;
  