Archive for the ‘Useless Rants’ Category

AAC encoder and psy model

Thursday, March 5th, 2009

As you may know, I am working (mostly NOT working though :(, but still remember about it) on AAC encoder. This morning I’ve made simpler psychoacoustic model inspired by FAAC (yes, Dark Shikari, FAAC has some sort of hardcoded psy model) work with my encoder.

I’ll try to use this blog with its original purpose — to formalize my thoughts on subject at hand. I thinks many posts on different aspects of psychoacoustics will follow before more or less suitable encoder will appear. “More or less suitable” means it should be at least a good audio encoding counterpart for x264 (while “fully suitable” means total world domination).

Too bad there’s not enough time (always).

The end-of-year summary

Monday, December 29th, 2008

Ok, let’s see what I’ve done this year:

  • simple IMA ADPCM encoder – Apple variant
  • worked a bit on different codecs – BMP, Fraps, Monkey’s Audio, TIFF, VC-1
  • got RV40 and RV30 finally working more or less as supposed (some garbage still occurs on some B-frames, but mostly both decoders produce watchable video)

So, what are the plans for the next year:

  • Find more time for FFmpeg development
  • Take part in GSoC (it gives a good reason to work on FFmpeg and also makes a good source of T-shirts)
  • Go abroad
  • And, of course, make FFmpeg closer to the world domination

For the last step I need:

  • Add more formats support to FFmpeg (WavPack lossy, Lucas Arts games formats, Bink, etc.)
  • Convince Mike finish his Xan4 decoder
  • Convince Robert finish his AMR-NB decoder (unless somebody beats him to it) and AAC-HE decoding support (those messages about SBR not supported are really nagging me)
  • Convince Kostya finish AAC encoder (hey, that’s me!)

So, let’s see what we get in the upcoming year.

News + Extra

Sunday, August 3rd, 2008

AAC front: to compete with other encoders I have to implement low-pass filter. Benjamin suggested Butterworth filter, so I will try it next week. Hopefully that will be the last big feature to do.

RV front: looks like deblocking pattern is generated from comparing motion vectors, if the difference for subblocks is greater than 3, then edge between them is scheduled for loop filtering. Don’t expect working loop filter implementation too soon though, I still have to deal with AAC encoder and it’s more important.

Extra: I’ve finally decided to buy ASUS Eee, it was easy thing to do – there’s only one model (Eee 701 4G with Win XP installed) for about the same price of four hundred bucks (maybe $450 in greedy shops). So the first thing I did with it was installing Linux and tearing down that stupid “Designed for Windows” label (which was surprisingly easy thing to do and left no marks on laptop surface).

Now here are complains about Ubuntu Eee (I don’t have USB DVD drive and Xandros hasn’t worked from USB flash drive for me): it requires some hacking of system configuration to make it work (like shutdown properly) but that I can live with, but the braindead thing is that gcc is installed (why?) without any development header or library, so you can’t compile even “Hello, world!” program. Both of those issues are resolved, so I just need to make this toy more useful to me 🙂

AAC: Nachrichten pro Woche

Saturday, July 5th, 2008

Here is this week portion of AAC-related news:

  • I was working on psychoacoustic model and fixes for it. Now encoder should always produce correct files (i.e. decodable without bitstream errors). Sound quality may be low though.
  • There was a bug in MDCT calculation which resulted in wrong spectrum.
  • My test device for AAC has broken 🙁 Where I can find a decent pair of headphones that won’t break that easily? Especially in this country.

And just in case my mentor’s reading this, here are my plans:

  • Improve and finish 3GPP TS26.403-based psychoacoustic model.
  • Implement block switching.
  • Add sine windows.
  • Sync my encoder with current AAC decoder code (maybe it will be committed by then?)

Still in Memphis…

Wednesday, June 4th, 2008

Although it’s no good to kick a dead horse discuss the work of governmental establishments, I still want to cry about total ineffectiveness of our customs.

Today I’ve received stored value card from Google sent on May 27. They have also sent a book. On May 15th. And it’s still not here.
Here is the log – see for yourselves: 1.png.
And something stops me from believing custom officers take their time reading that book.

Last year package sent by Mike took a whole month rest. Not mentioning $10 fee for those 12 recorded DVD+Rs.

Surprisingly, x86 box I’ve recently got was delivered in a week by Express Mail or something similar.

Good system architects optimize system performance by removing the biggest and most probable delay. If delivering a package takes a week and clearing at custom takes at least two then what makes the weakest, slowest and ugliest link? Where can I submit a patch to this process?

P.S. For those who don’t know the title origin – look here.

Subtitles

Tuesday, May 6th, 2008

I consider subtitles to be more of evil. Why? Because they steal precious screen space, create a distraction and usually of a bad quality. Also external subtitles can create a lot of problems with synchronization, especially when movie is cut into parts. Our television channels have extremely small subtitles translating Russian speech into Ukrainian but nobody reads them anyway (and I don’t watch TV at all). Those subtitles can provide some amusement though because of very crooked translation (I’ve heard that “Vienna ball” was translated like “Vienna jumpings”, it’s hard to translate that word back).

I know, newer container formats like Matroska and OGM (both are not good) have support for subtitles and there are ‘advanced’ subtitle formats designed for them (like ASS) with a lot of features — font family/size/style selection, placing text in different parts of the screen, etc (backscratching is not there yet). Well, one day they will achieve what DVD subtitles already have – information overlay over moving picture.

Another issue with subtitles is the quality of translation. Well, usually translations are bad, especially low-budget when they don’t even have money for dub (fansubbing is a different thing). Personally I’ve found that neither Spanish, French nor Italian subtitles had helped me with understanding Wagner operas. And Chinese subtitles are hard to read (and impossible without the dictionary or Chinese man).
It’s better to learn language instead.

And now for something completely different – good examples of subtitles.
(more…)

A New Record

Wednesday, April 23rd, 2008

Well, this is not development-related in any way but worth mentioning anyway.
I was overoptimistic choosing UPS instead of diesel generator. There is no electricity at home and whole block for at least 22(twenty two) hours and not sure they will finish fixing power line today. Please don’t ask naive question “Don’t you have backup power lines?” – obviously we don’t.

Update. No power from about 9:00 April 22 to about 14:00 April 23. Not an experience I want to have again.