Fix unaligned accesses by doing bytewise access until aligned, then

continuing in 32-bit quantities.
Fixes crash observed on sparc during FATE mlp test.
Patch by Ramiro.

Originally committed as revision 19200 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ramiro Polla 2009-06-15 14:38:30 +00:00 committed by Jeff Downs
parent d9982edfed
commit 7cc8d616aa

View File

@ -96,6 +96,8 @@ uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size)
uint32_t scratch = 0;
const uint8_t *buf_end = buf + buf_size;
for (; ((intptr_t) buf & 3) && buf < buf_end; buf++)
scratch ^= *buf;
for (; buf < buf_end - 3; buf += 4)
scratch ^= *((const uint32_t*)buf);