Lines Matching defs:dst

198 camera_metadata_t *place_camera_metadata(void *dst,
202 if (dst == NULL) return NULL;
209 camera_metadata_t *metadata = (camera_metadata_t*)dst;
271 camera_metadata_t* copy_camera_metadata(void *dst, size_t dst_size,
275 if (dst == NULL) return NULL;
279 place_camera_metadata(dst, dst_size, src->entry_count, src->data_count);
444 int append_camera_metadata(camera_metadata_t *dst,
446 if (dst == NULL || src == NULL ) return ERROR;
448 if (dst->entry_capacity < src->entry_count + dst->entry_count) return ERROR;
449 if (dst->data_capacity < src->data_count + dst->data_count) return ERROR;
451 memcpy(get_entries(dst) + dst->entry_count, get_entries(src),
453 memcpy(get_data(dst) + dst->data_count, get_data(src),
455 if (dst->data_count != 0) {
456 camera_metadata_buffer_entry_t *entry = get_entries(dst) + dst->entry_count;
460 entry->data.offset += dst->data_count;
464 if (dst->entry_count == 0) {
466 dst->flags |= src->flags & FLAG_SORTED;
468 // Both src, dst are nonempty, cannot assume sort remains
469 dst->flags &= ~FLAG_SORTED;
471 // Src is empty, keep dst sorted state
473 dst->entry_count += src->entry_count;
474 dst->data_count += src->data_count;
503 static int add_camera_metadata_entry_raw(camera_metadata_t *dst,
509 if (dst == NULL) return ERROR;
510 if (dst->entry_count == dst->entry_capacity) return ERROR;
515 if (data_bytes + dst->data_count > dst->data_capacity) return ERROR;
519 camera_metadata_buffer_entry_t *entry = get_entries(dst) + dst->entry_count;
529 entry->data.offset = dst->data_count;
530 memcpy(get_data(dst) + entry->data.offset, data,
532 dst->data_count += data_bytes;
534 dst->entry_count++;
535 dst->flags &= ~FLAG_SORTED;
539 int add_camera_metadata_entry(camera_metadata_t *dst,
550 return add_camera_metadata_entry_raw(dst,
565 int sort_camera_metadata(camera_metadata_t *dst) {
566 if (dst == NULL) return ERROR;
567 if (dst->flags & FLAG_SORTED) return OK;
569 qsort(get_entries(dst), dst->entry_count,
572 dst->flags |= FLAG_SORTED;
639 int delete_camera_metadata_entry(camera_metadata_t *dst,
641 if (dst == NULL) return ERROR;
642 if (index >= dst->entry_count) return ERROR;
644 camera_metadata_buffer_entry_t *entry = get_entries(dst) + index;
650 uint8_t *start = get_data(dst) + entry->data.offset;
652 size_t length = dst->data_count - entry->data.offset - data_bytes;
656 camera_metadata_buffer_entry_t *e = get_entries(dst);
658 for (i = 0; i < dst->entry_count; i++) {
666 dst->data_count -= data_bytes;
671 (dst->entry_count - index - 1) );
672 dst->entry_count -= 1;
677 int update_camera_metadata_entry(camera_metadata_t *dst,
682 if (dst == NULL) return ERROR;
683 if (index >= dst->entry_count) return ERROR;
685 camera_metadata_buffer_entry_t *entry = get_entries(dst) + index;
698 if (dst->data_capacity < dst->data_count + data_bytes - entry_bytes) {
704 uint8_t *start = get_data(dst) + entry->data.offset;
706 size_t length = dst->data_count - entry->data.offset - entry_bytes;
708 dst->data_count -= entry_bytes;
711 camera_metadata_buffer_entry_t *e = get_entries(dst);
713 for (i = 0; i < dst->entry_count; i++) {
725 entry->data.offset = dst->data_count;
727 memcpy(get_data(dst) + entry->data.offset, data, data_payload_bytes);
728 dst->data_count += data_bytes;
732 memcpy(get_data(dst) + entry->data.offset, data, data_payload_bytes);
744 get_camera_metadata_entry(dst,
752 int set_camera_metadata_user_pointer(camera_metadata_t *dst, void* user) {
753 if (dst == NULL) return ERROR;
754 dst->user = user;
758 int get_camera_metadata_user_pointer(camera_metadata_t *dst, void** user) {
759 if (dst == NULL) return ERROR;
760 *user = dst->user;