Same fix as 1a7ea45ffde40a4bea63562a2cc9892396d9f7eb, but I didn't test the decoder so I missed that the function pointers here weren't using the correct calling convention too.