Today I’d like to rant about the ways transport is organised in different places I’ve visited so far.
Archive for the ‘Useless Rants’ Category
Some Observations on Transport Infrastructure
Thursday, March 25th, 2010Bink samples needed
Wednesday, March 10th, 2010I’m searching for old Bink samples. There are plenty “BIKi”, “BIKf” and some “BIKh” samples available but next to nothing of older ones. By pure luck we were able to find some “BIKb” but that’s all.
We are still in need for old Bink versions, anything from “BIKa” to “BIKe”. Can you help us?
Here’s that list of stuff using Bink. Looks like that games released since 2000 use “BIKf” and later, so we are hunting earlier games (and it’s because some Mike has not bothered to retrieve all that information from MobyGames).
Probably “Might & Magic VIII: Day of the Destroyer” demo may use it (release uses “BIKf” and “BIKh”), for a start. Maybe some other Heroes of Might and Magic III games have them (“Shadow of Death” addon I have features “BIKb”).
Any help will be appreciated.
Notes:
Bink versions are determined by first four bytes of file, any hex viewer can help you.
Some games (like the ones by New World Computing) may have all video files in single archive named like “videosomething.smt” or “something.vid”, sometimes along with Smacker files. But those archives usually feature file names at the beginning, again that can be easily viewed with any hex viewer. And if file resides in directory named “Video” or “Movie” it’s a good hint too.
Update: looks like there are no such files (except maybe in some archives of RAD developer(s)).
It was not the codec you’re looking for
Friday, February 12th, 2010There is only one thing that may taint the joy of REing yet another codec. It’s when you realize that most of the samples you want to decode are coded with another codecs.
While recent Indeo 5 decoder addition allows playing many files, I found out that I have more samples encoded with Indeo 4. Even though I have Bink Video decoder it looks like I don’t have much samples for it. But there are many other games with custom codecs worth REing.
Yet it’s not that bad as sounds. M$ Video 1, Cinepak, Smacker and Sierra VMD seem to cover most of the samples I have interest in. Luckily for me there are many codecs left to RE for which I have some interest. Another guy had fulfilled his dream of being able to watch movie trailers in QuickTime format, so there’s almost no new work from him.
P.S. After I’d published that “looking for a job” post, I got many proposals, but for some reason they are mostly for USA and some people asking if I’d consider Australia too (BTW, answer is no, it’s too warm place for me and I plainly can’t work in such conditions). Either I want something unrealistic (i.e. job in Europe) or it’s Murphy Law in action.
All codecs roads lead to FFmpeg
Saturday, February 6th, 2010This is written mainly as a response to some flamewars.
All codecs may be divided into two categories — mature codecs and developing codecs. In the first case we have frozen bitstream format and not so many enhancements to codebase supporting that codec. In the second case we have codec that may change bitstream format and (what is quite important) encoder features.
FFmpeg itself went that way — from highly experimental H.26x encoder and decoder to rather stable set of almost all decoders available around and several encoders. Since there are some coding rules and conventions and existing framework in it, it makes it very convenient place to implement decoders — you can reuse a lot of code optimised for many platforms (so you don’t have to care about DCT speed, for example) and users don’t have to worry about adding new decoding interface and new lines in configure script, it’s all handled inside libavcodec. And “NIH syndrome” also gives a benefit here — you don’t have to worry about additional libraries (and original codec devs will have their codec specs tested as well).
You know the other advantages of this approach too.
In the same time those features make FFmpeg a bad place for having still evolving encoders for they are not likely to fit into existing framework so easy. The best this tension could be viewed in our interaction with certain encoder. They constantly modify this encoder, so existing FFmpeg options and presets are not good for them and it’s hard to tell how well it will work. Now let’s see what happens if x264 code will be merged into FFmpeg. It will put a rather harsh constraint on x264 developers because it’s hard to tell what change breaks other codecs (changes behaviour, whatever) or vice versa. The same applies to codec-specific features (like muxer using some encoder information, think H.264+MPEG-TS).
On the other hand, it is much easier to incorporate into FFmpeg an encoder not changing so much — some compromises should be made on common interface, some parts replaced with standard FFmpeg routines and voila!
I think that’s the reason we have a lot of decoders and not so many lossy encoders (especially not so many lossy encoders with good quality) in last N years. And it’s the reason why encoder should be originated as standalone projects and merged when they are stable. I’d also like to note that FFmpeg has standing issues with providing better framework for non-H.261 based codecs and descendants (where is codec-independent rate control and motion estimation?), maybe this affected Snow development as well. Anyway, let’s live and see how all these things will be resolved.
Looking for a job in a civilised country
Monday, January 25th, 2010So, I’ve dropped out of my university because I see no use of continuing postgraduate studies I had. Now I’m a free man and should look for a means of living.
My main issue is that I live in third-world country with all consequences it can offer — no suitable work here for me (I’m picky and don’t want to learn PHP and “code” websites or do the same in Java) and no mobility (I don’t see an easy way to move into civilised country; if there was any, who would stay here?). Funny fact: worker salaries here seems to be lower than in China but prices for almost everything but food seems to be European.
Because of that my chances on getting employed by large company abroad are rather slim (or non-existent), so I hope that lesser company can invite me to work abroad. I’d gladly provide my skills and work on almost anything.
Here’s my list of countries I’d like to live and work in:
- Tier 0 — Sweden
- Tier 1 — the rest of Scandinavia
- Tier 2 — any Western European country in Schengen area except warm ones (I feed bad when the temperature tops 25ºC but cold weather is fine)
- Tier 3 — Canada (maybe the only developed country that welcomes Ukrainians)
If somebody can help me with fulfilling my dream I’d be very grateful. Even useful and not too general advice counts, but not the ones that require lying! Thanks.
Short CV:
- got bachelor degree in CS and master degree in something, diploma says I’m “an engineer, system analyst”
- more than 10 years of C experience; varying experience of different platform assemblers (x86, PowerPC, ARM, MIPS) — mostly SIMD for non-x86. I know some other languages too — C++, Pascal, Java, some scripting languages (shells, Perl, Python). I’ve tried functional languages too (Lisp, Prolog, Erlang) and I’m pretty sure I can use them too.
- more than 5 years of FFmpeg development, started it with reverse-engineering codecs too
- 3-4 years experience on enterprise development (client-server systems, RDBMS, whatever)
Anthems
Wednesday, December 30th, 2009Once 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:
- praise of the land — many anthems tell about features of the country like mountains, rivers, lakes, green meadows, whatever.
- praising love to the land — a lot of anthems say something like “we love this country”
- praising freedom — some anthems are mostly about defending freedom or how the land is good after getting freedom
- praising some symbol — mostly sovereigns or flags or people
- 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. ahem, sorry “our land is not dead while we live”. Ukraine and Israel have such anthems.
And with strange aeons even death may die.”
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 joy of underpowered hardware
Wednesday, October 21st, 2009I prefer to develop on underpowered hardware since it makes you want to squeeze all you can from it. Looks like Gdium netbook is an ideal candidate when it comes to being underpowered (BeagleBoard is too underpowered in that matter).
What really sucks in Gdium (to my taste):
- video card performance — in MPlayer video output time tends to be more than decoding time (which mostly don’t have SIMD optimisations for Loongson). Watching something greater than 512×384 MPEG-4 video is not comfortable. Floating-point audio codecs also take a lot of CPU.
- there is an audible noise in headphones during playing audio; since video card, audio chip and some other things are integrated into single SM501 chip, I can add that it seems to be the suckiest part in netbook.
Some things are annoying too, like having 16-bit display (while chip supports 24-bit output, that does affect picture), battery charge limit of 97-98% (so it’s always charging and never completely charged — probably some glitch on my sample), fan and temperature issues (specs say that CPU dissipates up to 4 watts, where all that heat comes from?) and probably having an internal drive instead of USB key should greatly increase performance too.
I still hope for something like notebook containing multi-core MIPS or ARM with (preferably) 1Gb RAM.
Tell me how you pronounce ‘g’ and I’ll tell who you are
Monday, September 7th, 2009As some of you may already know, I have a bit of interest in linguistics. Here I’ll try to describe an interesting (for me) fact. While some of the letters are read virtually the same in any language, some differ greatly. It looks to me that ‘g’ is the telltale letter because its pronunciation differs most in different languages.
Let’s see:
- English: djee
- French: may sound more like ‘z’ in “azure” (Je ne parle pas français, though)
- German: IIRC, in words ending with “-ig” it’s read as soft ‘h’ or something (Ich spreche Deutsch nicht)
- Hungarian: sometimes it’s read as ‘d’ (for example, in the name of country — Magyar)
And now for more exotic languages:
- Ukrainian: it’s more like voiced ‘h’ or French ‘r’. For ‘g’ sound in loanwords another letter is used.
- Belarusian: resembles Ukrainian but less voiced.
- Japanese: it’s easy — you’ll never see it alone since they use syllable-based system, not letter-based.
And finally, in my homeland (och jag vet lita svenska) it may also sound in two different ways: more like in other languages (till exempel: “gamla”) and more like ‘j’ — listen at example from Wikipedia how to pronounce Göteborg correctly (you can hear ‘g’ at the beginning and at the end of the word).
A bit of new hardware
Saturday, March 21st, 2009I’ve wanted to write another useless rant about idiocy in our lives as a governing policy (for example, 1st class railroad cars being worse than 2nd class but more expensive or how “express” is translated into Ukrainian as “????????????” or “???????????”, both meaning “accelerated” or “sped-up”) but I have a bit of more pleasant news.
I’ve spent the rest of GSoC money on BeagleBoard and it took about 15 days to deliver it (which is rather impressive by local standards). So I hope to start hacking on it too (I’m pretty sure it would be good for both FFmpeg and me if I learn ARM assembly and about NEON unit). In my opinion they would really benefit from having built-in network adapter (there’s a place for it on PCB too) though; since this is not Mac, saying that USB should be enough for everything is rather lame.
My proposal on roadmap for FFmpeg
Tuesday, March 17th, 2009Here’s the thing either Compn, known for his passion to document codecs, or Mike, known for his passion to diagrams, charts and codecs, should have done loooooong time ago.
While the same information may be obtained from Multimedia Wiki, a graphical layout should be more handy for claims like “… include reverse-engineering of all Real video formats” here. I am also aware of list of supported codecs in MPlayer documentation but it’s also boring and not very useful as a reference.
Here’s how I like it — green status for supported codecs, red for unsupported. But from a glance on it you can see what’s missing and what should be added to my beloved video conversion tool.
Note: I know that we have to enhance FFmpeg in other areas than different formats support (filter system, for example). Patches welcome.