summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/on2/enc/SoftVPXEncoder.h
Commit message (Collapse)AuthorAgeFilesLines
* stagefright: misc fixes to software video encoders (and decoders)Lajos Molnar2014-12-101-38/+0
| | | | | | | | | | | | | | | | | | | - 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
* stagefright: fix surface input handling of software encodersLajos Molnar2014-10-131-6/+2
| | | | | | | | | - 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
* Add adaptive playback support to VPX decoder.Ronghua Wu2014-08-281-4/+0
| | | | | Bug: 13842676 Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
* Support VP8 encoder key frame interval and number ofAlex Glaznev2014-04-241-0/+78
| | | | | | | | | | | | | | | | | | 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
* A few fixes in SW VP8 encoder:Alex Glaznev2014-03-191-4/+3
| | | | | | | | | | | | | | - 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
* Change VP8 encoder bitrateJohann2013-09-271-1/+4
| | | | | | | Allow the bitrate to be updated while the encoder is running. Bug: 8422347 Change-Id: I8427fe20921b00f92b8f99fe21691709fab354b0
* Enable support for explicitly requesting an encoded keyframe from the vp8Andreas Huber2013-07-191-0/+5
| | | | | | encoder. Change-Id: I370d5831f7d6037faf361a92521390f19f179cbe
* Experimental support for enabling the use of "surface input" modeAndreas Huber2013-07-171-4/+11
| | | | | | | | | 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
* Adds VP9 decoding support for stagefright.hkuang2013-06-241-1/+1
| | | | | | | | | | | | | 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.
* Adds VPX encoding support for stagefright.Kunter Gultekin2013-02-121-0/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Revert "Adds VPX encoding support for stagefright."James Dong2013-02-081-203/+0
| | | | | | | 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.
* Adds VPX encoding support for stagefright.Kunter Gultekin2013-02-071-0/+203
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>