View Full Version : How do you compile your avcodec.dll?
Amnon82
29th August 2004, 09:47
I just wanna now how your guys compile the avcodec.dll?
There are three or more builds outside.
QuEnc, FreeEnc and now Peter Cheats.
If there is a guide how to compile it, more will found out where bugs will be ...
What do you think?
Peter Cheat
29th August 2004, 11:03
A guide on how to compile FFMPEG is inside the FFMPEG source. This document explains the tools you need and what to do to get avcodec.dll and avformat.dll (shared dlls).
From the FFMPEG Guide (in the doc directory)
6.3.1 Native Windows compilation
Install the current versions of MSYS and MinGW from http://www.mingw.org/. You can find detailed installation instructions in the download section and the FAQ.
If you want to test the FFmpeg Simple Media Player, also download the MinGW development library of SDL 1.2.x (`SDL-devel-1.2.x-mingw32.tar.gz') from http://www.libsdl.org. Unpack it in a temporary place, and unpack the archive `i386-mingw32msvc.tar.gz' in the MinGW tool directory. Edit the `sdl-config' script so that it gives the correct SDL directory when invoked.
Extract the current version of FFmpeg (the latest release version or the current CVS snapshot whichever is recommended).
Start the MSYS shell (file `msys.bat').
Change to the FFMPEG directory and follow the instructions of how to compile ffmpeg (file `INSTALL'). Usually, launching `./configure' and `make' suffices. If you have problems using SDL, verify that `sdl-config' can be launched from the MSYS command line.
You can install FFmpeg in `Program Files/FFmpeg' by typing `make install'. Don't forget to copy `SDL.dll' at the place you launch `ffplay'.
Notes:
The target `make wininstaller' can be used to create a Nullsoft based Windows installer for FFmpeg and FFplay. `SDL.dll' must be copied in the ffmpeg directory in order to build the installer.
By using ./configure --enable-shared when configuring ffmpeg, you can build `avcodec.dll' and `avformat.dll'. With make install you install the FFmpeg DLLs and the associated headers in `Program Files/FFmpeg'.
Visual C++ compatibility: if you used ./configure --enable-shared when configuring FFmpeg, then FFmpeg tries to use the Microsoft Visual C++ lib tool to build avcodec.lib and avformat.lib. With these libraries, you can link your Visual C++ code directly with the FFmpeg DLLs.
Amnon82
29th August 2004, 14:46
This I already know. My last compile was 2.5 MB. All other are smaller...
I don't know why. Did You take something out of the source to get it smaller?
dragongodz
29th August 2004, 14:47
for the record Nic and i both use Cygwin to compile FFMpeg etc. Nic uses an older version(dont know which exactly) while i use an uptodate version, which may be part of the problem with the aspect ratio. :)
we all use upx to compress the dll's smaller.
Amnon82
29th August 2004, 14:53
@ dragongodz: k, I get it ... upx is cool.
Last time I compiled MEncoder and FFMPEG only cygwin works on my machine.
Did You modify your avcodec.dll, cos I can't get it work with FreeEnc...
The last build of avcodec.dll I did my self worked ...
dragongodz
29th August 2004, 14:59
no modding done to my dll. infact vmesquita said it worked with freeenc 0.2 but he had a big memory leak when using it on 1 system but not another. i tested and got no mem leak and havent seen anyone else mention it.
so if it no longer works with the latest freeenc then it may be something vmesquita changed in freeenc.
oh and i think he said he compiles his with msys/mingw aswell.
Amnon82
2nd September 2004, 23:31
This can be. So it is a different "Linux"-System :D
vmesquita
3rd September 2004, 01:51
so if it no longer works with the latest freeenc then it may be something vmesquita changed in freeenc.
Actually, the only changes I did were:
1) The p4 hack
2) I removed from the makefile the unneeded .o (ie, h264, mp3, etc) so they don't get linked in the final file, creating a smaller DLL.
Both modifications don't prevent FreeEnc from working with DLLs without them (I tested).
@Amnon82
You must build in MSYS, or build in Cygwin but using MinGW runtimes (what is more complicated IMHO). Also make sure you disable debug in ./configure.
dragongodz
3rd September 2004, 02:12
actually i just had a look and you also changed to the 0.49pre1 version aswell where before you were compiling a cvs checkout. for QuEnc 0.52/0.53 i was using cvs aswell. so the change back to 0.49pre1 may actually make the differnce.
QuEnc 0.54's avcodec.dll is the 12th july version which is 2 days after the official 0.49pre1 and the reccomended version to use instead of 0.49pre1 on the FFMpeg website. being so close though the 0.54 avcodec.dll may work with Freeenc.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.