{"id":88,"date":"2006-09-27T18:43:03","date_gmt":"2006-09-27T18:43:03","guid":{"rendered":""},"modified":"2006-09-27T18:43:03","modified_gmt":"2006-09-27T18:43:03","slug":"oprofiling_ffh264","status":"publish","type":"post","link":"https:\/\/blogs.gentoo.org\/lu_zero\/2006\/09\/27\/oprofiling_ffh264\/","title":{"rendered":"oprofiling ffh264"},"content":{"rendered":"<p>Recently I got some inquiries about h264 and altivec. just testing decode time was disappointing to some user.<\/p>\n<p>I did my test and on my g4 1.6 I got about the double ofthe speed he experienced on his g5 2.4.<\/p>\n<p>time nice &#8211;20 .\/ffmpeg -i ~ryan\/bluesky_HD_CAVLC_JM93_217f.264 -f \trawvideo &#8211; > \/dev\/null<br \/>\nreal    0m47.685s<br \/>\nuser    0m44.304s<br \/>\nsys     0m3.220s<\/p>\n<p>cat \/proc\/cpuinfo<br \/>\nprocessor       : 0<br \/>\ncpu             : ppc970, altivec supported<br \/>\nclock           : 2400.000000MHz<br \/>\nrevision        : 4.0 (pvr 0070 0400)<\/p>\n<p>time nice &#8211;20 .\/ffmpeg -i \/tmp\/bluesky_HD_CAVLC_JM93_217f.264 -f<br \/>\nrawvideo &#8211; > \/dev\/null<br \/>\nreal    0m25.877s<br \/>\nuser    0m23.768s<br \/>\nsys     0m1.904s<\/p>\n<p>cat \/proc\/cpuinfo<br \/>\nprocessor       : 0<br \/>\ncpu             : 7447A, altivec supported<br \/>\nclock           : 1666.666000MHz<br \/>\nrevision        : 0.5 (pvr 8003 0105)<\/p>\n<p>The ffmpeg code is the same, I hadn&#8217;t use anything but the stock cflags, same for him.<br \/>\nI was expecting quite a different result, time hunt the slow gear!<\/p>\n<p>I used oprofile<\/p>\n<p>just started and stopped it befor the ffmpeg call, and the asked opreport to compute some statistics about symbols.<\/p>\n<p>an excerpt<\/p>\n<p>CPU: PowerPC G4, speed 1666.67 MHz (estimated)<br \/>\nCounted CYCLES events (Cycles) with a unit mask of 0x00 (No unit mask) count 100000<br \/>\nsamples  %        image name               symbol name<br \/>\n60355    23.2602  libc-2.4.so              _wordcopy_fwd_aligned<br \/>\n13572     5.2305  ffmpeg_g                 put_h264_chroma_mc8_altivec<br \/>\n13417     5.1708  ffmpeg_g                 filter_mb<br \/>\n11379     4.3853  ffmpeg_g                 put_h264_qpel16_h_lowpass_altivec<br \/>\n9700      3.7383  ffmpeg_g                 fill_caches<br \/>\n9332      3.5965  ffmpeg_g                 hl_decode_mb<br \/>\n8201      3.1606  vmlinux                  __flush_dcache_icache<\/p>\n<p>Looks like I&#8217;ll have to replace something&#8230; or start thinking about optimized glibc&#8230;<br \/>\n(mine is built targeting my cpu and is pretty recent, I wonder if the G5 isn&#8217;t running on an older or generic built glibc&#8230;)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently I got some inquiries about h264 and altivec. just testing decode time was disappointing to some user. I did my test and on my g4 1.6 I got about the double ofthe speed he experienced on his g5 2.4. time nice &#8211;20 .\/ffmpeg -i ~ryan\/bluesky_HD_CAVLC_JM93_217f.264 -f rawvideo &#8211; > \/dev\/null real 0m47.685s user 0m44.304s &hellip; <a href=\"https:\/\/blogs.gentoo.org\/lu_zero\/2006\/09\/27\/oprofiling_ffh264\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">oprofiling ffh264<\/span><\/a><\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[11,14,6,5],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p1aGWH-1q","_links":{"self":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts\/88"}],"collection":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":0,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.gentoo.org\/lu_zero\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}