diff options
author | Lajos Molnar <lajos@google.com> | 2014-09-24 13:57:35 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2014-12-10 18:04:14 -0800 |
commit | a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5 (patch) | |
tree | 913e39ed6eff31c956135701290e1a5af21fd0f8 /media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp | |
parent | 94a92c69af528edf6ec17d7978a0c3bb6ab51e63 (diff) | |
download | frameworks_av-a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5.zip frameworks_av-a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5.tar.gz frameworks_av-a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5.tar.bz2 |
stagefright: misc fixes to software video encoders (and decoders)
- move logic to set encoder parameters to common encoder class
(similarly to what was done for decoders)
- set compressed buffer size based on frame size and compression ratio,
and codec-specific minimum size
- set raw buffer size based on frame size and metadata mode
- do not set stride and slice height on compressed ports
- advertise only QCIF support for google H263 encoder
- set large-enough input size for video decoders to support adaptive
playback
- do not change input buffer size on output port reconfiguration, as
no input buffer reallocation takes place
- do not return empty buffers with EOS after EOS has been signaled
Bug: 18513091
Bug: 18639027
Change-Id: Ib13492ef66adf331aa4572c67d2b283ea020cb41
Diffstat (limited to 'media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp')
-rw-r--r-- | media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp b/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp index 168208f..6b8b395 100644 --- a/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp +++ b/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp @@ -64,9 +64,11 @@ SoftAVC::SoftAVC( mHeadersDecoded(false), mEOSStatus(INPUT_DATA_AVAILABLE), mSignalledError(false) { + const size_t kMinCompressionRatio = 2; + const size_t kMaxOutputBufferSize = 2048 * 2048 * 3 / 2; initPorts( - kNumInputBuffers, 8192 /* inputBufferSize */, - kNumOutputBuffers, MEDIA_MIMETYPE_VIDEO_AVC); + kNumInputBuffers, kMaxOutputBufferSize / kMinCompressionRatio /* minInputBufferSize */, + kNumOutputBuffers, MEDIA_MIMETYPE_VIDEO_AVC, kMinCompressionRatio); CHECK_EQ(initDecoder(), (status_t)OK); } |