libobs: Fix crash with 4:2:0 async source resolutions

When using GPU conversion for 4:2:0 frames on async video sources, it
would create a texture bigger than necessary and try to copy too much
data from the frame, resulting in a crash.
master
jp9000 2016-06-01 19:19:34 -07:00
parent 695278dd42
commit fb1ff173f9
1 changed files with 2 additions and 2 deletions

View File

@ -1268,7 +1268,7 @@ static inline bool set_planar420_sizes(struct obs_source *source,
size += size/2;
source->async_convert_width = frame->width;
source->async_convert_height = (size / frame->width + 1) & 0xFFFFFFFE;
source->async_convert_height = size / frame->width;
source->async_texture_format = GS_R8;
source->async_plane_offset[0] = (int)(frame->data[1] - frame->data[0]);
source->async_plane_offset[1] = (int)(frame->data[2] - frame->data[0]);
@ -1282,7 +1282,7 @@ static inline bool set_nv12_sizes(struct obs_source *source,
size += size/2;
source->async_convert_width = frame->width;
source->async_convert_height = (size / frame->width + 1) & 0xFFFFFFFE;
source->async_convert_height = size / frame->width;
source->async_texture_format = GS_R8;
source->async_plane_offset[0] = (int)(frame->data[1] - frame->data[0]);
return true;