Class ReedSolomonDecoder

java.lang.Object
com.google.zxing.common.reedsolomon.ReedSolomonDecoder

public final class ReedSolomonDecoder extends Object

Implements Reed-Solomon decoding, as the name implies.

The algorithm will not be explained here, but the following references were helpful in creating this implementation:

Much credit is due to William Rucklidge since portions of this code are an indirect port of his C++ Reed-Solomon implementation.

Author:
Sean Owen, William Rucklidge, sanfordsquires
  • Constructor Details

    • ReedSolomonDecoder

      public ReedSolomonDecoder(GenericGF field)
  • Method Details

    • decode

      public void decode(int[] received, int twoS) throws ReedSolomonException

      Decodes given set of received codewords, which include both data and error-correction codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place, in the input.

      Parameters:
      received - data and error-correction codewords
      twoS - number of error-correction codewords available
      Throws:
      ReedSolomonException - if decoding fails for any reason
    • decodeWithECCount

      public int decodeWithECCount(int[] received, int twoS) throws ReedSolomonException

      Decodes given set of received codewords, which include both data and error-correction codewords. Really, this means it uses Reed-Solomon to detect and correct errors, in-place, in the input.

      Parameters:
      received - data and error-correction codewords
      twoS - number of error-correction codewords available
      Returns:
      the number of errors corrected
      Throws:
      ReedSolomonException - if decoding fails for any reason