30 #define DEFAULT_PACKET_SIZE 1024
31 #define OVERREAD_SIZE 3
77 for (; p < end - 3; p += 4) {
78 uint32_t x = *(uint32_t*)p;
80 if (x & (~(x+0x01010101)) & 0x80808080) {
83 }
else if (p[1] == 0xff) {
85 }
else if (p[2] == 0xff) {
87 }
else if (p[3] == 0xff) {
93 for (; p < end; ++p) {
94 if (*p == 0xff)
return p;
104 unsigned int soi_pos;
108 if (current_pos > current_pos + cache_size)
112 current_pos + cache_size +
134 uint8_t *startmarker_ptr, *end, *search_end, marker;
153 if (startmarker_ptr >= search_end - 1 ||
154 *(startmarker_ptr + 1) !=
EOI)
break;
157 if (startmarker_ptr != search_end) {
158 marker = *(startmarker_ptr + 1);
163 mxg->
soi_ptr = startmarker_ptr;
164 }
else if (marker ==
EOI) {
172 #if FF_API_DESTRUCT_PACKET
191 }
else if ( (
SOF0 <= marker && marker <=
SOF15) ||
192 (
SOS <= marker && marker <=
COM) ) {
211 if (marker ==
APP13 && size >= 16) {
215 #if FF_API_DESTRUCT_PACKET
221 pkt->
size = size - 14;
222 pkt->
data = startmarker_ptr + 16;
232 }
else if (marker ==
COM && size >= 18 &&
233 !strncmp(startmarker_ptr + 4,
"MXF", 3)) {