diff options
Diffstat (limited to 'extern/draco/draco/src/draco/compression/attributes/kd_tree_attributes_decoder.cc')
-rw-r--r-- | extern/draco/draco/src/draco/compression/attributes/kd_tree_attributes_decoder.cc | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/extern/draco/draco/src/draco/compression/attributes/kd_tree_attributes_decoder.cc b/extern/draco/draco/src/draco/compression/attributes/kd_tree_attributes_decoder.cc index 99469f94590..c7c96d77007 100644 --- a/extern/draco/draco/src/draco/compression/attributes/kd_tree_attributes_decoder.cc +++ b/extern/draco/draco/src/draco/compression/attributes/kd_tree_attributes_decoder.cc @@ -72,7 +72,7 @@ class PointAttributeVectorOutputIterator { Self &operator*() { return *this; } // Still needed in some cases. - // TODO(hemmer): remove. + // TODO(b/199760123): Remove. // hardcoded to 3 based on legacy usage. const Self &operator=(const VectorD<CoeffT, 3> &val) { DRACO_DCHECK_EQ(attributes_.size(), 1); // Expect only ONE attribute. @@ -278,8 +278,10 @@ bool KdTreeAttributesDecoder::DecodeDataNeededByPortableTransforms( return false; } AttributeQuantizationTransform transform; - transform.SetParameters(quantization_bits, min_value.data(), - num_components, max_value_dif); + if (!transform.SetParameters(quantization_bits, min_value.data(), + num_components, max_value_dif)) { + return false; + } const int num_transforms = static_cast<int>(attribute_quantization_transforms_.size()); if (!transform.TransferToAttribute( @@ -293,7 +295,9 @@ bool KdTreeAttributesDecoder::DecodeDataNeededByPortableTransforms( // Decode transform data for signed integer attributes. for (int i = 0; i < min_signed_values_.size(); ++i) { int32_t val; - DecodeVarint(&val, in_buffer); + if (!DecodeVarint(&val, in_buffer)) { + return false; + } min_signed_values_[i] = val; } return true; @@ -353,8 +357,9 @@ bool KdTreeAttributesDecoder::DecodeDataNeededByPortableTransforms( return false; } if (6 < compression_level) { - LOGE("KdTreeAttributesDecoder: compression level %i not supported.\n", - compression_level); + DRACO_LOGE( + "KdTreeAttributesDecoder: compression level %i not supported.\n", + compression_level); return false; } @@ -371,7 +376,7 @@ bool KdTreeAttributesDecoder::DecodeDataNeededByPortableTransforms( GetDecoder()->point_cloud()->attribute(att_id); attr->Reset(num_points); attr->SetIdentityMapping(); - }; + } PointAttributeVectorOutputIterator<uint32_t> out_it(atts); |