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

Commit b146380f authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11710546 from 54524313 to 24Q3-release

Change-Id: I3bc5b905b99a9387a25f4f4660c7c730bc1abc9f
parents 97f78f36 54524313
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -439,6 +439,16 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
        return err;
    }

    auto mostRequestedFpsRange = std::make_pair(0,0);
    if ((err = parcel->readInt32(&mostRequestedFpsRange.first)) != OK) {
        ALOGE("%s: Failed to read frame rate range min info!", __FUNCTION__);
        return err;
    }
    if ((err = parcel->readInt32(&mostRequestedFpsRange.second)) != OK) {
        ALOGE("%s: Failed to read frame rate range max info!", __FUNCTION__);
        return err;
    }

    mCameraId = toStdString(id);
    mFacing = facing;
    mNewCameraState = newCameraState;
@@ -460,6 +470,7 @@ status_t CameraSessionStats::readFromParcel(const android::Parcel* parcel) {
    mUsedZoomOverride = usedZoomOverride;
    mSessionIndex = sessionIdx;
    mCameraExtensionSessionStats = extStats;
    mMostRequestedFpsRange = mostRequestedFpsRange;

    return OK;
}
@@ -577,6 +588,16 @@ status_t CameraSessionStats::writeToParcel(android::Parcel* parcel) const {
        return err;
    }

    if ((err = parcel->writeInt32(mMostRequestedFpsRange.first)) != OK) {
        ALOGE("%s: Failed to write frame rate range min info!", __FUNCTION__);
        return err;
    }

    if ((err = parcel->writeInt32(mMostRequestedFpsRange.second)) != OK) {
        ALOGE("%s: Failed to write frame rate range max info!", __FUNCTION__);
        return err;
    }

    return OK;
}

+7 −0
Original line number Diff line number Diff line
@@ -210,3 +210,10 @@ flag {
       purpose: PURPOSE_BUGFIX
     }
}

flag {
     namespace: "camera_platform"
     name: "analytics_24q3"
     description: "Miscellaneous camera platform metrics for 24Q3"
     bug: "332557570"
}
+2 −0
Original line number Diff line number Diff line
@@ -167,6 +167,8 @@ public:

    CameraExtensionSessionStats mCameraExtensionSessionStats;

    std::pair<int32_t, int32_t> mMostRequestedFpsRange;

    // Constructors
    CameraSessionStats();
    CameraSessionStats(const std::string& cameraId, int facing, int newCameraState,
+7 −5
Original line number Diff line number Diff line
@@ -469,11 +469,12 @@ void C2SoftMpeg4Dec::process(
        mInitialized = false;
    }

    bool codecConfig = (work->input.flags & C2FrameData::FLAG_CODEC_CONFIG) != 0;

    if (!mInitialized) {
        uint8_t *vol_data[1]{};
        int32_t vol_size = 0;

        bool codecConfig = (work->input.flags & C2FrameData::FLAG_CODEC_CONFIG) != 0;
        if (codecConfig || volHeader) {
            vol_data[0] = bitstream;
            vol_size = inSize;
@@ -512,11 +513,12 @@ void C2SoftMpeg4Dec::process(
                return;
            }
        }
    }

    if (codecConfig) {
        fillEmptyWork(work);
        return;
    }
    }

    size_t inPos = 0;
    while (inPos < inSize) {
+8 −7
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ extern "C" {
    #include <opus_multistream.h>
}

#define DEFAULT_FRAME_DURATION_MS 20
namespace android {

namespace {
@@ -38,7 +37,6 @@ constexpr char COMPONENT_NAME[] = "c2.android.opus.encoder";

}  // namespace

static const int kMaxNumChannelsSupported = 2;

class C2SoftOpusEnc::IntfImpl : public SimpleInterface<void>::BaseParams {
public:
@@ -248,10 +246,11 @@ c2_status_t C2SoftOpusEnc::initEncoder() {
    mAnchorTimeStamp = 0;
    mProcessedSamples = 0;
    mFilledLen = 0;
    mFrameDurationMs = DEFAULT_FRAME_DURATION_MS;
    mFrameDurationMs = kDefaultFrameDurationMs;
    if (!mInputBufferPcm16) {
        size_t frameSize = (mFrameDurationMs * kMaxSampleRateSupported) / 1000;
        mInputBufferPcm16 =
            (int16_t*)malloc(kFrameSize * kMaxNumChannels * sizeof(int16_t));
            (int16_t*)malloc(frameSize * kMaxNumChannelsSupported * sizeof(int16_t));
    }
    if (!mInputBufferPcm16) return C2_NO_MEMORY;

@@ -368,7 +367,9 @@ void C2SoftOpusEnc::process(const std::unique_ptr<C2Work>& work,
    }

    C2MemoryUsage usage = {C2MemoryUsage::CPU_READ, C2MemoryUsage::CPU_WRITE};
    err = pool->fetchLinearBlock(kMaxPayload, usage, &mOutputBlock);
    int outCapacity =
        kMaxPayload * ((inSize + mNumPcmBytesPerInputFrame) / mNumPcmBytesPerInputFrame);
    err = pool->fetchLinearBlock(outCapacity, usage, &mOutputBlock);
    if (err != C2_OK) {
        ALOGE("fetchLinearBlock for Output failed with status %d", err);
        work->result = C2_NO_MEMORY;
@@ -497,11 +498,11 @@ void C2SoftOpusEnc::process(const std::unique_ptr<C2Work>& work,
        uint8_t* outPtr = wView.data() + mBytesEncoded;
        int encodedBytes =
            opus_multistream_encode(mEncoder, mInputBufferPcm16,
                                    mNumSamplesPerFrame, outPtr, kMaxPayload - mBytesEncoded);
                                    mNumSamplesPerFrame, outPtr, outCapacity - mBytesEncoded);
        ALOGV("encoded %i Opus bytes from %zu PCM bytes", encodedBytes,
              processSize);

        if (encodedBytes < 0 || encodedBytes > (kMaxPayload - mBytesEncoded)) {
        if (encodedBytes < 0 || encodedBytes > (outCapacity - mBytesEncoded)) {
            ALOGE("opus_encode failed, encodedBytes : %d", encodedBytes);
            mSignalledError = true;
            work->result = C2_CORRUPTED;
Loading