This is a port of FFmpeg 5.1.2 to MSDOS/DJGPP. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. FFmpeg Libraries for developers libavutil is a library containing functions for simplifying programming, including random number generators, data structures, mathematics routines, core multimedia utilities, and much more. libavcodec is a library containing decoders and encoders for audio/video codecs. libavformat is a library containing demuxers and muxers for multimedia container formats. libavdevice is a library containing input and output devices for grabbing from and rendering to many common multimedia input/output software frameworks, including Video4Linux, Video4Linux2, VfW, and ALSA. libavfilter is a library containing media filters. libswscale is a library performing highly optimized image scaling and color space/pixel format conversion operations. libswresample is a library performing highly optimized audio resampling, rematrixing and sample format conversion operations. 1.: DJGPP specific changes. ======================= - This port will be configured and be build in the "0build" directory. - The port has been configured and compiled on WinXP SP3 and Win98SE. There is absolute no guarantee that this may be possible with any other plain DOS-like OS. Especially not on MS-DOS 6.22 with or without LFN support. Due to the use of long file names it will not be possible to configure and compile without LFN support. - This version of the port has been compiled using gcc1210, gpp1210 and bnu2351b. No previous compiler version has worked. As usual, all djgpp specific files (config.bat, diffs, readme files, etc.) are located in the djgpp subdir. For further information about FFmpeg please read the info docs and NEWS file. 2.: Installing the binary package. ============================== 2.1.: Copy the binary distribution into the top DJGPP installation directory and unzip it running *ONE* of the following commands: unzip32 ffmg512b.zip or djtarx ffmg512b.zip or pkunzip -d ffmg512b.zip 3.: Building the binaries from sources. =================================== 3.1.: Create a temporary directory and copy the source package into the directory. If you download the source distribution from one of the DJGPP sites, just unzip it preserving the directory structure running *ONE* of the following commands: unzip32 ffmg512s.zip or djtarx ffmg512s.zip or pkunzip -d ffmg512s.zip 3.2.: To build the binaries you will need the following binary packages: djdev205.zip (or a later but NOT a prior version) bsh4253b.zip (or a later but NOT a prior version) gccNNNb.zip, gppNNNb.zip, bnuNNNb.zip, makNNNb.zip, filNNNb.zip, shlNNNb.zip, txtNNNb.zip, txiNNNb.zip, grepNNNb.zip, sedNNNb.zip, mktmpNNb.zip perlNNNb.zip and difNNNb.zip. NNN represents the latest version number of the binary packages. All this packages can be found in the "v2gnu" directory of any ftp.delorie.com mirror. You will need bsh4253b.zip or later and *NOT* a prior version or the build will fail. The same applies to djdev205.zip. To build and use this port the latest DJGPP ports of the following libraries are required: http://ftp.delorie.com/pub/djgpp/current/v2apps/bz2-108a.zip http://ftp.delorie.com/pub/djgpp/current/v2apps/lzlb112a.zip http://ftp.delorie.com/pub/djgpp/current/v2apps/xz-525a.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/zlb1212b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/xml2914b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/ltha111b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/lme3100b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/logg135b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/lops131b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/lvbs137b.zip http://ftp.delorie.com/pub/djgpp/current/v2tk/x264-1b.zip and must be installed. All those libraries may introduce even more dependencies that will have to be resolved by installing the missing libraries. 3.3.: The package will be configured and will be build in a separate build directory under the top srcdir (aka FFmpeg-5.1.2) called "0build". To build the binaries cd into "djgpp" directory ans start djmake.sh. djmake.sh, among other things, will start the configure script passing to it a couple of arguments. Read the shell script to check for the enabled and disabled options. Having urandom support enabled means that a entropy source must be available at runtime either as driver or as random data file. One such driver, NOISE.SYS, can be obtained from "http://www.rahul.net/dkaufman/index.html" as: http://www.rahul.net/dkaufman/noise063a2.zip If the URLs are no longer available, the the followings can be used: http://web.archive.org/web/20051124224824/http://www.rahul.net/dkaufman/ and: http://web.archive.org/web/20051124224824/http://www.rahul.net/dkaufman/noise063a2.zip Please read the instructions carefully. This driver works on DOS and may be on some versions of Windows but it does not work for all versions of Windows. For XP it does not work and I have found no replacement. If no noise source can be found then the library will create pseudo random data. 3.4.: The port will be compiled by the shell script. The screen output of the build process will be redirected to a file. The build process takes on Win98SE in a virtual machine approximately 30 min. 3.5.: The port will be tested by the shell script. The screen output of the test process will be redirected to a file. The test process takes on Win98SE in a virtual machine approximately 30 min. 3.6.: To install the binary, info docs and man pages run the following command from the directory where you have configured the sources: make install This will install the products into your DJGPP installation tree given by the default prefix "/dev/env/DJDIR". If you prefer to install them into some other directory you will have to set prefix to the appropriate value: make install prefix=z:/some/other/place Send FFmpeg specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel