summaryrefslogtreecommitdiff
path: root/media/eco
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-04-30 05:23:04 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-04-30 05:23:04 +0000
commit8d0f95fb94175449fba42addbb54c43e513c0fbe (patch)
tree7b4a60d8dc29a66a58bbab127c8fa108a3e45d38 /media/eco
parenta67de76fc920aed26b2351ff4030bd0c6f110514 (diff)
parentd9116453211b4e1fd2be71f90e1147b7eaebebcb (diff)
downloadav-8d0f95fb94175449fba42addbb54c43e513c0fbe.tar.gz
Merge "[ECO] Fixes in ECOUtils and ECOSession." into qt-dev
Diffstat (limited to 'media/eco')
-rw-r--r--media/eco/ECOSession.cpp3
-rw-r--r--media/eco/ECOUtils.cpp4
-rw-r--r--media/eco/include/eco/ECOUtils.h6
3 files changed, 7 insertions, 6 deletions
diff --git a/media/eco/ECOSession.cpp b/media/eco/ECOSession.cpp
index d86ad5b..61820ae 100644
--- a/media/eco/ECOSession.cpp
+++ b/media/eco/ECOSession.cpp
@@ -55,7 +55,8 @@ sp<ECOSession> ECOSession::createECOSession(int32_t width, int32_t height, bool
// Only support up to 720P and camera recording use case.
// TODO(hkuang): Support the same resolution as in EAF. Also relax the isCameraRecording
// as encoder may not konw it is from camera for some usage cases.
- if (width > 1280 || height > 720 || width == 0 || height == 0 || isCameraRecording == false) {
+ if (width <= 0 || height <= 0 || width > 5120 || height > 5120 ||
+ width > 1280 * 720 / height || isCameraRecording == false) {
ALOGE("Failed to create ECOSession with w: %d, h: %d, isCameraRecording: %d", width, height,
isCameraRecording);
return nullptr;
diff --git a/media/eco/ECOUtils.cpp b/media/eco/ECOUtils.cpp
index 533b731..c8edac4 100644
--- a/media/eco/ECOUtils.cpp
+++ b/media/eco/ECOUtils.cpp
@@ -32,7 +32,7 @@ ECOData SimpleEncoderConfig::toEcoData(ECOData::ECODatatype dataType) {
data.setInt32(ENCODER_LEVEL, mLevel);
data.setInt32(ENCODER_TARGET_BITRATE_BPS, mTargetBitrate);
data.setInt32(ENCODER_KFI_FRAMES, mKeyFrameIntervalFrames);
- data.setFloat(ENCODER_FRAMERATE_FPS, mFramerateFps);
+ data.setFloat(ENCODER_FRAMERATE_FPS, mFrameRateFps);
return data;
}
@@ -41,7 +41,7 @@ ECOData SimpleEncodedFrameData::toEcoData(ECOData::ECODatatype dataType) {
ECOData data(dataType, systemTime(SYSTEM_TIME_BOOTTIME));
data.setString(KEY_STATS_TYPE, VALUE_STATS_TYPE_FRAME);
data.setInt32(FRAME_NUM, mFrameNum);
- data.setInt32(FRAME_TYPE, mFrameType);
+ data.setInt8(FRAME_TYPE, mFrameType);
data.setInt64(FRAME_PTS_US, mFramePtsUs);
data.setInt32(FRAME_AVG_QP, mAvgQp);
data.setInt32(FRAME_SIZE_BYTES, mFrameSizeBytes);
diff --git a/media/eco/include/eco/ECOUtils.h b/media/eco/include/eco/ECOUtils.h
index f9fa129..e5bbfcc 100644
--- a/media/eco/include/eco/ECOUtils.h
+++ b/media/eco/include/eco/ECOUtils.h
@@ -60,7 +60,7 @@ struct SimpleEncoderConfig {
int32_t mKeyFrameIntervalFrames;
// Frame rate in frames per second. -1 means unavailable.
- int32_t mFramerateFps;
+ float mFrameRateFps;
SimpleEncoderConfig()
: mEncoderName(""),
@@ -69,7 +69,7 @@ struct SimpleEncoderConfig {
mLevel(-1),
mTargetBitrate(-1),
mKeyFrameIntervalFrames(-1),
- mFramerateFps(-1) {}
+ mFrameRateFps(-1) {}
SimpleEncoderConfig(const std::string& name, int32_t codecType, int32_t profile, int32_t level,
int32_t bitrate, int32_t kfi, float framerateFps)
@@ -79,7 +79,7 @@ struct SimpleEncoderConfig {
mLevel(level),
mTargetBitrate(bitrate),
mKeyFrameIntervalFrames(kfi),
- mFramerateFps(framerateFps) {}
+ mFrameRateFps(framerateFps) {}
// Convert this SimpleEncoderConfig to ECOData with dataType.
ECOData toEcoData(ECOData::ECODatatype dataType);