On Mon, Mar 23, 2015 at 8:43 PM, Vittorio Giovara
<[email protected]> wrote:
> Although it's not allowed to use only allows 'nclc' in ISOM files, there are
> samples that do not always respect this rule. This change prevents atom
> overread and a spurious color range initialization.
>
> Signed-off-by: Vittorio Giovara <[email protected]>
> ---
>  libavformat/mov.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 76ce9ee..ae77afb 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -992,7 +992,7 @@ static int mov_read_colr(MOVContext *c, AVIOContext *pb, 
> MOVAtom atom)
>      av_dlog(c->fc, "%s: pri %"PRIu16" trc %"PRIu16" matrix %"PRIu16"",
>              color_parameter_type, color_primaries, color_trc, color_matrix);
>
> -    if (c->isom) {
> +    if (!strncmp(color_parameter_type, "nclx", 4)) {
>          uint8_t color_range = avio_r8(pb) >> 7;
>          av_dlog(c->fc, " full %"PRIu8"", color_range);
>          if (color_range)
> @@ -1012,7 +1012,7 @@ static int mov_read_colr(MOVContext *c, AVIOContext 
> *pb, MOVAtom atom)
>          st->codec->color_primaries = color_primaries;
>          st->codec->color_trc = color_trc;
>          st->codec->colorspace = color_matrix;
> -    } else {
> +    } else if (!strncmp(color_parameter_type, "nclc", 4)) {
>          /* color primaries, Table 4-4 */
>          switch (color_primaries) {
>          case 1: st->codec->color_primaries = AVCOL_PRI_BT709; break;

ping
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to