summaryrefslogtreecommitdiff
path: root/src/lib/image.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-11-04 16:38:14 +0100
committerCarl Hetherington <cth@carlh.net>2019-11-16 22:46:39 +0100
commited4fc06db6957b2b63b2400a737f47c18a1003be (patch)
treee429ffc3df79e141dacb870ffe9d232e8b72efd4 /src/lib/image.h
parent81e40e7b915a55f8e5aa2db34ad809552b1534e3 (diff)
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.
Diffstat (limited to 'src/lib/image.h')
-rw-r--r--src/lib/image.h4
1 files changed, 2 insertions, 2 deletions
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<Image>
{
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<const Image>, 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<PositionImage> images);