GNOME Bugzilla – Bug 302962
audioconvert improvements
Last modified: 2006-03-02 20:04:52 UTC
I added some code that takes the decisions on how to convert from input format to internal format and from internal format to output format out of the conversion loop. This also makes it possible to use liboil for cpu optimized conversion. A patch will be uploaded
Created attachment 46007 [details] [review] Conversion improvements
Since it involves oil, let's see what Dave thinks...
We're not making liboil a required dependency in 0.8, so any usage needs to be wrapped in #ifdef HAVE_LIBOIL and have alternates. No comment yet on the rest of the patch.
Created attachment 47031 [details] [review] cleanup of the previous patch I cleaned up the patch to apply cleanly to gst-plugins-0.8.9. I also removed any references to liboil for now.
Created attachment 47117 [details] [review] Memleak fix + normalisation Previous patch introduced a memleak. This one also adds normalisation of signals to full scale.
I'm not against refactoring, but I don't think we should do this for 0.8. It doesn't actually improve performance, and adds a lot of new code, and has some bugs: * doesn't handle width != depth * I see some possible memory overflows in the (u)int24 reading/writing code Here's my proposal: * add the liboil code back in, assuming it improves performance. * apply this to 0.9 only, so we have enough time to test it and can assume liboil to be there. 0.8 continues to work just fine, slightly less-performing, which is OK since audio is practically not really a bottleneck anyway. * at some point maybe consider applying to 0.8 if there's some HAVE_OIL macros around it.
Wouter, would you mind working up a patch for 0.9's audioconvert? Using liboil is fine as long as it is readable.
Hi Wouter, Any interest to get this patch ported against audioconvert in current CVS?
Interest yes. As soon as my schedule(r) has a spare timeslot available i'll try to work something out.
A similar optimisation was commited to audioconvert a long time ago. closing.