summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-01-10 17:36:57 -0800
committerChong Zhang <chz@google.com>2014-03-11 20:58:57 +0000
commit8bd4d16aa5636e98522c07ae31236420788aa749 (patch)
tree62a6de2d5849abe614ad64ca600ee00b5df6b57c /include
parentbc69c8ba9a8fc881603669205a56d0ca1b572a95 (diff)
downloadframeworks_av-8bd4d16aa5636e98522c07ae31236420788aa749.zip
frameworks_av-8bd4d16aa5636e98522c07ae31236420788aa749.tar.gz
frameworks_av-8bd4d16aa5636e98522c07ae31236420788aa749.tar.bz2
Cap pts gap between adjacent frames to specified value
- In the scenario of cast mirroring, encoding could be suspended for prolonged periods. Limiting the pts gap to workaround the problem where encoder's rate control logic produces huge frames after a long period of suspension. - Repeat last frame a couple more times to get better quality on static scenes. - Fix the timestamp on repeat frames (it was not set) Bug: 11971963 Change-Id: I1d68ab3d269874bf3921aa429a985c5f63e428c7 (cherry picked from commit 94ee4b708acfa941581160b267afb79192b1d816)
Diffstat (limited to 'include')
-rw-r--r--include/media/IOMX.h1
-rw-r--r--include/media/stagefright/ACodec.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/media/IOMX.h b/include/media/IOMX.h
index 9c8451c..6643736 100644
--- a/include/media/IOMX.h
+++ b/include/media/IOMX.h
@@ -142,6 +142,7 @@ public:
enum InternalOptionType {
INTERNAL_OPTION_SUSPEND, // data is a bool
INTERNAL_OPTION_REPEAT_PREVIOUS_FRAME_DELAY, // data is an int64_t
+ INTERNAL_OPTION_MAX_TIMESTAMP_GAP, // data is int64_t
};
virtual status_t setInternalOption(
node_id node,
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index 510c482..bf3a998 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -205,6 +205,7 @@ private:
int32_t mMetaDataBuffersToSubmit;
int64_t mRepeatFrameDelayUs;
+ int64_t mMaxPtsGapUs;
status_t setCyclicIntraMacroblockRefresh(const sp<AMessage> &msg, int32_t mode);
status_t allocateBuffersOnPort(OMX_U32 portIndex);