by Eduardo "DudaSkank"
current version: 2.3


  1. Introduction
  2. Documentation
  3. Thanks
  4. Historic
  5. Download

1. Introduction

This library was created by me to improve the video support of the Allegro. Originally, Allegro supports only the archives FLC and FLI, which does not have audio, possess limited size and only 256 colors.

MJpgAlleg uses the JpgAlleg library, of Angelo Mottola, to decode the Jpg's files direct from a datafile to bitmaps, which will be displayed in sequence, and search for a sample, for the audio in the movie.

From 2.0 on, MJpgAlleg includes JpgAlleg, so now it can open jpg's using only MJpgAlleg library, and also uses the XviD library, to decode frames in m4v format direct from the datafiles, or open and play an .avi file, encoded with XviD or DivX, and audio in format PCM unscompressed or mp3, thanks to AlMp3.

To compile this library you need a platform and one compiler supported by Allegro, AlMp3 and XviD, beyond the proper libraries installed. Actually I provide 2 makefiles, one for MingW and other for DJGPP, but since I don't use any platform dependent library, you can compile it for other platforms supported by the libraries cited.

If you want to know more about this library go to the project's page.

Top of page - Back to main page

2. Documentation

To see the documents online click here.

Top of page - Back to main page

3. Thanks

  • God
  • Shawn H. and the others guys - for Allegro
  • Angelo M. - for JpgAlleg
  • Matthew L. - for the site
  • XviD team - for the excellent open source XviD lib
  • Javier G. - for the excellent AlMp3 lib
  • Rafal Szyja (Rafa≥) - for bug report/fix and testing
  • Avery Lee - for VirtualDub and the help with some avi specs
  • All the others that I forgot - for my memory not to be great thing ^__^

Top of page - Back to main page

4. Historic

The complete history is available in the online documents here.

  • 2.3
    • 04/04/2003

      Created mjpga_is_mul_16(), and the video buffer is only created if the width is a multiple of 16 (at least, my create_video_bitmap only uses multiples of 16).
      Created mjpga_pre_calc_pos() and altered MJpgDemo.c to allow the user change the mode of display, and altered play_movie_avi() and play_movie_dat() to show correctly.
      Added definitions to modes of display: MJPGAM_NORMAL, MJPGAM_FULL, MJPGAM_CENTER, MJPGAM_HALF, MJPGAM_DOUBLE.
      Now open_movie_avi() support file names in modes different of ASC II.
      Minor changes in MJpgDdemo.
      Minor changes in makefile.all and in open_movie_avi(), and added the new FCC_DIVX_OTHER.
      Now it plays PCM uncompressed audio with streaming, like in mp3.
      Changes in audio.c, especially in mjpga_audio_play().
      Minor changes and corrections in the docs.

    • 03/04/2003

      Optimized play_movie_dat(), like play_movie_avi().
      Created load_memory_jpg_ex() and load_memory_dat_xvid_ex().
      Bug in makefile.cfg: obj dir is included in distro now.
      Updated fix.bat, now the target is fix mingw32, and not fix mingw.
      Makefiles change - the full and docs distro version will not more be available to download. The documentation is now included in clean and win32 bin versions.
      Error understading the avi specs corrected (the length, in the stream header, is the numer of samples, not frames), causing the memory used in the audio indexes to be incredible bigger than the necessary.

    • 02/04/2003

      The function play_movie_avi() now use hardware accelerated video -> video blit, and system -> video stretch_blit, to greatly improve the speed.
      Created load_memory_avi_xvid_ex().

    • 14/03/2003

      Better optimization in decoding, now it's directly to bitmaps. 8 bpp support dropped.

    • ??/03/2003

      Makefile changed to link with libxvidcore.a, the name of the lib compiled with the latest XviDcore.
      Because XviD is GPL, my lib need to be GPL too :(

Top of page - Back to main page

5. Download

Top of page - Back to main page

SourceForge Logo