[FFmpeg-devel] [PATCH 7/8 v2] avformat/mov: don't use sizeof(AVStereo3D)
James Almer
jamrial at gmail.com
Sat Jun 22 18:31:21 EEST 2024
It's not part of the libavutil ABI.
Signed-off-by: James Almer <jamrial at gmail.com>
---
libavformat/isom.h | 1 +
libavformat/mov.c | 10 +++++-----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/libavformat/isom.h b/libavformat/isom.h
index 35b767a52c..a0498f45e5 100644
--- a/libavformat/isom.h
+++ b/libavformat/isom.h
@@ -247,6 +247,7 @@ typedef struct MOVStreamContext {
int32_t *display_matrix;
AVStereo3D *stereo3d;
+ size_t stereo3d_size;
AVSphericalMapping *spherical;
size_t spherical_size;
AVMasteringDisplayMetadata *mastering;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 9b2ce1f167..07c0ec3ec4 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -6332,7 +6332,7 @@ static int mov_read_st3d(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return 0;
}
- sc->stereo3d = av_stereo3d_alloc();
+ sc->stereo3d = av_stereo3d_alloc_size(&sc->stereo3d_size);
if (!sc->stereo3d)
return AVERROR(ENOMEM);
@@ -6695,7 +6695,7 @@ static int mov_read_eyes(MOVContext *c, AVIOContext *pb, MOVAtom atom)
}
if (!sc->stereo3d) {
- sc->stereo3d = av_stereo3d_alloc();
+ sc->stereo3d = av_stereo3d_alloc_size(&sc->stereo3d_size);
if (!sc->stereo3d)
return AVERROR(ENOMEM);
}
@@ -6782,7 +6782,7 @@ static int mov_read_hfov(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (!sc->stereo3d) {
- sc->stereo3d = av_stereo3d_alloc();
+ sc->stereo3d = av_stereo3d_alloc_size(&sc->stereo3d_size);
if (!sc->stereo3d)
return AVERROR(ENOMEM);
}
@@ -6831,7 +6831,7 @@ static int mov_parse_uuid_spherical(MOVStreamContext *sc, AVIOContext *pb, size_
else
mode = AV_STEREO3D_2D;
- sc->stereo3d = av_stereo3d_alloc();
+ sc->stereo3d = av_stereo3d_alloc_size(&sc->stereo3d_size);
if (!sc->stereo3d)
goto out;
@@ -10032,7 +10032,7 @@ static int mov_read_header(AVFormatContext *s)
if (sc->stereo3d) {
if (!av_packet_side_data_add(&st->codecpar->coded_side_data, &st->codecpar->nb_coded_side_data,
AV_PKT_DATA_STEREO3D,
- (uint8_t *)sc->stereo3d, sizeof(*sc->stereo3d), 0))
+ (uint8_t *)sc->stereo3d, sc->stereo3d_size, 0))
return AVERROR(ENOMEM);
sc->stereo3d = NULL;
--
2.45.2
More information about the ffmpeg-devel
mailing list