diff options
author | Chong Zhang <chz@google.com> | 2014-01-10 17:36:57 -0800 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2014-03-11 20:58:57 +0000 |
commit | 8bd4d16aa5636e98522c07ae31236420788aa749 (patch) | |
tree | 62a6de2d5849abe614ad64ca600ee00b5df6b57c /include | |
parent | bc69c8ba9a8fc881603669205a56d0ca1b572a95 (diff) | |
download | frameworks_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.h | 1 | ||||
-rw-r--r-- | include/media/stagefright/ACodec.h | 1 |
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); |