mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
mov: Export bounds and padding from spherical metadata
Update the fate test as needed. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
parent
6bce6aa17d
commit
a825980f9f
@ -3237,6 +3237,8 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
MOVStreamContext *sc;
|
||||
int size, version, layout;
|
||||
int32_t yaw, pitch, roll;
|
||||
size_t l = 0, t = 0, r = 0, b = 0;
|
||||
size_t padding = 0;
|
||||
uint32_t tag;
|
||||
enum AVSphericalProjection projection;
|
||||
|
||||
@ -3322,9 +3324,25 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
return 0;
|
||||
}
|
||||
projection = AV_SPHERICAL_CUBEMAP;
|
||||
padding = avio_rb32(pb);
|
||||
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");
|
||||
@ -3341,6 +3359,13 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
||||
sc->spherical->pitch = pitch;
|
||||
sc->spherical->roll = roll;
|
||||
|
||||
sc->spherical->padding = padding;
|
||||
|
||||
sc->spherical->bound_left = l;
|
||||
sc->spherical->bound_top = t;
|
||||
sc->spherical->bound_right = r;
|
||||
sc->spherical->bound_bottom = b;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
#define LIBAVFORMAT_VERSION_MAJOR 57
|
||||
#define LIBAVFORMAT_VERSION_MINOR 11
|
||||
#define LIBAVFORMAT_VERSION_MICRO 0
|
||||
#define LIBAVFORMAT_VERSION_MICRO 1
|
||||
|
||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||
LIBAVFORMAT_VERSION_MINOR, \
|
||||
|
@ -11,7 +11,7 @@ FATE_MOV += fate-mov-sar
|
||||
fate-mov-sar: CMD = probestream sample_aspect_ratio $(TARGET_SAMPLES)/mov/displaymatrix.mov
|
||||
|
||||
FATE_MOV += fate-mov-spherical
|
||||
fate-mov-spherical: CMD = probestream projection,yaw,pitch,roll $(TARGET_SAMPLES)/mov/spherical.mov
|
||||
fate-mov-spherical: CMD = probestream projection,yaw,pitch,roll,left,top,right,bottom $(TARGET_SAMPLES)/mov/spherical.mov
|
||||
|
||||
FATE_MOV += fate-mov-stereo3d
|
||||
fate-mov-stereo3d: CMD = probestream type $(TARGET_SAMPLES)/mov/spherical.mov
|
||||
|
@ -1,4 +1,8 @@
|
||||
equirectangular
|
||||
tiled equirectangular
|
||||
148
|
||||
73
|
||||
147
|
||||
72
|
||||
45
|
||||
30
|
||||
15
|
||||
|
Loading…
Reference in New Issue
Block a user