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

Commit 7e53ac61 authored by Wonsik Kim's avatar Wonsik Kim Committed by android-build-merger
Browse files

Merge "C2SoftHevcEnc: Add support for dynamic bitrate change" into qt-dev

am: b472cf07

Change-Id: I755b36eaa9d586644460f339f277f643d57b63c9
parents 2718b699 b472cf07
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -861,6 +861,22 @@ void C2SoftHevcEnc::process(const std::unique_ptr<C2Work>& work,
            return;
        }
    }

    // handle dynamic config parameters
    {
        IntfImpl::Lock lock = mIntf->lock();
        std::shared_ptr<C2StreamBitrateInfo::output> bitrate = mIntf->getBitrate_l();
        lock.unlock();

        if (bitrate != mBitrate) {
            mBitrate = bitrate;
            mEncParams.s_tgt_lyr_prms.as_tgt_params[0].ai4_tgt_bitrate[0] =
                mBitrate->value;
            mEncParams.s_tgt_lyr_prms.as_tgt_params[0].ai4_peak_bitrate[0] =
                mBitrate->value << 1;
        }
    }

    ihevce_inp_buf_t s_encode_ip{};
    ihevce_out_buf_t s_encode_op{};
    uint64_t workIndex = work->input.ordinal.frameIndex.peekull();