Loading camera/camera2/OutputConfiguration.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ const std::vector<int32_t> &OutputConfiguration::getSensorPixelModesUsed() const return mSensorPixelModesUsed; } int OutputConfiguration::getDynamicRangeProfile() const { int64_t OutputConfiguration::getDynamicRangeProfile() const { return mDynamicRangeProfile; } Loading Loading @@ -186,8 +186,8 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { ALOGE("%s: Failed to read sensor pixel mode(s) from parcel", __FUNCTION__); return err; } int dynamicProfile; if ((err = parcel->readInt32(&dynamicProfile)) != OK) { int64_t dynamicProfile; if ((err = parcel->readInt64(&dynamicProfile)) != OK) { ALOGE("%s: Failed to read surface dynamic range profile flag from parcel", __FUNCTION__); return err; } Loading Loading @@ -314,7 +314,7 @@ status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeParcelableVector(mSensorPixelModesUsed); if (err != OK) return err; err = parcel->writeInt32(mDynamicRangeProfile ? 1 : 0); err = parcel->writeInt64(mDynamicRangeProfile); if (err != OK) return err; err = parcel->writeInt32(mStreamUseCase); Loading camera/include/camera/CameraSessionStats.h +1 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,7 @@ public: std::vector<int64_t> mHistogramCounts; // Dynamic range profile int mDynamicRangeProfile; int64_t mDynamicRangeProfile; // Stream use case int mStreamUseCase; Loading camera/include/camera/camera2/OutputConfiguration.h +2 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ public: int getSurfaceType() const; int getWidth() const; int getHeight() const; int getDynamicRangeProfile() const; int64_t getDynamicRangeProfile() const; bool isDeferred() const; bool isShared() const; String16 getPhysicalCameraId() const; Loading Loading @@ -184,7 +184,7 @@ private: String16 mPhysicalCameraId; bool mIsMultiResolution; std::vector<int32_t> mSensorPixelModesUsed; int mDynamicRangeProfile; int64_t mDynamicRangeProfile; int mStreamUseCase; int mTimestampBase; int mMirrorMode; Loading camera/ndk/include/camera/NdkCameraMetadataTags.h +2 −2 Original line number Diff line number Diff line Loading @@ -3474,7 +3474,7 @@ typedef enum acamera_metadata_tag { * <p>A map of all available 10-bit dynamic range profiles along with their * capture request constraints.</p> * * <p>Type: int32[n*2] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t)</p> * <p>Type: int64[n*3] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t)</p> * * <p>This tag may appear in: * <ul> Loading @@ -3487,7 +3487,7 @@ typedef enum acamera_metadata_tag { * support every possible profile combination within a single capture request, then the * constraints must be listed here as well.</p> */ ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP = // int32[n*2] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t) ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP = // int64[n*3] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t) ACAMERA_REQUEST_START + 19, ACAMERA_REQUEST_END, Loading services/camera/libcameraservice/api2/CameraDeviceClient.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -152,19 +152,20 @@ status_t CameraDeviceClient::initializeImpl(TProviderPtr providerPtr, const Stri ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT); if (it != entry.data.u8 + entry.count) { entry = deviceInfo.find(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP); if (entry.count > 0 || ((entry.count % 2) != 0)) { int standardBitmap = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD; for (size_t i = 0; i < entry.count; i += 2) { if (entry.data.i32[i] != if (entry.count > 0 || ((entry.count % 3) != 0)) { int64_t standardBitmap = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD; for (size_t i = 0; i < entry.count; i += 3) { if (entry.data.i64[i] != ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD) { mDynamicProfileMap.emplace(entry.data.i32[i], entry.data.i32[i+1]); if ((entry.data.i32[i+1] == 0) || (entry.data.i32[i+1] & mDynamicProfileMap.emplace(entry.data.i64[i], entry.data.i64[i+1]); if ((entry.data.i64[i+1] == 0) || (entry.data.i64[i+1] & ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD)) { standardBitmap |= entry.data.i32[i]; standardBitmap |= entry.data.i64[i]; } } else { ALOGE("%s: Device %s includes unexpected profile entry: 0x%x!", __FUNCTION__, mCameraIdStr.c_str(), entry.data.i32[i]); ALOGE("%s: Device %s includes unexpected profile entry: 0x%" PRIx64 "!", __FUNCTION__, mCameraIdStr.c_str(), entry.data.i64[i]); } } mDynamicProfileMap.emplace( Loading Loading @@ -335,7 +336,7 @@ binder::Status CameraDeviceClient::submitRequestList( SurfaceMap surfaceMap; Vector<int32_t> outputStreamIds; std::vector<std::string> requestedPhysicalIds; int dynamicProfileBitmap = 0; int64_t dynamicProfileBitmap = 0; if (request.mSurfaceList.size() > 0) { for (const sp<Surface>& surface : request.mSurfaceList) { if (surface == 0) continue; Loading Loading @@ -410,7 +411,7 @@ binder::Status CameraDeviceClient::submitRequestList( } else { ALOGE("%s: Camera %s: Tried to submit a request with a surfaces that" " reference an unsupported dynamic range profile combination" " 0x%x!", __FUNCTION__, mCameraIdStr.string(), " 0x%" PRIx64 "!", __FUNCTION__, mCameraIdStr.string(), dynamicProfileBitmap); return STATUS_ERROR(CameraService::ERROR_ILLEGAL_ARGUMENT, "Request targets an unsupported dynamic range profile" Loading Loading @@ -862,7 +863,7 @@ binder::Status CameraDeviceClient::createStream( String8 physicalCameraId = String8(outputConfiguration.getPhysicalCameraId()); bool deferredConsumerOnly = deferredConsumer && numBufferProducers == 0; bool isMultiResolution = outputConfiguration.isMultiResolution(); int dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int64_t dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int streamUseCase = outputConfiguration.getStreamUseCase(); int timestampBase = outputConfiguration.getTimestampBase(); int mirrorMode = outputConfiguration.getMirrorMode(); Loading Loading @@ -1261,7 +1262,7 @@ binder::Status CameraDeviceClient::updateOutputConfiguration(int streamId, outputConfiguration.getSensorPixelModesUsed(); int streamUseCase = outputConfiguration.getStreamUseCase(); int timestampBase = outputConfiguration.getTimestampBase(); int dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int64_t dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int mirrorMode = outputConfiguration.getMirrorMode(); for (size_t i = 0; i < newOutputsMap.size(); i++) { Loading Loading @@ -1627,7 +1628,7 @@ binder::Status CameraDeviceClient::finalizeOutputConfigurations(int32_t streamId std::vector<sp<Surface>> consumerSurfaces; const std::vector<int32_t> &sensorPixelModesUsed = outputConfiguration.getSensorPixelModesUsed(); int dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int64_t dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int streamUseCase= outputConfiguration.getStreamUseCase(); int timestampBase = outputConfiguration.getTimestampBase(); int mirrorMode = outputConfiguration.getMirrorMode(); Loading Loading
camera/camera2/OutputConfiguration.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ const std::vector<int32_t> &OutputConfiguration::getSensorPixelModesUsed() const return mSensorPixelModesUsed; } int OutputConfiguration::getDynamicRangeProfile() const { int64_t OutputConfiguration::getDynamicRangeProfile() const { return mDynamicRangeProfile; } Loading Loading @@ -186,8 +186,8 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { ALOGE("%s: Failed to read sensor pixel mode(s) from parcel", __FUNCTION__); return err; } int dynamicProfile; if ((err = parcel->readInt32(&dynamicProfile)) != OK) { int64_t dynamicProfile; if ((err = parcel->readInt64(&dynamicProfile)) != OK) { ALOGE("%s: Failed to read surface dynamic range profile flag from parcel", __FUNCTION__); return err; } Loading Loading @@ -314,7 +314,7 @@ status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeParcelableVector(mSensorPixelModesUsed); if (err != OK) return err; err = parcel->writeInt32(mDynamicRangeProfile ? 1 : 0); err = parcel->writeInt64(mDynamicRangeProfile); if (err != OK) return err; err = parcel->writeInt32(mStreamUseCase); Loading
camera/include/camera/CameraSessionStats.h +1 −1 Original line number Diff line number Diff line Loading @@ -63,7 +63,7 @@ public: std::vector<int64_t> mHistogramCounts; // Dynamic range profile int mDynamicRangeProfile; int64_t mDynamicRangeProfile; // Stream use case int mStreamUseCase; Loading
camera/include/camera/camera2/OutputConfiguration.h +2 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ public: int getSurfaceType() const; int getWidth() const; int getHeight() const; int getDynamicRangeProfile() const; int64_t getDynamicRangeProfile() const; bool isDeferred() const; bool isShared() const; String16 getPhysicalCameraId() const; Loading Loading @@ -184,7 +184,7 @@ private: String16 mPhysicalCameraId; bool mIsMultiResolution; std::vector<int32_t> mSensorPixelModesUsed; int mDynamicRangeProfile; int64_t mDynamicRangeProfile; int mStreamUseCase; int mTimestampBase; int mMirrorMode; Loading
camera/ndk/include/camera/NdkCameraMetadataTags.h +2 −2 Original line number Diff line number Diff line Loading @@ -3474,7 +3474,7 @@ typedef enum acamera_metadata_tag { * <p>A map of all available 10-bit dynamic range profiles along with their * capture request constraints.</p> * * <p>Type: int32[n*2] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t)</p> * <p>Type: int64[n*3] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t)</p> * * <p>This tag may appear in: * <ul> Loading @@ -3487,7 +3487,7 @@ typedef enum acamera_metadata_tag { * support every possible profile combination within a single capture request, then the * constraints must be listed here as well.</p> */ ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP = // int32[n*2] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t) ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP = // int64[n*3] (acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t) ACAMERA_REQUEST_START + 19, ACAMERA_REQUEST_END, Loading
services/camera/libcameraservice/api2/CameraDeviceClient.cpp +15 −14 Original line number Diff line number Diff line Loading @@ -152,19 +152,20 @@ status_t CameraDeviceClient::initializeImpl(TProviderPtr providerPtr, const Stri ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT); if (it != entry.data.u8 + entry.count) { entry = deviceInfo.find(ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP); if (entry.count > 0 || ((entry.count % 2) != 0)) { int standardBitmap = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD; for (size_t i = 0; i < entry.count; i += 2) { if (entry.data.i32[i] != if (entry.count > 0 || ((entry.count % 3) != 0)) { int64_t standardBitmap = ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD; for (size_t i = 0; i < entry.count; i += 3) { if (entry.data.i64[i] != ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD) { mDynamicProfileMap.emplace(entry.data.i32[i], entry.data.i32[i+1]); if ((entry.data.i32[i+1] == 0) || (entry.data.i32[i+1] & mDynamicProfileMap.emplace(entry.data.i64[i], entry.data.i64[i+1]); if ((entry.data.i64[i+1] == 0) || (entry.data.i64[i+1] & ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD)) { standardBitmap |= entry.data.i32[i]; standardBitmap |= entry.data.i64[i]; } } else { ALOGE("%s: Device %s includes unexpected profile entry: 0x%x!", __FUNCTION__, mCameraIdStr.c_str(), entry.data.i32[i]); ALOGE("%s: Device %s includes unexpected profile entry: 0x%" PRIx64 "!", __FUNCTION__, mCameraIdStr.c_str(), entry.data.i64[i]); } } mDynamicProfileMap.emplace( Loading Loading @@ -335,7 +336,7 @@ binder::Status CameraDeviceClient::submitRequestList( SurfaceMap surfaceMap; Vector<int32_t> outputStreamIds; std::vector<std::string> requestedPhysicalIds; int dynamicProfileBitmap = 0; int64_t dynamicProfileBitmap = 0; if (request.mSurfaceList.size() > 0) { for (const sp<Surface>& surface : request.mSurfaceList) { if (surface == 0) continue; Loading Loading @@ -410,7 +411,7 @@ binder::Status CameraDeviceClient::submitRequestList( } else { ALOGE("%s: Camera %s: Tried to submit a request with a surfaces that" " reference an unsupported dynamic range profile combination" " 0x%x!", __FUNCTION__, mCameraIdStr.string(), " 0x%" PRIx64 "!", __FUNCTION__, mCameraIdStr.string(), dynamicProfileBitmap); return STATUS_ERROR(CameraService::ERROR_ILLEGAL_ARGUMENT, "Request targets an unsupported dynamic range profile" Loading Loading @@ -862,7 +863,7 @@ binder::Status CameraDeviceClient::createStream( String8 physicalCameraId = String8(outputConfiguration.getPhysicalCameraId()); bool deferredConsumerOnly = deferredConsumer && numBufferProducers == 0; bool isMultiResolution = outputConfiguration.isMultiResolution(); int dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int64_t dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int streamUseCase = outputConfiguration.getStreamUseCase(); int timestampBase = outputConfiguration.getTimestampBase(); int mirrorMode = outputConfiguration.getMirrorMode(); Loading Loading @@ -1261,7 +1262,7 @@ binder::Status CameraDeviceClient::updateOutputConfiguration(int streamId, outputConfiguration.getSensorPixelModesUsed(); int streamUseCase = outputConfiguration.getStreamUseCase(); int timestampBase = outputConfiguration.getTimestampBase(); int dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int64_t dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int mirrorMode = outputConfiguration.getMirrorMode(); for (size_t i = 0; i < newOutputsMap.size(); i++) { Loading Loading @@ -1627,7 +1628,7 @@ binder::Status CameraDeviceClient::finalizeOutputConfigurations(int32_t streamId std::vector<sp<Surface>> consumerSurfaces; const std::vector<int32_t> &sensorPixelModesUsed = outputConfiguration.getSensorPixelModesUsed(); int dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int64_t dynamicRangeProfile = outputConfiguration.getDynamicRangeProfile(); int streamUseCase= outputConfiguration.getStreamUseCase(); int timestampBase = outputConfiguration.getTimestampBase(); int mirrorMode = outputConfiguration.getMirrorMode(); Loading