On Tue, Mar 25, 2014 at 4:40 AM, YIRAN LI <[email protected]> wrote: > > > I'm trying to build all components into one dll, because my manager > > insisted that building into a single dll may save space by avoiding > > build duplicated code into separate dlls. > > How is this supposed to work? > > Or, to rephrase: What are the duplicated code parts that you found > in different FFmpeg dlls and how much (in %) did they take of the > overall space? > > >> Hi Carl, > > I found that every dll links to libm, if it's a static lib (I can only find > .a on my system), does that mean > some code will be built into every dll?
Yes, there definitely is some amount of duplication with multiple DLLs. You can easily find the amount of overhead, in a supported way. Build your project with static version of ffmpeg libraries, and compare the size of your binary with the size of binary you have now (which is built with libavcodec.dll, libavformat.dll, etc.). For the latter, sum up all the DLLs that you need to deploy. If you find that the difference is significant for your project, only then it's worthwhile to work on reducing the size of DLLs or the amount of code duplication. As CameraMan mentioned above, the monolithic binary may require special considerations re ffmpeg license, but again, it would be wise to delay these discussions until you have an evidence that the simple way (with multiple DLLs) can be shrinked down significantly. BR, Alex Cohn _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
