In my continuing quest to slow down or speed up MP3s without altering the pitch, I came across mpg123. I am now at the point where I can compile and run using the libraries, and I get decoded MP3s. (Hooray!) Unfortunately, I'm at about 0.45x real-time on a G1, which isn't fast enough. One guy was able to get 20x real-time using libmad ( http://apistudios.com/hosted/marzec/badlogic/wordpress/?p=231 ) but I'd prefer not to use that since mpg123 is LGPL while libmad is GPL.
I'm led to believe that the main advantage of mpg123 is the amount of code optimized by using assembly. In particular, I want to use the - DOPT_ARM, but doing so gives the error: out/apps/decoder/android-1.5-arm/objs/decoder/mpg123/src/libmpg123/ synth.o: In function `synth_1to1_arm': sources/decoder/mpg123/src/libmpg123/synth.c:537: undefined reference to `synth_1to1_arm_asm' This is my Android.mk file: # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := decoder LOCAL_ARM_MODE := arm LOCAL_SRC_FILES := media_decoder.cpp mpg123/src/libmpg123/libmpg123.c mpg123/src/libmpg123/frame.c mpg123/src/libmpg123/parse.c mpg123/src/ libmpg123/id3.c mpg123/src/libmpg123/icy.c mpg123/src/libmpg123/ icy2utf8.c mpg123/src/libmpg123/format.c mpg123/src/libmpg123/ readers.c mpg123/src/libmpg123/layer1.c mpg123/src/libmpg123/layer2.c mpg123/src/libmpg123/layer3.c mpg123/src/libmpg123/optimize.c mpg123/ src/libmpg123/synth.c mpg123/src/libmpg123/equalizer.c mpg123/src/ libmpg123/dct64.c mpg123/src/libmpg123/tabinit.c mpg123/src/libmpg123/ synth_real.c mpg123/src/libmpg123/synth_s32.c mpg123/src/libmpg123/ stringbuf.c mpg123/src/libmpg123/compat.c mpg123/src/libmpg123/ synth_arm.S LOCAL_CFLAGS := -DHAVE_CONFIG_H -DFPM_ARM -ffast-math -O3 -DOPT_ARM -DNO_8BIT -DNO_NTOM -nostdlib -enable-int-quality -mandroid include $(BUILD_SHARED_LIBRARY) It compiles and runs fine if I change -DOPT_ARM to -DOPT_GENERIC and remove mpg123/src/libmpg123/synth_arm.S How can I decode MP3s at least as fast as real time without immediately playing them? Really I need to be significantly faster than that, depending on how much I can optimize my slowdown code. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

