android: jpeg: Port to PostProcessor interface

Port the CameraStream's JPEG-encoding bits to PostProcessorJpeg.
This encapsulates the encoder and EXIF generation code into the
PostProcessorJpeg layer and removes these specifics related to JPEG,
from the CameraStream itself.

Signed-off-by: Umang Jain <email@uajain.com>
Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Change-Id: Id9e6e9b2bec83493a90e5e126298a2bb2ed2232a
This commit is contained in:
Umang Jain 2020-10-16 11:07:54 +05:30 committed by Kieran Bingham
parent 3d946a2e60
commit b2b8c4dc94
7 changed files with 164 additions and 62 deletions

View file

@ -19,10 +19,10 @@
#include <libcamera/geometry.h>
#include <libcamera/pixel_format.h>
class Encoder;
class CameraDevice;
class CameraMetadata;
class MappedCamera3Buffer;
class PostProcessor;
class CameraStream
{
@ -130,7 +130,6 @@ private:
camera3_stream_t *camera3Stream_;
unsigned int index_;
std::unique_ptr<Encoder> encoder_;
std::unique_ptr<libcamera::FrameBufferAllocator> allocator_;
std::vector<libcamera::FrameBuffer *> buffers_;
/*
@ -138,6 +137,7 @@ private:
* an std::vector in CameraDevice.
*/
std::unique_ptr<std::mutex> mutex_;
std::unique_ptr<PostProcessor> postProcessor_;
};
#endif /* __ANDROID_CAMERA_STREAM__ */