From my memory:
* CS1 is rate 1/2 conv code with no puncturing. * CS2+3 apply different puncturing amounts on that conv code * CS4 has no error correction (=100% puncturing)
Why the code differs, I don't know. Maybe it was never completed in conv_gen?