[vlc-devel] commit: Workaround spatializer bugs. (Jean-Baptiste Kempf )

git version control git at videolan.org
Sun Sep 14 04:11:40 CEST 2008


vlc | branch: 0.9-bugfix | Jean-Baptiste Kempf <jb at videolan.org> | Sat Sep 13 19:14:02 2008 -0700| [77cc89e3d9349f3d5a2de947f9be478dd28436dd] | committer: Jean-Baptiste Kempf 

Workaround spatializer bugs.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=77cc89e3d9349f3d5a2de947f9be478dd28436dd
---

 modules/audio_filter/spatializer/comb.hpp    |    8 ++++++++
 modules/audio_filter/spatializer/denormals.h |    4 +---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/modules/audio_filter/spatializer/comb.hpp b/modules/audio_filter/spatializer/comb.hpp
index 8d35e90..71d4ef0 100644
--- a/modules/audio_filter/spatializer/comb.hpp
+++ b/modules/audio_filter/spatializer/comb.hpp
@@ -35,6 +35,13 @@ private:
 
 inline float comb::process(float input)
 {
+
+#if 1
+    /* FIXME FIXME FIXME
+     * comb::process is completly broken so ignore it for now */
+    return 0.0;
+
+#else
     float output;
 
     output = undenormalise( buffer[bufidx] );
@@ -46,6 +53,7 @@ inline float comb::process(float input)
     if(++bufidx>=bufsize) bufidx = 0;
 
     return output;
+#endif
 }
 
 #endif //_comb_
diff --git a/modules/audio_filter/spatializer/denormals.h b/modules/audio_filter/spatializer/denormals.h
index bab45c6..d2ecd21 100644
--- a/modules/audio_filter/spatializer/denormals.h
+++ b/modules/audio_filter/spatializer/denormals.h
@@ -12,9 +12,7 @@
 
 static inline float undenormalise( float f )
 {
-    union { float f; uint32_t u; } data;
-    data.f = f;
-    if( (data.u & 0x7f800000) == 0 )
+    if( fpclassify( f ) == FP_SUBNORMAL  )
         return 0.0;
     return f;
 }




More information about the vlc-devel mailing list