+
+static block_t *Do_FL32ToF32( filter_t * p_filter, block_t * p_in_buf )
+{
+ unsigned count = p_in_buf->i_nb_samples
+ * aout_FormatNbChannels( &p_filter->fmt_in.audio );
+ union dw *restrict p = (union dw *)p_in_buf->p_buffer, *end = p + count;
+ const float one = FIXED32_ONE;
+
+ while (p < end)
+ {
+ p->s = (one * p->f);
+ p++;
+ }
+ return p_in_buf;
+}
+
+static block_t *Do_S32ToF32( filter_t * p_filter, block_t * p_in_buf )
+{
+ unsigned count = p_in_buf->i_nb_samples
+ * aout_FormatNbChannels( &p_filter->fmt_in.audio );
+ int32_t *restrict p = (int32_t *)p_in_buf->p_buffer, *end = p + count;
+
+ while (p < end)
+ {
+ *p = *p >> 3;
+ p++;
+ }
+ return p_in_buf;
+}