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

Commit 3da425ba authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "C2SoftVpxEnc: add support for more colorAspects in RGB to YUV conversion" am: d24ecd25

Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1730274

Change-Id: I06471127b6682ff2aeee596f68f2b72109d411dd
parents 9c1073c3 d24ecd25
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -484,8 +484,14 @@ void C2SoftVpxEnc::process(
    switch (layout.type) {
        case C2PlanarLayout::TYPE_RGB:
        case C2PlanarLayout::TYPE_RGBA: {
            std::shared_ptr<C2StreamColorAspectsInfo::output> colorAspects;
            {
                IntfImpl::Lock lock = mIntf->lock();
                colorAspects = mIntf->getCodedColorAspects_l();
            }
            ConvertRGBToPlanarYUV(mConversionBuffer.data(), stride, vstride,
                                  mConversionBuffer.size(), *rView.get());
                                  mConversionBuffer.size(), *rView.get(),
                                  colorAspects->matrix, colorAspects->range);
            vpx_img_wrap(&raw_frame, VPX_IMG_FMT_I420, width, height,
                         mStrideAlign, mConversionBuffer.data());
            break;
+3 −0
Original line number Diff line number Diff line
@@ -444,6 +444,9 @@ class C2SoftVpxEnc::IntfImpl : public SimpleInterface<void>::BaseParams {
    std::shared_ptr<C2StreamBitrateModeTuning::output> getBitrateMode_l() const { return mBitrateMode; }
    std::shared_ptr<C2StreamRequestSyncFrameTuning::output> getRequestSync_l() const { return mRequestSync; }
    std::shared_ptr<C2StreamTemporalLayeringTuning::output> getTemporalLayers_l() const { return mLayering; }
    std::shared_ptr<C2StreamColorAspectsInfo::output> getCodedColorAspects_l() const {
        return mCodedColorAspects;
    }
    uint32_t getSyncFramePeriod() const {
        if (mSyncFramePeriod->value < 0 || mSyncFramePeriod->value == INT64_MAX) {
            return 0;