24
24
#include " ../../core/esp3doutput.h"
25
25
#include " ../../core/esp3d.h"
26
26
#include < esp_camera.h>
27
- #include " fd_forward.h"
28
27
#include < soc/soc.h> // not sure this one is needed
29
28
#include < soc/rtc_cntl_reg.h>
30
29
33
32
34
33
#define DEFAULT_FRAME_SIZE FRAMESIZE_SVGA
35
34
#define JPEG_COMPRESSION 80
36
- #define MIN_WIDTH_COMPRESSION 400
37
35
38
36
Camera esp3d_camera;
39
37
@@ -67,7 +65,6 @@ void Camera::handle_snap(WebServer * webserver)
67
65
bool res_error = false ;
68
66
size_t _jpg_buf_len = 0 ;
69
67
uint8_t * _jpg_buf = NULL ;
70
- dl_matrix3du_t *image_matrix = NULL ;
71
68
webserver->sendHeader (String (F (" Content-Type" )), String (F (" image/jpeg" )),true );
72
69
webserver->sendHeader (String (F (" Content-Disposition" )), String (F (" inline; filename=capture.jpg" )),true );
73
70
webserver->setContentLength (CONTENT_LENGTH_UNKNOWN);
@@ -78,44 +75,17 @@ void Camera::handle_snap(WebServer * webserver)
78
75
log_esp3d (" Camera capture failed" );
79
76
webserver->send (500 , " text/plain" , " Capture failed" );
80
77
} else {
81
- if (fb->width > MIN_WIDTH_COMPRESSION) {
82
- if (fb->format != PIXFORMAT_JPEG) {
83
- bool jpeg_converted = frame2jpg (fb, JPEG_COMPRESSION, &_jpg_buf, &_jpg_buf_len);
84
- esp_camera_fb_return (fb);
85
- fb = NULL ;
86
- if (!jpeg_converted) {
87
- log_esp3d (" JPEG compression failed" );
88
- res_error = true ;
89
- }
90
- } else {
91
- _jpg_buf_len = fb->len ;
92
- _jpg_buf = fb->buf ;
93
- }
94
- } else {
95
- image_matrix = dl_matrix3du_alloc (1 , fb->width , fb->height , 3 );
96
-
97
- if (!image_matrix) {
98
- log_esp3d (" dl_matrix3du_alloc failed" );
78
+ if (fb->format != PIXFORMAT_JPEG) {
79
+ bool jpeg_converted = frame2jpg (fb, JPEG_COMPRESSION, &_jpg_buf, &_jpg_buf_len);
80
+ esp_camera_fb_return (fb);
81
+ fb = NULL ;
82
+ if (!jpeg_converted) {
83
+ log_esp3d (" JPEG compression failed" );
99
84
res_error = true ;
100
- } else {
101
- if (!fmt2rgb888 (fb->buf , fb->len , fb->format , image_matrix->item )) {
102
- log_esp3d (" fmt2rgb888 failed" );
103
- res_error = true ;
104
- } else {
105
- if (fb->format != PIXFORMAT_JPEG) {
106
- if (!fmt2jpg (image_matrix->item , fb->width *fb->height *3 , fb->width , fb->height , PIXFORMAT_RGB888, 90 , &_jpg_buf, &_jpg_buf_len)) {
107
- log_esp3d (" fmt2jpg failed" );
108
- res_error = true ;
109
- }
110
- esp_camera_fb_return (fb);
111
- fb = NULL ;
112
- } else {
113
- _jpg_buf = fb->buf ;
114
- _jpg_buf_len = fb->len ;
115
- }
116
- }
117
- dl_matrix3du_free (image_matrix);
118
85
}
86
+ } else {
87
+ _jpg_buf_len = fb->len ;
88
+ _jpg_buf = fb->buf ;
119
89
}
120
90
}
121
91
if (!res_error) {
0 commit comments