diff --git a/docs/spec/04.00.00.conventions.md b/docs/spec/04.00.00.conventions.md index 1935c41..8179c58 100644 --- a/docs/spec/04.00.00.conventions.md +++ b/docs/spec/04.00.00.conventions.md @@ -71,6 +71,9 @@ byte. * All values of att_metadata_id must equal a value stored in att_dec_unique_id. +* When parsing a value, that value can be assigned to a variable after the value has been parsed. + * E.g. sz = buffer_size varUI32 + * buffer UI8[sz] ### General Conventions diff --git a/docs/spec/edgebreaker.traversal.md b/docs/spec/edgebreaker.traversal.md index c97529e..a994c4c 100644 --- a/docs/spec/edgebreaker.traversal.md +++ b/docs/spec/edgebreaker.traversal.md @@ -5,8 +5,8 @@ ~~~~~ void ParseEdgebreakerTraversalStandardSymbolData() { - eb_symbol_buffer_size varUI64 - eb_symbol_buffer size * UI8 + sz = eb_symbol_buffer_size varUI64 + eb_symbol_buffer UI8[sz] } ~~~~~ {:.draco-syntax } @@ -17,8 +17,8 @@ void ParseEdgebreakerTraversalStandardSymbolData() { ~~~~~ void ParseEdgebreakerTraversalStandardFaceData() { eb_start_face_buffer_prob_zero UI8 - eb_start_face_buffer_size varUI32 - eb_start_face_buffer size * UI8 + sz = eb_start_face_buffer_size varUI32 + eb_start_face_buffer UI8[sz] } ~~~~~ {:.draco-syntax } @@ -30,8 +30,8 @@ void ParseEdgebreakerTraversalStandardFaceData() { void ParseEdgebreakerTraversalStandardAttributeConnectivityData() { for (i = 0; i < num_attribute_data; ++i) { attribute_connectivity_decoders_prob_zero[i] UI8 - attribute_connectivity_decoders_size[i] varUI32 - attribute_connectivity_decoders_buffer[i] size * UI8 + sz = attribute_connectivity_decoders_size[i] varUI32 + attribute_connectivity_decoders_buffer[i] UI8[sz] } } ~~~~~ diff --git a/docs/spec/metadata.decoder.md b/docs/spec/metadata.decoder.md index 9ef9895..409b758 100644 --- a/docs/spec/metadata.decoder.md +++ b/docs/spec/metadata.decoder.md @@ -42,10 +42,10 @@ void ParseAttributeMetadataId(index) { void ParseMetadataElement(metadata) { metadata.num_entries varUI32 for (i = 0; i < metadata.num_entries; ++i) { - metadata.key_size[i] UI8 - metadata.key[i] I8[size] - metadata.value_size[i] UI8 - metadata.value[i] I8[size] + sz = metadata.key_size[i] UI8 + metadata.key[i] I8[sz] + sz = metadata.value_size[i] UI8 + metadata.value[i] I8[sz] } metadata.num_sub_metadata varUI32 } @@ -57,8 +57,8 @@ void ParseMetadataElement(metadata) { ~~~~~ void ParseSubMetadataKey(metadata, index) { - metadata.sub_metadata_key_size[index] UI8 - metadata.sub_metadata_key[index] I8[size] + sz = metadata.sub_metadata_key_size[index] UI8 + metadata.sub_metadata_key[index] I8[sz] } ~~~~~ {:.draco-syntax} diff --git a/docs/spec/rans.decoding.md b/docs/spec/rans.decoding.md index 5b7f6e4..aacba84 100644 --- a/docs/spec/rans.decoding.md +++ b/docs/spec/rans.decoding.md @@ -51,15 +51,15 @@ void DecodeTaggedSymbols(num_values, num_components, out_values) { l_rans_base = rans_precision * 4; num_symbols_ varUI32 BuildSymbolTables(num_symbols_, lut_table_, probability_table_); - bytes_encoded varUI64 + size varUI64 encoded_data UI8[size] - RansInitDecoder(ans_, &encoded_data[0], bytes_encoded, l_rans_base); + RansInitDecoder(ans_, &encoded_data[0], size, l_rans_base); for (i = 0; i < num_values; i += num_components) { RansRead(ans_, l_rans_base, rans_precision, - lut_table_, probability_table_, &bit_length); + lut_table_, probability_table_, &size); for (j = 0; j < num_components; ++j) { - val f[bit_length] + val f[size] out_values.push_back(val); } } @@ -82,9 +82,9 @@ void DecodeRawSymbols(num_values, out_values) { rans_precision = 1 << rans_precision_bits; l_rans_base = rans_precision * 4; BuildSymbolTables(num_symbols_, lut_table_, probability_table_); - bytes_encoded varUI64 + size varUI64 buffer UI8[size] - RansInitDecoder(ans_, &buffer[0], bytes_encoded, l_rans_base); + RansInitDecoder(ans_, &buffer[0], size, l_rans_base); for (i = 0; i < num_values; ++i) { RansRead(ans_, l_rans_base, rans_precision, lut_table_, probability_table_, &val);