16 #ifndef _JPEG_CONVERSION_H_
17 #define _JPEG_CONVERSION_H_
26 #include <base/samples/Frame.hpp>
28 #include <base-logging/Logging.hpp>
30 namespace conversion {
43 JpegConversion() : mBuffer(NULL), mBufferSize(0), mFlipBuffer(NULL), mFlipBufferSize(0),
48 mFlipBuffer(NULL), mFlipBufferSize(0), mJpegQuality(jpeg_quality){
49 if(mJpegQuality > 100)
69 void compress(base::samples::frame::Frame
const& frame_input, base::samples::frame::Frame& frame_output);
82 void decompress(base::samples::frame::Frame
const& frame_input,
83 base::samples::frame::frame_mode_t
const decompress_to,
84 base::samples::frame::Frame& frame_output);
100 base::samples::frame::frame_mode_t
const decompress_to,
110 J_COLOR_SPACE
getJpegColorspace(base::samples::frame::frame_mode_t
const frame_mode,
111 bool& flip_rgb,
bool& is_jpeg);
123 bool storeFrame(std::string filename, base::samples::frame::Frame
const& frame,
124 std::string* used_filename=NULL);
129 bool loadJpeg(std::string
const& filename, uint32_t
const width, uint32_t
const height,
130 base::samples::frame::Frame& frame);
139 void switchRB(uint32_t
const img_size, uint8_t
const* input_img,
140 uint8_t* output_img);
145 void switchRB(uint32_t
const img_size, uint8_t* input_img);
152 static void init_buffer(jpeg_compress_struct* cinfo) {}
158 static boolean empty_buffer(jpeg_compress_struct* cinfo) {
165 static void term_buffer(jpeg_compress_struct* cinfo) {}
168 static void my_init_source(jpeg_decompress_struct* cinfo) {
169 LOG_DEBUG(
"jpeg my_init_source()");
171 static boolean my_fill_input_buffer(jpeg_decompress_struct* cinfo) {
172 LOG_DEBUG(
"jpeg my_fill_input_buffer");
175 static void my_skip_input_data(jpeg_decompress_struct* cinfo,
long num_bytes) {
176 LOG_DEBUG(
"jpeg my_skip_input_data");
178 static boolean my_resync_to_restart(jpeg_decompress_struct* cinfo,
int desired) {
179 LOG_DEBUG(
"jpeg my_resync_to_restart");
182 static void my_term_source(jpeg_decompress_struct* cinfo) {
183 LOG_DEBUG(
"jpeg my_term_source");
187 unsigned char* mBuffer;
188 unsigned int mBufferSize;
190 unsigned char* mFlipBuffer;
191 unsigned int mFlipBufferSize;
Definition: jpeg_conversion.hpp:37
void decompress(base::samples::frame::Frame const &frame_input, base::samples::frame::frame_mode_t const decompress_to, base::samples::frame::Frame &frame_output)
Definition: jpeg_conversion.cpp:135
JpegConversion(unsigned int jpeg_quality)
Definition: jpeg_conversion.hpp:47
static const int JPEG_QUALITY
Definition: jpeg_conversion.hpp:40
bool storeFrame(std::string filename, base::samples::frame::Frame const &frame, std::string *used_filename=NULL)
Definition: jpeg_conversion.cpp:323
JpegConversion()
Definition: jpeg_conversion.hpp:43
void compress(base::samples::frame::Frame const &frame_input, base::samples::frame::Frame &frame_output)
Definition: jpeg_conversion.cpp:6
J_COLOR_SPACE getJpegColorspace(base::samples::frame::frame_mode_t const frame_mode, bool &flip_rgb, bool &is_jpeg)
Definition: jpeg_conversion.cpp:294
~JpegConversion()
Definition: jpeg_conversion.hpp:53
bool loadJpeg(std::string const &filename, uint32_t const width, uint32_t const height, base::samples::frame::Frame &frame)
Definition: jpeg_conversion.cpp:396