天天动听MP3解码器性能提升50%
天天动听今日升级提醒,发现有一句
“使用新的MP3解码器,性能提升50%”,太惊讶了。
之前版本的MP3解码器使用libmpg123,效果已经是MP3解码器中非常不错的了。
50%的提升,应该不仅仅是优化这么简单,莫非使用的新的MP3解码器?
当前安卓版天天动听是7.3.1 和 上一个稳定版 7.2.1,下载后比较一下。
版本7.2.1仍然还是libmpg123解码器。
[gongyuliang@linux armeabi]$ pwd /home/gongyuliang/newversion/ttpod_android_v7.2.1/lib/armeabi [gongyuliang@linux armeabi]$ nm -D libmp3decplugin.so *************************************** 000103c0 T mpg123_add_string 000102e4 T mpg123_add_substring 000104a4 T mpg123_chomp_string 0000eedc T mpg123_clip 0000fc80 T mpg123_close 00010288 T mpg123_copy_string 0000ba88 T mpg123_current_decoder 0000ed00 T mpg123_decode 0000eb54 T mpg123_decode_frame 0001b120 T mpg123_decode_frame_32 0000dcb4 T mpg123_decoder 0000bab0 T mpg123_decoders 0000fe54 T mpg123_delete 00008974 T mpg123_delete_pars 0000fb7c T mpg123_enc_from_id3 0000a718 T mpg123_encodings 0000a744 T mpg123_encsize 0000e2d0 T mpg123_eq 0000ff28 T mpg123_errcode 0000dbf4 T mpg123_exit 0001b0ec T mpg123_feature 0000ec88 T mpg123_feed 0000f14c T mpg123_feedseek 0001b13c T mpg123_feedseek_32 0000ac28 T mpg123_fmt 0000aae8 T mpg123_fmt_all 0000aa28 T mpg123_fmt_none 0000ae20 T mpg123_fmt_support 0000ade4 T mpg123_format 0000abec T mpg123_format_all 0000aaac T mpg123_format_none 0000af0c T mpg123_format_support 0000e9e4 T mpg123_framebyframe_decode 0001b124 T mpg123_framebyframe_decode_32 0000eae8 T mpg123_framebyframe_next 000091cc T mpg123_framedata 0000a350 T mpg123_framepos 0001b128 T mpg123_framepos_32 000101e0 T mpg123_free_string 0000e3b8 T mpg123_geteq 0000eefc T mpg123_getformat 0000dff8 T mpg123_getpar 0000e1d0 T mpg123_getparam 0000e20c T mpg123_getstate 0000a2a0 T mpg123_getvolume 00010270 T mpg123_grow_string 0000fb08 T mpg123_icy 0000fb74 T mpg123_icy2utf8 0000fa78 T mpg123_id3 0000fba0 T mpg123_index 0001b148 T mpg123_index_32 00009018 T mpg123_info 0000dbb8 T mpg123_init 000101cc T mpg123_init_string 0000f4d0 T mpg123_length 0001b154 T mpg123_length_32 0000fa50 T mpg123_meta_check 0000fa64 T mpg123_meta_free 0000dca0 T mpg123_new 000088c8 T mpg123_new_pars 0000fe24 T mpg123_open 0001b114 T mpg123_open_32 0000fdf4 T mpg123_open_fd 0001b118 T mpg123_open_fd_32 0000fd80 T mpg123_open_feed 0000fda4 T mpg123_open_handle 0001b11c T mpg123_open_handle_32 0000e9c4 T mpg123_outblock 0000dd88 T mpg123_par 0000df48 T mpg123_param 0000dbf8 T mpg123_parnew 0000fe7c T mpg123_plain_strerror 00008418 T mpg123_position 0001b150 T mpg123_position_32 0000a6f0 T mpg123_rates 0000eeb0 T mpg123_read 00008ac8 T mpg123_replace_buffer 0000fd40 T mpg123_replace_reader 0001b15c T mpg123_replace_reader_32 0000fcf0 T mpg123_replace_reader_handle 0001b160 T mpg123_replace_reader_handle_32 00008980 T mpg123_reset_eq 00010204 T mpg123_resize_string 0000e9bc T mpg123_safe_buffer 0000f698 T mpg123_scan 0000f880 T mpg123_seek 0001b138 T mpg123_seek_32 0000f3c8 T mpg123_seek_frame 0001b140 T mpg123_seek_frame_32 0000f4b0 T mpg123_set_filesize 0001b158 T mpg123_set_filesize_32 0000fc1c T mpg123_set_index 0001b14c T mpg123_set_index_32 00010400 T mpg123_set_string 000103ec T mpg123_set_substring 00008330 T mpg123_spf 0000ff40 T mpg123_strerror 0001040c T mpg123_strlen 0000bac0 T mpg123_supported_decoders 0000eff4 T mpg123_tell 0001b12c T mpg123_tell_32 0000f120 T mpg123_tell_stream 0001b134 T mpg123_tell_stream_32 0000f0c0 T mpg123_tellframe 0001b130 T mpg123_tellframe_32 0000ef98 T mpg123_timeframe 0001b144 T mpg123_timeframe_32 00008398 T mpg123_tpf 0000a230 T mpg123_volume 0000a278 T mpg123_volume_change ***************************************
然而版本7.3.1解码器换成了ttMP3Dec*,具体细节未知,有空去考察一下,有知道的朋友希望能交流一下。
[gongyuliang@linux armeabi]$ pwd
/home/gongyuliang/newversion/TTPod-Android-v7.3.1_H3/lib/armeabi
[gongyuliang@linux armeabi]$ nm -D libmp3decplugin.so
***************************************
00003cd0 T ttGetMP3DECAPII
00003f20 T ttMP3DecBits_Crc
0000e07c R ttMP3DecBrTab
00003f00 T ttMP3DecCalcBitsUsed
00008240 T ttMP3DecDCT32
00003d5c T ttMP3DecGetBits
0000434c T ttMP3DecHeaderDecode
000042ec T ttMP3DecHeaderSync
00003d48 T ttMP3DecInitBits
000072b8 T ttMP3DecLayerI
00007654 T ttMP3DecLayerII
00004850 T ttMP3DecLayerIII
0000fef0 R ttMP3DecRqTab
00003e78 T ttMP3DecSkipBits
0000e18c R ttMP3DecSrTab
000040d4 T ttMP3DecStreamInit
00007ffc T ttMP3DecSubbandFrame
00008d2c T ttMP3DecSynthMono
00008f28 T ttMP3DecSynthStereo
000089e0 T ttMP3Decidct9
/home/gongyuliang/newversion/TTPod-Android-v7.3.1_H3/lib/armeabi
[gongyuliang@linux armeabi]$ nm -D libmp3decplugin.so
***************************************
00003cd0 T ttGetMP3DECAPII
00003f20 T ttMP3DecBits_Crc
0000e07c R ttMP3DecBrTab
00003f00 T ttMP3DecCalcBitsUsed
00008240 T ttMP3DecDCT32
00003d5c T ttMP3DecGetBits
0000434c T ttMP3DecHeaderDecode
000042ec T ttMP3DecHeaderSync
00003d48 T ttMP3DecInitBits
000072b8 T ttMP3DecLayerI
00007654 T ttMP3DecLayerII
00004850 T ttMP3DecLayerIII
0000fef0 R ttMP3DecRqTab
00003e78 T ttMP3DecSkipBits
0000e18c R ttMP3DecSrTab
000040d4 T ttMP3DecStreamInit
00007ffc T ttMP3DecSubbandFrame
00008d2c T ttMP3DecSynthMono
00008f28 T ttMP3DecSynthStereo
000089e0 T ttMP3Decidct9
***************************************