On 2/21/2017 7:35 PM, Vittorio Giovara wrote: > Update the fate test as needed. > --- > libavformat/mov.c | 28 +++++++++++++++++++++++++++- > tests/ref/fate/mov-spherical-mono | 6 +++++- > 2 files changed, 32 insertions(+), 2 deletions(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index 7b0bbcc..d798336 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -4637,6 +4637,8 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > MOVStreamContext *sc; > int size, version; > int32_t yaw, pitch, roll; > + size_t l, t, r, b; > + size_t padding = 0; > uint32_t tag; > enum AVSphericalProjection projection; > > @@ -4716,9 +4718,25 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > switch (tag) { > case MKTAG('c','b','m','p'): > projection = AV_SPHERICAL_CUBEMAP; > + padding = avio_rb32(pb);
Doesn't layout come first? > break; > case MKTAG('e','q','u','i'): > - projection = AV_SPHERICAL_EQUIRECTANGULAR; > + t = avio_rb32(pb); > + b = avio_rb32(pb); > + l = avio_rb32(pb); > + r = avio_rb32(pb); > + > + if (b >= UINT_MAX - t || r >= UINT_MAX - l) { > + av_log(c->fc, AV_LOG_ERROR, > + "Invalid bounding rectangle coordinates " > + "%zu,%zu,%zu,%zu\n", l, t, r, b); > + return AVERROR_INVALIDDATA; > + } > + > + if (l || t || r || b) > + projection = AV_SPHERICAL_EQUIRECTANGULAR_TILE; > + else > + projection = AV_SPHERICAL_EQUIRECTANGULAR; > break; > default: > av_log(c->fc, AV_LOG_ERROR, "Unknown projection type\n"); > @@ -4735,6 +4753,14 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext > *pb, MOVAtom atom) > sc->spherical->pitch = pitch; > sc->spherical->roll = roll; > > + sc->spherical->padding = padding; > + > + if (projection == AV_SPHERICAL_EQUIRECTANGULAR_TILE) { > + sc->spherical->bound_left = l; > + sc->spherical->bound_top = t; > + sc->spherical->bound_right = r; > + sc->spherical->bound_bottom = b; > + } > return 0; > } > > diff --git a/tests/ref/fate/mov-spherical-mono > b/tests/ref/fate/mov-spherical-mono > index 8048aff..a70d879 100644 > --- a/tests/ref/fate/mov-spherical-mono > +++ b/tests/ref/fate/mov-spherical-mono > @@ -8,7 +8,11 @@ inverted=0 > [SIDE_DATA] > side_data_type=Spherical Mapping > side_data_size=56 > -projection=equirectangular > +projection=tiled equirectangular > +bound_left=148 > +bound_top=73 > +bound_right=147 > +bound_bottom=72 > yaw=45 > pitch=30 > roll=15 > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel