[FFmpeg-devel] [PATCH] mov: Skip computing SAR from invalid display matrix elements
Anton Khirnov
anton at khirnov.net
Wed Mar 31 15:41:27 EEST 2021
Quoting Vittorio Giovara (2021-03-30 18:55:27)
> Hello,
> I was debugging an issue with a video file containing an invalid
> display matrix, probably produced by a non conforming software.
>
> The content of the matrix is:
> 00000000: 0 65536 0
> 00000001: -1 0 0
> 00000002: 0 0 1073741824
>
> The -1 (stored as 4294967295) was probably a 1 shifted 32 times instead
> of 16. The problem is that this value is bypassing the validation check
> in the code below, and the resulting computed SAR value becomes 1:65536.
>
> This change interprets extremely low entries as invalid and makes sure
> to skip them in the SAR computation. This passes fate, but I haven't been
> able to test this extensively.
> Please see the attached patch, any feedback or better solution is welcome.
> --
> Vittorio
>
> From 54ec72276cbb6f2536e73ff81b7d49a736ec1900 Mon Sep 17 00:00:00 2001
> From: Vittorio Giovara <vittorio.giovara at gmail.com>
> Date: Tue, 30 Mar 2021 16:47:39 +0200
> Subject: [PATCH] mov: Skip computing SAR from invalid display matrix elements
>
> ---
I'm wondering if that code should set sample_aspect_ratio at all. There
are two other bits of code in mov.c that may set sample_aspect_ratio,
and it's not clear whether it applies _in addition_ to the display
matrix or not.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list