[FFmpeg-devel] [PATCH 2/2] Hide the now-prefixed decoders, encoders, parsers, bsf, hwaccel objects.

Reinhard Tartler siretart
Wed Jan 26 07:22:21 CET 2011


On Tue, Jan 25, 2011 at 23:40:12 (CET), Diego Elio Petten? wrote:

> This reduced sensibly the size of the symbol table in the generated ELF
> shared object (as well as the other linked tables).
> ---
>  libavcodec/libavcodec.v |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/libavcodec/libavcodec.v b/libavcodec/libavcodec.v
> index 561a42c..6569903 100644
> --- a/libavcodec/libavcodec.v
> +++ b/libavcodec/libavcodec.v
> @@ -1,3 +1,9 @@
>  LIBAVCODEC_$MAJOR {
>          global: *;
> +        local:
> +                ff_*_bsf;
> +                ff_*_decoder;
> +                ff_*_encoder;
> +                ff_*_hwaccel;
> +                ff_*_parser;
>  };

Ah, now I see your strategy, it wasn't really clear to me after reading
the first patch of this patchset. Perhaps change the order of the patches?

Some background: When I first worked on the symbols file, I actually
wanted to them to look like this for libavcodec:

 LIBAVCODEC_$MAJOR {
        global: avcodec_*; av_*; ff_*;
        local: *;
};

But because of inconsistent naming of the API, this was (and still is)
not possible. If it was, your patch wouldn't be necessary. I see that
your patch improves things right now, i.e., without making the API more
consistent, so I'm OK with it. I just point out that it makes the symbol
naming policy slightly more complicated (around 5 rules extra) than
initially intended. But given that public avcodec API is already a
convoluted mess, this is probably the smallest problem.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4




More information about the ffmpeg-devel mailing list