Lines Matching refs:entry

27  * A single metadata entry, storing an array of values of a given type. If the
264 camera_metadata_buffer_entry_t *entry = dst->entries + i;
265 if ( camera_metadata_type_size[entry->type] * entry->count > 4 ) {
266 entry->data.offset += dst->data_count;
322 camera_metadata_buffer_entry_t *entry = dst->entries + dst->entry_count;
323 entry->tag = tag;
324 entry->type = type;
325 entry->count = data_count;
328 memcpy(entry->data.value, data,
331 entry->data.offset = dst->data_count;
332 memcpy(dst->data + entry->data.offset, data, data_bytes);
380 camera_metadata_entry_t *entry) {
381 if (src == NULL || entry == NULL) return ERROR;
386 entry->index = index;
387 entry->tag = buffer_entry->tag;
388 entry->type = buffer_entry->type;
389 entry->count = buffer_entry->count;
392 entry->data.u8 = src->data + buffer_entry->data.offset;
394 entry->data.u8 = buffer_entry->data.value;
401 camera_metadata_entry_t *entry) {
428 entry);
433 camera_metadata_ro_entry_t *entry) {
435 (camera_metadata_entry_t*)entry);
444 camera_metadata_buffer_entry_t *entry = dst->entries + index;
445 size_t data_bytes = calculate_camera_metadata_entry_data_size(entry->type,
446 entry->count);
450 uint8_t *start = dst->data + entry->data.offset;
452 size_t length = dst->data_count - entry->data.offset - data_bytes;
455 // Update all entry indices to account for shift
461 e->data.offset > entry->data.offset) {
468 // Shift entry array
469 memmove(entry, entry + 1,
485 camera_metadata_buffer_entry_t *entry = dst->entries + index;
488 calculate_camera_metadata_entry_data_size(entry->type,
491 calculate_camera_metadata_entry_data_size(entry->type,
492 entry->count);
501 uint8_t *start = dst->data + entry->data.offset;
503 size_t length = dst->data_count - entry->data.offset - entry_bytes;
507 // Update all entry indices to account for shift
513 e->data.offset > entry->data.offset) {
522 entry->data.offset = dst->data_count;
524 memcpy(dst->data + entry->data.offset, data, data_bytes);
529 memcpy(dst->data + entry->data.offset, data, data_bytes);
533 // Data fits into entry
534 memcpy(entry->data.value, data,
535 data_count * camera_metadata_type_size[entry->type]);
538 entry->count = data_count;
639 camera_metadata_buffer_entry_t *entry = metadata->entries + i;
642 tag_section = get_camera_metadata_section_name(entry->tag);
646 tag_name = get_camera_metadata_tag_name(entry->tag);
651 if (entry->type >= NUM_TYPES) {
654 type_name = camera_metadata_type_names[entry->type];
660 entry->tag,
662 entry->count);
666 if (entry->type >= NUM_TYPES) continue;
668 size_t type_size = camera_metadata_type_size[entry->type];
670 if ( type_size * entry->count > 4 ) {
671 if (entry->data.offset >= metadata->data_count) {
672 ALOGE("%s: Malformed entry data offset: %d (max %d)",
674 entry->data.offset,
678 data_ptr = metadata->data + entry->data.offset;
680 data_ptr = entry->data.value;
682 int count = entry->count;
685 print_data(fd, data_ptr, entry->type, count, indentation);