pcm: reduce pointer type casting

Making 'samples' a pointer to uint8_t simplifies the DECODE
macro and reduces the amount of type casting overall.

This also fixes some signed overflows on left shift.

Signed-off-by: Mans Rullgard <mans@mansr.com>
