Lines Matching refs:entry

36  * A single metadata entry, storing an array of values of a given type. If the
241 // Start entry list at aligned boundary
354 ALOGE("%s: Entry count (%" PRIu32 ") should be <= entry capacity "
386 // Validate each entry
399 camera_metadata_buffer_entry_t entry = entries[i];
401 if (entry.type >= NUM_TYPES) {
403 __FUNCTION__, i, entry.type);
409 uint32_t tag_section = entry.tag >> 16;
410 int tag_type = get_camera_metadata_tag_type(entry.tag);
411 if (tag_type != (int)entry.type && tag_section < VENDOR_SECTION) {
413 __FUNCTION__, i, tag_type, entry.type);
418 calculate_camera_metadata_entry_data_size(entry.type,
419 entry.count);
424 entry.data.offset);
430 get_camera_metadata_tag_name(entry.tag) ?: "unknown",
435 size_t data_entry_end = entry.data.offset + data_size;
436 if (data_entry_end < entry.data.offset || // overflow check
445 } else if (entry.count == 0) {
446 if (entry.data.offset != 0) {
448 "(%" PRIu32 "), tag name: %s", __FUNCTION__, i, entry.data.offset,
449 get_camera_metadata_tag_name(entry.tag) ?: "unknown");
470 camera_metadata_buffer_entry_t *entry = get_entries(dst) + dst->entry_count;
471 for (size_t i = 0; i < src->entry_count; i++, entry++) {
472 if ( calculate_camera_metadata_entry_data_size(entry->type,
473 entry->count) > 0 ) {
474 entry->data.offset += dst->data_count;
535 camera_metadata_buffer_entry_t *entry = get_entries(dst) + dst->entry_count;
536 memset(entry, 0, sizeof(camera_metadata_buffer_entry_t));
537 entry->tag = tag;
538 entry->type = type;
539 entry->count = data_count;
542 memcpy(entry->data.value, data,
545 entry->data.offset = dst->data_count;
546 memcpy(get_data(dst) + entry->data.offset, data,
597 camera_metadata_entry_t *entry) {
598 if (src == NULL || entry == NULL) return ERROR;
603 entry->index = index;
604 entry->tag = buffer_entry->tag;
605 entry->type = buffer_entry->type;
606 entry->count = buffer_entry->count;
609 entry->data.u8 = get_data(src) + buffer_entry->data.offset;
611 entry->data.u8 = buffer_entry->data.value;
618 camera_metadata_ro_entry_t *entry) {
620 (camera_metadata_entry_t*)entry);
625 camera_metadata_entry_t *entry) {
653 entry);
658 camera_metadata_ro_entry_t *entry) {
660 (camera_metadata_entry_t*)entry);
669 camera_metadata_buffer_entry_t *entry = get_entries(dst) + index;
670 size_t data_bytes = calculate_camera_metadata_entry_data_size(entry->type,
671 entry->count);
675 uint8_t *start = get_data(dst) + entry->data.offset;
677 size_t length = dst->data_count - entry->data.offset - data_bytes;
680 // Update all entry indices to account for shift
686 e->data.offset > entry->data.offset) {
693 // Shift entry array
694 memmove(entry, entry + 1,
711 camera_metadata_buffer_entry_t *entry = get_entries(dst) + index;
714 calculate_camera_metadata_entry_data_size(entry->type,
717 data_count * camera_metadata_type_size[entry->type];
720 calculate_camera_metadata_entry_data_size(entry->type,
721 entry->count);
730 uint8_t *start = get_data(dst) + entry->data.offset;
732 size_t length = dst->data_count - entry->data.offset - entry_bytes;
736 // Update all entry indices to account for shift
742 e->data.offset > entry->data.offset) {
751 entry->data.offset = dst->data_count;
753 memcpy(get_data(dst) + entry->data.offset, data, data_payload_bytes);
758 memcpy(get_data(dst) + entry->data.offset, data, data_payload_bytes);
762 // Data fits into entry
763 memcpy(entry->data.value, data,
767 entry->count = data_count;
864 camera_metadata_buffer_entry_t *entry = get_entries(metadata);
865 for (i=0; i < metadata->entry_count; i++, entry++) {
868 tag_section = get_camera_metadata_section_name(entry->tag);
872 tag_name = get_camera_metadata_tag_name(entry->tag);
877 if (entry->type >= NUM_TYPES) {
880 type_name = camera_metadata_type_names[entry->type];
886 entry->tag,
888 entry->count);
892 if (entry->type >= NUM_TYPES) continue;
894 size_t type_size = camera_metadata_type_size[entry->type];
896 if ( type_size * entry->count > 4 ) {
897 if (entry->data.offset >= metadata->data_count) {
898 ALOGE("%s: Malformed entry data offset: %" PRIu32 " (max %" PRIu32 ")",
900 entry->data.offset,
904 data_ptr = get_data(metadata) + entry->data.offset;
906 data_ptr = entry->data.value;
908 int count = entry->count;
911 print_data(fd, data_ptr, entry->tag, entry->type, count, indentation);