Archive for the ‘Uncategorized’ Category

A private history of prank that failed

Saturday, March 27th, 2010

How would you call the following situation: a man who has never travelled alone and never been abroad suddenly appears in a foreign country. He does not know local language nor customs. And all that happens on 1st of April.

Well, sounds like a prank indeed but it were the best days of my life. I don’t remember whose idea it was but I quite suddenly decided to visit Sweden (okay, blame those subtitles in Monty Python and the Holy Grail ) and first half of April was the time when I could do that.

What’s a first thing any tourist should do in Stockholm? In my case it was wandering in Sundbyberg. I did a lot of things every tourist should do — visiting a dozen of museums (first two of them were Post Museum and Royal Coin Cabinet) and no art galleries,going to Skärholmen and not visiting any big shops there, not buying any elk toys or T-shirts with silly inscriptions, going to churches to listen to organ music, being at city centre and shopping only at two places there (Teknik Magasinet and Hemköp); as an extra I’ve been to Copenhagen for a day and have not seen any mermaids or castle interiors.

Also I’ve attended FFmpeg developers conference (Swedish branch). It was very nice to see all those people in person. One of them was very kind to give me a short tour on Stockholm (Odenplan – KTH – Stureplan – Norrmalmstorg).

I’ve lost my heart at Sweden. This country style is “simple, beautiful and effective” applied everywhere. And if you heard the saying “the way to a man’s heart is through his stomach”, it took place too (a sure sign is that when other developers’ commit messages start with “10l cola: …” mine start with “10l trocadero: …” and thinking of Emmentaler as “Swiss version of Grevé”).

And I can’t fully express my gratitude to Benjamin Larsson without whom all of this could not happen.


Enough with reminiscences, I’ll try to produce some codec material to write about.

Anthems

Wednesday, December 30th, 2009

Once I wondered about different anthems. Looks like one of the things Wikipedia misses on them is classification by content.

Personally I can split them into those categories:

  1. praise of the land — many anthems tell about features of the country like mountains, rivers, lakes, green meadows, whatever.
  2. praising love to the land — a lot of anthems say something like “we love this country”
  3. praising freedom — some anthems are mostly about defending freedom or how the land is good after getting freedom
  4. praising some symbol — mostly sovereigns or flags or people
  5. religious prayers or oaths to save or protect the country

One subgroup is anthems inspired or influenced by Polish anthem. They say virtually “That is not dead which can eternal lie.
And with strange aeons even death may die.”
ahem, sorry “our land is not dead while we live”. Ukraine and Israel have such anthems.

So, here are interesting ones:

  • Polish anthem — known for its dance music
  • anthem of Andorra — not so many anthems are sung from the first person view (i.e. like the country itself tells its story)
  • anthem of Moldova praises its language

My favourite is unofficial anthem of Sweden (since there is no officially approved anthem there). The ending of verse two is rather dear to me:


Jag vet att Du är och Du blir vad Du var.
Ja, jag vill leva jag vill dö i Norden.

Translation:


I know that you are and you will be as you were,
Yes, I want to live I want to die in the North

Indeed, I live in a country which sucks greatly, sucked and I know it will suck; I also want to live in some civilised country at North (especially Sweden). Någon, ta mig till Norden, är du snäll.

A Bit of New Hardware

Monday, September 28th, 2009

I’ve finally got SheevaPlug which will be my new server instead of Artigo 1000 which seems to have internal power management broken. Also it will help me in my plans of decreasing x86 share in my boxes. The only uses I find for x86 netbook now are reverse-engineering and running an occasional game, everything else I do on other boxes as well.

Looks like FedEx at least here is going downhill. While two weeks of delay (aka “custom clearance”) is pretty usual for me, from this year one has to go to their office to sign some papers and pay custom fee before they finish custom clearance and deliver package to your town. I had to go there second time to pick up the package (and before that packages were delivered straight to my place except for one case when it went back to USA). Not that 2.5km walk can harm.

Another thing worth mentioning is that my Gdium now has probably the fastest MPlayer — I’ve ported several lavc MMX-accelerated functions to it, so now H.264, RV3/4 and H.26[13]-based formats decode faster (the latter by couple of ten percents faster, others by 5-10%), not mentioning Monkey Audio which is now possible to listen to in realtime even files packed on insane level. Maybe in distant future they will hit SVN (if I clean them and Måns finds time for review).

In the memory of my ThinkPad

Wednesday, April 29th, 2009

I bought my brand newrefurbished IBM ThinkPad 390 six years ago. While its hardware may be laughable by the current standards – PII-266, 192MB RAM, 4GB HDD – it was my computer where I started developing for FFmpeg. GCC compiling libavcodec/motion_est.c was the reason for adding 128MB to original 64MB of RAM. IIRC, all of codecs development till 2006 GSoC (VC-1 decoder) was done on it.

When I moved to MacMini, it still served me – as a router (it’s hard to see COM port on modern hardware, so modem was connected to TP390, later it was ADSL modem and second PCMCIA network card), as an x86 platform (mostly for running IDA and binary codecs) and for Internet-related stuff (cvs and git server, mail fetching, small web server, downloader and such).

Here’s how it looked for the last years:

i390

Rest in peace.

Now I have Asus EEE 701 working instead of it. Since it’s more compact, I can also fit BeagleBoard on the table next to it.

RV40 is in

Tuesday, December 2nd, 2008

As you may know from other place, FFmpeg got RV40 decoder. There’s still some hope that FFmpeg will get RV30 decoder as well (it needs loop filter and squishing some bugs).

Some notes about performance:

  • PPC G4 1.42GHz — on par
  • Celeron 600MHz (inside ASUS Eee) — significantly slower (2 minutes of the same source decoded in 64 and 82 seconds by binary and native decoders respectively)

When I switch motion compensation functions from C implementations to optimised H.264 counterparts (they are slightly different so the picture quality gets worse) native decoder becomes faster than binary one by several percents on x86 and even faster on PPC. Conclusion: if you want fast decoding then submit SIMD versions of motion compensation functions.

A Round Date

Thursday, August 14th, 2008

Today is the day when my first contribution to FFmpeg went to CVS.

You know that story – a curious programmer once decided to look how one of video codecs works, found out that was deflated MS RLE data expanded for bitdepths > 8bpp, wrote a decoder for it, adapted for ffmpeg, sent that decoder to one person and guess what that person did? Added necessary ties and committed it to FFmpeg CVS.

Well, since then I contribute to FFmpeg a bit of different stuff time from time. Plans for this year include AAC encoder, finishing RV3/4 decoder, pushing LucasArts SMUSH decoder to SVN, making Mike finish Xan4 decoder and some random stuff I’m not aware of now.

Protected: Roads

Wednesday, March 26th, 2008

This content is password protected. To view it please enter your password below:

A new iron at work

Tuesday, March 25th, 2008

Tech support effect has worked – after I showed my new toy to familiar computer repairman it began to work. RAM installation is a black magic indeed.

So now I have a working x86-compatible box with 1GHz CPU and more RAM and harddrive space than on other boxes combined. I’ve already installed Ubuntu (just the first distro I reached, no actual preferences) and debug environment is almost ready, so I may continue RV[34] development soon.

Here is a photo of it with a piece of paper where its name is written. Try to guess it (and no, it is not related to anime).

My new box

A New Box

Saturday, March 22nd, 2008

I’ve finally got an x86 box. Thanks to immeasurable efforts of Henning Norén who sent it to me.

On this poor quality photo you can see it. This box contains Pico-ITX based computer with more memory than on my other boxes together.

My New Box

The only bad moment is that though I’ve assembled it (and I believe assembled it properly) I can’t make it start up. DC converter (a small board to the right) produces voltages all right, so it’s not a power failure. Hopefully I will resolve this issue in a week, install Linux and resume my work on codecs development.

Checkpoint

Sunday, January 6th, 2008

Let’s see what was done with my plans for 2007:

  • Make some lossless audio decoders – no luck (well, I’ve helped a bit to include Monkey’s Audio decoder to ffmpeg)
  • Implement missing VC-1 Simple/Main profile features – no luck (at least WMV3 Complex Profile is almost completely supported)
  • Implement VC-1 Advanced profile interlaced mode – no luck
  • Help with some other projects – DCA implementation and maybe even finish RE for Xan v4 – partially done
  • Write JPEG-2000 decoder – no luck, some people convinced me to write RV3/4 decoder instead and I’m still waiting for the specs 🙁

So it was extremely unlucky year in fulfillment of goals.

What have been done instead:

  • Musepack SV8 support
  • Helped with some projects (DCA decoder, Monkey’s Audio decoder, few game formats)
  • Some WMV3/VC-1 fixes
  • A bit of work on RV3/4 decoder

I hope this year will be better.