History log of /frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a0940a569f2bc24b00dc10ce0fa7658b1dc3a3a5 24-Sep-2014 Lajos Molnar <lajos@google.com> 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
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
2edda09a2ad1d112c52acd37d323f63f0a492d67 11-Oct-2014 Lajos Molnar <lajos@google.com> stagefright: fix surface input handling of software encoders

- added SoftVideoEncoder for common color conversion and
extension handling logic
- fix YUV420 SemiPlanar handling that should be NV12 not NV21

Bug: 17935149
Change-Id: I9b8d05678b1862dd37bf349ea83d67bdf1bb5560
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
031be0f358b07732092a4d1bf02fc99f109a63c4 22-Aug-2014 Ronghua Wu <ronghuawu@google.com> Add adaptive playback support to VPX decoder.

Bug: 13842676
Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
4154795d5526750b7aec5f774831a9e1ba0a3f15 21-Mar-2014 Alex Glaznev <glaznev@google.com> Support VP8 encoder key frame interval and number of
temporal layers configuration.

- Change ACodec.cpp to populate VP8 extra parameters
structure with key frame interval, number of temporal
layers and quantization parameters.

- Change software VP8 encoder to select frame temporal
patterns and temporal layers bitrate distribution based
on the number of layers similar to patterns used in WebRTC.

- Calculate video frame duration in VP8 encoder from the
timestamps.

Bug: 11969958
Change-Id: Ia96054d886cd09d8c108dfe250fc5f4478eaa042
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
0d6abe8cdadde6f9ad7ac989042f725668233bdb 25-Feb-2014 Alex Glaznev <glaznev@google.com> A few fixes in SW VP8 encoder:

- Increase encoder output buffer size to 1 Mb to avoid buffer
overrun when encoding high complexity HD frames.

- Store output port format parameters.

- Use same VP8 encoder settings as in WebRTC when encoder is
configured to run in CBR mode.

Bug: b/12924516
Bug: b/12908952
Change-Id: Ida884efd0cd1a7272998f5835abd290bfb19b2ac
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
30c08634416a99a0f627e4de3a5f49dcf0a72fd3 28-Sep-2013 Johann <johannkoenig@google.com> Change VP8 encoder bitrate

Allow the bitrate to be updated while the encoder is running.

Bug: 8422347
Change-Id: I8427fe20921b00f92b8f99fe21691709fab354b0
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
336da16a12423c496efba6ca9813d5d42a1f70f6 19-Jul-2013 Andreas Huber <andih@google.com> Enable support for explicitly requesting an encoded keyframe from the vp8

encoder.

Change-Id: I370d5831f7d6037faf361a92521390f19f179cbe
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
a0a63e13788a77bc502da0c72269d82c4779ac91 17-Jul-2013 Andreas Huber <andih@google.com> Experimental support for enabling the use of "surface input" mode

even with the software VP8 encoder.
This relies heavily on the fact that the "Nexus" devices use ARGB32 as
the colorspace for the data underlying a surface provided by SurfaceFlinger
(mirroring). Generally there are no such guarantees.

Change-Id: I1de32f591a3bb935ca76151816b3a02665bec40b
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
94705aff3c9eef58cbb72ec6fe5d2dcfd9481646 24-Jun-2013 hkuang <hkuang@google.com> Adds VP9 decoding support for stagefright.

Also change the VP8 encoder role name from
video_encoder.vpx to video_encoder.vp8 for
future VP9 encoder support.


Requires the change in frameworks/native and media_codecs.xml
corresponding to the device.


VP9 decoding test will be added to cts repo later.
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
b4698f79230bbee15936641d951d49655f9e6da5 01-Feb-2013 Kunter Gultekin <kuntergultekin@google.com> Adds VPX encoding support for stagefright.

Only following encoder settings are available
- target bitrate
- rate control (constant / variable)
- frame rate
- token partitioning
- error resilience
- reconstruction & loop filters

Only following color formats are recognized
- YUV420Planar
- YUV420SemiPlanar
- AndroidOpaque

Following settings are not configurable by the client
- encoding deadline is realtime
- the algorithm interface for encoder is vp8
- fractional bits of frame rate is discarded
- timebase is fixed to 1/1000000

Requires libvpx to be built with encoder support enabled.
Requires openmax 1.1.2 extension headers.

Relevant tests exist in cts repo.

Change-Id: I650f1aca83e7dc93f79d7e6cba7ac24f26e66d40
Signed-off-by: Kunter Gultekin <kuntergultekin@google.com>
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
513b8b238caa52f8ddf5c85109dbf362c515185f 09-Feb-2013 James Dong <jdong@google.com> Revert "Adds VPX encoding support for stagefright."
This lib was not part of the build, but it is built anyway for userdebug image (not for eng though).
let me revert it for now...

This reverts commit 6c6bb9873f55853fe74d8f45ad3ae116636d8be7.
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
6c6bb9873f55853fe74d8f45ad3ae116636d8be7 01-Feb-2013 Kunter Gultekin <kuntergultekin@google.com> Adds VPX encoding support for stagefright.

Only following encoder settings are available
- target bitrate
- rate control (constant / variable)
- frame rate
- token partitioning
- error resilience
- reconstruction & loop filters

Only following color formats are recognized
- YUV420Planar
- YUV420SemiPlanar
- AndroidOpaque

Following settings are not configurable by the client
- encoding deadline is realtime
- the algorithm interface for encoder is vp8
- fractional bits of frame rate is discarded
- timebase is fixed to 1/1000000

Requires libvpx to be built with encoder support enabled.
Requires openmax 1.1.2 extension headers.

Relevant tests exist in cts repo.

Change-Id: If759edb8db36acbd24dcb53d159a54e942766020
Signed-off-by: Kunter Gultekin <kuntergultekin@google.com>
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h