From 25202dbb7ebbc90551751ff2fef4e876b4923d3e Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Wed, 28 Oct 2020 02:54:45 +0530 Subject: android: jpeg: encoder_libjpeg: Allow encoding raw frame bytes Allow encoding frames which are directly handed over to the encoder via a span or vector i.e. a raw frame bytes. Introduce an overloaded EncoderLibJpeg::encode() with libcamera::Span source parameter to achieve this functionality. This makes the libjpeg-encoder a bit flexible for use case such as compressing a thumbnail generated for Exif. Signed-off-by: Umang Jain Reviewed-by: Laurent Pinchart Reviewed-by: Kieran Bingham Signed-off-by: Kieran Bingham --- src/android/jpeg/encoder_libjpeg.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/android/jpeg/encoder_libjpeg.h') diff --git a/src/android/jpeg/encoder_libjpeg.h b/src/android/jpeg/encoder_libjpeg.h index 40505ddc..070f56f8 100644 --- a/src/android/jpeg/encoder_libjpeg.h +++ b/src/android/jpeg/encoder_libjpeg.h @@ -24,10 +24,13 @@ public: int encode(const libcamera::FrameBuffer &source, libcamera::Span destination, libcamera::Span exifData) override; + int encode(libcamera::Span source, + libcamera::Span destination, + libcamera::Span exifData); private: - void compressRGB(const libcamera::MappedBuffer *frame); - void compressNV(const libcamera::MappedBuffer *frame); + void compressRGB(libcamera::Span frame); + void compressNV(libcamera::Span frame); struct jpeg_compress_struct compress_; struct jpeg_error_mgr jerr_; -- cgit v1.2.1