fix codec bugs
add codec test bench