[FFmpeg-devel] [PATCH] matroskadec: cosmetics: Rearrange checks for projection-depedendent properties

James Almer jamrial at gmail.com
Wed Mar 8 01:09:51 EET 2017


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



More information about the ffmpeg-devel mailing list