On 2/21/2017 8:07 PM, James Almer wrote: > 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 >>
CCing this time because i forgot last time. Sorry _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel