Commit 0ba6f6e9 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

flac: avoid overflow in conversion to signed integer

parent 4a440e8c
...@@ -134,7 +134,12 @@ static void Interleave( int32_t *p_out, const int32_t * const *pp_in, ...@@ -134,7 +134,12 @@ static void Interleave( int32_t *p_out, const int32_t * const *pp_in,
for( unsigned j = 0; j < i_samples; j++ ) for( unsigned j = 0; j < i_samples; j++ )
for( unsigned i = 0; i < i_nb_channels; i++ ) for( unsigned i = 0; i < i_nb_channels; i++ )
p_out[j * i_nb_channels + i] = ((uint32_t)pp_in[pi_index[i]][j]) << shift; {
union { int32_t i; uint32_t u; } spl;
spl.u = ((uint32_t)pp_in[pi_index[i]][j]) << shift;
p_out[j * i_nb_channels + i] = spl.i;
}
} }
/***************************************************************************** /*****************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment