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

Commit 9d14abf0 authored by Haynes Mathew George's avatar Haynes Mathew George Committed by Ricardo Cerqueira
Browse files

libstagefright: Initial commit for Camcorder bringup



- Memcpy mode for camcorder bringup

Patchset 1: Add QCOM_HARDWARE ifdefs.

Change-Id: I2d63c8c643bc2d7a278f4dff7e58d768b9ad4171
Signed-off-by: default avatarEvan McClain <aeroevan@gmail.com>
parent 46aa54b2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1299,7 +1299,11 @@ status_t StagefrightRecorder::setupCameraSource(
    } else {
        *cameraSource = CameraSource::CreateFromCamera(
                mCamera, mCameraProxy, mCameraId, videoSize, mFrameRate,
#ifdef QCOM_HARDWARE
                mPreviewSurface, false);
#else
                mPreviewSurface, true /*storeMetaDataInVideoBuffers*/);
#endif
    }
    mCamera.clear();
    mCameraProxy.clear();
+4 −0
Original line number Diff line number Diff line
@@ -87,6 +87,10 @@ void CameraSourceListener::postDataTimestamp(
}

static int32_t getColorFormat(const char* colorFormat) {
#ifdef QCOM_HARDWARE
    return OMX_COLOR_FormatYUV420SemiPlanar;
#endif

    if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV420P)) {
       return OMX_COLOR_FormatYUV420Planar;
    }
+10 −0
Original line number Diff line number Diff line
@@ -459,7 +459,9 @@ uint32_t OMXCodec::getComponentQuirks(
            // the worst/least compression ratio is 0.5. It is found that
            // sometimes, the output buffer size is larger than
            // size advertised by the encoder.
#ifndef QCOM_HARDWARE
            quirks |= kRequiresLargerEncoderOutputBuffer;
#endif
        }
    }
    if (!strncmp(componentName, "OMX.qcom.7x30.video.encoder.", 28)) {
@@ -3542,6 +3544,9 @@ void OMXCodec::drainInputBuffers() {
            }
        }
    } else {
#ifdef QCOM_HARDWARE
        size_t CAMERA_BUFFERS = 4;
#endif
        Vector<BufferInfo> *buffers = &mPortBuffers[kPortIndexInput];
        for (size_t i = 0; i < buffers->size(); ++i) {
            BufferInfo *info = &buffers->editItemAt(i);
@@ -3550,6 +3555,11 @@ void OMXCodec::drainInputBuffers() {
                continue;
            }

#ifdef QCOM_HARDWARE
            if(mIsEncoder && (mQuirks & kAvoidMemcopyInputRecordingFrames) && (i == CAMERA_BUFFERS))
                break;
#endif

            if (!drainInputBuffer(info)) {
                break;
            }