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

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

  • 相关阅读:
    java io系列23之 BufferedReader(字符缓冲输入流)
    java io系列22之 FileReader和FileWriter
    java io系列21之 InputStreamReader和OutputStreamWriter
    java io系列20之 PipedReader和PipedWriter
    java io系列19之 CharArrayWriter(字符数组输出流)
    java io系列18之 CharArrayReader(字符数组输入流)
    java io系列17之 System.out.println("hello world")原理
    java io系列16之 PrintStream(打印输出流)详解
    java io系列15之 DataOutputStream(数据输出流)的认知、源码和示例
    java io系列14之 DataInputStream(数据输入流)的认知、源码和示例
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3919091.html
Copyright © 2011-2022 走看看