blob: 79f418441ac568ef031007bf3e512e4b1f61b5c2 (
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
|
#ifndef __RTVIDEOREC_IMGENCODER_H
#define __RTVIDEOREC_IMGENCODER_H
#include "dvframe.h"
#include "util.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <avformat.h>
extern "C" {
#ifdef HAVE_STDLIB_H
#undef HAVE_STDLIB_H
#endif
#include <jpeglib.h>
#ifdef HAVE_STDLIB_H
#undef HAVE_STDLIB_H
#endif
}
#define VIDEO_BUFFER_SIZE (1024*1024)
class ImgEncoder {
public:
ImgEncoder();
~ImgEncoder();
void encode(DVFrame *frame, char* filename, int quality);
void writeJPEGFile(char *filename,
int quality,
JSAMPLE * image_buffer,
int image_width,
int image_height);
private:
AVFormatContext *dfc;
AVCodecContext *dcc;
AVFormatContext *efc;
AVCodecContext *ecc;
AVPacket epkt;
unsigned char *video_buffer;
};
#endif
|