REing another simple codec

Since I was bored I tried to (ab)use discmaster.textfiles.com to search for interesting (i.e. unsupported) samples once again. The main problem is that if it does not decode contents it does not recognize the format. So e.g. AVI files without video track (yes, those files exist) and those using some unrecognized codec will be both marked as aviAudio format, and if audio stream is absent or unknown as well the file gets demoted to unknown.

So I tried to search AVI and MOV files both by extension and by this audio-only type and here are the categories of the results:

  • actual audio-only files (that’s expected);
  • completely different format (there’s an alternative AVI format and MOV is very popular extension as well);
  • improperly extracted files (rather common with MOV on hybrid Macintosh/PC CDs where resource fork often gets ignored);
  • damaged files (happens with some CDs and very common with AOL file library collection—often AVI data starts somewhere in the middle of the file);
  • too old or poorly mastered files (for example, one AVI file lacks padding to 16 bits between chunks; some MOV files can’t be decoded while they look correct);
  • one Escape 130 that could’ve been supported if libavcodec AVI demuxer would not feed garbage to the decoder (it’s not just my demuxer that can handle it, old MPlayer 2 plays it fine with its own demuxer);
  • some TrueMotion 1 files that were not recognised because of tmot FOURCC;
  • files with some special features of the known codecs (I’ve seen some MOV files containing QDraw codec with JPEG frames);
  • files with the codecs I can decode (like IPMA) but the popular software can’t;
  • files with the known codecs (some documented by me) that nobody bothered to implement (especially Motion Pixels 1 and 2);
  • and finally some AVIs with savi FOURCC and a single file with DKRT FOURCC.

Those “SuperAVI” files turned out to be a rebranded Cinepak which I managed to recognise right away, the remaining file turned out to be a bit baffling. After extracting the frames I figured out that it is raw YV12 video, but for some reason it had 64 bytes of soemthing before the image data and 440 bytes after. It can be located on TNG Klingon Language Disc but it does not look like the software there can decode it anyway.

Overall, nothing hard or interesting (if you don’t count the questions about the origins of that file, that is).

6 Responses to “REing another simple codec”

  1. compn says:

    kostya , i still want to watch my fake-videocd by motionpixels ! http://samples.mplayerhq.hu/drivers32/motionpixelsmoviecd/mortal-moviecd.avi

    i see this https://discmaster.textfiles.com/browse/24009/1996-04_-_Disc_2.3.bin/sirius/mpixels.z

    a super old 1995 version of motion pixels. the help file is larger than the codec. maybe its easier to decompile? or completely worthless.

  2. Kostya says:

    I understand your desire, but I suspect you’re out of luck. From a quick look that DOS program is for the old MVI format that is supported by libavcodec already. The AVI codecs are similar but different. And even if there was a stand-alone DOS AVI player I’d expect it to use the same code which is not nice to RE. So your best chances are to implement it yourself.

  3. compn says:

    sure but motion pixels mvi2 codec not fully described by you. https://wiki.multimedia.cx/index.php/Motion_Pixels

  4. Kostya says:

    It’s not fully described in general and I did not bother to fill the general understanding of what I managed to get from the decoder as it’s a bit vague.

  5. compn says:

    i didnt find DOS version of mvi2 codec. but i found win3.11 version! also a win95 version that looks different (mpmcd* ?). brand new! exe files uploaded to https://samples.ffmpeg.org/drivers32/motionpixels/

    also found version 4 of the big mvicod32.dll you probably dont like it. but its much bigger! nearly 2x the size of the 3.0 version. https://samples.ffmpeg.org/drivers32/motionpixels/Mvicod32.dll.2

    the aware31.exe is half of the size of the awarent/aware95. this might mean it is different to decompile. maybe you could take a quick look?

    theres a different version of win 3.1 installer. since this is part of a moviecd, it should contain mvi2 codec.:

    https://discmaster.textfiles.com/browse/15930/Power%20Moves.iso/mpixels.31

    i will dig around the archive.org some more until i feast on the entrails of motionpixels moviecd.

  6. Kostya says:

    (Sorry, somehow your comment was flagged for moderation – too many links, I suppose – but a mail about it has never reached me so I discovered it just now)

    I briefly looked at the versions you found and they seem to be no different in the places that matter (i.e. decoding routines). It reminds me of ClearVideo situation where different versions of the codec were essentially the same core despite the claims that version 3 from the latest owners was rewritten from scratch in C++.

    Anyway, I might be inclined to look at it again and at least document what I saw in it, but I hope you can convince Paul to finish Bink 2 decoder meanwhile.

Leave a Reply