• Andreas Rheinhardt's avatar
    avcodec/mpeg4audio: Unavpriv and deduplicate mpeg4audio_sample_rates · 49bf9453
    Andreas Rheinhardt authored
    avpriv_mpeg4audio_sample_rates has a size of 64B and it is currently
    avpriv; a clone of it exists in aacenctab.h and from there it is inlined
    in aacenc.c (which also uses the avpriv version) and in the FLV muxer.
    This means that despite it being avpriv both libavformat as well as
    libavcodec have copies already.
    
    This situation is clearly suboptimal. Given the overhead of exporting
    symbols (for x64 Elf/Linux/GNU: 2x2B version, 2x24B .dynsym, 24B .rela.dyn,
    8B .got, 4B hash + twice the size of the name (here 31B)) the object is
    unavprived, i.e. duplicated into libavformat when creating a shared
    build; but the duplicates in the AAC encoder and FLV muxer are removed.
    
    This involves splitting of the sample rate table into a file of its own;
    this allowed to break some spurious dependencies (e.g. both the AAC
    encoder as well as the Matroska demuxer actually don't need the
    mpeg4audio_get_config stuff).
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
    49bf9453
mpeg4audio.c 5.56 KB