summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/m4v_h263/enc/SoftMPEG4Encoder.cpp
Commit message (Collapse)AuthorAgeFilesLines
* SoftMPEG4: Check the buffer size before writing the reference frame.Pawin Vongmasa2016-08-261-0/+4
| | | | | | | | Also prevent overflow in SoftMPEG4 and division by zero in SoftMPEG4Encoder. Bug: 30033990 Change-Id: I7701f5fc54c2670587d122330e5dc851f64ed3c2 (cherry picked from commit 695123195034402ca76169b195069c28c30342d3)
* DO NOT MERGE Verify OMX buffer sizes prior to accessMarco Nelissen2016-04-211-0/+24
| | | | | Bug: 27207275 Change-Id: I4412825d1ee233d993af0a67708bea54304ff62d
* libstagefright: check requested memory size before allocation for ↵Wei Jia2015-12-101-0/+9
| | | | | | | | SoftMPEG4Encoder and SoftVPXEncoder. Bug: 25812794 Change-Id: I96dc74734380d462583f6efa33d09946f9532809 (cherry picked from commit 87f8cbb223ee516803dbb99699320c2484cbf3ba)
* resolved conflicts for merge of 6571ed31 to lmp-mr1-dev-plus-aospLajos Molnar2014-12-111-299/+62
|\ | | | | | | Change-Id: Ibaea3a0766f75a61964615482a9ef28651a42b37
| * stagefright: misc fixes to software video encoders (and decoders)Lajos Molnar2014-12-101-299/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | Merge "libstagefright: set actual stride info for SW encoder input port" ↵Lajos Molnar2014-10-281-0/+4
|\ \ | |/ | | | | | | | | | | | | | | into lmp-mr1-dev automerge: 701b964 automerge: 294c7f3 * commit '294c7f36e6a92419017e7fe2a204fba1284cdc08': libstagefright: set actual stride info for SW encoder input port
| * libstagefright: set actual stride info for SW encoder input portLajos Molnar2014-10-251-0/+4
| | | | | | | | | | | | | | | | | | 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
* | resolved conflicts for merge of f4147ee9 to lmp-mr1-dev-plus-aospLajos Molnar2014-10-141-100/+29
|\ \ | |/ | | | | Change-Id: I3b66673012989ab3707852b257844f2c3851f753
| * stagefright: fix surface input handling of software encodersLajos Molnar2014-10-131-93/+29
|/ | | | | | | | | - 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
* am 782be1ec: am 1c1b5e51: am c37eaa32: Merge "m4v_h263_enc: Use uint32_t for ↵Narayan Kamath2014-07-091-1/+1
|\ | | | | | | | | | | | | ULong" * commit '782be1ecf1022d4e2da714b5aebe51ab616e9975': m4v_h263_enc: Use uint32_t for ULong
| * m4v_h263_enc: Use uint32_t for ULongAshok Bhat2014-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | ULong is used in the encoder code as 32-bit unsigned integer type. But it has been defined as an unsigned long, which will be 64-bit on 64-bit platforms. This causes many problems including output mismatch between 32-bit and 64-bit code and crash in certain cases. This patch defines ULong as uint32_t. In addition, it uses uintptr_t at places where an address is cast to an integer to check for alignment. Change-Id: I2b0086824a5985b9fc4628ce6fbe81db156e37d2 Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
| * libstagefright: fix 64-bit warningsColin Cross2014-04-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | %lld -> %" PRId64 " for int64_t %d -> %zu for size_t Also fixes some casts from void* to integer types, and some comparisons between signed and unsigned. (cherry picked from commit b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81) Change-Id: I76ba94d0b67776fd7abdc83b43d47c61d6c32f4c
| * warnings be gone.Andreas Huber2014-04-111-1/+1
| | | | | | | | | | | | | | | | (cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36) Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts or errors downstream to a minimum. Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
* | Merge commit '52a23bd3' into manualmergeGlenn Kasten2014-04-031-2/+2
|\ \ | |/ | | | | Change-Id: I7a6105f467a2fa3631c62be3d306845e9cf9b365
| * 64-bit: Correction to OMX_U32 and OMX_S32Glenn Kasten2014-04-021-2/+2
| | | | | | | | Change-Id: I9c41bb34c35595ac19a7ab8faaacde8cb4fa9a15
| * Fixed the wrong timestamps issue about camera recordingJun Tian2013-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | On emulator, the camera video recording crashes randomly. It's caused by wrong timestamp when encoding the video frame. The element of the vector is erased before accessing it. Therefore, when reading the timestamp from the element, the memory of the element has been changed. Change-Id: I9750417fbb9dc4697ccae1e78e286b23925d3764 Signed-off-by: Panfeng Chang <panfengx.chang@intel.com> Signed-off-by: Jun Tian <jun.j.tian@intel.com>
* | libstagefright: fix 64-bit warningsColin Cross2014-03-191-1/+3
| | | | | | | | | | | | | | | | | | %lld -> %" PRId64 " for int64_t %d -> %zu for size_t Also fixes some casts from void* to integer types, and some comparisons between signed and unsigned. Change-Id: I9c52f76240e39399da252c66459042a6fc626a90
* | Even more warnings (now errors) fixed to unbreak the sdk-x86 build(s).Andreas Huber2014-02-121-1/+1
| | | | | | | | Change-Id: Ib4a5ab1a9e50fe9e7747a907f8b4a8c207099fdb
* | warnings be gone.Andreas Huber2014-02-111-1/+1
| | | | | | | | Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
* | Fixed the wrong timestamps issue about camera recordingJun Tian2013-04-221-1/+1
|/ | | | | | | | | | | | | On emulator, the camera video recording crashes randomly. It's caused by wrong timestamp when encoding the video frame. The element of the vector is erased before accessing it. Therefore, when reading the timestamp from the element, the memory of the element has been changed. Change-Id: I9750417fbb9dc4697ccae1e78e286b23925d3764 Signed-off-by: Panfeng Chang <panfengx.chang@intel.com> Signed-off-by: Jun Tian <jun.j.tian@intel.com>
* Codecs: Add MetaDataMode support to software video encoders.Eino-Ville Talvala2012-07-241-8/+109
| | | | | | | | | | | | | | This support is needed to enable efficient video recording with emulator and camera HAL 2. - Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode extension. - Allow CameraSource to handle opaque pixel formats, so that MetaDataMode can be used. - Remove hardware codec restriction for MetaDataMode Bug: 6243944 Change-Id: I970eb3d55542a413b6d75a78f76d3a8583155601
* Software MPEG4/H263 video encoder is now OMX-basedJames Dong2012-04-251-0/+706
o related-to-bug: 6401068 Change-Id: If8eccea060f38e42ad31eb6e91aaa832e67c5559