zoukankan      html  css  js  c++  java
  • 天天动听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
    ***************************************
    View Code

     然而版本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

    *************************************** 

  • 相关阅读:
    isalnum()方法
    index()方法
    find()方法
    expandtabs()方法
    endswith()方法
    encode()方法
    bytes.decode()方法
    count()方法
    center()方法
    capitalize()方法
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3919091.html
Copyright © 2011-2022 走看看