Improved vp_decode

* optimization
* change behavior of `s:hd2str` to same as `s:hd2str_lua`