[FFmpeg-devel] [PATCH 7/30] avformat/matroskaenc: Avoid allocations for SeekHead

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Fri Feb 28 07:10:31 EET 2020


On Tue, Feb 25, 2020 at 2:24 PM Andreas Rheinhardt <
andreas.rheinhardt at gmail.com> wrote:

> Andreas Rheinhardt:
> > Andreas Rheinhardt:
> >> Andreas Rheinhardt:
> >>> Up until e7ddafd5, the Matroska muxer wrote two SeekHeads: One at the
> >>> beginning referencing the main level 1 elements (i.e. not the Clusters)
> >>> and one at the end, referencing the Clusters. This second SeekHead was
> >>> useless and has therefore been removed. Yet the SeekHead-related
> >>> functions and structures are still geared towards this usecase: They
> >>> are built around an allocated array of variable size that gets
> >>> reallocated every time an element is added to it although the maximum
> >>> number of Seek entries is a small compile-time constant, so that one
> should
> >>> rather include the array in the SeekHead structure itself; and said
> >>> structure should be contained in the MatroskaMuxContext instead of
> being
> >>> allocated separately.
> >>>
> >>> The earlier code reserved space for a SeekHead with 10 entries,
> although
> >>> we currently write at most 6. Reducing said number implied that every
> >>> Matroska/Webm file will be 84 bytes smaller and required to adapt
> >>> several FATE tests; furthermore, the reserved amount overestimated the
> >>> amount needed for for the SeekHead's length field and how many bytes
> >>> need to be reserved to write a EBML Void element, bringing the total
> >>> reduction to 89 bytes.
> >>>
> >>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> >>> ---
> >>
> >> Ping.
> >>
> >> - Andreas
> >>
> > Ping (the actual patch (which has been omitted for brevity) is here:
> > https://ffmpeg.org/pipermail/ffmpeg-devel/2020-February/256997.html).
> >
> > - Andreas
> >
> Another ping.
>
> - Andreas
>

Ping.

- Andreas


More information about the ffmpeg-devel mailing list