File tree Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change 42
42
static const char * TAG = "cam_hal" ;
43
43
static cam_obj_t * cam_obj = NULL ;
44
44
45
- static const uint32_t JPEG_SOI_MARKER = 0xFFD8FF ; // written in little-endian for esp32
46
- static const uint16_t JPEG_EOI_MARKER = 0xD9FF ; // written in little-endian for esp32
45
+ /* JPEG markers in little-endian order (ESP32). */
46
+ static const uint8_t JPEG_SOI_MARKER [] = {0xFF , 0xD8 , 0xFF }; /* SOI = FF D8 FF */
47
+ #define JPEG_SOI_MARKER_LEN (3)
48
+ static const uint16_t JPEG_EOI_MARKER = 0xD9FF ; /* EOI = FF D9 */
47
49
48
50
static int cam_verify_jpeg_soi (const uint8_t * inbuf , uint32_t length )
49
51
{
50
- for (uint32_t i = 0 ; i < length ; i ++ ) {
51
- if (memcmp (& inbuf [i ], & JPEG_SOI_MARKER , 3 ) == 0 ) {
52
+ if (length < JPEG_SOI_MARKER_LEN ) {
53
+ ESP_LOGW (TAG , "NO-SOI" );
54
+ return -1 ;
55
+ }
56
+
57
+ for (uint32_t i = 0 ; i <= length - JPEG_SOI_MARKER_LEN ; i ++ ) {
58
+ if (memcmp (& inbuf [i ], JPEG_SOI_MARKER , JPEG_SOI_MARKER_LEN ) == 0 ) {
52
59
//ESP_LOGW(TAG, "SOI: %d", (int) i);
53
60
return i ;
54
61
}
You can’t perform that action at this time.
0 commit comments