Quoting Vittorio Giovara (2016-06-10 00:55:19)
> This function needs to return false, or data in the additional tables
> will be skipped, and the decoder will not be able to decode frames
> associated with them.
> 
> ---
>  libavformat/mov.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index 9e2d0e2..9a7a0bc 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -1774,6 +1774,8 @@ static int mov_skip_multiple_stsd(MOVContext *c, 
> AVIOContext *pb,
>          (codec_tag == AV_RL32("hvc1") ||
>           codec_tag == AV_RL32("hev1") ||
>           (codec_tag != format &&
> +          // prores is allowed to have differing data format and codec tag
> +          codec_tag != AV_RL32("apcn") && codec_tag != AV_RL32("apch") &&
>            (c->fc->video_codec_id ? video_codec_id != c->fc->video_codec_id
>                                   : codec_tag != MKTAG('j','p','e','g'))))) {
>          /* Multiple fourcc, we skip JPEG. This is not correct, we should
> -- 
> 2.8.3

Sure would be nice to have a FATE test.

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

Reply via email to