+ /* U8->U16 or S8->S16 */
+ uint8_t *p_in = (uint8_t *)p_block->p_buffer;
+ uint16_t *p_out = (uint16_t *)p_block_out->p_buffer;
+ for( int i = p_block->i_buffer; i--; )
+ *p_out++ = (*p_in++) << 8;
+ }
+ else if( b_signed_src )
+ {
+ /* S8->U16 */
+ int8_t *p_in = (int8_t *)p_block->p_buffer;
+ uint16_t *p_out = (uint16_t *)p_block_out->p_buffer;
+ for( int i = p_block->i_buffer; i--; )
+ *p_out++ = ((*p_in++) + 128) << 8;
+ }
+ else
+ {
+ /* U8->S16 */
+ uint8_t *p_in = (uint8_t *)p_block->p_buffer;
+ int16_t *p_out = (int16_t *)p_block_out->p_buffer;
+ for( int i = p_block->i_buffer; i--; )
+ *p_out++ = ((*p_in++) - 128) << 8;