The usc_speech_codec sample simply calls the IPP companding functions for g.711 (when there is no voice activity detection). The 16s variants of the companding routines work over the entire 16s range. Some speech coding functions are limited to 14 bits but not those related to g.711. I tested 16 bit PCM input/output with G.711 and G729 and could not see any problems in theory lower bit depths should work too.
From my simple tests with usc_speech_codec.exe it does not look like the left and right shifts of PCM data are necessary to transcode from one format to another at least as implemented in this sample. My tests went through a .wav file intermediate step for the transcode, which is not exactly like your scenario, but my non-audio-expert ears did not detect any overall loss or gain in the signal as one would expect if these shifts were required.
If your tests show that weve somehow missed a part of one of the speech codec specs in this sample please let us know. Otherwise, the usc_speech_codec code may be helpful as a reference as you get started with USC.