Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75160fb4 authored by Yin-Chia Yeh's avatar Yin-Chia Yeh Committed by Android (Google) Code Review
Browse files

Merge "Revert "Camera: Map between bufferqueue gralloc0 usage, and HIDL...

Merge "Revert "Camera: Map between bufferqueue gralloc0 usage, and HIDL gralloc1 usages"" into oc-dev
parents f97ade32 47cf8e62
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -57,9 +57,6 @@ LOCAL_SRC_FILES := \
    utils/AutoConditionLock.cpp \
    utils/AutoConditionLock.cpp \
    utils/TagMonitor.cpp
    utils/TagMonitor.cpp


LOCAL_STATIC_LIBRARIES:= \
    libgrallocusage

LOCAL_SHARED_LIBRARIES:= \
LOCAL_SHARED_LIBRARIES:= \
    libui \
    libui \
    liblog \
    liblog \
+1 −1
Original line number Original line Diff line number Diff line
@@ -304,7 +304,7 @@ status_t ZslProcessor::updateStream(const Parameters &params) {
        sp<IGraphicBufferProducer> producer;
        sp<IGraphicBufferProducer> producer;
        sp<IGraphicBufferConsumer> consumer;
        sp<IGraphicBufferConsumer> consumer;
        BufferQueue::createBufferQueue(&producer, &consumer);
        BufferQueue::createBufferQueue(&producer, &consumer);
        mProducer = new RingBufferConsumer(consumer, GRALLOC_USAGE_HW_CAMERA_READ,
        mProducer = new RingBufferConsumer(consumer, GRALLOC_USAGE_HW_CAMERA_ZSL,
            mBufferQueueDepth);
            mBufferQueueDepth);
        mProducer->setName(String8("Camera2-ZslRingBufferConsumer"));
        mProducer->setName(String8("Camera2-ZslRingBufferConsumer"));
        sp<Surface> outSurface = new Surface(producer);
        sp<Surface> outSurface = new Surface(producer);
+2 −4
Original line number Original line Diff line number Diff line
@@ -17,8 +17,6 @@
//#define LOG_NDEBUG 0
//#define LOG_NDEBUG 0


#include <inttypes.h>
#include <inttypes.h>
#include <grallocusage/GrallocUsageConversion.h>

#include "CameraHardwareInterface.h"
#include "CameraHardwareInterface.h"


namespace android {
namespace android {
@@ -397,14 +395,14 @@ CameraHardwareInterface::setCrop(int32_t left, int32_t top, int32_t right, int32
}
}


hardware::Return<Status>
hardware::Return<Status>
CameraHardwareInterface::setUsage(hardware::camera::device::V1_0::ProducerUsageFlags usage) {
CameraHardwareInterface::setUsage(hardware::graphics::allocator::V2_0::ProducerUsage usage) {
    Status s = Status::INTERNAL_ERROR;
    Status s = Status::INTERNAL_ERROR;
    ANativeWindow *a = mPreviewWindow.get();
    ANativeWindow *a = mPreviewWindow.get();
    if (a == nullptr) {
    if (a == nullptr) {
        ALOGE("%s: preview window is null", __FUNCTION__);
        ALOGE("%s: preview window is null", __FUNCTION__);
        return s;
        return s;
    }
    }
    mPreviewUsage = ::android_convertGralloc1To0Usage(usage, /*consumerUsage*/ 0);
    mPreviewUsage = (int) usage;
    int rc = native_window_set_usage(a, mPreviewUsage);
    int rc = native_window_set_usage(a, mPreviewUsage);
    if (rc == OK) {
    if (rc == OK) {
        cleanupCirculatingBuffers();
        cleanupCirculatingBuffers();
+1 −1
Original line number Original line Diff line number Diff line
@@ -461,7 +461,7 @@ private:
    hardware::Return<hardware::camera::common::V1_0::Status>
    hardware::Return<hardware::camera::common::V1_0::Status>
            setCrop(int32_t left, int32_t top, int32_t right, int32_t bottom) override;
            setCrop(int32_t left, int32_t top, int32_t right, int32_t bottom) override;
    hardware::Return<hardware::camera::common::V1_0::Status>
    hardware::Return<hardware::camera::common::V1_0::Status>
            setUsage(hardware::camera::device::V1_0::ProducerUsageFlags usage) override;
            setUsage(hardware::graphics::allocator::V2_0::ProducerUsage usage) override;
    hardware::Return<hardware::camera::common::V1_0::Status>
    hardware::Return<hardware::camera::common::V1_0::Status>
            setSwapInterval(int32_t interval) override;
            setSwapInterval(int32_t interval) override;
    hardware::Return<void> getMinUndequeuedBufferCount(
    hardware::Return<void> getMinUndequeuedBufferCount(
+18 −6
Original line number Original line Diff line number Diff line
@@ -44,8 +44,6 @@
#include <utils/Timers.h>
#include <utils/Timers.h>
#include <cutils/properties.h>
#include <cutils/properties.h>


#include <grallocusage/GrallocUsageConversion.h>

#include <android/hardware/camera2/ICameraDeviceUser.h>
#include <android/hardware/camera2/ICameraDeviceUser.h>


#include "utils/CameraTraces.h"
#include "utils/CameraTraces.h"
@@ -497,6 +495,11 @@ DataspaceFlags Camera3Device::mapToHidlDataspace(
    return dataSpace;
    return dataSpace;
}
}


ConsumerUsageFlags Camera3Device::mapToConsumerUsage(
        uint32_t usage) {
    return usage;
}

StreamRotation Camera3Device::mapToStreamRotation(camera3_stream_rotation_t rotation) {
StreamRotation Camera3Device::mapToStreamRotation(camera3_stream_rotation_t rotation) {
    switch (rotation) {
    switch (rotation) {
        case CAMERA3_STREAM_ROTATION_0:
        case CAMERA3_STREAM_ROTATION_0:
@@ -546,6 +549,16 @@ int Camera3Device::mapToFrameworkFormat(
    return static_cast<uint32_t>(pixelFormat);
    return static_cast<uint32_t>(pixelFormat);
}
}


uint32_t Camera3Device::mapConsumerToFrameworkUsage(
        ConsumerUsageFlags usage) {
    return usage;
}

uint32_t Camera3Device::mapProducerToFrameworkUsage(
        ProducerUsageFlags usage) {
    return usage;
}

ssize_t Camera3Device::getJpegBufferSize(uint32_t width, uint32_t height) const {
ssize_t Camera3Device::getJpegBufferSize(uint32_t width, uint32_t height) const {
    // Get max jpeg size (area-wise).
    // Get max jpeg size (area-wise).
    Size maxJpegResolution = getMaxJpegResolution();
    Size maxJpegResolution = getMaxJpegResolution();
@@ -3143,9 +3156,7 @@ status_t Camera3Device::HalInterface::configureStreams(camera3_stream_configurat
            dst.width = src->width;
            dst.width = src->width;
            dst.height = src->height;
            dst.height = src->height;
            dst.format = mapToPixelFormat(src->format);
            dst.format = mapToPixelFormat(src->format);
            uint64_t consumerUsage, producerUsage;
            dst.usage = mapToConsumerUsage(src->usage);
            ::android_convertGralloc0To1Usage(src->usage, &producerUsage, &consumerUsage);
            dst.usage = consumerUsage;
            dst.dataSpace = mapToHidlDataspace(src->data_space);
            dst.dataSpace = mapToHidlDataspace(src->data_space);
            dst.rotation = mapToStreamRotation((camera3_stream_rotation_t) src->rotation);
            dst.rotation = mapToStreamRotation((camera3_stream_rotation_t) src->rotation);


@@ -3227,6 +3238,7 @@ status_t Camera3Device::HalInterface::configureStreams(camera3_stream_configurat
                            __FUNCTION__, streamId);
                            __FUNCTION__, streamId);
                    return INVALID_OPERATION;
                    return INVALID_OPERATION;
                }
                }
                dst->usage = mapConsumerToFrameworkUsage(src.consumerUsage);
            } else {
            } else {
                // OUTPUT
                // OUTPUT
                if (src.consumerUsage != 0) {
                if (src.consumerUsage != 0) {
@@ -3234,8 +3246,8 @@ status_t Camera3Device::HalInterface::configureStreams(camera3_stream_configurat
                            __FUNCTION__, streamId);
                            __FUNCTION__, streamId);
                    return INVALID_OPERATION;
                    return INVALID_OPERATION;
                }
                }
                dst->usage = mapProducerToFrameworkUsage(src.producerUsage);
            }
            }
            dst->usage = ::android_convertGralloc1To0Usage(src.producerUsage, src.consumerUsage);
            dst->max_buffers = src.maxBuffers;
            dst->max_buffers = src.maxBuffers;
        }
        }
    }
    }
Loading