/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2020, Google Inc. * * encoder_libjpeg.h - JPEG encoding using libjpeg */ #pragma once #include "encoder.h" #include #include "libcamera/internal/formats.h" #include class EncoderLibJpeg : public Encoder { public: EncoderLibJpeg(); ~EncoderLibJpeg(); int configure(const libcamera::StreamConfiguration &cfg) override; int encode(const libcamera::FrameBuffer &source, libcamera::Span destination, libcamera::Span exifData, unsigned int quality) override; int encode(const std::vector> &planes, libcamera::Span destination, libcamera::Span exifData, unsigned int quality); private: void compressRGB(const std::vector> &planes); void compressNV(const std::vector> &planes); struct jpeg_compress_struct compress_; struct jpeg_error_mgr jerr_; const libcamera::PixelFormatInfo *pixelFormatInfo_; bool nv_; bool nvSwap_; }; ion value='imx8mp/extensible-format-v8'>imx8mp/extensible-format-v8 Jacopo Mondi's clone of libcameragit repository hosting on libcamera.org
summaryrefslogtreecommitdiff
blob: 2b6dd3f4cff2add5fd8fec9050f151a8a8429c5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
 * Copyright (C) 2019, Google Inc.
 *
 * logging.h - Logging infrastructure
 */
#ifndef __LIBCAMERA_LOGGING_H__
#define __LIBCAMERA_LOGGING_H__

namespace libcamera {

enum LoggingTarget {
	LoggingTargetNone,
	LoggingTargetSyslog,
	LoggingTargetFile,
	LoggingTargetStream,
};

int logSetFile(const char *path);
int logSetStream(std::ostream *stream);
int logSetTarget(LoggingTarget target);
void logSetLevel(const char *category, const char *level);

} /* namespace libcamera */

#endif /* __LIBCAMERA_LOGGING_H__ */