blob: 9df1e2114ec7b1278802f25e55fd8dcf83ad6678 (
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#ifndef __RTVIDEOREC_IMGENCODER_H
#define __RTVIDEOREC_IMGENCODER_H
#include "frame.h"
#include "util.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
extern "C" {
#ifdef HAVE_STDLIB_H
#undef HAVE_STDLIB_H
#endif
#include <jpeglib.h>
#ifdef HAVE_STDLIB_H
#undef HAVE_STDLIB_H
#endif
}
#include "info.h"
#include "file.h"
#define VIDEO_BUFFER_SIZE (1024*1024)
#define JPEG_HEADER_PAD 500
class ImgEncoder {
public:
ImgEncoder(const char* cpr, Info *info);
~ImgEncoder();
void encode(Frame *frame, int quality);
void writeJPEGFile(int quality,
JSAMPLE * image_buffer,
int image_width,
int image_height);
private:
File *file;
Info *info;
void getRGB(Frame *frame, unsigned char *rgb);
};
#endif
|