diff options
author | Shao-Chuan Lee <shaochuan@google.com> | 2022-06-02 08:32:08 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-06-02 08:32:08 +0000 |
commit | a4b1a420691e5713f79b5585e4403edd88a9938b (patch) | |
tree | dd2e1ded5775bf3df9c115c73f0c7741870e9654 | |
parent | c6442d5357ce70d70a826248d6c7aa0d6dc34d15 (diff) | |
parent | 45d7895a8debf6abc537d923a0efd6e1f59ccb69 (diff) | |
download | v4l2_codec2-a4b1a420691e5713f79b5585e4403edd88a9938b.tar.gz |
V4L2EncodeComponent: clamp framerate to at least 1 on dynamic framerate change am: 39f241ae60 am: 45d7895a8d
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/v4l2_codec2/+/18707983
Change-Id: Ia1caabecc70627b41bd03760f18365cab04a81a6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | components/V4L2EncodeComponent.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/components/V4L2EncodeComponent.cpp b/components/V4L2EncodeComponent.cpp index a1b46ab..4ce4404 100644 --- a/components/V4L2EncodeComponent.cpp +++ b/components/V4L2EncodeComponent.cpp @@ -756,8 +756,8 @@ bool V4L2EncodeComponent::encode(C2ConstGraphicBlock block, uint64_t index, int6 // Dynamically adjust framerate based on the frame's timestamp if required. constexpr int64_t kMaxFramerateDiff = 5; if (mLastFrameTime && (timestamp > *mLastFrameTime)) { - int64_t newFramerate = - static_cast<int64_t>(std::round(1000000.0 / (timestamp - *mLastFrameTime))); + int64_t newFramerate = std::max( + static_cast<int64_t>(std::round(1000000.0 / (timestamp - *mLastFrameTime))), 1LL); if (abs(mFramerate - newFramerate) > kMaxFramerateDiff) { ALOGV("Adjusting framerate to %" PRId64 " based on frame timestamps", newFramerate); mInterface->setFramerate(static_cast<uint32_t>(newFramerate)); |