|author||Matt Wolenetz <firstname.lastname@example.org>||Mon Mar 12 20:13:41 2018|
|committer||Matthew Wolenetz <email@example.com>||Mon Mar 12 20:15:41 2018|
To M66: ffmpeg: Initialize a potential gap in ctts_data in mov_build_index mov_read_ctts ignores ctts entries having count <= 0. Generally, the aggregate of all ctts entries' count fields resulting from mov_read_ctts can be less than the corresponding sample_count. mov_build_index attempts to normalize any existing ctts_data counts to be 1, to make a 1-1 mapping of a ctts_data entry to a sample. That 1-1 mapping left a tail of uninitialized ctts_data entries when the aggregate, normalized ctts_count < sample_count. Even more generally, later usage of ctts_data may depend on the entire ctts_allocated_size having been initialized. This change memsets the entire allocation of the normalized ctts_data in mov_build_index, to prevent use of uninitialized data later. BUG=816787 Reviewed-on: https://chromium-review.googlesource.com/947110 Reviewed-by: Xiaohan Wang <firstname.lastname@example.org> (cherry picked from commit ef99a5d2520f934fa6c74ef7219aaa47e8717914) TBRemail@example.com Change-Id: I367eb5aa7d1959d4d5dc178aa5ee8418461c64eb Reviewed-on: https://chromium-review.googlesource.com/959462 Reviewed-by: Matthew Wolenetz <firstname.lastname@example.org>
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
libavcodecprovides implementation of a wider range of codecs.
libavformatimplements streaming protocols, container formats and basic I/O access.
libavutilincludes hashers, decompressors and miscellaneous utility functions.
libavfilterprovides a mean to alter decoded Audio and Video through chain of filters.
libavdeviceprovides an abstraction to access capture and playback devices.
libswresampleimplements audio mixing and resampling routines.
libswscaleimplements color conversion and scaling routines.
The offline documentation is available in the doc/ directory.
Coding examples are available in the doc/examples directory.
FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.
Patches should be submitted to the ffmpeg-devel mailing list using
git format-patch or
git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.