avutil/stereo3d: set a sane default value for AVRational fields

Prevent potential divisions by 0 when using them immediately after allocation.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2024-06-18 16:20:24 -03:00
parent 1044c09eca
commit c3606cad9c
7 changed files with 23 additions and 11 deletions

View File

@@ -26,9 +26,20 @@
#include "mem.h" #include "mem.h"
#include "stereo3d.h" #include "stereo3d.h"
static void get_defaults(AVStereo3D *stereo)
{
stereo->horizontal_disparity_adjustment = (AVRational) { 0, 1 };
}
AVStereo3D *av_stereo3d_alloc(void) AVStereo3D *av_stereo3d_alloc(void)
{ {
return av_mallocz(sizeof(AVStereo3D)); AVStereo3D *stereo = av_mallocz(sizeof(AVStereo3D));
if (!stereo)
return NULL;
get_defaults(stereo);
return stereo;
} }
AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame) AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame)
@@ -40,6 +51,7 @@ AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame)
return NULL; return NULL;
memset(side_data->data, 0, sizeof(AVStereo3D)); memset(side_data->data, 0, sizeof(AVStereo3D));
get_defaults((AVStereo3D *)side_data->data);
return (AVStereo3D *)side_data->data; return (AVStereo3D *)side_data->data;
} }

View File

@@ -80,7 +80,7 @@
#define LIBAVUTIL_VERSION_MAJOR 59 #define LIBAVUTIL_VERSION_MAJOR 59
#define LIBAVUTIL_VERSION_MINOR 24 #define LIBAVUTIL_VERSION_MINOR 24
#define LIBAVUTIL_VERSION_MICRO 102 #define LIBAVUTIL_VERSION_MICRO 103
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
LIBAVUTIL_VERSION_MINOR, \ LIBAVUTIL_VERSION_MINOR, \

View File

@@ -6,7 +6,7 @@ inverted=0
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[SIDE_DATA] [SIDE_DATA]

View File

@@ -30,7 +30,7 @@ inverted=0
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[SIDE_DATA] [SIDE_DATA]
@@ -59,7 +59,7 @@ inverted=0
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[SIDE_DATA] [SIDE_DATA]

View File

@@ -135,7 +135,7 @@ inverted=0
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[/STREAM] [/STREAM]
@@ -155,7 +155,7 @@ inverted=1
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[/STREAM] [/STREAM]
@@ -173,7 +173,7 @@ inverted=1
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[/STREAM] [/STREAM]
@@ -192,7 +192,7 @@ inverted=1
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[/STREAM] [/STREAM]

View File

@@ -38,7 +38,7 @@ inverted=0
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[/STREAM] [/STREAM]

View File

@@ -6,7 +6,7 @@ inverted=0
view=packed view=packed
primary_eye=none primary_eye=none
baseline=0 baseline=0
horizontal_disparity_adjustment=0/0 horizontal_disparity_adjustment=0/1
horizontal_field_of_view=0 horizontal_field_of_view=0
[/SIDE_DATA] [/SIDE_DATA]
[SIDE_DATA] [SIDE_DATA]