History log of /frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/avc/enc/SoftAVCEncoder.cpp
4ac610178525c6c439f595f07da9a5828efe5449 20-Aug-2015 Wei Jia <wjia@google.com> am 051b8572: am 91860b89: SoftAVCEncoder: fix auto merge error, member names have changed.

* commit '051b8572c2751781925c0e58698dcbb52c8e268e':
SoftAVCEncoder: fix auto merge error, member names have changed.
5bb0a2cff01db0731e9d40bf3cd723b76352a16b 20-Aug-2015 Wei Jia <wjia@google.com> am e264b770: am d9d6c465: am 5d1e62e2: am 9cebcc5f: Merge "SoftAVCEncoder: fix mismatched type for comparison." into lmp-dev

* commit 'e264b770b41eff604ca730ef9172c249b652557b':
SoftAVCEncoder: fix mismatched type for comparison.
96a09849ee1729f6aa69da9e60f6b4556c898057 20-Aug-2015 Wei Jia <wjia@google.com> am 50b600d6: am ab33de61: am 78df80c2: am 65842db0: Merge commit \'b46eb8d9\' into HEAD

* commit '50b600d66eb87bccf8010f30bece4e1f135322d1':
SoftAVCEnc: check requested memory size before allocation.
91860b89488b3ee4644c539e89e657fbb79fb6ad 18-Aug-2015 Wei Jia <wjia@google.com> SoftAVCEncoder: fix auto merge error, member names have changed.

Bug: 20674674
Change-Id: I511c22d59789e1cc3a21fe13ea08ac3752e737c6
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
d9d6c465d94f64e3705f234fa3f53e0341bc2b41 18-Aug-2015 Wei Jia <wjia@google.com> am 5d1e62e2: am 9cebcc5f: Merge "SoftAVCEncoder: fix mismatched type for comparison." into lmp-dev

* commit '5d1e62e24628e86fc0485113db18b31973a5cf4b':
SoftAVCEncoder: fix mismatched type for comparison.
38eff9af5c032bf12f89d6e94df05f65eef51afc 18-Aug-2015 Wei Jia <wjia@google.com> SoftAVCEncoder: fix mismatched type for comparison.

Bug: 20674674
Change-Id: Iace5b8c882339b3a9d2e706375255aeeeb0532fe
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
ab33de61ccf1d0fab39573a79cf8372045bbda1a 18-Aug-2015 Wei Jia <wjia@google.com> am 78df80c2: am 65842db0: Merge commit \'b46eb8d9\' into HEAD

* commit '78df80c26352bdbe3dc3725a6d937f60fc340127':
SoftAVCEnc: check requested memory size before allocation.
65842db06c2d77e53cc5ac61692160d844cc7d0a 18-Aug-2015 Wei Jia <wjia@google.com> Merge commit 'b46eb8d9' into HEAD

SoftAVCEnc: check requested memory size before allocation.

Bug: 20674674
(cherry picked from commit f6fe4340219a8e674f3250fe32d4697ec8184b24)

Change-Id: Ib52a26de912fd5a9a08dd9948885fb4a9b32e9e6
b46eb8d9f8bff2e6ddec1902acc9d2ad65147d68 18-Aug-2015 Wei Jia <wjia@google.com> am 479b4de0: SoftAVCEnc: check requested memory size before allocation.

* commit '479b4de0d267eb7d4c419f4da0069186a952ad17':
SoftAVCEnc: check requested memory size before allocation.
479b4de0d267eb7d4c419f4da0069186a952ad17 15-Aug-2015 Wei Jia <wjia@google.com> SoftAVCEnc: check requested memory size before allocation.

Bug: 20674674
Change-Id: I569e7a9b33fe64779a40e55539929c3dc4303c19
(cherry picked from commit f6fe4340219a8e674f3250fe32d4697ec8184b24)
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
3e08ca6709b5a75dc3b779cf3eba8196b08a0245 11-Dec-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 6571ed31 to lmp-mr1-dev-plus-aosp

Change-Id: Ibaea3a0766f75a61964615482a9ef28651a42b37
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/avc/enc/SoftAVCEncoder.cpp
bc83643295f034ed518a1da4320b48157e1dece5 28-Oct-2014 Lajos Molnar <lajos@google.com> Merge "libstagefright: set actual stride info for SW encoder input port" into lmp-mr1-dev automerge: 701b964
automerge: 294c7f3

* commit '294c7f36e6a92419017e7fe2a204fba1284cdc08':
libstagefright: set actual stride info for SW encoder input port
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/avc/enc/SoftAVCEncoder.cpp
d7050b75c2ef33d1aabf71cf902f734c44c24639 15-Oct-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of f4147ee9 to lmp-mr1-dev-plus-aosp

Change-Id: I3b66673012989ab3707852b257844f2c3851f753
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/avc/enc/SoftAVCEncoder.cpp
8e2ad94c2f859988759629d813e0394d452e9fc6 04-Sep-2014 Narayan Kamath <narayan@google.com> am 13006b9d: am 032ecb7f: Merge "Fix in SoftAVCEncoder plugin"

* commit '13006b9d0586d17a0ea52e98124b54ebf6246feb':
Fix in SoftAVCEncoder plugin
032ecb7f233f392e6e68f030bf72a9bc7c861d11 04-Sep-2014 Narayan Kamath <narayan@google.com> Merge "Fix in SoftAVCEncoder plugin"
255e7d7183d8ad4171408c476d19e95dad502eb2 14-Jul-2014 Narayan Kamath <narayan@google.com> am 24a5a7c3: am b7a88e31: Merge "h264_enc: Use free() to release memory allocated with malloc()"

* commit '24a5a7c30ad041971ca511f4c7f784936090dfc6':
h264_enc: Use free() to release memory allocated with malloc()
9af4f0026d1bfff9ff5688b67a8730103f5ece2f 02-Jul-2014 Ashok Bhat <ashok.bhat@arm.com> Fix in SoftAVCEncoder plugin

size of buffer_handle_t, a pointer type, was assumed to be
4 bytes. This patch uses sizeof(buffer_handle_t) instead.

In addition, replaced magic number 4 with sizeof(OMX_U32)

Change-Id: Id5a7ed805a7b8e9867d8e51655cd334a66ac2c2b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
a0c5812dfbb34c168129baa300942db18bed9f5e 18-Jun-2014 Ashok Bhat <ashok.bhat@arm.com> h264_enc: Use free() to release memory allocated with malloc()

mInputFrameData and mSliceGroup are allocated memory with
malloc() but released using delete. Changed this to use free()
instead.

Change-Id: Iecf6684d97fabb2229d9abd94279a24faf9ac2d7
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
d6579cc9f06052f94bf5a2c34261c84de0efce23 10-Apr-2014 Mark Salyzyn <salyzyn@google.com> media: memset sizeof argument issues

Change-Id: I37ef154eea0f77fb7f22faf6891f3025f6ff346e
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
619fd4d6d4d815065becbdf360422ee40dfa7690 03-Apr-2014 Glenn Kasten <gkasten@google.com> Merge commit '52a23bd3' into manualmerge

Change-Id: I7a6105f467a2fa3631c62be3d306845e9cf9b365
66fe2e9ee30bcb4161bc487ec63d2ae4a05f4051 02-Apr-2014 Glenn Kasten <gkasten@google.com> 64-bit: Correction to OMX_U32 and OMX_S32

Change-Id: I9c41bb34c35595ac19a7ab8faaacde8cb4fa9a15
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
442cc6dc48f8188e097617f7f804c314a9dacd0e 12-Feb-2014 Andreas Huber <andih@google.com> Even more warnings (now errors) fixed to unbreak the sdk-x86 build(s).

Change-Id: Ib4a5ab1a9e50fe9e7747a907f8b4a8c207099fdb
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
c490e80239f090c67b00a88468155e1c406da938 14-Nov-2013 Martin Storsjo <martin@martin.st> avcenc: Update video port parameters in the base class

This makes sure that the right parameters are returned on both
input and output ports if queried after setting.

This also makes sure that the output MediaFormat from the
MediaCodec class contains the right video size.

Change-Id: I0667b3b4c6bb90331ad0ae7d51388e1bca3d1bbd
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
67606c31f41959589d46fbd9e845a2974a48e505 29-Aug-2012 Martin Storsjo <martin@martin.st> avcenc: Prepend startcodes to output buffers

This makes the encoder output data that is similar to what
actual HW encoders output. This form is also what is expected
by virtually every other component - the only exception
seems to be stagefright's MPEG4Writer which happens to work
with this format.

This also makes the encoder's output work in other decoders
when passing through directly. If feeding the encoded data
straight through to a decoder (such as in the EncodeDecodeTest
CTS test), the output from OMX.google.h264.encoder cannot be
decoded by e.g. OMX.Nvidia.h264.decode on a Nexus 7 or
OMX.SEC.avc.dec on a Galaxy S3.

Change-Id: I6e16433a4a66936e3080723c8233681f53bd55e5
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
71ea9f024c3943160110d9aa15b082b66516f72e 13-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am a923dd4e: am 1b0ae9e4: Merge "avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame"

* commit 'a923dd4e6c14f5cba2fc5f6f152619ec6bc70c5d':
avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame
359cf1cac2a7851a59dfe4960a1a5992ac6fdb84 13-Sep-2012 Jean-Baptiste Queru <jbq@google.com> am a923dd4e: am 1b0ae9e4: Merge "avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame"

* commit 'a923dd4e6c14f5cba2fc5f6f152619ec6bc70c5d':
avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame
1b0ae9e47273357e19a9beb22466319753e8242d 12-Sep-2012 Jean-Baptiste Queru <jbq@google.com> Merge "avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame"
4c6c1f1d582a0aae24aa3ecef3fc1166513efba0 29-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am bf30787f: am 735d1b92: Merge "avcenc: Don\'t erase the InputBufferInfo before reading info from it"

* commit 'bf30787f2694057e775f3b527b649a9f8074237b':
avcenc: Don't erase the InputBufferInfo before reading info from it
55fb8470278b2eb747db3f4d7c245e37abdb7f2f 29-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am bf30787f: am 735d1b92: Merge "avcenc: Don\'t erase the InputBufferInfo before reading info from it"

* commit 'bf30787f2694057e775f3b527b649a9f8074237b':
avcenc: Don't erase the InputBufferInfo before reading info from it
f547a36c8f0fe11c4c425168037e3ce1d1a697df 29-Aug-2012 Martin Storsjo <martin@martin.st> avcenc: Set OMX_BUFFERFLAG_EOS on the last output frame

Without this, the caller might hang waiting for more output buffers.

Change-Id: Ief6be00b7600be8498a953e8e88f0582ea8fce85
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
e61f13d2c710918f5267b3c835fcc20447b4e4d6 29-Aug-2012 Martin Storsjo <martin@martin.st> avcenc: Don't erase the InputBufferInfo before reading info from it

Previously, the timestamp and flags were read from the InputBufferInfo
struct after it had been erased.

This fixes cases where the output timestamp from the avc encoder
could spuriously be garbage every now and then.

Change-Id: I21acf23cfac93bcc201a603feace6499ec6d8e76
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
49e74946370e7af2378e28733ba6d8df8951b068 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 44237a8d: am b71298ee: Merge "avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function"

* commit '44237a8d58dc218257687f2cbe8fd33d73a713e8':
avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function
3269b5314f02eb3724be8d45880f15762fac09c0 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 80c46255: am 874a074a: Merge "avcenc: Switch malloc/free callbacks to use pointers instead of ints"

* commit '80c46255bcf3d4d5a3ffe9a1ef3aefd9310c6ed4':
avcenc: Switch malloc/free callbacks to use pointers instead of ints
bf5bea96f236adb5eef78c2f414ef82b3602a0f7 19-Jul-2012 Eino-Ville Talvala <etalvala@google.com> Codecs: Add MetaDataMode support to software video encoders.

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
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
359d8fcd30ff0a8390e4c5560d53ec55a4cc5bcd 16-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function

Valgrind reported use of uninitialized memory in AVCEncodeSlice,
which this fixes.

Change-Id: Ia09ad3e50d05b2b0487a4d588d9b00fc0828c816
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
23da4cf305b9bfff07954711a8a2d9ec040865af 13-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Switch malloc/free callbacks to use pointers instead of ints

There is no reason for casting the pointers to ints. This fixes
building the code on platforms where pointers are larger than ints,
e.g. 64 bit platforms.

Change-Id: I910cd207d0908287931c9a96eb270139967e029b
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp
5c61b361d1c55a93a215cfb2c325b4987f57f1c5 29-Mar-2012 James Dong <jdong@google.com> Software AVC encoder is now OMX-based

o related-to-bug: 6383440

Change-Id: I0b1ae50a704b0979857ea447585eabe86602149a
/frameworks/av/media/libstagefright/codecs/avc/enc/SoftAVCEncoder.cpp