Lines Matching refs:workbuff
82 unsigned char *inbuff = cam->workbuff->data;
85 cam->workbuff->num, cam->curbuff->num);
87 if(cam->workbuff->length > cam->workbuff->max_length)
88 cam->workbuff->max_length = cam->workbuff->length;
93 cam->workbuff->status = FRAME_ERROR;
105 cam->workbuff->status = FRAME_EMPTY;
108 if (cam->workbuff->length > 3) {
110 cam->workbuff->length < cam->workbuff->max_length) {
112 memset(cam->workbuff->data+cam->workbuff->length,
113 0, cam->workbuff->max_length-
114 cam->workbuff->length);
116 cam->workbuff->max_length = cam->workbuff->length;
117 cam->workbuff->status = FRAME_READY;
138 cam->curbuff = cam->workbuff;
139 cam->workbuff = cam->workbuff->next;
141 cam->workbuff->num, cam->curbuff->num);
147 cam->workbuff->status = FRAME_ERROR;
160 cam->workbuff->data[cam->workbuff->length++] = 0xFF;
161 cam->workbuff->data[cam->workbuff->length++] = 0xE0+cam->APPn;
162 cam->workbuff->data[cam->workbuff->length++] = 0;
163 cam->workbuff->data[cam->workbuff->length++] = cam->APP_len+2;
164 memcpy(cam->workbuff->data+cam->workbuff->length,
166 cam->workbuff->length += cam->APP_len;
179 cam->workbuff->data[cam->workbuff->length++] = 0xFF;
180 cam->workbuff->data[cam->workbuff->length++] = 0xFE;
181 cam->workbuff->data[cam->workbuff->length++] = 0;
182 cam->workbuff->data[cam->workbuff->length++] = cam->COM_len+2;
183 memcpy(cam->workbuff->data+cam->workbuff->length,
185 cam->workbuff->length += cam->COM_len;
229 if(cam->workbuff->status == FRAME_READY) {
232 DBG("workbuff full, searching\n");
233 for (ptr = cam->workbuff->next;
234 ptr != cam->workbuff;
243 if (ptr == cam->workbuff)
246 cam->workbuff = ptr;
249 if (cam->workbuff->status == FRAME_EMPTY ||
250 cam->workbuff->status == FRAME_ERROR) {
251 cam->workbuff->status = FRAME_READING;
252 cam->workbuff->length = 0;
262 cam->workbuff->status = FRAME_ERROR;
277 cam->workbuff->status = FRAME_ERROR;
283 if(cam->workbuff->status != FRAME_READING) {
291 DBG("workbuff not reading, status=%d\n",
292 cam->workbuff->status);
296 if (cam->frame_size < cam->workbuff->length + n) {
298 cam->workbuff->length, n);
299 cam->workbuff->status = FRAME_ERROR;
300 if(cam->workbuff->length > cam->workbuff->max_length)
301 cam->workbuff->max_length =
302 cam->workbuff->length;
306 if (cam->workbuff->length == 0) {
318 cam->workbuff->ts = ktime_get_ns();
319 cam->workbuff->seq = cam->frame_count++;
320 cam->workbuff->data[0] = 0xFF;
321 cam->workbuff->data[1] = 0xD8;
322 cam->workbuff->length = 2;
325 memcpy(cam->workbuff->data+cam->workbuff->length,
327 cam->workbuff->length += n-data_offset;
328 } else if (cam->workbuff->length > 0) {
329 memcpy(cam->workbuff->data + cam->workbuff->length,
331 cam->workbuff->length += n;
334 if ((cam->workbuff->length >= 3) &&
335 (cam->workbuff->data[cam->workbuff->length - 3] == 0xFF) &&
336 (cam->workbuff->data[cam->workbuff->length - 2] == 0xD9) &&
337 (cam->workbuff->data[cam->workbuff->length - 1] == 0xFF)) {
339 cam->workbuff->data[cam->workbuff->length - 1] = 0;
340 cam->workbuff->length -= 1;
341 } else if ((cam->workbuff->length >= 2) &&
342 (cam->workbuff->data[cam->workbuff->length - 2] == 0xFF) &&
343 (cam->workbuff->data[cam->workbuff->length - 1] == 0xD9)) {
348 DBG("Workbuff image size = %d\n",cam->workbuff->length);
739 cam->workbuff = cam->curbuff->next;