Loading camera/CameraUtils.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ namespace android { const char *kCameraServiceDisabledProperty = "config.disable_cameraservice"; status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, int mirrorMode, /*out*/int32_t* transform) { int mirrorMode, bool enableTransformInverseDisplay, /*out*/int32_t* transform) { ALOGV("%s", __FUNCTION__); if (transform == NULL) { Loading Loading @@ -128,7 +128,9 @@ status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, * aspect ratio, or the preview will end up looking non-uniformly * stretched. */ if (enableTransformInverseDisplay) { flags |= NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY; } ALOGV("%s: final transform = 0x%x", __FUNCTION__, flags); Loading camera/include/camera/CameraUtils.h +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ class CameraUtils { * Returns OK on success, or a negative error code. */ static status_t getRotationTransform(const CameraMetadata& staticInfo, int mirrorMode, /*out*/int32_t* transform); int mirrorMode, bool enableTransformInverseDisplay, /*out*/int32_t* transform); /** * Check if the image data is VideoNativeHandleMetadata, that contains a native handle. Loading camera/tests/fuzzer/camera_utils_fuzzer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ void CameraUtilsFuzzer::invokeCameraUtils() { CameraUtils::getRotationTransform( staticMetadata, mFDP->ConsumeIntegral<int32_t>() /* mirrorMode */, true /*enableTransformInverseDisplay*/, &transform /*out*/); }, [&]() { CameraUtils::isCameraServiceDisabled(); }, Loading services/camera/libcameraservice/api1/Camera2Client.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <camera/CameraUtils.h> #include <camera/StringUtils.h> #include <com_android_internal_camera_flags.h> #include <com_android_window_flags.h> #include <cutils/properties.h> #include <gui/Surface.h> #include <gui/view/Surface.h> Loading @@ -53,6 +54,7 @@ namespace android { using namespace camera2; namespace flags = com::android::internal::camera::flags; namespace wm_flags = com::android::window::flags; // Interface used by CameraService Loading Loading @@ -134,8 +136,13 @@ status_t Camera2Client::initializeImpl(TProviderPtr providerPtr, const std::stri // The 'mRotateAndCropMode' value only accounts for the necessary adjustment // when the display rotates. The sensor orientation still needs to be calculated // and applied similar to the Camera2 path. using hardware::BnCameraService::ROTATION_OVERRIDE_ROTATION_ONLY; bool enableTransformInverseDisplay = true; if (wm_flags::enable_camera_compat_for_desktop_windowing()) { enableTransformInverseDisplay = (mRotationOverride != ROTATION_OVERRIDE_ROTATION_ONLY); } CameraUtils::getRotationTransform(staticInfo, OutputConfiguration::MIRROR_MODE_AUTO, &mRotateAndCropPreviewTransform); enableTransformInverseDisplay, &mRotateAndCropPreviewTransform); mStreamingProcessor = new StreamingProcessor(this); Loading services/camera/libcameraservice/device3/Camera3Device.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ #include <android/hardware/camera/device/3.7/ICameraInjectionSession.h> #include <android/hardware/camera2/ICameraDeviceUser.h> #include <com_android_internal_camera_flags.h> #include <com_android_window_flags.h> #include "CameraService.h" #include "aidl/android/hardware/graphics/common/Dataspace.h" Loading @@ -83,6 +84,8 @@ using namespace android::hardware::camera; using namespace android::hardware::cameraservice::utils::conversion::aidl; namespace flags = com::android::internal::camera::flags; namespace wm_flags = com::android::window::flags; namespace android { Camera3Device::Camera3Device(std::shared_ptr<CameraServiceProxyWrapper>& cameraServiceProxyWrapper, Loading Loading @@ -5820,7 +5823,13 @@ void Camera3Device::overrideStreamUseCaseLocked() { status_t Camera3Device::deriveAndSetTransformLocked( Camera3OutputStreamInterface& stream, int mirrorMode, int surfaceId) { int transform = -1; int res = CameraUtils::getRotationTransform(mDeviceInfo, mirrorMode, &transform); bool enableTransformInverseDisplay = true; using hardware::ICameraService::ROTATION_OVERRIDE_ROTATION_ONLY; if (wm_flags::enable_camera_compat_for_desktop_windowing()) { enableTransformInverseDisplay = (mRotationOverride != ROTATION_OVERRIDE_ROTATION_ONLY); } int res = CameraUtils::getRotationTransform(mDeviceInfo, mirrorMode, enableTransformInverseDisplay, &transform); if (res != OK) { return res; } Loading Loading
camera/CameraUtils.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ namespace android { const char *kCameraServiceDisabledProperty = "config.disable_cameraservice"; status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, int mirrorMode, /*out*/int32_t* transform) { int mirrorMode, bool enableTransformInverseDisplay, /*out*/int32_t* transform) { ALOGV("%s", __FUNCTION__); if (transform == NULL) { Loading Loading @@ -128,7 +128,9 @@ status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo, * aspect ratio, or the preview will end up looking non-uniformly * stretched. */ if (enableTransformInverseDisplay) { flags |= NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY; } ALOGV("%s: final transform = 0x%x", __FUNCTION__, flags); Loading
camera/include/camera/CameraUtils.h +1 −1 Original line number Diff line number Diff line Loading @@ -46,7 +46,7 @@ class CameraUtils { * Returns OK on success, or a negative error code. */ static status_t getRotationTransform(const CameraMetadata& staticInfo, int mirrorMode, /*out*/int32_t* transform); int mirrorMode, bool enableTransformInverseDisplay, /*out*/int32_t* transform); /** * Check if the image data is VideoNativeHandleMetadata, that contains a native handle. Loading
camera/tests/fuzzer/camera_utils_fuzzer.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -75,6 +75,7 @@ void CameraUtilsFuzzer::invokeCameraUtils() { CameraUtils::getRotationTransform( staticMetadata, mFDP->ConsumeIntegral<int32_t>() /* mirrorMode */, true /*enableTransformInverseDisplay*/, &transform /*out*/); }, [&]() { CameraUtils::isCameraServiceDisabled(); }, Loading
services/camera/libcameraservice/api1/Camera2Client.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <camera/CameraUtils.h> #include <camera/StringUtils.h> #include <com_android_internal_camera_flags.h> #include <com_android_window_flags.h> #include <cutils/properties.h> #include <gui/Surface.h> #include <gui/view/Surface.h> Loading @@ -53,6 +54,7 @@ namespace android { using namespace camera2; namespace flags = com::android::internal::camera::flags; namespace wm_flags = com::android::window::flags; // Interface used by CameraService Loading Loading @@ -134,8 +136,13 @@ status_t Camera2Client::initializeImpl(TProviderPtr providerPtr, const std::stri // The 'mRotateAndCropMode' value only accounts for the necessary adjustment // when the display rotates. The sensor orientation still needs to be calculated // and applied similar to the Camera2 path. using hardware::BnCameraService::ROTATION_OVERRIDE_ROTATION_ONLY; bool enableTransformInverseDisplay = true; if (wm_flags::enable_camera_compat_for_desktop_windowing()) { enableTransformInverseDisplay = (mRotationOverride != ROTATION_OVERRIDE_ROTATION_ONLY); } CameraUtils::getRotationTransform(staticInfo, OutputConfiguration::MIRROR_MODE_AUTO, &mRotateAndCropPreviewTransform); enableTransformInverseDisplay, &mRotateAndCropPreviewTransform); mStreamingProcessor = new StreamingProcessor(this); Loading
services/camera/libcameraservice/device3/Camera3Device.cpp +10 −1 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ #include <android/hardware/camera/device/3.7/ICameraInjectionSession.h> #include <android/hardware/camera2/ICameraDeviceUser.h> #include <com_android_internal_camera_flags.h> #include <com_android_window_flags.h> #include "CameraService.h" #include "aidl/android/hardware/graphics/common/Dataspace.h" Loading @@ -83,6 +84,8 @@ using namespace android::hardware::camera; using namespace android::hardware::cameraservice::utils::conversion::aidl; namespace flags = com::android::internal::camera::flags; namespace wm_flags = com::android::window::flags; namespace android { Camera3Device::Camera3Device(std::shared_ptr<CameraServiceProxyWrapper>& cameraServiceProxyWrapper, Loading Loading @@ -5820,7 +5823,13 @@ void Camera3Device::overrideStreamUseCaseLocked() { status_t Camera3Device::deriveAndSetTransformLocked( Camera3OutputStreamInterface& stream, int mirrorMode, int surfaceId) { int transform = -1; int res = CameraUtils::getRotationTransform(mDeviceInfo, mirrorMode, &transform); bool enableTransformInverseDisplay = true; using hardware::ICameraService::ROTATION_OVERRIDE_ROTATION_ONLY; if (wm_flags::enable_camera_compat_for_desktop_windowing()) { enableTransformInverseDisplay = (mRotationOverride != ROTATION_OVERRIDE_ROTATION_ONLY); } int res = CameraUtils::getRotationTransform(mDeviceInfo, mirrorMode, enableTransformInverseDisplay, &transform); if (res != OK) { return res; } Loading