MP3 Decoding Discrepancy Is it possible for two different decoders to output two different sample results for the same MP3? I'm decoding an mp3 on Matlab and it produces two columns (presumably one for each channel). When I extract the sample data from the same file using AVAssetReader (iOS), I get different results. When I tried the same code with a WAV file, the two results matched, so I'm guessing the code is fine (although the Matlab result had a few extra blank frames). 

If I, non-scientifically, choose random values from my AVAssetReader MP3 result, and search for them in the Matlab results, they tend to exist, but not always. I don't know if this is just coincidence, different rounding off errors or if they genuinely match. The problem is, when they match, the surrounding numbers differ from one another. For example, 0.0021 occurs in both results, but the surrounding numbers on Matlab are -0.0649,0.0147 etc.. (which don't appear near the 0.0021 in the AVAssetReader results). 

What could cause this discrepancy, does it cause a serious lack of integrity in my app and how would I fix it? Thank you.
It is possible that two decoders will have different results and be compliant with standard. The standard "ISO/IEC 11172-4 (part 4) compliance testing" specify two classes of decoders: 
"accurate" and with "limited accuracy" *). 

The accuracy is measured by comparing decoded stream with reference stream (reference input and output is specified in standard). If the RMS of difference is below $2^{-15}/\sqrt{12}$ the decoder is classified as accurate and  if below $2^{-11}/\sqrt{12}$ it is classified as "limited accuracy" one.

So if you are going to use different decoders or even the same decoder on different processor architectures you have to be prepared for this kind of discrepancy in output. Do not know your application or intend but maybe you can mimic the standard and work with RMS of error too?

*) I do not have text of the standard in English in front of me so actual name used in standard may be different.