<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3150962567509465761</id><updated>2012-02-16T05:44:49.212-08:00</updated><title type='text'>Nico ze G33k !</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-6307291294155406761</id><published>2010-04-12T12:42:00.000-07:00</published><updated>2010-04-13T14:03:11.426-07:00</updated><title type='text'>How to manage extra packages on gnu/linux when you do not have access to the system package manager.</title><content type='html'>Tipicall situations are :&lt;br /&gt;- simple user of a gnu/linux desktop at work wanting to install extra packages,&lt;br /&gt;- administrator wanting to install software unavailable in a particular distribution,&lt;br /&gt;- administrator wanting to test a particular package outside from the main installation,&lt;br /&gt;&lt;br /&gt;This method should work on any distribution, provided that you have access to a recent compiler on the machine and can freely download source packages.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) Installing binary&lt;br /&gt;&lt;br /&gt;a) stand-alone binaries&lt;br /&gt;Some softwares for GNU/Linux are provided as generic binary, in particular some non-free softwares like skype are provided as an executable binary that will directly work on any distribution (just have to decompress the static-linked precompiled version).&lt;br /&gt;&lt;br /&gt;b) distribution packages&lt;br /&gt;In the case of RPMs or DEBs based distributions, you can manually download the needed package and install it in a separated tree (the /tmp/local or a ~/local directory). &lt;br /&gt;To help getting right all dependences of allready installed packages, the system package data-base can be copied to another alternative place and new packages be installed with relocation options. Alternately you can simply extract the archive.&lt;br /&gt;&lt;br /&gt;To extract file.rpm : rpm2cpio file.rpm | cpio -i&lt;br /&gt;To extract file.deb : dpkg -x file.deb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rpm options: --dbpath DBPATH --prefix PATH&lt;br /&gt;apt-get/dpkg options: ????&lt;br /&gt;See the man pages for more details.&lt;br /&gt;&lt;br /&gt;You probalbly will have to resolve dependences by hand, i.e.: have to recursivelly install all depending missing packages first).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) Installing from sources&lt;br /&gt;&lt;br /&gt;This allows also working with developpement versions of softwares/packages, under revision control (git,mercurial,svn,etc.)&lt;br /&gt;&lt;br /&gt;First create the following directory structure :&lt;br /&gt;~/local/apps&lt;br /&gt;~/local/var/ports/{distfiles,build}&lt;br /&gt;&lt;br /&gt;Install stow ! (not explained yet)&lt;br /&gt;&lt;br /&gt;Example installing emacs 23.1 :&lt;br /&gt;cd ~/local/var/ports/distfiles&lt;br /&gt;wget http://gnu.c3sl.ufpr.br/ftp/emacs/emacs-23.1.tar.bz2&lt;br /&gt;cd ../build&lt;br /&gt;tar xjvf ../distfiles emacs-23.1.tar.bz2&lt;br /&gt;cd emacs-23.1&lt;br /&gt;less README&lt;br /&gt;less INSTALL&lt;br /&gt;./configure --help | less&lt;br /&gt;export CFLAGS="-O3 -march=native"&lt;br /&gt;./configure --prefix=$HOME/local/apps/emacs --with-gif=no --with-tiff=no&lt;br /&gt;make &amp;&amp; make install&lt;br /&gt;cd ~/local/apps&lt;br /&gt;stow emacs&lt;br /&gt;&lt;br /&gt;making a binary package from it :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TO BE CONTINUED ... (or not)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-6307291294155406761?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/6307291294155406761/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=6307291294155406761' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/6307291294155406761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/6307291294155406761'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2010/04/how-to-manage-extra-packages-on.html' title='How to manage extra packages on gnu/linux when you do not have access to the system package manager.'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-8232795370086868837</id><published>2008-10-01T16:19:00.000-07:00</published><updated>2008-10-01T16:54:02.089-07:00</updated><title type='text'>Quick comparison of embeeded Processors on FPGA</title><content type='html'>&lt;span style="font-weight: bold;"&gt;PowerPC 440 (Xilinx)&lt;br /&gt;&lt;/span&gt;&lt;span&gt;7-stage pipeline&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;http://www.xilinx.com/products/silicon_solutions/fpgas/virtex/virtex5/capabilities/PowerPC_440.htm&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;1,100 DMIPS @ 550MHz (2.0 DMIPS/MHz)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PowerPC 405&lt;/span&gt;&lt;br /&gt;5-stage&lt;br /&gt;&lt;br /&gt;700 DMIPS @ 450MHz (1.55 DMIPS/MHz)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Altera NIOS II (f)&lt;/span&gt;&lt;br /&gt;6-stage pipeline,&lt;br /&gt;&lt;br /&gt;Stratix III/IV&lt;br /&gt;upto 340 MIPS @290MHz, 1020 ALUTs  (1.183 MIPS/MHz)&lt;br /&gt;&lt;br /&gt;Cyclone III&lt;br /&gt;upto 195 MIPS @175MHz, 1800 LEs (1.109 MIPS/MHz)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Xilinx Microblaze&lt;/span&gt;&lt;br /&gt;5-stages, 1.19 DMIPS/MHz&lt;br /&gt;http://www.xilinx.com/products/design_resources/proc_central/microblaze_per.htm&lt;br /&gt;&lt;br /&gt;Virtex-5&lt;br /&gt;280 DMIPS @235 MHz, 1,027 LUTs (no MMU)&lt;br /&gt;&lt;br /&gt;Spartan-3&lt;br /&gt;125 DMIPS @105 MHz,  1,809 LUTs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lattice Mico32&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Through the Designware license, designers can port Nios-based designs from an FPGA-platform to a mass production ASIC-device&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-8232795370086868837?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/8232795370086868837/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=8232795370086868837' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/8232795370086868837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/8232795370086868837'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2008/10/quick-comparison-of-embeeded-processors.html' title='Quick comparison of embeeded Processors on FPGA'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-830422892608248253</id><published>2008-09-24T13:29:00.000-07:00</published><updated>2008-09-24T14:07:55.819-07:00</updated><title type='text'>Tunneling ssh to run remote application</title><content type='html'>Tunnel VNC&lt;br /&gt;&lt;br /&gt;ssh -N -f {user}@{router-ip} -L 5901:{domain-ip}:5900&lt;br /&gt;vncviewer localhost:1&lt;br /&gt;&lt;br /&gt;to use with web browser&lt;br /&gt;&lt;br /&gt;ssh -N -f {user}@{router-ip} -L 5801:{domain-ip}:5800&lt;br /&gt;vncviewer localhost:1&lt;br /&gt;&lt;br /&gt;Tunnel HTTP&lt;br /&gt;&lt;br /&gt;ssh -N -f {user}@{router-ip} -L 8080:{domain-ip}:80&lt;br /&gt;http://localhost:8080&lt;br /&gt;&lt;br /&gt;it also works for remote gforge access through svn&lt;br /&gt;svn checkout http://localhost:8080/svn/{project}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-830422892608248253?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/830422892608248253/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=830422892608248253' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/830422892608248253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/830422892608248253'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2008/09/tunneling-ssh-to-run-remote-application.html' title='Tunneling ssh to run remote application'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-6749110007740621382</id><published>2008-05-07T07:41:00.000-07:00</published><updated>2008-05-07T08:02:40.208-07:00</updated><title type='text'>un Nico dans une boite !</title><content type='html'>tester le !&lt;br /&gt;http://www.thepocketgeek.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-6749110007740621382?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/6749110007740621382/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=6749110007740621382' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/6749110007740621382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/6749110007740621382'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2008/05/un-nico-dans-une-boite.html' title='un Nico dans une boite !'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-5448946077235352184</id><published>2008-05-03T00:00:00.000-07:00</published><updated>2008-05-03T00:07:58.090-07:00</updated><title type='text'>Nico le maitre du bowling !</title><content type='html'>Je dégomme les quilles que je veux :)&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="240"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NGAH3ItzTNU&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NGAH3ItzTNU&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="320" height="240"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-5448946077235352184?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/5448946077235352184/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=5448946077235352184' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5448946077235352184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5448946077235352184'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2008/05/nico-le-maitre-du-bowling.html' title='Nico le maitre du bowling !'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-7493874945734522733</id><published>2008-04-28T09:01:00.000-07:00</published><updated>2008-04-29T11:11:40.778-07:00</updated><title type='text'>Magic the Gathering (multiplatform)</title><content type='html'>Just a link for those wanting to play MtG online on linux or mac :&lt;br /&gt;&lt;a href="http://mindless.sourceforge.net/"&gt;http://mindless.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is said to be compatible with apprentice.&lt;br /&gt;&lt;br /&gt;For non rpm based distribution, you can either build it from the source or use alien to convert the rpm file to your distribution package system&lt;br /&gt;&lt;br /&gt;under debian or ubuntu&lt;br /&gt;&lt;br /&gt;sudo apt-get install alien&lt;br /&gt;wget downloads.sourceforge.net/mindless/mindless-1.6-1.i386.rpm&lt;br /&gt;sudo alien --to-deb mindless-1.6-1.i386.rpm&lt;br /&gt;sudo dpkg -i mindless-1.6-1.i386.deb&lt;br /&gt;&lt;br /&gt;The card data base will also be needed, they are not released with the program.&lt;br /&gt;&lt;br /&gt;here is a link &lt;a href="http://www.magic-league.com/download/10th%20patch.zip"&gt;http://www.magic-league.com/download/10th%20patch.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-7493874945734522733?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/7493874945734522733/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=7493874945734522733' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/7493874945734522733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/7493874945734522733'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2008/04/magic-gathering-multiplatform.html' title='Magic the Gathering (multiplatform)'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-75555188551931395</id><published>2008-01-18T09:35:00.000-08:00</published><updated>2008-12-10T01:32:50.689-08:00</updated><title type='text'>bbg33k|^{bb}</title><content type='html'>to be geek or not to be,&lt;br /&gt;just a photo of me at work with some of my anti-stress&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_8FvKwDtZKy4/R5Dkh_DSyZI/AAAAAAAAAHE/ep1uZudrGXo/s1600-h/nicogeek.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_8FvKwDtZKy4/R5Dkh_DSyZI/AAAAAAAAAHE/ep1uZudrGXo/s400/nicogeek.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5156872845851281810" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-75555188551931395?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/75555188551931395/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=75555188551931395' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/75555188551931395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/75555188551931395'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2008/01/bbg33kbb.html' title='bbg33k|^{bb}'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_8FvKwDtZKy4/R5Dkh_DSyZI/AAAAAAAAAHE/ep1uZudrGXo/s72-c/nicogeek.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-9088571671645261992</id><published>2007-08-10T12:09:00.000-07:00</published><updated>2007-09-10T18:08:18.569-07:00</updated><title type='text'>mplayer -&gt; VLC ?</title><content type='html'>I have decided to use VLC instead of mplayer/mencoder for one single reason : VLC supports MPEG-2 TS muxing (through the libdvbpsi) while mencoder do not.&lt;br /&gt;&lt;br /&gt;Of course it may be possible to use this lib with mplayer too, but I don't want loosing my time to hack it ...&lt;br /&gt;&lt;br /&gt;update 17/08/2007&lt;br /&gt;Mmm, it seems that it is supported in ffmpeg (and so mencoder) too but it is not documented.&lt;br /&gt;The output format name option is "mpegts".&lt;br /&gt;Alternatively there is apparently the Avidemux software that can do the muxing job.&lt;br /&gt;I cannot test right now ... So it's a note for later ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-9088571671645261992?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/9088571671645261992/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=9088571671645261992' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/9088571671645261992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/9088571671645261992'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/08/mplayer-vlc.html' title='mplayer -&gt; VLC ?'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-3356852988798733499</id><published>2007-08-07T11:32:00.000-07:00</published><updated>2007-08-07T12:07:54.046-07:00</updated><title type='text'>minitutorial : video.yuv -&gt; video.yuv.avi</title><content type='html'>Well just a small tutorial note for people working with me on video coding ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;to obtain a yuv video&lt;/span&gt; from any video source that mplayer can read, execute:&lt;br /&gt;&lt;blockquote&gt;mplayer file.ext -ao null -vo yuv4mpeg -o file.yuv&lt;/blockquote&gt;and &lt;span style="font-weight: bold;"&gt;to pack a yuv video file into an avi container&lt;/span&gt; use:&lt;br /&gt;&lt;blockquote&gt;mencoder file.yuv -ovc copy -o file.yuv.avi&lt;/blockquote&gt;to &lt;span style="font-weight: bold;"&gt;keep the sound&lt;/span&gt; in the uncompressed avi you can do:&lt;br /&gt;&lt;blockquote&gt;mplayer file.ext -ao pcm -vo yuv4mpeg&lt;br /&gt;mencoder stream.yuv -audiofile audiodump.wav -ovc copy -o file.yuvpcm.avi&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;the two actions&lt;/span&gt; can be done in one single command like this:&lt;br /&gt;&lt;blockquote&gt;mencoder file.ext -ovc raw -nosound -of avi -o file.raw.avi&lt;br /&gt;&lt;/blockquote&gt;or&lt;br /&gt;&lt;blockquote&gt;mencoder file.ext -ovc raw -oac pcm -of avi -o file.raw.avi&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-3356852988798733499?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/3356852988798733499/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=3356852988798733499' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/3356852988798733499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/3356852988798733499'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/08/minitutorial-videoyuv-videoyuvavi.html' title='minitutorial : video.yuv -&gt; video.yuv.avi'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-6190018088369866917</id><published>2007-07-31T06:47:00.000-07:00</published><updated>2007-08-01T17:51:16.067-07:00</updated><title type='text'>gcc -a</title><content type='html'>in man pages of gcc 3&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;       &lt;b&gt;-a&lt;/b&gt;  Generate extra code to write profile information for&lt;br /&gt;       basic blocks, which will record the number of times&lt;br /&gt;       each basic block is executed, the basic block start&lt;br /&gt;       address, and the function name containing the basic&lt;br /&gt;       block.  If &lt;b&gt;-g&lt;/b&gt; is used, the line number and filename of&lt;br /&gt;       the start of the basic block will also be recorded.&lt;br /&gt;       If not overridden by the machine description, the&lt;br /&gt;       default action is to append to the text file &lt;u&gt;bb.out&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;       This data could be analyzed by a program like "tcov".&lt;br /&gt;       Note, however, that the format of the data is not what&lt;br /&gt;       "tcov" expects.  Eventually GNU "gprof" should be&lt;br /&gt;       extended to process this data.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This option was remove from gcc4 !&lt;br /&gt;In http://gcc.gnu.org/gcc-4.1/changes.html&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Transition of basic block profiling to tree level implementation has         been completed.&lt;/span&gt;  The new implementation should be considerably more  reliable (hopefully avoiding profile mismatch errors when using  &lt;code&gt;-fprofile-use&lt;/code&gt; or &lt;code&gt;-fbranch-probabilities&lt;/code&gt;) and  can be used to drive higher level optimizations, such as inlining.  &lt;p&gt;  The &lt;code&gt;-ftree-based-profiling&lt;/code&gt; command line option was  removed and &lt;code&gt;-fprofile-use&lt;/code&gt; now implies disabling old RTL  level loop optimizer (&lt;code&gt;-fno-loop-optimize&lt;/code&gt;).  Speculative  prefetching optimization (originally enabled by  &lt;code&gt;-fspeculative-prefetching&lt;/code&gt;) was removed.&lt;/p&gt;What is tree level implementation ?&lt;br /&gt;mmmh I'm thinking about installing gcc-3.4&lt;br /&gt;... done&lt;br /&gt;Warg it's the same.&lt;br /&gt;&lt;br /&gt;There is also the thread:&lt;br /&gt;&lt;a href="http://www.cygwin.com/ml/binutils/2007-05/msg00345.html"&gt;http://www.cygwin.com/ml/binutils/2007-05/msg00345.html&lt;/a&gt;&lt;br /&gt;and&lt;br /&gt;&lt;a href="http://gcc.gnu.org/ml/gcc/2001-08/msg01385.html"&gt;http://gcc.gnu.org/ml/gcc/2001-08/msg01385.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;So I have to use gcov !&lt;/span&gt;&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Associer" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-6190018088369866917?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/6190018088369866917/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=6190018088369866917' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/6190018088369866917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/6190018088369866917'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/gg.html' title='gcc -a'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-5279081065358777766</id><published>2007-07-28T09:14:00.000-07:00</published><updated>2007-07-28T09:23:12.880-07:00</updated><title type='text'>For RPG geeks</title><content type='html'>Only because I love this video.&lt;br /&gt;Here is Farador !&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://www.koreus.com/video/farador-dd" height="320" width="400"&gt;&lt;a href="http://www.koreus.com/video/farador-dd.html"&gt;Farador D&amp;amp;D&lt;/a&gt; via &lt;a href="http://www.koreus.com/"&gt;Koreus&lt;/a&gt;&lt;param name="movie" value="http://www.koreus.com/video/farador-dd"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-5279081065358777766?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/5279081065358777766/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=5279081065358777766' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5279081065358777766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5279081065358777766'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/pour-les-geeks-de-jdr.html' title='For RPG geeks'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-5934039204803233994</id><published>2007-07-17T16:28:00.000-07:00</published><updated>2008-12-10T01:32:50.855-08:00</updated><title type='text'>MPlayer H.264 profiling (further ...)</title><content type='html'>Some interesting links&lt;br /&gt;&lt;a href="http://www.gnu.org/software/binutils/manual/gprof-2.9.1/html_node/gprof_17.html#SEC17"&gt;profiling line by line&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gnu.org/software/binutils/manual/gprof-2.9.1/html_node/gprof_18.html#SEC18"&gt;annotated source listing&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;So, let's do it  !&lt;br /&gt;&lt;br /&gt;... working ...&lt;br /&gt;&lt;br /&gt;gcc doesn't understand the "-a" option&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is the new gprof command line to test :&lt;br /&gt;&lt;br /&gt;gprof  --line \&lt;br /&gt;       --annotated-source=h264.c:decode_residual \&lt;br /&gt;       --separate-files \&lt;br /&gt;       --directory-path=~/local/src/mplayer/libavcodec \&lt;br /&gt;       --flat-profile --no-graph \&lt;br /&gt;       ~/local/bin/mplayer \&lt;br /&gt;       *.gmon &gt; sumup.prof&lt;br /&gt;&lt;br /&gt;Here is the head of the command result in sumup.prof&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8FvKwDtZKy4/Rp5WDKbyy8I/AAAAAAAAAFU/xxaleSbZcUw/s1600-h/Clich%C3%A9+2007-07-18+15-01-13.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_8FvKwDtZKy4/Rp5WDKbyy8I/AAAAAAAAAFU/xxaleSbZcUw/s400/Clich%C3%A9+2007-07-18+15-01-13.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5088599241315765186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, what's appears ?&lt;br /&gt;mmmh everything is mixed, not just the decode_residual function as wanted, and the last gprof command consumes time...&lt;br /&gt;Also just the function name line is commented and not all basic blocs as desired.&lt;br /&gt;Something is missing ...&lt;br /&gt;&lt;br /&gt;... thinking ...&lt;br /&gt;&lt;br /&gt;rtfm gcc&lt;br /&gt;does the -a option disappears in gcc-4 ?&lt;br /&gt;is it replaced by -fprofile-arcs ? :/&lt;br /&gt;... mmmh, no it doesn't seems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-5934039204803233994?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/5934039204803233994/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=5934039204803233994' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5934039204803233994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5934039204803233994'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/mplayer-h264-profiling-further.html' title='MPlayer H.264 profiling (further ...)'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_8FvKwDtZKy4/Rp5WDKbyy8I/AAAAAAAAAFU/xxaleSbZcUw/s72-c/Clich%C3%A9+2007-07-18+15-01-13.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-1235020190439223806</id><published>2007-07-16T19:08:00.000-07:00</published><updated>2007-07-17T16:47:28.160-07:00</updated><title type='text'>script to sum up profiling result not needed.</title><content type='html'>rtfm gprof&lt;br /&gt;or &lt;a href="http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html#SEC4"&gt;http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html#SEC4&lt;/a&gt;&lt;br /&gt;&lt;p&gt;You can give more than one profile data file by entering all their names after the executable file name; then the statistics in all the data files are summed together. &lt;/p&gt;No, we'll just need to find a representive set of videos.&lt;br /&gt;&lt;blockquote&gt;for f in *.mov&lt;br /&gt;do&lt;br /&gt;  mplayer $f&lt;br /&gt;  mv gmon.out {$f%.mov}.gmon&lt;br /&gt;done&lt;br /&gt;gprof ~/local/bin/mplayer *.gmon &gt; sumup.prof&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-1235020190439223806?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/1235020190439223806/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=1235020190439223806' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/1235020190439223806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/1235020190439223806'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/script-to-sum-up-profiling-result-not.html' title='script to sum up profiling result not needed.'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-1990716475462883520</id><published>2007-07-16T14:48:00.000-07:00</published><updated>2008-12-10T01:32:51.933-08:00</updated><title type='text'>MPlayer H.264 profiling (continue ...)</title><content type='html'>&lt;a href="http://nicogeek.blogspot.com/2007/07/mplayer-h264-profiling.html"&gt;Read the previous article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So the MPlayer H.264 first candidate function for HW acceleration (i.e.: the most time consuming procedure) is &lt;span style="font-style: italic;"&gt;decode_residual&lt;/span&gt; (in libavcodec/h264.c part of FFmpeg). [geeknote: I use emacs with etags to browse and jump to source code].&lt;br /&gt;&lt;br /&gt;Well, after analyzing the source code of this function, I've seen that there is in it a lots of inline procedures call. So these inline procedures are more likely the code parts to be HW accelerated but the profiling did not count the time consumed in theses procedures since there are inlined. Let's go further in the profiling using some more &lt;span style="font-weight: bold;"&gt;gcc&lt;/span&gt; compiling options&lt;br /&gt;i.e.: &lt;span style="font-style: italic;"&gt;--fno-inline&lt;/span&gt;.&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;sed s/OPTFLAGS.*/"&amp; -pg -fno-inline"/ config.mak &gt; tmp&lt;br /&gt;mv tmp config.mak&lt;br /&gt;make clean &amp;amp;&amp; make &amp;amp;&amp; make install&lt;br /&gt;&lt;/blockquote&gt;we run mplayer on the "1408" movie trailer and then analyze the profiling.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_8FvKwDtZKy4/RpwHn6byy3I/AAAAAAAAAEs/pfW4APtCYNI/s1600-h/Clich%C3%A9+2007-07-16+20-56-40.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_8FvKwDtZKy4/RpwHn6byy3I/AAAAAAAAAEs/pfW4APtCYNI/s400/Clich%C3%A9+2007-07-16+20-56-40.png" alt="" id="BLOGGER_PHOTO_ID_5087950061303942002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;before removing inlining we had no detail of the &lt;span style="font-style: italic;"&gt;decode_residual&lt;/span&gt; subfunctions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8FvKwDtZKy4/RpwJtqbyy4I/AAAAAAAAAE0/cPqBkXEtKyc/s1600-h/toto.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_8FvKwDtZKy4/RpwJtqbyy4I/AAAAAAAAAE0/cPqBkXEtKyc/s400/toto.png" alt="" id="BLOGGER_PHOTO_ID_5087952359111445378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;after, there is more details:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8FvKwDtZKy4/RpwLHKbyy5I/AAAAAAAAAE8/I0Lq2XIfYcE/s1600-h/toto2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_8FvKwDtZKy4/RpwLHKbyy5I/AAAAAAAAAE8/I0Lq2XIfYcE/s400/toto2.png" alt="" id="BLOGGER_PHOTO_ID_5087953896709737362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Profiling extract of the "Ducaty" trailer decompression (without inlined function).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8FvKwDtZKy4/RpwP-qbyy6I/AAAAAAAAAFE/j_qSymvHDpA/s1600-h/toto3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_8FvKwDtZKy4/RpwP-qbyy6I/AAAAAAAAAFE/j_qSymvHDpA/s400/toto3.png" alt="" id="BLOGGER_PHOTO_ID_5087959248238988194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, it seems the inlined procedures does not represent so much of the &lt;span style="font-style: italic;"&gt;decode_residual&lt;/span&gt; function. For the "1408" movie trailer, the total execution time of  &lt;span style="font-style: italic;"&gt;decode_residual &lt;/span&gt;calls is 8.19 s within 2.10 s in the de-inlined functions.&lt;br /&gt;For the "Ducaty" trailer the the total execution time of &lt;span style="font-style: italic;"&gt;decode_residual &lt;/span&gt;calls is 2.2 s, within 1.1 s in the de-inlined functions.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_8FvKwDtZKy4/RpwYjabyy7I/AAAAAAAAAFM/yIpDWOzUG6I/s1600-h/toto4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_8FvKwDtZKy4/RpwYjabyy7I/AAAAAAAAAFM/yIpDWOzUG6I/s400/toto4.png" alt="" id="BLOGGER_PHOTO_ID_5087968675692202930" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-1990716475462883520?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/1990716475462883520/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=1990716475462883520' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/1990716475462883520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/1990716475462883520'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/mplayer-h264-profiling-option-fno.html' title='MPlayer H.264 profiling (continue ...)'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_8FvKwDtZKy4/RpwHn6byy3I/AAAAAAAAAEs/pfW4APtCYNI/s72-c/Clich%C3%A9+2007-07-16+20-56-40.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-2322725485378822616</id><published>2007-07-09T18:04:00.000-07:00</published><updated>2007-08-15T15:06:32.966-07:00</updated><title type='text'>animated pdf figure : beamer + xfig + mpost/mptopdf</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Minitutorial&lt;/span&gt;&lt;br /&gt;This is a summary of usefull information I have found on the web and some tricks I've found myself.&lt;br /&gt;You can have ave a look at http://www.xfig.org/userman/latex_and_xfig.html&lt;br /&gt;(Xfig and pdf / section 4)&lt;br /&gt;&lt;br /&gt;If your animation will just consists of successives layers of a figure you can&lt;br /&gt;defines these layers with &lt;span style="font-weight: bold;"&gt;xfig&lt;/span&gt; provided that you will &lt;span style="font-style: italic;"&gt;export the figure in the multimetapost format (.mmp files)&lt;/span&gt;&lt;span style="font-style: italic;"&gt;.&lt;/span&gt;&lt;br /&gt;It is not so easy, to define the differents &lt;span style="font-style: italic;"&gt;layers&lt;/span&gt;. With xfig you have to set the depths of your elements. Elements of consecutive depths will be parts of the same layer. Layers of deapest elements will be showned first.&lt;br /&gt;Then when you have generated the .mmp file you may need to &lt;span style="font-style: italic;"&gt;edit it&lt;/span&gt;.&lt;br /&gt;For example I have had some latex code just for the accents.&lt;br /&gt;&lt;blockquote&gt;% +MP-ADDITIONAL-HEADER&lt;br /&gt;verbatimtex&lt;br /&gt;%&amp;latex&lt;br /&gt;\documentclass{article}&lt;br /&gt;\usepackage[french]{babel}&lt;br /&gt;\usepackage[latin9]{inputenc}&lt;br /&gt;\usepackage[cyr]{aeguill}&lt;br /&gt;\usepackage[T1]{fontenc}&lt;br /&gt;\begin{document}&lt;br /&gt;etex&lt;br /&gt;% -MP-ADDITIONAL-HEADER&lt;br /&gt;&lt;/blockquote&gt;then &lt;span style="font-style: italic;"&gt;use&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;mpost&lt;/span&gt; + &lt;span style="font-weight: bold;"&gt;mptopdf  &lt;/span&gt;or just &lt;span style="font-weight: bold;"&gt;mptopdf&lt;/span&gt; that whill call &lt;span style="font-weight: bold;"&gt;mpost&lt;/span&gt; (I had problem using just mptopdf)&lt;br /&gt;&lt;blockquote&gt;mpost -tex=latex myfile.mmp&lt;br /&gt;mptopdf myfile.*&lt;br /&gt;&lt;/blockquote&gt;or just&lt;br /&gt;&lt;blockquote&gt;mptopdf --latex myfile.mmp&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;In &lt;span style="font-weight: bold;"&gt;beamer&lt;/span&gt; you have to &lt;span style="font-style: italic;"&gt;deactivate the covered feature&lt;/span&gt; if you normally use it.&lt;br /&gt;For example:&lt;br /&gt;&lt;blockquote&gt;\documentclass{beamer}&lt;br /&gt;%\usepackage ...&lt;br /&gt;\usepackage{xmpmulti}&lt;br /&gt;% \DeclareGraphicsRule{*}{mps}{*}{}&lt;br /&gt;\begin{document}&lt;br /&gt;\setbeamercovered{transparent}&lt;br /&gt;% some frames with transparent&lt;br /&gt;&lt;br /&gt;\setbeamercovered{invisible} % deactivate transparent covered mode&lt;br /&gt;\begin{frame}&lt;br /&gt;\frametitle{my frame with the pdf animated figure}&lt;br /&gt;\multiinclude[graphics={width=\textwidth},format=pdf]{figures/myfile}&lt;br /&gt;\end{frame}&lt;br /&gt;\setbeamercovered{transparent} % back to transparent covered mode&lt;br /&gt;&lt;/blockquote&gt;With xfig, I will suggest you first define the number of layers you want for your figure, let's say ten. Then set to 91,92,..,99 the depth of the elements that you want to be in the first layer; 81,82,..,89 the depth of the elements that you want to be in the second layer; and so on to 1,2,..9 the depth of the elements you want to be in the last layer.&lt;br /&gt;In this way the number of tens indicate the number of the layer of the element, since  you will probably not need more than 9 deapths for any layer (a diagram basically consists of a background shape, text, arrows, and eventually a foreground shape).&lt;br /&gt;&lt;br /&gt;That's it.&lt;br /&gt;It's just like a memo for me, but in the same time hope it could help ...&lt;br /&gt;Don't hesitate to give feedback.&lt;br /&gt;&lt;br /&gt;Today I prefer to use &lt;span style="font-weight: bold;"&gt;tikz&lt;/span&gt; with &lt;span style="font-style: italic;"&gt;overlays&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;pause&lt;/span&gt; to do such animations in pdf documents generated by latex. It's more geeky, more hacker's tool !&lt;br /&gt;I'll may post some example of what I have done with it later here.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;update 15/08/2007&lt;br /&gt;Tomorrow (another day :), I will test the animate package of Alexander Grahn&lt;br /&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://tug.ctan.org/macros/latex/contrib/animate/doc/animate.pdf" target="_blank"&gt;http://tug.ctan.org/macros&lt;wbr&gt;/latex/contrib/animate/doc&lt;wbr&gt;/animate.pdf&lt;/a&gt;&lt;br /&gt;that auto-animate sets of graphics files or inline graphics.&lt;br /&gt;Even il you don't need automatic animation, one feature of the package is that the animation running remains on the same pdf page whereas without this package animation like explain in this article creates various pages.&lt;br /&gt;One drawback is that animation created with this package only can be seen with Adobe Reader or Acrobat.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nicogeek&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-2322725485378822616?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/2322725485378822616/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=2322725485378822616' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/2322725485378822616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/2322725485378822616'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/animated-pdf-figure-beamer-xfig.html' title='animated pdf figure : beamer + xfig + mpost/mptopdf'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-7408191080825827821</id><published>2007-07-06T15:25:00.000-07:00</published><updated>2007-07-06T15:30:55.205-07:00</updated><title type='text'>MPlayer H.264 profiling (update)</title><content type='html'>The article "MPlayer H.264 profiling" have been updated.&lt;br /&gt;&lt;a href="http://nicogeek.blogspot.com/2007/07/mplayer-h264-profiling.html"&gt; click here to jump to it.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-7408191080825827821?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/7408191080825827821/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=7408191080825827821' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/7408191080825827821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/7408191080825827821'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/mplayer-h264-profiling-update.html' title='MPlayer H.264 profiling (update)'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-1767449503220224708</id><published>2007-07-03T09:15:00.001-07:00</published><updated>2007-07-03T09:15:46.197-07:00</updated><title type='text'>Should I get one ? :)</title><content type='html'>&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1xXNoB3t8vM"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/1xXNoB3t8vM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-1767449503220224708?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/1767449503220224708/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=1767449503220224708' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/1767449503220224708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/1767449503220224708'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/should-i-get-one.html' title='Should I get one ? :)'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-5367999460658702687</id><published>2007-07-03T05:55:00.000-07:00</published><updated>2007-07-12T13:10:55.841-07:00</updated><title type='text'>MPlayer H.264 profiling</title><content type='html'>#define HW HardWare&lt;br /&gt;alias rtfm=man&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well, I do not know what the --enable-profile options really does, but I succeed profiling the application like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/sh&lt;br /&gt;mkdir -p ~/local/src&lt;br /&gt;svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/\&lt;br /&gt;~/local/src/mplayer&lt;br /&gt;cd ~/local/src/mplayer&lt;br /&gt;./configure --prefix=$HOME/local --disable-mencoder\&lt;br /&gt;--enable-debug --enable-profile --extra-libs=-pg&lt;br /&gt;# the -pg option is for profiling with gprof&lt;br /&gt;# -pg should also be added to the CFLAGS (or OPTFLAGS).&lt;br /&gt;# As I did not find such an option in the configure script,&lt;br /&gt;# I modify the generated config.mak file like this:&lt;br /&gt;sed s/"OPTFLAGS = "/"OPTFLAGS = -pg " config.mak &gt; tmp&lt;br /&gt;mv tmp config.mak&lt;br /&gt;make&lt;br /&gt;make install&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I do profiling on H.264 full HD (1080p) videos because, before designing a full HW decoder chip, I want to start with an HW accelerator for MPlayer that could be mapped on a FPGA, so I need to know which part of the code should be first mapped to HW.&lt;br /&gt;&lt;br /&gt;Now I have some results on film trailers (full HD) downloaded on the quicktime web page http://www.apple.com/trailers/.&lt;br /&gt;Here how to do.&lt;br /&gt;1. download a set of films for benchmark in let's say ~/HDV&lt;br /&gt;cd ~/HDV&lt;br /&gt;2. view all the videos in native resolution (even if your screen do not support full HD resolution, since your video card does)&lt;br /&gt;3. a gmon.out file will be generated each time mplayer finish displaying the video, it is used as entry for gprof (rtfm gprof).&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/sh&lt;br /&gt;mkdir -p profiling&lt;br /&gt;for f in *.mov&lt;br /&gt;do&lt;br /&gt;~/local/bin/mplayer $f&lt;br /&gt;gprof ~/local/bin/mplayer &gt; profiling/${f%.mov}.prof&lt;br /&gt;rm gmon.out&lt;br /&gt;done&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I think about writing a script to sum up all the benchmark results in a human readeable table guarding for example the 10 more time consuming procedures.&lt;br /&gt;I will update this article with the script and table when done (if I do).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;update 06/07/2007&lt;br /&gt;Waiting for the script ? Here is just some results sumary.&lt;br /&gt;(FIXME: But the output in this blog looks horrible.&lt;br /&gt;Currently I don't know how to hack it to control the end of lines and multiple spaces, it might be just html code to add :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;nicolas@iBook-Nicolas$ head -15 1408.prof&lt;br /&gt;Flat profile:&lt;br /&gt;&lt;br /&gt;Each sample counts as 0.01 seconds.&lt;br /&gt; %   cumulative   self              self     total          &lt;br /&gt;time   seconds   seconds    calls  ms/call  ms/call  name   &lt;br /&gt;18.08      9.78     9.78 205612091     0.00     0.00  decode_residual&lt;br /&gt;12.10     16.32     6.54 21891240     0.00     0.00  decode_mb_cavlc&lt;br /&gt; 8.90     21.13     4.81  5875112     0.00     0.00  fast_memcpy&lt;br /&gt; 7.69     25.29     4.16 21891240     0.00     0.00  hl_decode_mb&lt;br /&gt; 6.52     28.81     3.53 21891240     0.00     0.00  fill_caches&lt;br /&gt; 4.11     31.03     2.22 16343918     0.00     0.00  put_h264_qpel8or16_v_lowpass_mmx2&lt;br /&gt; 3.38     32.86     1.83 18682094     0.00     0.00  put_h264_qpel8_h_lowpass_l2_mmx2&lt;br /&gt; 3.18     34.58     1.72  4928113     0.00     0.00  put_h264_qpel8or16_hv_lowpass_mmx2&lt;br /&gt; 2.98     36.19     1.61 27761182     0.00     0.00  put_h264_chroma_mc8_mmx&lt;br /&gt; 2.66     37.63     1.44 75903672     0.00     0.00  ff_h264_idct_add_mmx&lt;br /&gt;nicolas@iBook-Nicolas$ head -14 xmanIII.prof&lt;br /&gt;Flat profile:&lt;br /&gt;&lt;br /&gt;Each sample counts as 0.01 seconds.&lt;br /&gt; %   cumulative   self              self     total          &lt;br /&gt;time   seconds   seconds    calls  ms/call  ms/call  name   &lt;br /&gt;10.59      5.61     5.61 19396320     0.00     0.00  hl_decode_mb&lt;br /&gt; 7.72      9.70     4.09  5171328     0.00     0.00  fast_memcpy&lt;br /&gt; 6.38     13.08     3.38 38792640     0.00     0.00  fill_caches&lt;br /&gt; 5.93     16.22     3.14 19396320     0.00     0.00  decode_mb_cabac&lt;br /&gt; 4.13     18.41     2.19 11993739     0.00     0.00  decode_mb_skip&lt;br /&gt; 3.85     20.45     2.04 20047404     0.00     0.00  filter_mb_edgeh&lt;br /&gt; 3.73     22.43     1.98 20045573     0.00     0.00  filter_mb_edgev&lt;br /&gt; 3.42     24.24     1.81 14893574     0.00     0.00  h264_h_loop_filter_luma_mmx2&lt;br /&gt; 2.76     25.70     1.46 12726619     0.00     0.00  put_pixels16_mmx&lt;br /&gt;nicolas@iBook-Nicolas$ head -14 The\ Bourne\ Ultimatum.prof&lt;br /&gt;Flat profile:&lt;br /&gt;&lt;br /&gt;Each sample counts as 0.01 seconds.&lt;br /&gt; %   cumulative   self              self     total          &lt;br /&gt;time   seconds   seconds    calls  ms/call  ms/call  name   &lt;br /&gt;17.58      5.49     5.49 101873518     0.00     0.00  decode_residual&lt;br /&gt; 9.87      8.57     3.08 13078440     0.00     0.00  decode_mb_cavlc&lt;br /&gt; 8.58     11.25     2.68 13078440     0.00     0.00  hl_decode_mb&lt;br /&gt; 8.46     13.89     2.64  3508832     0.00     0.00  fast_memcpy&lt;br /&gt; 6.82     16.02     2.13 13727160     0.00     0.00  fill_caches&lt;br /&gt; 3.80     17.21     1.19  7748360     0.00     0.00  put_h264_qpel8or16_v_lowpass_mmx2&lt;br /&gt; 2.98     18.14     0.93 12297988     0.00     0.00  mc_part&lt;br /&gt; 2.66     18.97     0.83 45176732     0.00     0.00  ff_h264_idct_add_mmx&lt;br /&gt; 2.53     19.76     0.79  9036911     0.00     0.00  put_h264_qpel8_h_lowpass_l2_mmx2&lt;br /&gt;nicolas@iBook-Nicolas$&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-5367999460658702687?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/5367999460658702687/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=5367999460658702687' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5367999460658702687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/5367999460658702687'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/mplayer-h264-profiling.html' title='MPlayer H.264 profiling'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3150962567509465761.post-9194291985371400411</id><published>2007-07-02T08:17:00.000-07:00</published><updated>2007-07-02T08:23:37.857-07:00</updated><title type='text'>Geek blog 4 geek</title><content type='html'>Je crée là maintenant un autre blog pour y écrire des choses plus en rapport avec mon (non-)travail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3150962567509465761-9194291985371400411?l=nicogeek.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nicogeek.blogspot.com/feeds/9194291985371400411/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3150962567509465761&amp;postID=9194291985371400411' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/9194291985371400411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3150962567509465761/posts/default/9194291985371400411'/><link rel='alternate' type='text/html' href='http://nicogeek.blogspot.com/2007/07/geek-blog-4-geek.html' title='Geek blog 4 geek'/><author><name>Nicolas J. S. Hervé</name><uri>http://www.blogger.com/profile/15209286885016736485</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
