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

Commit fe81b6cd authored by Eino-Ville Talvala's avatar Eino-Ville Talvala Committed by android-build-merger
Browse files

Merge "Camera: Map between bufferqueue gralloc0 usage, and HIDL gralloc1 usages" into oc-dev

am: ff4e56e9

Change-Id: I959e1f0324d079ac7816840cc29977582e59acb5
parents 99ac4320 ff4e56e9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -57,6 +57,9 @@ LOCAL_SRC_FILES := \
    utils/AutoConditionLock.cpp \
    utils/TagMonitor.cpp

LOCAL_STATIC_LIBRARIES:= \
    libgrallocusage

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

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

#include "CameraHardwareInterface.h"

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

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

#include <grallocusage/GrallocUsageConversion.h>

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

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

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

StreamRotation Camera3Device::mapToStreamRotation(camera3_stream_rotation_t rotation) {
    switch (rotation) {
        case CAMERA3_STREAM_ROTATION_0:
@@ -549,16 +546,6 @@ int Camera3Device::mapToFrameworkFormat(
    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 {
    // Get max jpeg size (area-wise).
    Size maxJpegResolution = getMaxJpegResolution();
@@ -3173,7 +3160,9 @@ status_t Camera3Device::HalInterface::configureStreams(camera3_stream_configurat
            dst.width = src->width;
            dst.height = src->height;
            dst.format = mapToPixelFormat(src->format);
            dst.usage = mapToConsumerUsage(src->usage);
            uint64_t consumerUsage, producerUsage;
            ::android_convertGralloc0To1Usage(src->usage, &producerUsage, &consumerUsage);
            dst.usage = consumerUsage;
            dst.dataSpace = mapToHidlDataspace(src->data_space);
            dst.rotation = mapToStreamRotation((camera3_stream_rotation_t) src->rotation);

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