Skip to content

v2.18

Compare
Choose a tag to compare
@chad-earthscope chad-earthscope released this 11 Feb 02:52
· 226 commits to main since this release
  • Support for much larger range of sample rates. Outside of the range 32767 to 1/32767 integer sample rates are approximated whenever possible.
  • Rewrite of all decoding and encoding routines to replace those used from qlib2, now the entire project is LGPL licensed.
  • Remove limitation on sample rate before calling ms_genfactmult() in the normal path of packing records. Previously generating the factor and multiplier was not attempted for rates higher than 32,767.
  • ms_genfactmult() now support a much larger range of integer sample rates and periods.
  • ms_genfactmult() now sets the factor and multiplier using the SECONDS/SAMPLE notation for sample rates less than 1.0 to retain precision for low rates.
  • ms_genfactmult() now assumes the specified rate is a sample period in seconds if the samprate value is negative.
  • Add ms_rsqrt64() as a general use reciprocal sqrt for doubles.
  • Use memcpy() instead of assignment when unpacking float32 and float64 samples to avoid problems with NaN's. Thanks Lion Krischer.
  • Add test for reading records without Blockette 1000.
  • Reformat all source code using included clang-format profile.
  • A more elegant sanity check for output length in packing by mbyt.
  • Improvements for test suite, more consistency.
  • Remove msr_decode_steim? from libmseed.def, they are internal.
  • Add sanity to length check before memset calls in packing functions.
  • Check for environment variables ENCODE_DEBUG and DECODE_DEBUG and set debugging output, at this point it is Steim frame details and differences being encoded/decoded.
  • Fix padding in steim[12] encoding routines.
  • Remove unneeded output buffer checks in steim[12] decoding routines.
  • Replace data sample packing and unpacking routines from qlib2 with new routines developed from scratch. All code is now LGPL licensed.
  • Add test suite with tests for encoding, decoding, parsing, etc.
  • Update licensing to GNU-LGPL version 3 and include (L)GPL licenses in LICENSE.txt.
  • Define needed C99 int types for MSVC 2012 or earlier. Previously this was only done for versions earlier than MSVC 2010.