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

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Mon Mar 2 23:30:43 EET 2020


On Fri, Feb 28, 2020 at 6:10 AM Andreas Rheinhardt <
andreas.rheinhardt at gmail.com> wrote:

> 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
>

Ping.

- Andreas


More information about the ffmpeg-devel mailing list