Commit 7cc8d616 authored by Ramiro Polla's avatar Ramiro Polla Committed by Jeff Downs
Browse files

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
parent d9982edf
...@@ -96,6 +96,8 @@ uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size) ...@@ -96,6 +96,8 @@ uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size)
uint32_t scratch = 0; uint32_t scratch = 0;
const uint8_t *buf_end = buf + buf_size; 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) for (; buf < buf_end - 3; buf += 4)
scratch ^= *((const uint32_t*)buf); scratch ^= *((const uint32_t*)buf);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment