From ed4fc06db6957b2b63b2400a737f47c18a1003be Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 4 Nov 2019 16:38:14 +0100 Subject: Fix incorrect images when cropping without stretch. Always overallocate images so that Image::crop_scale_window is always safe from over-reading buffers. Relates to #1654 and probably #1653. Backported from 7b0372776ac4da6a8e4ff29f41a4f08b9b4de506 in v2.15.x. --- src/lib/image.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/lib/image.h') diff --git a/src/lib/image.h b/src/lib/image.h index dbcb38cc7..51d768a13 100644 --- a/src/lib/image.h +++ b/src/lib/image.h @@ -41,7 +41,7 @@ class Socket; class Image : public boost::enable_shared_from_this { public: - Image (AVPixelFormat p, dcp::Size s, bool aligned, int extra_pixels = 0); + Image (AVPixelFormat p, dcp::Size s, bool aligned); explicit Image (AVFrame *); explicit Image (Image const &); Image (boost::shared_ptr, bool); @@ -92,6 +92,7 @@ private: void allocate (); void swap (Image &); + void make_part_black (int x, int w); void yuv_16_black (uint16_t, bool); static uint16_t swap_16 (uint16_t); @@ -101,7 +102,6 @@ private: int* _line_size; ///< array of sizes of the data in each line, in bytes (without any alignment padding bytes) int* _stride; ///< array of strides for each line, in bytes (including any alignment padding bytes) bool _aligned; - int _extra_pixels; }; extern PositionImage merge (std::list images); -- cgit v1.2.3