Re: [FFmpeg-devel] [PATCH] matroskadec: cosmetics: Rearrange checks for projection-depedendent properties
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(); > b = bytestream2_get_be32(); > l = bytestream2_get_be32(); > @@ -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(); > -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(); > } 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
[FFmpeg-devel] [PATCH] matroskadec: cosmetics: Rearrange checks for projection-depedendent properties
--- ... 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(); b = bytestream2_get_be32(); l = bytestream2_get_be32(); @@ -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(); -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(); } else { av_log(NULL, AV_LOG_ERROR, "Unknown spherical metadata\n"); -- 2.12.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel