[FFmpeg-devel] Fwd: ff_log2_tab defined multiple times in the fmpeg 1.1 libraries, bug or feature ??

Lars Hammarstrand lars.hammarstrand at gmail.com
Thu Feb 14 22:56:51 CET 2013


---------- Forwarded message ----------
From: Lars Hammarstrand <lars.hammarstrand at gmail.com>
Date: 2013/2/14
Subject: Re: ff_log2_tab defined multiple times in the fmpeg 1.1 libraries,
bug or feature ??
To: "This list is about using libavcodec, libavformat, libavutil,
libavdevice and libavfilter." <Libav-user at ffmpeg.org>,
ffmpeg-devel at ffmpeg.org
Cc: Michael Niedermayer <michaelni at gmx.at>

Hello folks!

I found the original patch: avutil: Duplicate ff_log2_tab instead of
sharing it across

The objectives for this patch was: "*The table is so small that the space
gain is not worth the performance overhead of cross-library access*"
(:uhu:). I have never heard of such a thing as "*cross-library access*"
that "auto-magic" gives you a performance gain when you allocate the exact
same object file to different link libraries in the same distribution

Looking forward to have this "unpatched" ...

2013/2/13 Michael Niedermayer <michaelni at gmx.at>

> Hi
> On Wed, Feb 13, 2013 at 04:36:38PM +0100, Lars Hammarstrand wrote:
> > Hello, can someone please explain the reason (and how to cope with) that
> *
> > ff_log2_tab* is defined multiple times with *#include
> "libavutil/log2_tab.c*"
> > in the ffmpeg v1.1 libraries like libavcodec 54.91.102 and companions ??
> duplicating the tables causes a small performance increase in some
> linking configurations.
> >
> > This results in "duplicate symbols" while linking as listed below. To get
> > ride of the problem we need to delete the duplicated entries by hand with
> > "ar -d libxxx.a log2_tab.o" for all libraries but one, not a very smooth
> > solution. Will this behavior change in the future or do weed need to
> > automate a duplicate removal process while building the ffmpeg libraries
> > for XBMC?
> Ive posted a patch to ffmpeg-dev, which may fix this:
> 0213 19:51 To FFmpeg devel (3.0K) [FFmpeg-devel] [PATCH] buildsys: only
> include log2_tab per library for shared builds
> please test and comments welcome
> note, some linkers can also be configured to ignore duplicate symbols
> Thanks for the bug report
> [...]
> --
> Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
> Concerning the gods, I have no means of knowing whether they exist or not
> or of what sort they may be, because of the obscurity of the subject, and
> the brevity of human life -- Protagoras

More information about the ffmpeg-devel mailing list