[FFmpeg-devel] [PATCH] reduce global data in lavc

Michael Niedermayer michaelni
Tue Jun 24 21:38:39 CEST 2008


On Tue, Jun 24, 2008 at 08:27:50PM +0200, Stefan Gehrer wrote:
> Hi,
>
> attached patch marks tables as const if they are. It contains
> changes which I think are obvious like e.g.
>
> -static uint8_t last_coeff[3] = {
> +static const uint8_t last_coeff[3] = {
>
> but some which change tables of pointers to declare that
> the pointed to value also is constant, e.g.
>
> -static const int16_t *coeff_tables[32] = {
> +static const int16_t *const coeff_tables[32] = {
>
> I found that only if the pointers and the places
> they point to are declared as const will the table
> be placed into the .rodata section instead of the
> .data section, tested with gcc 4.3.2.
> Is such a change desired?

yes


>
> After this patch, there are still global variables around
> which I would categorize as the following:
>
> 1. run-length tables that I think can be avoided by using
>   INIT_VLC_STATIC, but I haven't looked closely.
>   These can be found in the following files:
>
>   msmpeg4data.o (rl_table, mv_tables, wmv2_inter_table)
>   mpeg12data.o  (ff_rl_mpeg1, ff_rl_mpeg2)
>   h263.o        (rl_inter, rl_intra_aic, rl_intra,
>                  rvlc_rl_inter, rvlc_rl_intra)
>   h261dec.o     (h261_rl_tcoeff)
>
> 2. temporary space for compound literals in many files
>
> 3. ModeAlphabet in vp3.c, which is written to and thus
>   should be moved to the context
>
> 4. The global *_encoder/_decoder/_parser/_bsf structures.
>   I guess they could also be read-only?
>
> If janitorial work on any of those four categories is desired,
> please let me know.

yes it is desired and patch ok

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080624/dde79f6a/attachment.pgp>



More information about the ffmpeg-devel mailing list