av_stereo3d_alloc() is not useful in scenarios where you need to know the runtime size of AVStereo3D.
Signed-off-by: James Almer <jamr...@gmail.com> --- libavutil/stereo3d.c | 8 ++++++++ libavutil/stereo3d.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/libavutil/stereo3d.c b/libavutil/stereo3d.c index 1f944e9cac..0eaa8154d9 100644 --- a/libavutil/stereo3d.c +++ b/libavutil/stereo3d.c @@ -32,6 +32,11 @@ static void get_defaults(AVStereo3D *stereo) } AVStereo3D *av_stereo3d_alloc(void) +{ + return av_stereo3d_alloc_size(NULL); +} + +AVStereo3D *av_stereo3d_alloc_size(size_t *size) { AVStereo3D *stereo = av_mallocz(sizeof(AVStereo3D)); if (!stereo) @@ -39,6 +44,9 @@ AVStereo3D *av_stereo3d_alloc(void) get_defaults(stereo); + if (size) + *size = sizeof(*stereo); + return stereo; } diff --git a/libavutil/stereo3d.h b/libavutil/stereo3d.h index deddecfb36..a2e480b1ff 100644 --- a/libavutil/stereo3d.h +++ b/libavutil/stereo3d.h @@ -248,6 +248,14 @@ typedef struct AVStereo3D { */ AVStereo3D *av_stereo3d_alloc(void); +/** + * Allocate an AVStereo3D structure and set its fields to default values. + * The resulting struct can be freed using av_freep(). + * + * @return An AVStereo3D filled with default values or NULL on failure. + */ +AVStereo3D *av_stereo3d_alloc_size(size_t *size); + /** * Allocate a complete AVFrameSideData and add it to the frame. * -- 2.45.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".