History log of /frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a77b3819af8c5fb90edebb3ebb3038d6b37c625f 09-Jun-2017 Vignesh Venkatasubramanian <vigneshv@google.com> SoftVPXEncoder: Disable lagged vp9 encoding

VP9 encoding on realtime should not have any lag set (it is set to
the library default right now for VBR mode). Unconditionally
disable it.

Test: CtsVideoTestCases

Bug: 62274213
Change-Id: Iab1abcae4f648198cb2b9bc634f73f612025f986
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
31ae35a83a8384b942d60c32456d7e2e707eb2fa 16-Feb-2017 Wonsik Kim <wonsik@google.com> resolve merge conflicts of 7fa2b10732 to master

Change-Id: I695412a2e1dcf617950a670895bda7316db0c578
2430ff6610479b4374958d2a5c4db0b129fc7803 16-Feb-2017 Wonsik Kim <wonsik@google.com> codecs: handle onReset() for a few encoders am: 5443b57cc5 am: 89f501d046 am: 4f428b7c02 am: a5e72ec799 am: 787a5136f0 am: 83485b615e
am: 58f7175ed4

Change-Id: Ib5d28de651178b0ab7cd3e44793a6078d904ff4c
a5e72ec7993f37d6282c847ca13044326bbc5727 16-Feb-2017 Wonsik Kim <wonsik@google.com> codecs: handle onReset() for a few encoders am: 5443b57cc5 am: 89f501d046
am: 4f428b7c02

Change-Id: Ia3e7fe8b1f39448f865508da3d5836b3159273cb
89f501d046c9a3ca61201e187a0d3655d59e521c 16-Feb-2017 Wonsik Kim <wonsik@google.com> codecs: handle onReset() for a few encoders
am: 5443b57cc5

Change-Id: Ifd851c8840abc615eecf0da1f6b32f30cfb4e0b2
5443b57cc54f2e46b35246637be26a69e9f493e1 10-Feb-2017 Wonsik Kim <wonsik@google.com> codecs: handle onReset() for a few encoders

Test: Run PoC binaries
Bug: 34749392
Bug: 34705519
Change-Id: I3356eb615b0e79272d71d72578d363671038c6dd
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
328597abaecff9722dcfb4bb4c67964bd82a072a 17-Feb-2016 Vignesh Venkatasubramanian <vigneshv@google.com> libstagefright: Add VP9 software encoder OMX Component

Change-Id: I2f2b0e68a114b086cdcd394a3642ed3b1902aceb
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
dfb280d3975afdce4da87602577d2814cb9eb30d 22-Apr-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE More OMX struct checking

These were lost due to bad merges.

Bug: 27207275
Change-Id: Idc7a9fc75376a88b91e9e259d664d6ee54c77330
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
67ef30185837950144d30e5a73d852eb9a7a0a89 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
c9ebf170814765f60383ee291d09ec361a81035e 23-Mar-2016 Wonsik Kim <wonsik@google.com> Merge "codecs: check OMX buffer size before use in VP8 encoder." into lmp-dev am: 19a06a9 am: 881b227 am: ead21ce am: 800e972 am: 73acbbb am: 274250f am: b8b11e9 am: b90fab2 am: 89a676c
am: d1aba88

* commit 'd1aba88820c160341e7b9bcbaf572360484a13a4':
codecs: check OMX buffer size before use in VP8 encoder.
89a676cb3276143c15cd14572d0e62ef7d210ac1 23-Mar-2016 Wonsik Kim <wonsik@google.com> Merge "codecs: check OMX buffer size before use in VP8 encoder." into lmp-dev am: 19a06a9 am: 881b227 am: ead21ce am: 800e972 am: 73acbbb am: 274250f am: b8b11e9
am: b90fab2

* commit 'b90fab227c4e3b48d27289233a9f7395ceecdcae':
codecs: check OMX buffer size before use in VP8 encoder.
73acbbb249beb9d4f76c9e67244dc6ba12d67222 22-Mar-2016 Wonsik Kim <wonsik@google.com> Merge "codecs: check OMX buffer size before use in VP8 encoder." into lmp-dev am: 19a06a9 am: 881b227 am: ead21ce
am: 800e972

* commit '800e972c7c4ec89c401e33174aa5b697400bcd1f':
codecs: check OMX buffer size before use in VP8 encoder.
881b227441b039dca510e04c74a92cd99c6e45cf 22-Mar-2016 Wonsik Kim <wonsik@google.com> Merge "codecs: check OMX buffer size before use in VP8 encoder." into lmp-dev
am: 19a06a9

* commit '19a06a9cfeb97a1c1dfb7eeccc75d66f61dd2a83':
codecs: check OMX buffer size before use in VP8 encoder.
e5b67490353efa67496d1c907edaab0cf5a41d2e 20-Mar-2016 Wonsik Kim <wonsik@google.com> codecs: check OMX buffer size before use in VP8 encoder.

Bug: 27569635
Change-Id: I469573f40e21dc9f4c200749d4f220e3a2d31761
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
67f5f3d4bd5dd677fa4ea68a28221e5c362a53f5 08-Mar-2016 Vignesh Venkatasubramanian <vigneshv@google.com> Merge "libstagefright: Refactor vp8 specific settings"
423766ca07beb7e3e9cd301385708ca13fcce3e1 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
2afab54525bed658d1422cd339d6aa85af639305 03-Mar-2016 Marco Nelissen <marcone@google.com> resolve merge conflicts of f4fac7abff to master

Change-Id: I5159bef6c7853b7336c972308baced6cd8b03392
f1a2668f4f09e38722424a6a74f0ea26f49e4110 29-Feb-2016 Marco Nelissen <marcone@google.com> DO NOT MERGE Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
2720c8b094cfa58de314daa8e5e4fb4fa81fe3b2 29-Feb-2016 Marco Nelissen <marcone@google.com> Verify OMX buffer sizes prior to access

Bug: 27207275
Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
4f61e52d32f05db3cb04a0e29f9a2507ceffaf99 16-Feb-2016 Vignesh Venkatasubramanian <vigneshv@google.com> libstagefright: Refactor vp8 specific settings

Move some more VP8 specific settings and parameters from SoftVPXEncoder
to SoftVP8Encoder.

Change-Id: I480316ee01ce1ac38120b407bc029737db591cc5
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
d8274ce8759faa21b10e9c027745774fefc9d993 29-Jan-2016 Vignesh Venkatasubramanian <vigneshv@google.com> libstagefright: Refactor vpx encoder into two classes

Refactoring the VPX encoder omx component into two classes. Base
class contains the codec-independent configurations and the
sub-class contains vp8 specific configuration. This will make way
to add the vp9 encoder in a follow-up without code duplication.

Change-Id: I05d2c79d7fbdb3332a43c0c72d37c72ee8708dd3
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
e35ff4de22fec058d57f694e86b906ca8b8007dd 10-Dec-2015 Wei Jia <wjia@google.com> SoftVPXEncoder: keep mCodecContext as NULL when initEncoder fail.

Change-Id: I7d66942f03fee05959a9fe3a3013f0a70594c954
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
50270d98e26fa18b20ca88216c3526667b724ba7 20-Nov-2015 Wei Jia <wjia@google.com> DO NOT MERGE - libstagefright: check requested memory size before allocation for SoftMPEG4Encoder and SoftVPXEncoder.

Bug: 25812794
Change-Id: I96dc74734380d462583f6efa33d09946f9532809
(cherry picked from commit 87f8cbb223ee516803dbb99699320c2484cbf3ba)
(cherry picked from commit 0462975291796e414891e04bcec9da993914e458)
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
0462975291796e414891e04bcec9da993914e458 20-Nov-2015 Wei Jia <wjia@google.com> DO NOT MERGE - libstagefright: check requested memory size before allocation for SoftMPEG4Encoder and SoftVPXEncoder.

Bug: 25812794
Change-Id: I96dc74734380d462583f6efa33d09946f9532809
(cherry picked from commit 87f8cbb223ee516803dbb99699320c2484cbf3ba)
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
69bd1cf225328e64a5b4ae6935d2b7fe0b7b6400 20-Nov-2015 Wei Jia <wjia@google.com> libstagefright: check requested memory size before allocation for SoftMPEG4Encoder and SoftVPXEncoder.

Bug: 25812794
Change-Id: I96dc74734380d462583f6efa33d09946f9532809
(cherry picked from commit 87f8cbb223ee516803dbb99699320c2484cbf3ba)
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
87f8cbb223ee516803dbb99699320c2484cbf3ba 20-Nov-2015 Wei Jia <wjia@google.com> libstagefright: check requested memory size before allocation for SoftMPEG4Encoder and SoftVPXEncoder.

Bug: 25812794
Change-Id: I96dc74734380d462583f6efa33d09946f9532809
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
2d3ad4087c2231542f07854d3b9ff5b4cae9fd69 05-May-2015 Ronghua Wu <ronghuawu@google.com> SoftVPXEncoder: don't skip the last input buffer with eos flag.

Bug: 20507129
Change-Id: I4016727cbae54e2d29c3c6ab5cd8c47826070bf4
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
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.cpp
a32d5435d9585794b72dd12546054f13adb845f2 25-Oct-2014 Lajos Molnar <lajos@google.com> libstagefright: set actual stride info for SW encoder input port

This fixes encoding flexible YUV content using SW encoders.
Also skip setting input color format if it is flexible YUV, as it
has already been translated to a color format supported by the codec.

Bug: 18124320
Change-Id: I423782936986f4d6cf65ea9ef89ae77a92e30140
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
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.cpp
a5750e0dad9e90f2195ce36f2c4457fa04b2b83e 19-Jun-2014 Mark Salyzyn <salyzyn@google.com> libstagefright: 64-bit compile warnings

Change-Id: I3d1146714fa23be3d4e696599b6f70cac1f9d28b
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
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.cpp
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.cpp
0d572ff9d743afcc8422c6a161af095a9541b510 10-Aug-2013 Martin Storsjo <martin@martin.st> SoftVPXEncoder: Set the frame size on the output port as well

This makes sure the MediaCodec output MediaFormat contains
the right width and height.

Change-Id: Ic97af3b5850ebaf563533c3d1cae992be3e4d074
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
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.cpp
465da60d885c8fa4e7cea4626478574ce17a54a9 27-Sep-2013 Johann <johannkoenig@google.com> Indicate sync frames returned by encoder

Set the appropriate OMX flag when the encoder generates a keyframe. This
is necessary for any muxer which needs to indicate which frames are
seekable.

Bug: 8422347
Change-Id: I744a0b3023db24d3de2210bce82f41e50d259505
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
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.cpp
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.cpp
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.cpp
a5761dcb5f9f017ca9b83ec868565d7ce54a92ac 04-Apr-2013 Andreas Huber <andih@google.com> Fix a number of warnings in stagefright code.

Change-Id: If3edd00d991851797aeccdfe795a4a405e3a2ea3
/frameworks/av/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.cpp
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.cpp
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.cpp
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.cpp