Loading camera/aidl/android/hardware/camera2/ICameraDeviceUser.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -119,10 +119,11 @@ interface ICameraDeviceUser * @param width Width of the input buffers * @param height Height of the input buffers * @param format Format of the input buffers. One of HAL_PIXEL_FORMAT_*. * @param isMultiResolution Whether the input stream supports variable resolution image. * * @return new stream ID */ int createInputStream(int width, int height, int format); int createInputStream(int width, int height, int format, boolean isMultiResolution); /** * Get the surface of the input stream. Loading camera/camera2/OutputConfiguration.cpp +20 −4 Original line number Diff line number Diff line Loading @@ -68,6 +68,10 @@ String16 OutputConfiguration::getPhysicalCameraId() const { return mPhysicalCameraId; } bool OutputConfiguration::isMultiResolution() const { return mIsMultiResolution; } OutputConfiguration::OutputConfiguration() : mRotation(INVALID_ROTATION), mSurfaceSetID(INVALID_SET_ID), Loading @@ -75,7 +79,8 @@ OutputConfiguration::OutputConfiguration() : mWidth(0), mHeight(0), mIsDeferred(false), mIsShared(false) { mIsShared(false), mIsMultiResolution(false) { } OutputConfiguration::OutputConfiguration(const android::Parcel& parcel) : Loading Loading @@ -145,6 +150,12 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { parcel->readString16(&mPhysicalCameraId); int isMultiResolution = 0; if ((err = parcel->readInt32(&isMultiResolution)) != OK) { ALOGE("%s: Failed to read surface isMultiResolution flag from parcel", __FUNCTION__); return err; } mRotation = rotation; mSurfaceSetID = setID; mSurfaceType = surfaceType; Loading @@ -152,6 +163,7 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { mHeight = height; mIsDeferred = isDeferred != 0; mIsShared = isShared != 0; mIsMultiResolution = isMultiResolution != 0; for (auto& surface : surfaceShims) { ALOGV("%s: OutputConfiguration: %p, name %s", __FUNCTION__, surface.graphicBufferProducer.get(), Loading @@ -160,8 +172,8 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { } ALOGV("%s: OutputConfiguration: rotation = %d, setId = %d, surfaceType = %d," " physicalCameraId = %s", __FUNCTION__, mRotation, mSurfaceSetID, mSurfaceType, String8(mPhysicalCameraId).string()); " physicalCameraId = %s, isMultiResolution = %d", __FUNCTION__, mRotation, mSurfaceSetID, mSurfaceType, String8(mPhysicalCameraId).string(), mIsMultiResolution); return err; } Loading @@ -175,6 +187,7 @@ OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int ro mIsDeferred = false; mIsShared = isShared; mPhysicalCameraId = physicalId; mIsMultiResolution = false; } OutputConfiguration::OutputConfiguration( Loading @@ -183,7 +196,7 @@ OutputConfiguration::OutputConfiguration( int width, int height, bool isShared) : mGbps(gbps), mRotation(rotation), mSurfaceSetID(surfaceSetID), mSurfaceType(surfaceType), mWidth(width), mHeight(height), mIsDeferred(false), mIsShared(isShared), mPhysicalCameraId(physicalCameraId) { } mPhysicalCameraId(physicalCameraId), mIsMultiResolution(false) { } status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { Loading Loading @@ -224,6 +237,9 @@ status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeString16(mPhysicalCameraId); if (err != OK) return err; err = parcel->writeInt32(mIsMultiResolution ? 1 : 0); if (err != OK) return err; return OK; } Loading camera/camera2/SessionConfiguration.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,12 @@ status_t SessionConfiguration::readFromParcel(const android::Parcel* parcel) { return err; } bool inputIsMultiResolution = false; if ((err = parcel->readBool(&inputIsMultiResolution)) != OK) { ALOGE("%s: Failed to read input multi-resolution flag from parcel", __FUNCTION__); return err; } std::vector<OutputConfiguration> outputStreams; if ((err = parcel->readParcelableVector(&outputStreams)) != OK) { ALOGE("%s: Failed to read output configurations from parcel", __FUNCTION__); Loading @@ -65,6 +71,7 @@ status_t SessionConfiguration::readFromParcel(const android::Parcel* parcel) { mInputWidth = inputWidth; mInputHeight = inputHeight; mInputFormat = inputFormat; mInputIsMultiResolution = inputIsMultiResolution; for (auto& stream : outputStreams) { mOutputStreams.push_back(stream); } Loading @@ -90,6 +97,9 @@ status_t SessionConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeInt32(mInputFormat); if (err != OK) return err; err = parcel->writeBool(mInputIsMultiResolution); if (err != OK) return err; err = parcel->writeParcelableVector(mOutputStreams); if (err != OK) return err; Loading camera/cameraserver/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ cc_binary { "android.hardware.camera.provider@2.4", "android.hardware.camera.provider@2.5", "android.hardware.camera.provider@2.6", "android.hardware.camera.provider@2.7", "android.hardware.camera.device@1.0", "android.hardware.camera.device@3.2", "android.hardware.camera.device@3.4", Loading camera/include/camera/camera2/OutputConfiguration.h +8 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ public: bool isDeferred() const; bool isShared() const; String16 getPhysicalCameraId() const; bool isMultiResolution() const; /** * Keep impl up-to-date with OutputConfiguration.java in frameworks/base */ Loading Loading @@ -83,7 +85,8 @@ public: mIsDeferred == other.mIsDeferred && mIsShared == other.mIsShared && gbpsEqual(other) && mPhysicalCameraId == other.mPhysicalCameraId ); mPhysicalCameraId == other.mPhysicalCameraId && mIsMultiResolution == other.mIsMultiResolution); } bool operator != (const OutputConfiguration& other) const { return !(*this == other); Loading Loading @@ -114,6 +117,9 @@ public: if (mPhysicalCameraId != other.mPhysicalCameraId) { return mPhysicalCameraId < other.mPhysicalCameraId; } if (mIsMultiResolution != other.mIsMultiResolution) { return mIsMultiResolution < other.mIsMultiResolution; } return gbpsLessThan(other); } bool operator > (const OutputConfiguration& other) const { Loading @@ -133,6 +139,7 @@ private: bool mIsDeferred; bool mIsShared; String16 mPhysicalCameraId; bool mIsMultiResolution; }; } // namespace params } // namespace camera2 Loading Loading
camera/aidl/android/hardware/camera2/ICameraDeviceUser.aidl +2 −1 Original line number Diff line number Diff line Loading @@ -119,10 +119,11 @@ interface ICameraDeviceUser * @param width Width of the input buffers * @param height Height of the input buffers * @param format Format of the input buffers. One of HAL_PIXEL_FORMAT_*. * @param isMultiResolution Whether the input stream supports variable resolution image. * * @return new stream ID */ int createInputStream(int width, int height, int format); int createInputStream(int width, int height, int format, boolean isMultiResolution); /** * Get the surface of the input stream. Loading
camera/camera2/OutputConfiguration.cpp +20 −4 Original line number Diff line number Diff line Loading @@ -68,6 +68,10 @@ String16 OutputConfiguration::getPhysicalCameraId() const { return mPhysicalCameraId; } bool OutputConfiguration::isMultiResolution() const { return mIsMultiResolution; } OutputConfiguration::OutputConfiguration() : mRotation(INVALID_ROTATION), mSurfaceSetID(INVALID_SET_ID), Loading @@ -75,7 +79,8 @@ OutputConfiguration::OutputConfiguration() : mWidth(0), mHeight(0), mIsDeferred(false), mIsShared(false) { mIsShared(false), mIsMultiResolution(false) { } OutputConfiguration::OutputConfiguration(const android::Parcel& parcel) : Loading Loading @@ -145,6 +150,12 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { parcel->readString16(&mPhysicalCameraId); int isMultiResolution = 0; if ((err = parcel->readInt32(&isMultiResolution)) != OK) { ALOGE("%s: Failed to read surface isMultiResolution flag from parcel", __FUNCTION__); return err; } mRotation = rotation; mSurfaceSetID = setID; mSurfaceType = surfaceType; Loading @@ -152,6 +163,7 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { mHeight = height; mIsDeferred = isDeferred != 0; mIsShared = isShared != 0; mIsMultiResolution = isMultiResolution != 0; for (auto& surface : surfaceShims) { ALOGV("%s: OutputConfiguration: %p, name %s", __FUNCTION__, surface.graphicBufferProducer.get(), Loading @@ -160,8 +172,8 @@ status_t OutputConfiguration::readFromParcel(const android::Parcel* parcel) { } ALOGV("%s: OutputConfiguration: rotation = %d, setId = %d, surfaceType = %d," " physicalCameraId = %s", __FUNCTION__, mRotation, mSurfaceSetID, mSurfaceType, String8(mPhysicalCameraId).string()); " physicalCameraId = %s, isMultiResolution = %d", __FUNCTION__, mRotation, mSurfaceSetID, mSurfaceType, String8(mPhysicalCameraId).string(), mIsMultiResolution); return err; } Loading @@ -175,6 +187,7 @@ OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int ro mIsDeferred = false; mIsShared = isShared; mPhysicalCameraId = physicalId; mIsMultiResolution = false; } OutputConfiguration::OutputConfiguration( Loading @@ -183,7 +196,7 @@ OutputConfiguration::OutputConfiguration( int width, int height, bool isShared) : mGbps(gbps), mRotation(rotation), mSurfaceSetID(surfaceSetID), mSurfaceType(surfaceType), mWidth(width), mHeight(height), mIsDeferred(false), mIsShared(isShared), mPhysicalCameraId(physicalCameraId) { } mPhysicalCameraId(physicalCameraId), mIsMultiResolution(false) { } status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { Loading Loading @@ -224,6 +237,9 @@ status_t OutputConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeString16(mPhysicalCameraId); if (err != OK) return err; err = parcel->writeInt32(mIsMultiResolution ? 1 : 0); if (err != OK) return err; return OK; } Loading
camera/camera2/SessionConfiguration.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,12 @@ status_t SessionConfiguration::readFromParcel(const android::Parcel* parcel) { return err; } bool inputIsMultiResolution = false; if ((err = parcel->readBool(&inputIsMultiResolution)) != OK) { ALOGE("%s: Failed to read input multi-resolution flag from parcel", __FUNCTION__); return err; } std::vector<OutputConfiguration> outputStreams; if ((err = parcel->readParcelableVector(&outputStreams)) != OK) { ALOGE("%s: Failed to read output configurations from parcel", __FUNCTION__); Loading @@ -65,6 +71,7 @@ status_t SessionConfiguration::readFromParcel(const android::Parcel* parcel) { mInputWidth = inputWidth; mInputHeight = inputHeight; mInputFormat = inputFormat; mInputIsMultiResolution = inputIsMultiResolution; for (auto& stream : outputStreams) { mOutputStreams.push_back(stream); } Loading @@ -90,6 +97,9 @@ status_t SessionConfiguration::writeToParcel(android::Parcel* parcel) const { err = parcel->writeInt32(mInputFormat); if (err != OK) return err; err = parcel->writeBool(mInputIsMultiResolution); if (err != OK) return err; err = parcel->writeParcelableVector(mOutputStreams); if (err != OK) return err; Loading
camera/cameraserver/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ cc_binary { "android.hardware.camera.provider@2.4", "android.hardware.camera.provider@2.5", "android.hardware.camera.provider@2.6", "android.hardware.camera.provider@2.7", "android.hardware.camera.device@1.0", "android.hardware.camera.device@3.2", "android.hardware.camera.device@3.4", Loading
camera/include/camera/camera2/OutputConfiguration.h +8 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ public: bool isDeferred() const; bool isShared() const; String16 getPhysicalCameraId() const; bool isMultiResolution() const; /** * Keep impl up-to-date with OutputConfiguration.java in frameworks/base */ Loading Loading @@ -83,7 +85,8 @@ public: mIsDeferred == other.mIsDeferred && mIsShared == other.mIsShared && gbpsEqual(other) && mPhysicalCameraId == other.mPhysicalCameraId ); mPhysicalCameraId == other.mPhysicalCameraId && mIsMultiResolution == other.mIsMultiResolution); } bool operator != (const OutputConfiguration& other) const { return !(*this == other); Loading Loading @@ -114,6 +117,9 @@ public: if (mPhysicalCameraId != other.mPhysicalCameraId) { return mPhysicalCameraId < other.mPhysicalCameraId; } if (mIsMultiResolution != other.mIsMultiResolution) { return mIsMultiResolution < other.mIsMultiResolution; } return gbpsLessThan(other); } bool operator > (const OutputConfiguration& other) const { Loading @@ -133,6 +139,7 @@ private: bool mIsDeferred; bool mIsShared; String16 mPhysicalCameraId; bool mIsMultiResolution; }; } // namespace params } // namespace camera2 Loading