[Ffmpeg-devel] [PATCH] proper fix for AC3 parser linkage
Sun Apr 22 02:32:41 CEST 2007
Aurelien Jacobs wrote:
> On Sat, 21 Apr 2007 21:01:08 +0200
> matthieu castet <castet.matthieu at free.fr> wrote:
>>Diego Biurrun wrote:
>>>Attached is a proper fix for the link failure when disabling the AC3
>>>encoder while the AC3 parser is still enabled.
>>>It has the added benefit of removing some extern declarations from
>>>ac3.h, the diffstat should be quite convincing.
>>> 3 files changed, 2 insertions(+), 13 deletions(-)
>>>I'll commit tomorrow if nobody objects.
>>Hum, this seems broken : now we have ac3tab.h global array declaration
>>in ac3.c and parser.c.
>>And also now these array are duplicated.
>>That's why I always found ugly to put data declaration and init in
>>header file instead of *.c .
> I agree with this.
> The attached patch will move all the tables in ac3tab.c so that only
> ac3tab.o is required by parser.o.
> Note that to apply this patch you must:
> svn mv libavcodec/ac3tab.h libavcodec/ac3tab.c
> patch -p0 < ac3tab.diff
> svn add libavcodec/ac3tab.h
> If this patch is ok, I intend to apply it in several steps.
OK with me. Right now some of those tables are only used in ac3.c, so
they are currently declared static. I guess making them all global with
ff_* prefix doesn't really do any harm though.
Another way to apply these changes might be to do:
svn mv libavcodec/ac3tab.h libavcodec/ac3tab.c
svn cp libavcodec/ac3.h libavcodec/ac3tab.h
patch -p0 < ac3tab.diff
That way several of those declarations could be left alone. It would
also better reflect the ff_* renaming to have the change in the ac3tab.h
history rather than removing from one file and adding to another. Then
a separate cosmetic patch could be applied to do the vertical alignment.
More information about the ffmpeg-devel