diff options
author | Sasha Levitskiy <sanek@google.com> | 2014-04-21 17:20:17 -0700 |
---|---|---|
committer | Sasha Levitskiy <sanek@google.com> | 2014-04-23 11:54:24 -0700 |
commit | a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba (patch) | |
tree | b7a2eeac4ed159ee5f6129d9cbeabc69a1c72148 /modules | |
parent | 449ebdd70fa8df58b03a9bd38deed2e53cb512a0 (diff) | |
download | hardware_libhardware-a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba.zip hardware_libhardware-a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba.tar.gz hardware_libhardware-a82f456c387cb6ff6c5aab7c930a7a61c36ed8ba.tar.bz2 |
Camera: HAL: 64-bit warning fixit.
Change-Id: Iecc3e1846fbf63c51952d115e1f167cf32135b18
Signed-off-by: Sasha Levitskiy <sanek@google.com>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/camera/Camera.cpp | 19 | ||||
-rw-r--r-- | modules/camera/CameraHAL.cpp | 3 | ||||
-rw-r--r-- | modules/camera/ExampleCamera.cpp | 56 | ||||
-rw-r--r-- | modules/camera/Metadata.cpp | 8 | ||||
-rw-r--r-- | modules/camera/Stream.cpp | 13 | ||||
-rw-r--r-- | modules/camera/VendorTags.cpp | 38 | ||||
-rw-r--r-- | modules/camera/VendorTags.h | 35 |
7 files changed, 98 insertions, 74 deletions
diff --git a/modules/camera/Camera.cpp b/modules/camera/Camera.cpp index 0ddf001..1f22e00 100644 --- a/modules/camera/Camera.cpp +++ b/modules/camera/Camera.cpp @@ -569,17 +569,26 @@ static void dump(const camera3_device_t *dev, int fd) { camdev_to_camera(dev)->dump(fd); } + +static int flush(const camera3_device_t*) +{ + ALOGE("%s: unimplemented.", __func__); + return -1; +} + } // extern "C" const camera3_device_ops_t Camera::sOps = { - .initialize = default_camera_hal::initialize, - .configure_streams = default_camera_hal::configure_streams, + .initialize = default_camera_hal::initialize, + .configure_streams = default_camera_hal::configure_streams, .register_stream_buffers = default_camera_hal::register_stream_buffers, - .construct_default_request_settings = - default_camera_hal::construct_default_request_settings, + .construct_default_request_settings + = default_camera_hal::construct_default_request_settings, .process_capture_request = default_camera_hal::process_capture_request, .get_metadata_vendor_tag_ops = NULL, - .dump = default_camera_hal::dump + .dump = default_camera_hal::dump, + .flush = default_camera_hal::flush, + .reserved = {0}, }; } // namespace default_camera_hal diff --git a/modules/camera/CameraHAL.cpp b/modules/camera/CameraHAL.cpp index 148f99c..b04cf0c 100644 --- a/modules/camera/CameraHAL.cpp +++ b/modules/camera/CameraHAL.cpp @@ -183,7 +183,8 @@ camera_module_t HAL_MODULE_INFO_SYM __attribute__ ((visibility("default"))) = { get_number_of_cameras : get_number_of_cameras, get_camera_info : get_camera_info, set_callbacks : set_callbacks, - get_vendor_tag_ops : get_vendor_tag_ops + get_vendor_tag_ops : get_vendor_tag_ops, + reserved : {0}, }; } // extern "C" diff --git a/modules/camera/ExampleCamera.cpp b/modules/camera/ExampleCamera.cpp index a275190..ca28b99 100644 --- a/modules/camera/ExampleCamera.cpp +++ b/modules/camera/ExampleCamera.cpp @@ -184,25 +184,37 @@ int ExampleCamera::initDevice() // Create standard settings templates from copies of base metadata // TODO: use vendor tags in base metadata - if (res = base.add1UInt8(ANDROID_CONTROL_MODE, ANDROID_CONTROL_MODE_OFF)) + res = base.add1UInt8(ANDROID_CONTROL_MODE, ANDROID_CONTROL_MODE_OFF); + if (res) return res; // Use base settings to create all other templates and set them - if (res = setPreviewTemplate(base)) return res; - if (res = setStillTemplate(base)) return res; - if (res = setRecordTemplate(base)) return res; - if (res = setSnapshotTemplate(base)) return res; - if (res = setZslTemplate(base)) return res; + res = setPreviewTemplate(base); + if (res) + return res; + res = setStillTemplate(base); + if (res) + return res; + res = setRecordTemplate(base); + if (res) + return res; + res = setSnapshotTemplate(base); + if (res) + return res; + res = setZslTemplate(base); + if (res) + return res; return 0; } int ExampleCamera::setPreviewTemplate(Metadata m) { - int res; // Setup default preview controls - if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, - ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW)) + int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, + ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW); + + if (res) return res; // TODO: set fast auto-focus, auto-whitebalance, auto-exposure, auto flash return setTemplate(CAMERA3_TEMPLATE_PREVIEW, m.get()); @@ -210,10 +222,10 @@ int ExampleCamera::setPreviewTemplate(Metadata m) int ExampleCamera::setStillTemplate(Metadata m) { - int res; + int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, + ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE); // Setup default still capture controls - if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, - ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE)) + if (res) return res; // TODO: set fast auto-focus, auto-whitebalance, auto-exposure, auto flash return setTemplate(CAMERA3_TEMPLATE_STILL_CAPTURE, m.get()); @@ -221,10 +233,10 @@ int ExampleCamera::setStillTemplate(Metadata m) int ExampleCamera::setRecordTemplate(Metadata m) { - int res; + int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, + ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD); // Setup default video record controls - if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, - ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD)) + if (res) return res; // TODO: set slow auto-focus, auto-whitebalance, auto-exposure, flash off return setTemplate(CAMERA3_TEMPLATE_VIDEO_RECORD, m.get()); @@ -232,21 +244,21 @@ int ExampleCamera::setRecordTemplate(Metadata m) int ExampleCamera::setSnapshotTemplate(Metadata m) { - int res; + int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, + ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT); // Setup default video snapshot controls - if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, - ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT)) + if (res) return res; - // TODO: set slow auto-focus, auto-whitebalance, auto-exposure, flash off + // TODO: set slow auto-focus, auto-whitebalance, auto-exposure, flash off return setTemplate(CAMERA3_TEMPLATE_VIDEO_SNAPSHOT, m.get()); } int ExampleCamera::setZslTemplate(Metadata m) { - int res; + int res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, + ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG); // Setup default zero shutter lag controls - if (res = m.add1UInt8(ANDROID_CONTROL_CAPTURE_INTENT, - ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG)) + if (res) return res; // TODO: set reprocessing parameters for zsl input queue return setTemplate(CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG, m.get()); diff --git a/modules/camera/Metadata.cpp b/modules/camera/Metadata.cpp index 72314d5..f195534 100644 --- a/modules/camera/Metadata.cpp +++ b/modules/camera/Metadata.cpp @@ -143,18 +143,20 @@ int Metadata::add(uint32_t tag, int count, const void *tag_data) // Double new dimensions to minimize future reallocations tmp = allocate_camera_metadata(entry_capacity * 2, data_capacity * 2); if (tmp == NULL) { - ALOGE("%s: Failed to allocate new metadata with %d entries, %d data", + ALOGE("%s: Failed to allocate new metadata with %zu entries, %zu data", __func__, entry_capacity, data_capacity); return -ENOMEM; } // Append the current metadata to the new (empty) metadata - if (res = append_camera_metadata(tmp, mData)) { + res = append_camera_metadata(tmp, mData); + if (res) { ALOGE("%s: Failed to append old metadata %p to new %p", __func__, mData, tmp); return res; } // Add the remaining new item - if (res = add_camera_metadata_entry(tmp, tag, tag_data, count)) { + res = add_camera_metadata_entry(tmp, tag, tag_data, count); + if (res) { ALOGE("%s: Failed to add new entry (%d, %p, %d) to metadata %p", __func__, tag, tag_data, count, tmp); return res; diff --git a/modules/camera/Stream.cpp b/modules/camera/Stream.cpp index 9b9ab98..b846a71 100644 --- a/modules/camera/Stream.cpp +++ b/modules/camera/Stream.cpp @@ -227,15 +227,16 @@ void Stream::dump(int fd) fdprintf(fd, "Stream ID: %d (%p)\n", mId, mStream); fdprintf(fd, "Stream Type: %s (%d)\n", typeToString(mType), mType); - fdprintf(fd, "Width: %u Height: %u\n", mWidth, mHeight); + fdprintf(fd, "Width: %"PRIu32" Height: %"PRIu32"\n", mWidth, mHeight); fdprintf(fd, "Stream Format: %s (%d)", formatToString(mFormat), mFormat); // ToDo: prettyprint usage mask flags - fdprintf(fd, "Gralloc Usage Mask: 0x%x\n", mUsage); - fdprintf(fd, "Max Buffer Count: %d\n", mMaxBuffers); + fdprintf(fd, "Gralloc Usage Mask: %#"PRIx32"\n", mUsage); + fdprintf(fd, "Max Buffer Count: %"PRIu32"\n", mMaxBuffers); fdprintf(fd, "Buffers Registered: %s\n", mRegistered ? "true" : "false"); - fdprintf(fd, "Number of Buffers: %d\n", mNumBuffers); - for (int i = 0; i < mNumBuffers; i++) { - fdprintf(fd, "Buffer %d/%d: %p\n", i, mNumBuffers, mBuffers[i]); + fdprintf(fd, "Number of Buffers: %"PRIu32"\n", mNumBuffers); + for (uint32_t i = 0; i < mNumBuffers; i++) { + fdprintf(fd, "Buffer %"PRIu32"/%"PRIu32": %p\n", i, mNumBuffers, + mBuffers[i]); } } diff --git a/modules/camera/VendorTags.cpp b/modules/camera/VendorTags.cpp index 58bd606..2c54648 100644 --- a/modules/camera/VendorTags.cpp +++ b/modules/camera/VendorTags.cpp @@ -46,53 +46,53 @@ struct Section { }; // Entry arrays for each section -const Entry DemoWizardry[DEMO_WIZARDRY_END - DEMO_WIZARDRY_START] = { - [DEMO_WIZARDRY_DIMENSION_SIZE - DEMO_WIZARDRY_START] = +const Entry DemoWizardry[demo_wizardry_end - demo_wizardry_start] = { + [demo_wizardry_dimension_size - demo_wizardry_start] = {"dimensionSize", TYPE_INT32}, - [DEMO_WIZARDRY_DIMENSIONS - DEMO_WIZARDRY_START] = + [demo_wizardry_dimensions - demo_wizardry_start] = {"dimensions", TYPE_INT32}, - [DEMO_WIZARDRY_FAMILIAR - DEMO_WIZARDRY_START] = + [demo_wizardry_familiar - demo_wizardry_start] = {"familiar", TYPE_BYTE}, - [DEMO_WIZARDRY_FIRE - DEMO_WIZARDRY_START] = + [demo_wizardry_fire - demo_wizardry_start] = {"fire", TYPE_RATIONAL} }; -const Entry DemoSorcery[DEMO_SORCERY_END - DEMO_SORCERY_START] = { - [DEMO_SORCERY_DIFFICULTY - DEMO_SORCERY_START] = +const Entry DemoSorcery[demo_sorcery_end - demo_sorcery_start] = { + [demo_sorcery_difficulty - demo_sorcery_start] = {"difficulty", TYPE_INT64}, - [DEMO_SORCERY_LIGHT - DEMO_SORCERY_START] = + [demo_sorcery_light - demo_sorcery_start] = {"light", TYPE_BYTE} }; -const Entry DemoMagic[DEMO_MAGIC_END - DEMO_MAGIC_START] = { - [DEMO_MAGIC_CARD_TRICK - DEMO_MAGIC_START] = +const Entry DemoMagic[demo_magic_end - demo_magic_start] = { + [demo_magic_card_trick - demo_magic_start] = {"cardTrick", TYPE_DOUBLE}, - [DEMO_MAGIC_LEVITATION - DEMO_MAGIC_START] = + [demo_magic_levitation - demo_magic_start] = {"levitation", TYPE_FLOAT} }; // Array of all sections const Section DemoSections[DEMO_SECTION_COUNT] = { [DEMO_WIZARDRY] = { "demo.wizardry", - DEMO_WIZARDRY_START, - DEMO_WIZARDRY_END, + demo_wizardry_start, + demo_wizardry_end, DemoWizardry }, [DEMO_SORCERY] = { "demo.sorcery", - DEMO_SORCERY_START, - DEMO_SORCERY_END, + demo_sorcery_start, + demo_sorcery_end, DemoSorcery }, [DEMO_MAGIC] = { "demo.magic", - DEMO_MAGIC_START, - DEMO_MAGIC_END, + demo_magic_start, + demo_magic_end, DemoMagic } }; // Get a static handle to a specific vendor tag section const Section* getSection(uint32_t tag) { - uint32_t section = (tag - VENDOR_SECTION_START) >> 16; + uint32_t section = (tag - vendor_section_start) >> 16; - if (tag < VENDOR_SECTION_START) { + if (tag < vendor_section_start) { ALOGE("%s: Tag 0x%x before vendor section", __func__, tag); return NULL; } diff --git a/modules/camera/VendorTags.h b/modules/camera/VendorTags.h index 9af9f7d..ecf777e 100644 --- a/modules/camera/VendorTags.h +++ b/modules/camera/VendorTags.h @@ -49,29 +49,28 @@ enum { DEMO_SECTION_COUNT }; +const uint32_t vendor_section_start = VENDOR_SECTION_START; + // Each section starts at increments of 0x1_0000 -enum { - DEMO_WIZARDRY_START = (DEMO_WIZARDRY + VENDOR_SECTION) << 16, - DEMO_SORCERY_START = (DEMO_SORCERY + VENDOR_SECTION) << 16, - DEMO_MAGIC_START = (DEMO_MAGIC + VENDOR_SECTION) << 16, -}; +const uint32_t demo_wizardry_start = (DEMO_WIZARDRY + VENDOR_SECTION) << 16; +const uint32_t demo_sorcery_start = (DEMO_SORCERY + VENDOR_SECTION) << 16; +const uint32_t demo_magic_start = (DEMO_MAGIC + VENDOR_SECTION) << 16; // Vendor Tag values, start value begins each section -enum { - DEMO_WIZARDRY_DIMENSION_SIZE = DEMO_WIZARDRY_START, - DEMO_WIZARDRY_DIMENSIONS, - DEMO_WIZARDRY_FAMILIAR, - DEMO_WIZARDRY_FIRE, - DEMO_WIZARDRY_END, +const uint32_t demo_wizardry_dimension_size = demo_wizardry_start; +const uint32_t demo_wizardry_dimensions = demo_wizardry_start + 1; +const uint32_t demo_wizardry_familiar = demo_wizardry_start + 2; +const uint32_t demo_wizardry_fire = demo_wizardry_start + 3; +const uint32_t demo_wizardry_end = demo_wizardry_start + 4; - DEMO_SORCERY_DIFFICULTY = DEMO_SORCERY_START, - DEMO_SORCERY_LIGHT, - DEMO_SORCERY_END, +const uint32_t demo_sorcery_difficulty = demo_sorcery_start; +const uint32_t demo_sorcery_light = demo_sorcery_start + 1; +const uint32_t demo_sorcery_end = demo_sorcery_start + 2; + +const uint32_t demo_magic_card_trick = demo_magic_start; +const uint32_t demo_magic_levitation = demo_magic_start + 1; +const uint32_t demo_magic_end = demo_magic_start + 2; - DEMO_MAGIC_CARD_TRICK = DEMO_MAGIC_START, - DEMO_MAGIC_LEVITATION, - DEMO_MAGIC_END, -}; } // namespace default_camera_hal #endif // VENDOR_TAGS_H_ |