diff atrac1.c @ 11652:8b6f3d3b55cb libavcodec

Move clipping of audio samples (for those codecs outputting float) from decoder to the audio conversion routines.
author rbultje
date Wed, 21 Apr 2010 17:57:48 +0000
parents 7dd2a45249a9
children
line wrap: on
line diff
--- a/atrac1.c	Wed Apr 21 17:51:37 2010 +0000
+++ b/atrac1.c	Wed Apr 21 17:57:48 2010 +0000
@@ -305,20 +305,15 @@
         at1_subband_synthesis(q, su, q->out_samples[ch]);
     }
 
-    /* round, convert to 16bit and interleave */
+    /* interleave; FIXME, should create/use a DSP function */
     if (q->channels == 1) {
         /* mono */
-        q->dsp.vector_clipf(samples, q->out_samples[0], -32700.0 / (1 << 15),
-                            32700.0 / (1 << 15), AT1_SU_SAMPLES);
+        memcpy(samples, q->out_samples[0], AT1_SU_SAMPLES * 4);
     } else {
         /* stereo */
         for (i = 0; i < AT1_SU_SAMPLES; i++) {
-            samples[i * 2]     = av_clipf(q->out_samples[0][i],
-                                          -32700.0 / (1 << 15),
-                                           32700.0 / (1 << 15));
-            samples[i * 2 + 1] = av_clipf(q->out_samples[1][i],
-                                          -32700.0 / (1 << 15),
-                                           32700.0 / (1 << 15));
+            samples[i * 2]     = q->out_samples[0][i];
+            samples[i * 2 + 1] = q->out_samples[1][i];
         }
     }