sonic: simplify shift_down()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
sonic: Improve error codes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>