[FFmpeg-devel] [PATCH] avformat/av1: Initialize padding in ff_isom_write_av1c

James Almer jamrial at gmail.com
Mon Apr 8 16:33:43 EEST 2019


On 4/8/2019 9:14 AM, Jeremy Dorfman via ffmpeg-devel wrote:
> Otherwise, AV1 encodes with FFmpeg trigger use-of-uninitialized-value
> warnings under MemorySanitizer, and the output buffer potentially
> changes from run to run.
> ---
>  libavformat/av1.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavformat/av1.c b/libavformat/av1.c
> index a0aad436a6..5fde8df97e 100644
> --- a/libavformat/av1.c
> +++ b/libavformat/av1.c
> @@ -372,6 +372,7 @@ int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size)
>      put_bits(&pbc, 1, seq_params.chroma_subsampling_x);
>      put_bits(&pbc, 1, seq_params.chroma_subsampling_y);
>      put_bits(&pbc, 2, seq_params.chroma_sample_position);
> +    put_bits(&pbc, 8, 0); // padding

Shouldn't flush_put_bits() below do this? The doxy says "Pad the end of
the output stream with zeros".
In any case, i just tried remuxing a single file several times, and in
all cases the hash of the output file was the same, so it could be a
false positive from MemorySanitizer.

Patch is fine either way, but i'd like to know why you're getting those
warnings.

>      flush_put_bits(&pbc);
>  
>      avio_write(pb, header, sizeof(header));
> 



More information about the ffmpeg-devel mailing list