On 3/7/2017 7:35 PM, Vittorio Giovara wrote: > --- > ... and this chunk for matroska too. > Vittorio > > libavformat/matroskadec.c | 21 +++++++++------------ > 1 file changed, 9 insertions(+), 12 deletions(-) > > diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c > index fdc3f268aa..fdb23ab05e 100644 > --- a/libavformat/matroskadec.c > +++ b/libavformat/matroskadec.c > @@ -1930,9 +1930,7 @@ static int mkv_parse_video_projection(AVStream *st, > const MatroskaTrack *track) > > switch (track->video.projection.type) { > case MATROSKA_VIDEO_PROJECTION_TYPE_EQUIRECTANGULAR: > - if (track->video.projection.private.size == 0) > - projection = AV_SPHERICAL_EQUIRECTANGULAR; > - else if (track->video.projection.private.size == 20) { > + if (track->video.projection.private.size == 20) { > t = bytestream2_get_be32(&gb); > b = bytestream2_get_be32(&gb); > l = bytestream2_get_be32(&gb); > @@ -1946,15 +1944,15 @@ static int mkv_parse_video_projection(AVStream *st, > const MatroskaTrack *track) > l, t, r, b); > return AVERROR_INVALIDDATA; > } > - > - if (l || t || r || b) > - projection = AV_SPHERICAL_EQUIRECTANGULAR_TILE; > - else > - projection = AV_SPHERICAL_EQUIRECTANGULAR; > - } else { > + } else if (track->video.projection.private.size != 0) { > av_log(NULL, AV_LOG_ERROR, "Unknown spherical metadata\n"); > return AVERROR_INVALIDDATA; > } > + > + if (l || t || r || b) > + projection = AV_SPHERICAL_EQUIRECTANGULAR_TILE; > + else > + projection = AV_SPHERICAL_EQUIRECTANGULAR; > break; > case MATROSKA_VIDEO_PROJECTION_TYPE_CUBEMAP: > if (track->video.projection.private.size < 4) { > @@ -1962,13 +1960,12 @@ static int mkv_parse_video_projection(AVStream *st, > const MatroskaTrack *track) > return AVERROR_INVALIDDATA; > } else if (track->video.projection.private.size == 12) { > uint32_t layout = bytestream2_get_be32(&gb); > - if (layout == 0) { > - projection = AV_SPHERICAL_CUBEMAP; > - } else { > + if (layout) { > av_log(NULL, AV_LOG_WARNING, > "Unknown spherical cubemap layout %"PRIu32"\n", > layout); > return 0; > } > + projection = AV_SPHERICAL_CUBEMAP; > padding = bytestream2_get_be32(&gb); > } else { > av_log(NULL, AV_LOG_ERROR, "Unknown spherical metadata\n"); >
LGTM _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel