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

Commit 68d7f8fc authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Set dataspace to native window" am: 1937d475

parents 0da19291 1937d475
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -960,9 +960,9 @@ status_t CCodecBufferChannel::renderOutputBuffer(
                    hdrDynamicInfo->m.data + hdrDynamicInfo->flexCount());
        }
        qbi.setHdrMetadata(hdr);

        SetHdrMetadataToGralloc4Handle(hdrStaticInfo, hdrDynamicInfo, block.handle());
    }
    SetMetadataToGralloc4Handle(dataSpace, hdrStaticInfo, hdrDynamicInfo, block.handle());

    // we don't have dirty regions
    qbi.setSurfaceDamage(Region::INVALID_REGION);
    android::IGraphicBufferProducer::QueueBufferOutput qbo;
+15 −1
Original line number Diff line number Diff line
@@ -998,9 +998,11 @@ native_handle_t *EncryptedLinearBlockBuffer::handle() const {
}

using ::aidl::android::hardware::graphics::common::Cta861_3;
using ::aidl::android::hardware::graphics::common::Dataspace;
using ::aidl::android::hardware::graphics::common::Smpte2086;

using ::android::gralloc4::MetadataType_Cta861_3;
using ::android::gralloc4::MetadataType_Dataspace;
using ::android::gralloc4::MetadataType_Smpte2086;
using ::android::gralloc4::MetadataType_Smpte2094_40;

@@ -1156,7 +1158,8 @@ c2_status_t GetHdrMetadataFromGralloc4Handle(
    return err;
}

c2_status_t SetHdrMetadataToGralloc4Handle(
c2_status_t SetMetadataToGralloc4Handle(
        android_dataspace_t dataSpace,
        const std::shared_ptr<const C2StreamHdrStaticMetadataInfo::output> &staticInfo,
        const std::shared_ptr<const C2StreamHdrDynamicMetadataInfo::output> &dynamicInfo,
        const C2Handle *const handle) {
@@ -1167,6 +1170,17 @@ c2_status_t SetHdrMetadataToGralloc4Handle(
        // Gralloc4 not supported; nothing to do
        return err;
    }
    {
        hidl_vec<uint8_t> metadata;
        if (gralloc4::encodeDataspace(static_cast<Dataspace>(dataSpace), &metadata) == OK) {
            Return<Error4> ret = mapper->set(buffer.get(), MetadataType_Dataspace, metadata);
            if (!ret.isOk()) {
                err = C2_REFUSED;
            } else if (ret != Error4::NONE) {
                err = C2_CORRUPTED;
            }
        }
    }
    if (staticInfo && *staticInfo) {
        ALOGV("Setting static HDR info as gralloc4 metadata");
        std::optional<Smpte2086> smpte2086 = Smpte2086{
+4 −2
Original line number Diff line number Diff line
@@ -410,14 +410,16 @@ c2_status_t GetHdrMetadataFromGralloc4Handle(
        std::shared_ptr<C2StreamHdrDynamicMetadataInfo::input> *dynamicInfo);

/**
 * Set HDR metadata to Gralloc4 handle.
 * Set metadata to Gralloc4 handle.
 *
 * \param[in]   dataSpace   Dataspace to set.
 * \param[in]   staticInfo  HDR static info to set. Ignored if null or invalid.
 * \param[in]   dynamicInfo HDR dynamic info to set. Ignored if null or invalid.
 * \param[out]  handle      handle of the allocation.
 * \return C2_OK if successful
 */
c2_status_t SetHdrMetadataToGralloc4Handle(
c2_status_t SetMetadataToGralloc4Handle(
        const android_dataspace_t dataSpace,
        const std::shared_ptr<const C2StreamHdrStaticMetadataInfo::output> &staticInfo,
        const std::shared_ptr<const C2StreamHdrDynamicMetadataInfo::output> &dynamicInfo,
        const C2Handle *const handle);