{"id":261,"date":"2012-02-01T16:07:00","date_gmt":"2012-02-01T21:07:00","guid":{"rendered":"http:\/\/www.compdigitec.com\/labs\/?p=261"},"modified":"2012-02-05T09:25:15","modified_gmt":"2012-02-05T14:25:15","slug":"android-codec-benchmarks","status":"publish","type":"post","link":"http:\/\/www.compdigitec.com\/labs\/2012\/02\/01\/android-codec-benchmarks\/","title":{"rendered":"Android codec benchmarks"},"content":{"rendered":"<p>VLC for Android pre-alpha benchmarks (Feb 1, 2012) for various audio codecs.<\/p>\n<p><strong>Skip to<\/strong><\/p>\n<ul>\n<li><a href=\"#ogg\">Ogg files<\/a><\/li>\n<li><a href=\"#ac3\">AC3 files<\/a><\/li>\n<li><a href=\"#dts\">DTS files<\/a><\/li>\n<\/ul>\n<p><strong>Specs<\/strong><br \/>\nMotorola XT300 &#8211; Android 2.1, 500 Mhz, 256 MB, rooted with busybox, Qualcomm MSM7225 (ARM1136EJ-S core, ARMv6TEJ architecture, no NEON extensions)<\/p>\n<p><strong>\/proc\/cpuinfo output<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nProcessor       : ARMv6-compatible processor rev 2 (v6l)\r\nBogoMIPS        : 525.92\r\nFeatures        : swp half thumb fastmult edsp java\r\nCPU implementer : 0x41\r\nCPU architecture: 6TEJ\r\nCPU variant     : 0x1\r\nCPU part        : 0xb36\r\nCPU revision    : 2\r\n\r\nHardware\t: QCT MSM7x25 SURF\r\nRevision\t: 0000\r\nSerial\t\t: 0000000000000000\r\n<\/pre>\n<p><strong>Method<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nadb shell &quot;\/system\/xbin\/busybox ps aux | grep vlc&quot;\r\nadb shell &quot;\/system\/xbin\/busybox top -b | grep &lt;pid of VLC as above&gt;&quot;\r\n<\/pre>\n<h2><a id=\"ogg\">Ogg files<\/a><\/h2>\n<p>Comparing three popular codecs for decoding OGG vorbis files, libavcodec from libav, vorbis and tremor.<\/p>\n<p><strong>Results<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\navcodec:\r\n 5266   956 10072    S     163m 88.4   0 25.0 org.videolan.vlc.android\r\nvorbis:\r\n 5331   956 10072    R     166m 89.8   0 41.0 org.videolan.vlc.android\r\ntremor:\r\n 5174   956 10072    S     156m 84.5   0 32.4 org.videolan.vlc.android\r\n<\/pre>\n<p>So, it seems avcodec is the clear winner, followed by tremor and lagging in last place libvorbis.<\/p>\n<h2><a id=\"ac3\">AC3 files<\/a><\/h2>\n<p><strong>Test sample<\/strong><br \/>\nFirst 30 seconds of <a href=\"http:\/\/people.videolan.org\/~jb\/ac3_the_other_side_44khz.wav\">http:\/\/people.videolan.org\/~jb\/ac3_the_other_side_44khz.wav<\/a><\/p>\n<p><strong>Results &#8211; Inconclusive?<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td>liba52<br \/>\nMean: <strong>31.51667%<\/strong><br \/>\nMedian: <strong>27.15%<\/strong><\/td>\n<td>libavcodec<br \/>\nMean: <strong>28.86667%<\/strong><br \/>\nMedian: <strong>29.25%<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"\/labs\/wp-content\/uploads\/2012\/02\/codeccpu.png\"><img decoding=\"async\" loading=\"lazy\" width=\"433\" height=\"411\" class=\"alignnone size-full wp-image-263\" title=\"CPU usage comaprison liba52 vs avcodec\" src=\"http:\/\/www.compdigitec.com\/labs\/wp-content\/uploads\/2012\/02\/codeccpu.png\" alt=\"CPU usage comaprison liba52 vs avcodec\" \/><\/a><\/p>\n<p><strong>ac3 with liba52<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n-A dummy --codec=a52tofloat32\r\nD\/vlc     ( 6768): using decoder module &quot;a52&quot;\r\nOver 30 seconds\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 6768   956 10072    R     160m 86.7   0 52.6 org.videolan.vlc.android\r\n 6768   956 10072    S     159m 86.1   0 30.5 org.videolan.vlc.android\r\n 6768   956 10072    R     156m 84.5   0 25.6 org.videolan.vlc.android\r\n 6768   956 10072    S     156m 84.5   0 27.4 org.videolan.vlc.android\r\n 6768   956 10072    S     156m 84.5   0 26.9 org.videolan.vlc.android\r\n 6768   956 10072    S     156m 84.5   0 26.1 org.videolan.vlc.android\r\n\r\nMean: 31.51667\r\nMedian: 27.15\r\nMode: N\/A\r\n<\/pre>\n<p><strong>ac3 with libavcodec<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n-A dummy --codec=avcodec\r\nD\/vlc     ( 6829): using decoder module &quot;avcodec&quot;\r\nOver 30 seconds\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 6829   956 10072    S     158m 85.5   0 32.3 org.videolan.vlc.android\r\n 6829   956 10072    R     155m 83.8   0 30.0 org.videolan.vlc.android\r\n 6829   956 10072    S     155m 83.8   0 26.3 org.videolan.vlc.android\r\n 6829   956 10072    S     155m 83.8   0 30.0 org.videolan.vlc.android\r\n 6829   956 10072    S     155m 83.8   0 28.5 org.videolan.vlc.android\r\n 6829   956 10072    S     155m 83.8   0 26.1 org.videolan.vlc.android\r\nMean: 28.86667\r\nMedian: 29.25\r\nMode: 30.0\r\n<\/pre>\n<h2 id=\"dts\">DTS files<\/h2>\n<p><strong>Test sample<\/strong><br \/>\nFirst 35 seconds of <a href=\"http:\/\/people.videolan.org\/~jb\/dts_the_other_side_44khz.wav\">http:\/\/people.videolan.org\/~jb\/dts_the_other_side_44khz.wav<\/a><\/p>\n<p><strong>Results &#8211; Also inconclusive?<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td>libdca<br \/>\nMean: <strong>19.66%<\/strong><br \/>\nMedian: <strong>18.85%<\/strong><br \/>\nMode: <strong>22.60%<\/strong>, <strong>16.80%<\/strong><\/td>\n<td>libavcodec<br \/>\nMean: <strong>19.13%<\/strong><br \/>\nMedian: <strong>18.25%<\/strong><br \/>\nMode: <strong>19.3%, 20.3%, 17.6%<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"http:\/\/www.compdigitec.com\/labs\/wp-content\/uploads\/2012\/02\/avcodec_dca.png\"><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-272\" title=\"DTS files CPU usage comparison: avcodec vs libdca\" src=\"http:\/\/www.compdigitec.com\/labs\/wp-content\/uploads\/2012\/02\/avcodec_dca.png\" alt=\"DTS files CPU usage comparison: avcodec vs libdca\" width=\"603\" height=\"445\" \/><\/a><\/p>\n<p><strong>dts with libdca<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n-A dummy --codec dts\r\nMean: 19.66\r\nMedian: 18.85\r\nMode: 22.60,16.80\r\nPass 1:\r\nD\/vlc     ( 2461): using decoder module &quot;dts&quot;\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 2461   951 10072    S     159m 86.3   0 21.7 org.videolan.vlc.android\r\n 2461   951 10072    S     159m 86.3   0 22.6 org.videolan.vlc.android\r\n 2461   951 10072    R     159m 86.3   0 21.3 org.videolan.vlc.android\r\n 2461   951 10072    S     159m 86.3   0 24.4 org.videolan.vlc.android\r\n 2461   951 10072    S     159m 86.3   0 20.4 org.videolan.vlc.android\r\n 2461   951 10072    S     159m 86.3   0 25.6 org.videolan.vlc.android\r\nPass 2:\r\nD\/vlc     ( 2510): using decoder module &quot;dts&quot;\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 2510   951 10072    S     158m 85.6   0 18.0 org.videolan.vlc.android\r\n 2510   951 10072    S     158m 85.6   0 22.6 org.videolan.vlc.android\r\n 2510   951 10072    S     158m 85.5   0 16.5 org.videolan.vlc.android\r\n 2510   951 10072    S     158m 85.5   0 16.8 org.videolan.vlc.android\r\n 2510   951 10072    S     158m 85.6   0 16.8 org.videolan.vlc.android\r\n 2510   951 10072    S     158m 85.6   0 18.7 org.videolan.vlc.android\r\nPass 3:\r\nD\/vlc     ( 2536): using decoder module &quot;dts&quot;\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 2536   951 10072    S     159m 86.3   0 19.0 org.videolan.vlc.android\r\n 2536   951 10072    S     159m 86.3   0 21.5 org.videolan.vlc.android\r\n 2536   951 10072    S     159m 86.3   0 16.0 org.videolan.vlc.android\r\n 2536   951 10072    R     159m 86.3   0 16.2 org.videolan.vlc.android\r\n 2536   951 10072    S     159m 86.3   0 17.3 org.videolan.vlc.android\r\n 2536   951 10072    S     159m 86.3   0 18.6 org.videolan.vlc.android\r\n<\/pre>\n<p><strong>dts with libavcodec<\/strong><\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n-A dummy --codec avcodec\r\nMean: 19.13\r\nMedian: 18.25\r\nMode: 19.3, 20.3, 17.6\r\nPass 1:\r\nD\/vlc     ( 2583): using decoder module &quot;avcodec&quot;\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 2583   951 10072    S     162m 87.5   0 34.6 org.videolan.vlc.android\r\n 2583   951 10072    S     157m 85.4   0 20.0 org.videolan.vlc.android\r\n 2583   951 10072    S     158m 85.4   0 14.6 org.videolan.vlc.android\r\n 2583   951 10072    R     158m 85.4   0 15.8 org.videolan.vlc.android\r\n 2583   951 10072    S     158m 85.4   0 19.3 org.videolan.vlc.android\r\n 2583   951 10072    S     157m 85.4   0 20.3 org.videolan.vlc.android\r\nPass 2:\r\nD\/vlc     ( 2607): using decoder module &quot;avcodec&quot;\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 2607   951 10072    S     159m 86.4   0 25.5 org.videolan.vlc.android\r\n 2607   951 10072    S     156m 84.8   0 16.6 org.videolan.vlc.android\r\n 2607   951 10072    S     156m 84.8   0 12.8 org.videolan.vlc.android\r\n 2607   951 10072    S     156m 84.8   0 14.2 org.videolan.vlc.android\r\n 2607   951 10072    S     156m 84.8   0 16.9 org.videolan.vlc.android\r\n 2607   951 10072    R     157m 84.8   0 13.4 org.videolan.vlc.android\r\nPass 3:\r\nD\/vlc     ( 2633): using decoder module &quot;avcodec&quot;\r\n  PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND\r\n 2633   951 10072    S     158m 85.8   0 26.8 org.videolan.vlc.android\r\n 2633   951 10072    S     158m 85.8   0 20.3 org.videolan.vlc.android\r\n 2633   951 10072    R     158m 85.8   0 17.6 org.videolan.vlc.android\r\n 2633   951 10072    S     158m 85.8   0 18.9 org.videolan.vlc.android\r\n 2633   951 10072    S     158m 85.8   0 17.6 org.videolan.vlc.android\r\n 2633   951 10072    S     158m 85.8   0 19.3 org.videolan.vlc.android\r\n<\/pre>","protected":false},"excerpt":{"rendered":"<p>VLC for Android pre-alpha benchmarks (Feb 1, 2012) for various audio codecs. Skip to Ogg files AC3 files DTS files Specs Motorola XT300 &#8211; Android 2.1, 500 Mhz, 256 MB, rooted with busybox, Qualcomm MSM7225 (ARM1136EJ-S core, ARMv6TEJ architecture, no NEON extensions) \/proc\/cpuinfo output Method Ogg files Comparing three popular codecs for decoding OGG vorbis [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[759],"tags":[781,777,779,778,776,780],"_links":{"self":[{"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/posts\/261"}],"collection":[{"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/comments?post=261"}],"version-history":[{"count":0,"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/posts\/261\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/media?parent=261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/categories?post=261"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.compdigitec.com\/labs\/wp-json\/wp\/v2\/tags?post=261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}