]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 3 Sep 2011 18:44:35 +0000 (18:44 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 3 Sep 2011 18:44:35 +0000 (18:44 +0000)
core/mixer/audio/audio_mixer.cpp

index 50ce413c4f707393c78215358209cdba00482129..65957221085ded5d4c6203f5c52469167421db03 100644 (file)
@@ -127,14 +127,13 @@ public:
                                {\r
                                        for(size_t n = r.begin(); n < r.end(); ++n)\r
                                        {\r
-                                               const float alpha0      = (n*2) * delta;\r
-                                               const float volume0     = prev_volume * (1.0f - alpha0) + next_volume * alpha0;\r
-                                               const float volume1     = prev_volume * (1.0f - alpha0 + delta) + next_volume * (alpha0 + delta);\r
+                                               const float alpha0      = (n*2+0) * delta;\r
+                                               const float alpha1      = (n*2+1) * delta;\r
+                                               const float volume0     = (prev_volume * (1.0f - alpha0)) + (next_volume * alpha0);\r
+                                               const float volume1     = (prev_volume * (1.0f - alpha1)) + (next_volume * alpha1);\r
 \r
-                                               auto sample_epi32       = _mm_load_si128(reinterpret_cast<__m128i*>(&item.audio_data[n*4]));\r
-                                               auto res_sample_ps      = _mm_load_ps(&intermediate[n*4]);\r
-\r
-                                               auto sample_ps          = _mm_cvtepi32_ps(sample_epi32);                                                                                                \r
+                                               auto sample_ps          = _mm_cvtepi32_ps(_mm_load_si128(reinterpret_cast<__m128i*>(&item.audio_data[n*4])));\r
+                                               auto res_sample_ps      = _mm_load_ps(&intermediate[n*4]);                                                                                      \r
                                                sample_ps                       = _mm_mul_ps(sample_ps, _mm_setr_ps(volume1, volume1, volume0, volume0));       \r
                                                res_sample_ps           = _mm_add_ps(sample_ps, res_sample_ps); \r
 \r