• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libstagefright/codecs/avc/
History log of /frameworks/av/media/libstagefright/codecs/avc/
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
nc/SoftAVCEncoder.cpp
b2350f2e2e9ef0f3eb1d3a50a4efab1c6b48356e 23-Oct-2015 Dan Austin <danielaustin@google.com> Merge "Enable fsanitize signed-integer-overflow in AVC common"
d80cb0555edff5244ecd42d9cb1e0c0d1e52628e 23-Oct-2015 Dan Austin <danielaustin@google.com> Merge "Enable fsanitize signed-integer-overflow in AVC encoder"
3543aa1f9853ac086059f14561be0cb47d0b52c9 11-Sep-2015 Dan Austin <danielaustin@google.com> Enable fsanitize signed-integer-overflow in AVC common

Bug: 23752600
Change-Id: Ia6b20fbc284d22aba8a8500c723191cc634814ab
ommon/Android.mk
39eef27b70c10d4a8a0961fcfd8e6a3d86ead5c3 11-Sep-2015 Dan Austin <danielaustin@google.com> Enable fsanitize signed-integer-overflow in AVC encoder

Bug: 23752600
Change-Id: Ia880dd9a578abe545b7f792d2150e6374ab4b813
nc/Android.mk
22f74ac175f998ec0df5967b9c95ec9257caa72a 20-Aug-2015 Wei Jia <wjia@google.com> am bc76a890: am 4ac61017: am 051b8572: am 91860b89: SoftAVCEncoder: fix auto merge error, member names have changed.

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

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

* commit 'ad1ce71a4372cf26877c33967a09bb16147cbf6b':
SoftAVCEnc: check requested memory size before allocation.
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
nc/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
nc/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)
nc/SoftAVCEncoder.cpp
5c8fe7d6f2a89725eba2cf0a7bc8370ae7f0e1b5 30-Jul-2015 Andreas Gampe <agampe@google.com> Stagefright: Remove unused variables and files

For build-system CFLAGS clean-up.

Bug: 18632512

(cherry picked from commit 765b4172f1ffb2c4e2de89163bb888fa352de664)

Change-Id: I765dc394f39f60801843851760fdf9838958d7a4
nc/src/findhalfpel.cpp
e1fdfd0342c232382581c62de1c27754337f4fd1 18-Jun-2014 Ashok Bhat <ashok.bhat@arm.com> h264_enc: Add test

The test accepts a raw YUV file, encoding parameters as input
and dumps encoded bitstream to a file.

To run the test, use following command
h264_enc_test <input yuv> <output file> <width> <height> <frame rate> <bitrate in kbps>

Bug: 17722566
Change-Id: I3711d455550ddfaa47003e10453ef1adc50f0d6f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
nc/Android.mk
nc/test/h264_enc_test.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
nc/SoftAVCEncoder.cpp
nc/SoftAVCEncoder.h
33cc5c91e4bb9152ed122afacf7423e085420ac8 09-Dec-2014 Lajos Molnar <lajos@google.com> am f143b608: am d1aeff55: Merge "Fix build with clang in C++11 mode"

* commit 'f143b60856d275a9dcda1f3084c768655b242022':
Fix build with clang in C++11 mode
5a88501c8f677e34afb2043d7e81d8e09d6fa5f4 27-Nov-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of e5ba80c5 to lmp-mr1-dev-plus-aosp

Change-Id: Iea12c8a6cabf84584e4a89ad80e298c1f4ea3dd7
2d0ac425564ff9882ebaac5267d1a04d4af67d00 27-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Fix build with clang in C++11 mode

This removes the deprecated register keyword in many places, fixes one
instance of passing '\0' where a char* is expected, and 2 switch type
narrowing issues.

Change-Id: Ie265ac26ff6a61267ad6406dfe237226d97ca9ac
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
nc/src/findhalfpel.cpp
1a9c3954a20800dda3d6d18048c7f0edc8c53e6a 26-Nov-2014 Andreas Gampe <agampe@google.com> Merge "Stagefright: Fix unused variables, functions, values"
b3f9759c8c9437c45b9a34519ce2ea38a8314d4e 24-Nov-2014 Andreas Gampe <agampe@google.com> Stagefright: Fix unused variables, functions, values

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: Ic3dee56b589ea9a693efa1d72ba394036efff168
nc/Android.mk
nc/src/findhalfpel.cpp
nc/src/rate_control.cpp
a9b15da8df9f596658102fe2b7dfbe114a499867 25-Nov-2014 Chih-hung Hsieh <chh@google.com> am 7fca411f: am b44760cf: Merge "Remove deprecated register keyword"

* commit '7fca411f36f76493491fd45f91fac2e9bd70fd6d':
Remove deprecated register keyword
4cb1a255bc134c4ee001ca7e38a0720cbd49c0b2 25-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Remove deprecated register keyword

In C++11 mode, clang errors out on the register keyword.

Change-Id: I034ba5815e37e3ff5e017551977e97b8516123e8
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
ommon/src/deblock.cpp
9459b3e1eafa6fbb2eb01702133f41f23bb8264a 25-Nov-2014 Chih-hung Hsieh <chh@google.com> am 112ba592: am 6c7d332f: Merge "Remove bogus forward declarations"

* commit '112ba59269c4d7192cb4f590b05c6058f5daafb9':
Remove bogus forward declarations
70d4f7f44da0f95514d0cfb404874e780ea62be5 25-Nov-2014 Chih-hung Hsieh <chh@google.com> am 128b7850: am db1ce33e: Merge "Remove check for an impossible condition"

* commit '128b785027033c8c74a858a3dac27cfcb2a9ae7f':
Remove check for an impossible condition
6c7d332f252d5ae7b3cad810e7adb85e5aedb98a 25-Nov-2014 Chih-hung Hsieh <chh@google.com> Merge "Remove bogus forward declarations"
db1ce33e0159bbbc3946c163c9ba1077182823f1 24-Nov-2014 Chih-hung Hsieh <chh@google.com> Merge "Remove check for an impossible condition"
df79944ab36e13ceec74fc7c560145860769f6a7 20-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Remove bogus forward declarations

Remove forward declarations of MediaBuffer -- they're not needed because
MediaBuffer.h is included earlier in the file anyway, and they
incorrectly declared MediaBuffer as a struct instead of a class.

Change-Id: Ia35ea8f938553e39244032b6fd6c061aa388859f
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
nc/SoftAVCEncoder.h
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
nc/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
4fed5e4e7f2eb744b9f2e3c52ec23539256cdbca 14-Oct-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 2edda09a to lmp-dev-plus-aosp

Change-Id: I760286b72fe1ebda3e8b058ca2138cb97fbdb7e1
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
nc/SoftAVCEncoder.cpp
nc/SoftAVCEncoder.h
6466e82390ccd7b3dbb4c03a716fd25f0cb9777a 04-Oct-2014 Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> Remove check for an impossible condition

offset_for_ref_frame is an array rather than a pointer - it can't be
NULL (and the check causes a warning in clang).

Change-Id: I9b96e1e723e3b8caebd41821137ed6fb669d8cd4
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
nc/src/init.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"
0b9a8c060f8bd229ef7c7680e80452bf982d8a3d 02-Sep-2014 Ronghua Wu <ronghuawu@google.com> am e4478feb: Merge "Add adaptive playback support to VPX decoder." into lmp-dev

* commit 'e4478febd87f6a663bbdf2c22dd829af2a8166a6':
Add adaptive playback support to VPX decoder.
031be0f358b07732092a4d1bf02fc99f109a63c4 22-Aug-2014 Ronghua Wu <ronghuawu@google.com> Add adaptive playback support to VPX decoder.

Bug: 13842676
Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
nc/SoftAVCEncoder.h
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>
nc/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>
nc/SoftAVCEncoder.cpp
d6579cc9f06052f94bf5a2c34261c84de0efce23 10-Apr-2014 Mark Salyzyn <salyzyn@google.com> media: memset sizeof argument issues

Change-Id: I37ef154eea0f77fb7f22faf6891f3025f6ff346e
nc/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
nc/SoftAVCEncoder.cpp
259ace8f6057dbb0fdec4c8223aefc0282274be3 19-Mar-2014 Glenn Kasten <gkasten@google.com> Merge commit 'c250980f' into manualmerge

Change-Id: I254d456e8cb6c580dd77d602b391bed09110454e
f3aa039a2278f789e3c9d5e18b83f9d937a05a5f 19-Mar-2014 Narayan Kamath <narayan@google.com> libstagefright is no longer 32 bit only.

Change-Id: I88d5fcfc005a2c2acd0246cdd9c08b6c00b6c39b
Signed-off-by: Glenn Kasten <gkasten@android.com>
nc/Android.mk
758799cef41fc5495f59eeb6249d02ce9154cde8 14-Mar-2014 Glenn Kasten <gkasten@google.com> resolved conflicts for merge of 3c780188 to master

Change-Id: Ic579d346c27ff05ea6444faaa60fa6caaec86fbf
af783aa91f7a279153fb8bab8d0d6b9f737996e9 03-Mar-2014 Glenn Kasten <gkasten@android.com> mediaserver and associated services are 32-bit only

also 32-bit only command-line apps

Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
nc/Android.mk
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
nc/SoftAVCEncoder.cpp
880c6b2dd8b2fe2ab0054e74bbc108d322e82aa0 11-Feb-2014 Lajos Molnar <lajos@google.com> am 1c178d3e: am 7eacea11: Merge "avcenc: Only do startcode escaping if the next byte requires it"

* commit '1c178d3e7b8d037ac8d348922ba841b28eee662f':
avcenc: Only do startcode escaping if the next byte requires it
04ed61b1004282a632cdc1277d93183e15a8df93 07-Aug-2013 Martin Storsjo <martin@martin.st> avcenc: Only do startcode escaping if the next byte requires it

Section 7.4.1 in the H.264 standard says that the only valid bytes
to follow a sequence that starts with 0x000003 are 0x00, 0x01,
0x02 or 0x03.

This makes EncodeDecodeTest pass properly when decoding using
OMX.google.h264.decoder, which is strict about the forbidden
escape sequences.

Change-Id: Ice113d9b934015003ea9cb10d0b21cee4d18d774
nc/src/bitstream_io.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
ommon/Android.mk
nc/Android.mk
nc/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
nc/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
nc/SoftAVCEncoder.cpp
ecba7488c5cceaacef95836b1b476433451e7761 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
nc/Android.mk
da0dc0af0effe9fbfb3ce3187c8472fca2baf3c6 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: If493d87d60d71be664ad75b140c62acadb75b0d0
nc/Android.mk
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
nc/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
nc/SoftAVCEncoder.cpp
cd3ed11664d16939f1f5763a896d7fc75dd3642e 21-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 8d4d590d: am 1e75e972: Merge "avcenc: Update a comment about the inline assembly"

* commit '8d4d590dcbbd2b178976d0bd024625e9d6216365':
avcenc: Update a comment about the inline assembly
391348890849f99663dd46c475a1fc0737d6908d 21-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 41ee747f: am 5ebce52c: Merge "avcenc: Fix the gcc inline assembly constraints"

* commit '41ee747fc019eb5856454c698adf23f55073c69e':
avcenc: Fix the gcc inline assembly constraints
136e83a2987acdb7a6956934098bfc0d347c4e7d 21-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 894a7e45: am 9e13e927: Merge "avcenc: Properly indent assembly blocks"

* commit '894a7e450704b0c7858a2187a5432b479ac69c1d':
avcenc: Properly indent assembly blocks
42d515121f11389df082dd02319904c99dd50cd6 21-Aug-2012 Martin Storsjo <martin@martin.st> avcenc: Update a comment about the inline assembly

Since the inline assembly was fixed in commit 3fdb405597f the
comment was no longer accurate.

Change-Id: Id4f8a111d1fa6e0c2e97f7db64262e8d1604c519
nc/src/sad_halfpel_inline.h
nc/src/sad_inline.h
nc/src/sad_mb_offset.h
3fdb405597f0e062a9bb8af20199c5e67f0f764c 13-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Fix the gcc inline assembly constraints

Use +r for registers whose value is used as input to the block.

Also switch input registers to output registers with +r, for
registers that are modified by the assembly block (SUB_SAD in
sad_inline.h).

Without this, the inline assembly fails on modern gcc versions
(tested on gcc 4.6), where the intended input value never is
loaded into the registers, causing segfaults at runtime.

Currently this assembly isn't used, but this change makes it
work properly if enabled.

Change-Id: I37c247cd5c8aff213445e31ab3bd33d8f0f37e05
nc/src/sad_halfpel_inline.h
nc/src/sad_inline.h
nc/src/sad_mb_offset.h
ccde1257952d2c073e51ecba6180060570ffa41f 13-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Properly indent assembly blocks

Also line break multiline assembly blocks - previously they were
virtually unreadable.

Change-Id: Icb269909b78746e26b28ab7dcb6979c4655a0b0c
nc/src/sad_halfpel_inline.h
nc/src/sad_inline.h
nc/src/sad_mb_offset.h
07c6ddb431c784a24a70a5a91d8a454e9c1dde5d 20-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 3b939a5e: am 02a4ec21: Merge "avcenc: Remove a leftover define"

* commit '3b939a5e893ccfe87f5b7b3fe229439a9b2fc87a':
avcenc: Remove a leftover define
0a1b2aecb75b949df6b465a4e4ccc739af034443 17-Aug-2012 Martin Storsjo <martin@martin.st> avcenc: Remove a leftover define

This should have been removed as part of f5af6314db, but
the second __arm__ define was introduced after the original commit
was written, and not removing the second one was an oversight in
rebasing the patch on top of the new code.

Change-Id: Iccf08ffdef130446dd6e97dc1e15e6a1d4f9386f
nc/Android.mk
1a42aee5e1e975158da4754f9bae46c945e27281 17-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am a109e9d5: am b7ca7dc9: Merge "avcenc: Clarify the ifdefs surrounding inline assembly"

* commit 'a109e9d5d5dbdbbd63a3f32fce131c718f0f8c99':
avcenc: Clarify the ifdefs surrounding inline assembly
b7ca7dc9652456181080bf28ec376bc5a36cf6a2 16-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "avcenc: Clarify the ifdefs surrounding inline assembly"
4bb0e2aa1410191a8cff1f921d1b246232ed42e9 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 662b15c3: am a858aa96: Merge "avcenc: Remove redundant zero-initialization of allocated memory"

* commit '662b15c377e1ebe6aed8ff5cf82c684f0c8894dc':
avcenc: Remove redundant zero-initialization of allocated memory
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
f5a66877655695af619909db6c831f78373d733e 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 68d44b06: am 0ab18f85: Merge "avcenc: Remove useless casts"

* commit '68d44b061e92fb6832240457d4f683635bf5328f':
avcenc: Remove useless casts
93f902d58cd287e8dd046621824b7de7aa985d36 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 96d18cca: am 0822156c: Merge "avcenc: Fix indentation"

* commit '96d18cca4546045df118660017e74ddd751dfbb4':
avcenc: Fix indentation
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
a858aa963d2a7e767d0d8694e29cb6fe87c9ef9f 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "avcenc: Remove redundant zero-initialization of allocated memory"
b71298eeeb16d942dd5144e550731e6e29b6436e 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function"
0ab18f853571149de700930fbb783ecd6b2c5582 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "avcenc: Remove useless casts"
0822156cfd25c111cd33932ee9a89b3100d0350c 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "avcenc: Fix indentation"
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
nc/Android.mk
nc/SoftAVCEncoder.cpp
nc/SoftAVCEncoder.h
21dc4b6a99f0427cc1c0b10d3dcdb34c7571d10f 16-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Remove redundant zero-initialization of allocated memory

The allocation callback is now supposed to always return initialized
memory.

Change-Id: I7a4d036e498c9f87c730dda3aab5057eb764a1e7
nc/src/avcenc_api.cpp
nc/src/rate_control.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
ommon/include/avcapi_common.h
nc/SoftAVCEncoder.cpp
955585cca11173b07e2e7db3d636ee97b69b053b 13-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Fix indentation

Change-Id: I4fcdf619e3b75387a7909272f3164b8d608b6cc2
nc/src/sad_mb_offset.h
f5af6314db25ff3bef9bd2eeba201bc6cc60805d 13-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Clarify the ifdefs surrounding inline assembly

Previously, the code was structured like this:

#if defined(__GNUC__) && defined(__arm__)
/* Generic C implementation */
#elif defined(__CC_ARM)
/* RVCT version */
#elif defined(__GNUC__) && defined(__arm__)
/* GCC arm assembly version */
#endif

This had two implications - the gcc arm version never was used
in practice, and the code required -D__arm__ to build at all for
other architectures.

The inline assembly constraints are buggy (requires changes so as
to not crash), and if fixed, the optimizations still aren't faster
than the generic C code on modern gcc versions. Therefore, just
ignore them and use the generic C code.

Due to the peculiar code block ordering and preprocessor conditions,
the generic C code is what has been used before anyway, but it
did require -D__arm__ to build, which can cause problems if building
for other architectures, if the system headers have ifdefs for this
define. This change makes it build without that define.

Change-Id: Ib3fcf5651ee720310b7dff10fd04279b5f90759c
nc/Android.mk
nc/src/sad_halfpel_inline.h
nc/src/sad_inline.h
nc/src/sad_mb_offset.h
2f3152dee8e763fd7eae9d7b71078d5c6aec5881 13-Apr-2012 Martin Storsjo <martin@martin.st> avcenc: Remove useless casts

Change-Id: I73a6f74268bcf6ca22d489d13936be8fd1b3fc92
nc/src/bitstream_io.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
ommon/include/avcapi_common.h
ommon/src/dpb.cpp
nc/SoftAVCEncoder.cpp
nc/src/avcenc_api.cpp
nc/src/bitstream_io.cpp
nc/src/motion_est.cpp
nc/src/rate_control.cpp
cc0df657cdc8316c2b816c562f269be1706f00ea 14-Jun-2012 James Dong <jdong@google.com> am e20435de: Merge "Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/" into jb-dev

* commit 'e20435de10f63af812da9d4f801b61a8817733a0':
Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/
3d51d5cb53cc630709a0ba78d0e60501a675f2d5 13-Jun-2012 James Dong <jdong@google.com> Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/

Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26
related-to-bug: 6647465
ommon/MODULE_LICENSE_APACHE2
ommon/NOTICE
nc/MODULE_LICENSE_APACHE2
nc/NOTICE
4b43b41eaf8c4c80f66185e13620cf94b8b2ef5b 13-Apr-2012 Martin Storsjo <martin@martin.st> stagefright avcenc: Use intptr_t for casting pointers to integers

This is used for doing integer arithmetic on the pointers, for
checking pointer alignment.

Change-Id: I7a7ff834dc631ac9cce90e46216f64645e1ae6e5
nc/src/avcenc_api.cpp
nc/src/motion_comp.cpp
nc/src/sad_inline.h
4e1d7b8d16abbe8a60fa3957646297b552e82fb0 13-Apr-2012 Martin Storsjo <martin@martin.st> stagefright avcenc: Switch tmp variables to use the right type, to avoid casting

This fixes building on platforms where int is smaller than
pointers, e.g. 64 bit platforms.

Change-Id: I3da0459bac10cbffd1db699bf4782fe926cd391f
ommon/src/deblock.cpp
nc/src/motion_comp.cpp
a3cbc03f7c646ad9b05d24e72a6d306cb457807c 28-Apr-2012 James Dong <jdong@google.com> Removed software video encoders that are not OMX-based.

o related-to-bug: 5933287

Change-Id: I63635375e2bef00733b61adc3fa12c29df7e2155
nc/AVCEncoder.cpp
nc/Android.mk
5c61b361d1c55a93a215cfb2c325b4987f57f1c5 29-Mar-2012 James Dong <jdong@google.com> Software AVC encoder is now OMX-based

o related-to-bug: 6383440

Change-Id: I0b1ae50a704b0979857ea447585eabe86602149a
nc/Android.mk
nc/SoftAVCEncoder.cpp
nc/SoftAVCEncoder.h
559bf2836f5da25b75bfb229fec0d20d540ee426 28-Mar-2012 James Dong <jdong@google.com> AV Android make files changes

o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc
o remove some runtime dependencies to libandroid, libandroid_runtime, etc

Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
nc/Android.mk
6c6b4d0d2b98a7ceee8b697daaf611f8df3254fb 12-Mar-2012 James Dong <jdong@google.com> Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
nc/Android.mk
f1d5aa162c02a16b7195a43a9bcea4d592600ac4 07-Feb-2012 James Dong <jdong@google.com> Move away from MediaDebug and use ADebug instead

Change-Id: I963a3b6f79a7292891973cbeeaf3378b38629f08
nc/AVCEncoder.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
nc/AVCEncoder.cpp
5ff1dd576bb93c45b44088a51544a18fc43ebf58 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
nc/AVCEncoder.cpp
df64d15042bbd5e0e4933ac49bf3c177dd94752c 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
nc/AVCEncoder.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
nc/AVCEncoder.cpp
2e460c5b7f48aaabff33698ba6b11b04906eefa8 19-Jul-2011 James Dong <jdong@google.com> Remove PV AVC decoder

Change-Id: Icf056c852f95b5d6a07473728ddbf5b641990381
ec/Android.mk
ec/SoftAVC.cpp
ec/SoftAVC.h
ec/include/avcdec_api.h
ec/include/pvavcdecoder.h
ec/include/pvavcdecoderinterface.h
ec/src/avc_bitstream.cpp
ec/src/avcdec_api.cpp
ec/src/avcdec_bitstream.h
ec/src/avcdec_int.h
ec/src/avcdec_lib.h
ec/src/header.cpp
ec/src/itrans.cpp
ec/src/pred_inter.cpp
ec/src/pred_intra.cpp
ec/src/residual.cpp
ec/src/slice.cpp
ec/src/vlc.cpp
15825c7b6f6b19092a5949b4e46aea4fa229932c 14-Jul-2011 James Dong <jdong@google.com> Merge "Support profile and level query for SW video decoders"
87e031caf905145cb6e362a8c60f02736b87deef 13-Jul-2011 Andreas Huber <andih@google.com> Remove old-style software decoders.

Change-Id: Ie0729d6a65470ffdc38229791f25a75a22c724d8
ec/AVCDecoder.cpp
ec/Android.mk
457116d3a01618acf9a875020ca5860551ba03a6 11-Jul-2011 James Dong <jdong@google.com> Support profile and level query for SW video decoders

Change-Id: I9c20db128be96cd36cf2083e08e8c21f5e6d1fdf
ec/SoftAVC.cpp
ba499b591db0e26081e38545493144755eb72fff 30-Jun-2011 James Dong <jdong@google.com> Return ERROR_END_OF_STREAM when the input source reaches eos

Change-Id: I334313b054dcf388d2e05d56efb10ceea4980638
nc/AVCEncoder.cpp
a920660c2ae1548471c40c664ed3ac01b87c57b6 16-May-2011 Andreas Huber <andih@google.com> Fix module tags on stagefright software decoders.

Change-Id: I8b3f60760e1e8eaa0f66eb6c7ce3df8e425638fb
related-to-bug: 4427361
ec/Android.mk
bbba88cb1bdc34705d1477208990a06904c022e7 11-May-2011 Andreas Huber <andih@google.com> Squashed commit of the following:

commit c80992e419ed567abef451042f09c4958534b90d
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 14:00:07 2011 -0700

Support for the mp3 audio decoder as a software OMX component.

Change-Id: I66e10c4d0be4c3aecdef1c21b15a2c7359ceb807

commit a358d0e1bf2a88897887445f42ccdda0f5f2f528
Author: Andreas Huber <andih@google.com>
Date: Wed May 11 13:11:23 2011 -0700

Support for G.711 alaw and mulaw decoders as software OMX components

Change-Id: Ia5c76c02cb83a9f94ce39a27b2251e5880218f03

commit 79088b9c9a5c8b8c97ea66cb4f90a2b0f0d34553
Author: Andreas Huber <andih@google.com>
Date: Thu May 5 15:43:32 2011 -0700

Instead of using an RGB surface and conversion yuv420->rgb565

convert from OMX_COLOR_FormatYUV420Planar to HAL_PIXEL_FORMAT_YV12 instead.

Change-Id: I8c4fc3c54c963f0d4ba6377f3c4ab4e0013152e5
related-to-bug: 4394005

commit 69469d3bd84425777b11b9fc938c5e0c61af26a7
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 15:46:42 2011 -0700

voip mustn't link against libstagefright.so

Change-Id: I4d0ba9a8b9dc9380b792a1bd04bcda231964862c

commit 2a9a9eeeeeb36ae3a9e680469c3016d509ff08c3
Author: Andreas Huber <andih@google.com>
Date: Tue May 10 14:37:10 2011 -0700

Remove most non-OMX software decoders by default

Change-Id: Ic56514bc1b56b8fa952e8c4a164ea7379ecb69d0

commit a4de62c37b335c318217765403a9fb282b20a216
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:50:02 2011 -0700

Conditionally build the old-style software decoders.

Change-Id: I5de609e1d76c92d26d6eb81d1551462258f3f15f

commit 5d8b039f9449dc3dad1e77c42c80cc0b54b0c846
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 16:13:12 2011 -0700

Support for MPEG4 and H.263 video decoders as soft OMX components.

Change-Id: I5e3a4835afab89f98e3aa128d013628f5830eafe

commit b25a1bfbeb0ff6e62e1cc694ce2599c91489c7d0
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:49:10 2011 -0700

Boost Soft OMX thread priority, fix timestamp handling in vorbis Soft OMX decoder.

Change-Id: I68d26d4999f06fcc451d69e5303663fab0cba9e8

commit c0574362f8dc3319ce84d981097867062a698527
Author: Andreas Huber <andih@google.com>
Date: Mon May 9 11:28:53 2011 -0700

Support for the AMR decoders (NB and WB) as Soft OMX components.

Change-Id: Ia565f59833fb52653e23f26536e7e41fc329a754

commit 3e5575a8f0e27a490cb7bde77bd9456087837f08
Author: Andreas Huber <andih@google.com>
Date: Wed May 4 13:41:25 2011 -0700

Signal an error if the aac decoder failed to initialize from codec specific data.

Change-Id: I01da7831bdf722edd7d6dc5974486daa2cf2b209
related-to-bug: 4272179

commit f94aeaa9886e772ff4823e671ed237096649f4af
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 13:07:38 2011 -0700

Software OMX nodes don't (yet?) support native_window mode.

Change-Id: I7d9ca9164ef4abf66b573ca21dba12d672f8b12d

commit eefdfabac8dc659e00daa56da69aea705c49cb67
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 12:57:16 2011 -0700

Fixing the OMX tests to refer to appropriate files from test content.

Change-Id: I5b61c3498749bfb876abbd3946a5132356e3f6ff

commit f31b7326aef14b6a1b7946520a9688f092e844d5
Author: Andreas Huber <andih@google.com>
Date: Tue May 3 11:08:38 2011 -0700

Soft OMX components are now dynamiclly loaded/unloaded, not directly linked against.

Change-Id: I1e2ecfbfab67a8869886f738eaf0c7b3c948b6d9

commit b7f0343879e4df06f0a1c9bfece24df557954e2f
Author: Andreas Huber <andih@google.com>
Date: Mon May 2 15:58:36 2011 -0700

Support for the AVC software decoder as an OMX component.

Change-Id: I13c12df435ba4afbd968a9fc659f66b91c818bc2

commit 5bb9e616d6c8e1b13d531fe996b9a9affdfb2977
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:37 2011 -0700

Fix Vorbis OMX decoder's component role.

Change-Id: I5e871e5e11b3f951c93590210e63fd7987c467b5

commit 089c91f2333062e196c7afd5fb0ca914878aa474
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:05:18 2011 -0700

Support vorbis_decoder OMX testing.

Change-Id: I1985be178a12ae3f8768bc72067d9236238be170

commit 56e241fa36fc37219bc536b823bdc2ab82dc1fad
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 12:01:46 2011 -0700

SoftVorbis OMX component now respects the number of valid frames per page.

Change-Id: I82a117a064d9b083fc58a54ad900a987a763ef03

commit fcd618ec520c376fdb78f4cbb44b8d9f5d213e2b
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:59:38 2011 -0700

Support for the vorbis audio decoder as a soft OMX component.

Change-Id: Iaeb057e58ca306d3dce205c0445b74d5aefef492

commit d1fcc3203fc8003ad79c6e96b3a1fc4261743f16
Author: Andreas Huber <andih@google.com>
Date: Fri Apr 29 10:07:50 2011 -0700

VPX decoder now properly resizes buffers after a port settings change.

Change-Id: I110749a31b6cba087891d8e5dfe420830bdbf831

commit 35c7168243cb69849d88911144a2c7fdfed5c54e
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 13:23:34 2011 -0700

Support for the VPX video decoder as a Software OMX component.

Change-Id: Ic345add2d6d768d4af631160153f2e9b97fcea71

commit 923b2534b4211fc5405377b5190bfa6f2dd27f32
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:34:40 2011 -0700

Table-based registration of soft omx components.

Change-Id: I7f45f0fa5b3a7950776e69c66349731f7674e937

commit 04a88f3edb2266a463da9c4481b80178be460902
Author: Andreas Huber <andih@google.com>
Date: Thu Apr 28 11:22:31 2011 -0700

Apparently OMX_GetParameter is valid in any state other than OMX_StateInvalid

OMX_SetParameter is still constrained to OMX_StateLoaded or a disabled port.

Change-Id: I1032d7cf4011982d306aa369d4158a82830d26fb

commit 9d70ca68445e7c40f5c9b2d12466e468f514de88
Author: Andreas Huber <andih@google.com>
Date: Wed Apr 27 15:03:18 2011 -0700

Use the new soft OMX aac decoder for HTTP live playback.

Change-Id: Ifbcfb732a9edb855cb46b49f6d0ac942170ee28f

commit 213fe4a10ea93cce08e8622dc3908053f29878a1
Author: Andreas Huber <andih@google.com>
Date: Tue Apr 12 16:39:45 2011 -0700

Foundation for supporting software decoders as OMX components

Change-Id: I7fdab256563b35d1d090617abaea9a26b198d816

Change-Id: I83e9236beed4af985d10333c203f065df9e09a42
ec/Android.mk
ec/SoftAVC.cpp
ec/SoftAVC.h
d13ff411aeaac2730e012ba2dcce03c671d2eb97 18-Mar-2011 Andreas Huber <andih@google.com> Signal a runtime error if the AVCDecoder encounters an invalid frame.

Instead of asserting.

Change-Id: I4c89f5fef92e5adb11d1ea6b564a67e99fc96595
related-to-bug: 4109304
ec/AVCDecoder.cpp
27c174483a8ae9688d5d4897c19074f62c7f1701 17-Mar-2011 James Dong <jdong@google.com> Fix missing AOSP copyright headers for a bunch of media framework files

bug - 4119349

Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
ommon/include/avc_types.h
1cc73922339a110d7ffc47e8842f958492dd85bf 02-Dec-2010 James Dong <jdong@google.com> If camera source uses the metadata, we must use HW encoder
Software video encoders are not able to deal with non-YUV metadata in the video buffer sent from camera

bug - 3242213

Change-Id: I97361ed88b2a687190e5129459011afff7f32c2d
nc/AVCEncoder.cpp
f5ab57c2d5e02af7483c94eddb177e4f5c9e9892 22-Nov-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 0870f7bdd10a7cd36087d723d1957d8e1b967ca7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 12:57:04 2010 -0800

set_surface_crop doesn't seem to work right yet, stop using it in the SoftwareRenderer.

Change-Id: If0a24f78b7810a6cecaa82eb4f23d0f90c22cc42

commit 4767b52bee3a54ae117a8708d6832276a44e6a6a
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 11:14:57 2010 -0800

info->mMediaBuffer may still be NULL at this point...

Change-Id: I25a71569015b1bb87f1ea7efff7588958774426f

commit 0cef79874e1f1ddb10b7402177a87d3cffc7de92
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 10:55:12 2010 -0800

QCOM's YVU420 color format conversion has now been tested.

Change-Id: I7fef4b642a928af15d42f006f7cdc107d5ff1d67

commit 84fe05a6c969ede0ce8a85a530e110afca07c7a7
Author: Andreas Huber <andih@google.com>
Date: Mon Nov 22 09:59:50 2010 -0800

Removed remaining traces of suspend/resume. Proper reporting of video dimensions based on cropping rectangle.

Change-Id: Ib238b80cbc1f19e7d312f2422eb5e9ab6b06b1bc

commit 50970cdc837c5c498bcf0cb61b436196ca9e2ef7
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:11:06 2010 -0800

Revamped Software Renderer respects the crop rectangle.

Removed obsolete ADRENO support code.

Change-Id: I984cbc8a99c4d97e09e7d1b1292099c88b9ae535

commit 8abbc6a5608bff650f968540f24a2eab75f254ed
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:10:41 2010 -0800

The metadata retriever now respects the crop rectangle while capturing a video frame.

Change-Id: Id3377176060086d16717f62c77ce26fabe899050

commit 2d42e4466609d304e88bd2cdd6eb7b297340cc21
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 16:09:50 2010 -0800

Changed ColorConverter APIs to be more general.

Clients can now refer to crop rectangles in both source and destination.

Change-Id: Ief151d736818396d0389ec04e7df5650e3ad7c04

commit 273184303d54a54febd3e9c3dd4df30507ea78b5
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 15:04:06 2010 -0800

The stagefright commandline tool now writes the extracted video frame to /sdcard/out.jpg

Change-Id: Ieb2ab3fda7a7cd9294beccb8db0eed75096eeef4

commit 2d43390328cadf4ba94c1c3c02e4fb30baa29690
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 14:36:55 2010 -0800

The AVC software decoder now properly advertises the cropping rectangle.

Change-Id: Idb7a8a7e2fde5740f0fc34b7e8c92eca2577104b

commit 9a7ed23c2fac8ce19dce7a34a603acee945a89f6
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 13:40:39 2010 -0800

OMXCodec now signals a format change if the cropping rectangle changes.

...and puts the cropping info into its output format.

Change-Id: I3ffbd8e877ba286fe06a82c536ef20d92548d2e2

commit efe0323947029df1c502599ccc288c8d676dfd31
Author: Andreas Huber <andih@google.com>
Date: Fri Nov 19 11:29:39 2010 -0800

Stagefright's MetaData object now supports rectangle items.

Change-Id: I5667bb5ee6622c76104b99fb57f60abb802a8504

Change-Id: I27cb78f2c5e0353f95fdfc5cb53991949ed75b70
ec/AVCDecoder.cpp
393410a441b6d06daf286ed496470e9d6b2b6ca8 11-Nov-2010 James Dong <jdong@google.com> Separate the key for audio sampling rate and video frame rate in MetaData.h

Change-Id: Ia33befaa7e6df8762703002d01aa79c04f15f040
nc/AVCEncoder.cpp
5cb8fdbfeda95fdc70e8edb69adc20c57cb277be 20-Oct-2010 James Dong <jdong@google.com> Added profile and level translation in SW video encoders

Change-Id: I6b9c33c7e4b497f3dc61b2a0dcf4e65727f9bcdd
nc/AVCEncoder.cpp
56cfa2376ae87cba730ea7ce4a9e0ca4f0d07627 15-Oct-2010 Andreas Huber <andih@google.com> Include the framework copy of the OpenMAX headers instead of referencing external/opencore.

Change-Id: I762f59acf5e1f770e4d7c2d89af362bfffebefa6
related-to-bug: 3101573
ec/Android.mk
nc/Android.mk
6a63a939601645404fd98f58c19cc38ca818d99e 01-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 46744c7697f29aec71aed8de3c95ce035c284d97
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 30 16:44:57 2010 -0700

better separation of access units

Change-Id: I5a9e2138aed341f0bcf22cfe368a15ca5ea5a73c

commit d34952ac0feb1ae722ff65824d7353335502219b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 30 15:35:01 2010 -0700

Support for ES packets that do not start on PES packet boundaries.

Change-Id: I2cf012833948eddfb20b16a1901206cf22ce71e4
related-to-bug: 2368598

Change-Id: Ib9329bd6bb7149b5a6e2483788a96b1b158952fc
ec/AVCDecoder.cpp
5a808f8de7b81081ac682e96b625d45fcf43fe46 22-Sep-2010 Andreas Huber <andih@google.com> Make sure we drain the avc software decoder's output queue once we run out of input data.

Change-Id: I3d92ebae4951b618a6dfcf42936cc4c63d4de539
ec/AVCDecoder.cpp
72b2749aafff4643bd91b845c621fb7211b96208 16-Sep-2010 Andreas Huber <andih@google.com> Sometimes the avc software decoder will signal that a frame is ready but then unexpectedly fail to return the frame... stop asserting on that and return an error instead.

Change-Id: I6c0782b51b57e9be0fd410bd34078dc3c2b088d6
related-to-bug: 3005156
ec/AVCDecoder.cpp
76c6e8f97cd6030454ebf60db06818e05d449f06 20-Aug-2010 James Dong <jdong@google.com> Only add 4 bytes offset for the output media buffer when SPS is not received for SW AVC encoder

Change-Id: Ia64c2751b6304e5d5891416bf23ff9b8ec54d5ef
nc/AVCEncoder.cpp
abfedebe61a010bcce16a0d920c132dfe4ad5c31 13-Aug-2010 James Dong <jdong@google.com> Mainly fix two mistakes that I made:

1. When the ERROR_END_OF_STREAM is returned from read, the input buffer is not initialized
release it would lead to crash

2. The mPrevTimestampUs is not initialized and thus fail in the CHECK(mPrevTimestampUs, timeUs)

Change-Id: Id1e51575fb8b3ca48e80547efd3a3a82dfac773b
nc/AVCEncoder.cpp
60d77eb19ddcb283b947e5dfd34b9a8e9ee6686f 13-Aug-2010 Andreas Huber <andih@google.com> Fix software avc encoder crash at EOS.

Change-Id: I738dc24556e41ce518b67babeff16cd934c2d1b1
nc/AVCEncoder.cpp
5328abe1e36a39b1d4617a74ac82c201b8c14c43 12-Aug-2010 James Dong <jdong@google.com> Don't send late frames to software encoders for encoding

o Document on what frames will be rejected and what frames will be accepted

Change-Id: I5a5d489ad3d2b50dbb40a0f6e01529312ce81c54
nc/AVCEncoder.cpp
db004e1c9ff995381e204135583c06758ba8f2a3 10-Aug-2010 James Dong <jdong@google.com> Add input buffer size check for software video encoders

Change-Id: I03953a1245060ed6656a965e1a8a61386126c441
nc/AVCEncoder.cpp
51dfe6d646ddcc5fc252aa4c19c9936d32af8ad7 08-Aug-2010 James Dong <jdong@google.com> Only check the codec specific data when the output buffer contains kKeyIsCodecConfig in MP4 writer

o Assume there is only a single output buffer containing such information.
This simplifies the logic in MP4 file writer

o Output SPS and PPS in the very first buffer for software AVC encoder
This is to make AVC encoder work with the MP4 file writer

o Add timestamp value for codec config data

Change-Id: Iad27a04579e6028332429cd0bebd30976041e997
nc/AVCEncoder.cpp
2b3b9b2237468db96d9bb49dccd2b2a1eb8ae2db 04-Aug-2010 Andreas Huber <andih@google.com> Don't return a decoder error if the encoded stream does not start with SPS/PPS.

Change-Id: I960ada0c53f8ffe413ecd07c2c754a996841f592
ec/AVCDecoder.cpp
abd1f4f870925d6776dbe4b930b759a1ab6595ca 21-Jul-2010 Andreas Huber <andih@google.com> Support finer seek control on MediaSources.

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
ec/AVCDecoder.cpp
d54329e48d2ee6bc6b24d148770eec562e10e739 13-Jul-2010 James Dong <jdong@google.com> Fix simulator build
- missing header file <string.h>
- need to define -D__arm__

Change-Id: I18d2f1908684150784cf728234b5aedbc02447d1
nc/Android.mk
nc/src/avcenc_api.h
29a84457aed4c45bc900998b5e11c03023264208 03-Jul-2010 James Dong <jdong@google.com> Initial checkin for software AVC encoder

- Since the software encoder assumes the input is YUV420 planar,
color conversion needs to be added when the input color format
does not meet the requirement. With this patch, I only added
a single color conversion from YUV420 semi planar to YUV420
planar. We can add more as we go.

Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
nc/AVCEncoder.cpp
nc/Android.mk
nc/src/avcenc_api.cpp
nc/src/avcenc_api.h
nc/src/avcenc_int.h
nc/src/avcenc_lib.h
nc/src/bitstream_io.cpp
nc/src/block.cpp
nc/src/findhalfpel.cpp
nc/src/header.cpp
nc/src/init.cpp
nc/src/intra_est.cpp
nc/src/motion_comp.cpp
nc/src/motion_est.cpp
nc/src/rate_control.cpp
nc/src/residual.cpp
nc/src/sad.cpp
nc/src/sad_halfpel.cpp
nc/src/sad_halfpel_inline.h
nc/src/sad_inline.h
nc/src/sad_mb_offset.h
nc/src/slice.cpp
nc/src/vlc_encode.cpp
528b31476c16aefc4f886bf17b6d8bb4bd21292e 13-May-2010 Andreas Huber <andih@google.com> Update software AVC decoder to no longer require the kWantsNALFragments hack.

Change-Id: I7f1882530a891a57d0cd76cbbd7084ee31c59bd1
ec/AVCDecoder.cpp
77356c37030215a4b8696b7d0af44a724341a0f9 05-May-2010 Dan Bornstein <danfuzz@android.com> For issue #2651381, allow library prelinking.

Change-Id: I119348b55ad0015a286e9c94709977cd1973a7e1
ommon/Android.mk
1846096f274048a5882402e12be7c47db91b3834 29-Jan-2010 Andreas Huber <andih@google.com> The AVC software decoder always aligns the decoded dimensions to 16 pixel boundaries, report this properly to callers.
ec/AVCDecoder.cpp
69f5f4c021ee55055df39718244c036faf2d3382 29-Jan-2010 Andreas Huber <andih@google.com> Make sure the OMX component is synchronously shutdown before we try to instantiate another one. Also properly cleanup the software AVC decoder to avoid leaking memory.

related-to-bug: 2404786
ec/AVCDecoder.cpp
fc9ba09e3bb368f823d473f5e2bb9aa32dba6289 12-Jan-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:55:56 2010 -0800

Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 11 14:20:45 2010 -0800

Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date: Fri Jan 8 14:26:09 2010 -0800

A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date: Thu Jan 7 15:48:44 2010 -0800

Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
ec/AVCDecoder.cpp
a66a27e07423c6ed1dde9c0267b555e83c44e58e 05-Jan-2010 Andreas Huber <andih@google.com> Protect against possible temporary objects going away before we get at their data.
ec/AVCDecoder.cpp
c60bc4a7e25f6784644b8f6acf07bae2c58863b3 04-Jan-2010 Andreas Huber <andih@google.com> Fix avc software decoder to properly handle SEI nalType and access unit delimiter.
ec/AVCDecoder.cpp
3bcbcd09b48deb2b498f7163f89f92e01b9fd43b 18-Dec-2009 Andreas Huber <andih@google.com> Attempt to fix the simulator build by including stdlib.h for NULL.
ommon/include/avclib_common.h
587423f64501606852f05393ce1edfac0c18d545 14-Dec-2009 Andreas Huber <andih@google.com> The software AVCDecoder now properly seeks as requested.
ec/AVCDecoder.cpp
6b91407a918d755454ed396068ff7f67b7088f34 11-Dec-2009 Andreas Huber <andih@google.com> Propagate duration from input to output only if available, support multiple full frames of audio per input buffer in AMR/AAC decoders.
ec/AVCDecoder.cpp
72124cf05cd5b40f2902198aca2797616b813457 11-Dec-2009 Andreas Huber <andih@google.com> Removing an unused header file and a stale forward declaration. Also handling one more nalType as a no-op.
ec/AVCDecoder.cpp
ec/include/pvavcdecoder_factory.h
609f1a00c96cf5605f4614e7bb6d0487c98969c5 10-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AVC video decoder based on PV source code.
ndroid.mk
ommon/Android.mk
ommon/include/avc_types.h
ommon/include/avcapi_common.h
ommon/include/avcint_common.h
ommon/include/avclib_common.h
ommon/src/deblock.cpp
ommon/src/dpb.cpp
ommon/src/fmo.cpp
ommon/src/mb_access.cpp
ommon/src/reflist.cpp
ec/AVCDecoder.cpp
ec/Android.mk
ec/include/avcdec_api.h
ec/include/pvavcdecoder.h
ec/include/pvavcdecoder_factory.h
ec/include/pvavcdecoderinterface.h
ec/src/avc_bitstream.cpp
ec/src/avcdec_api.cpp
ec/src/avcdec_bitstream.h
ec/src/avcdec_int.h
ec/src/avcdec_lib.h
ec/src/header.cpp
ec/src/itrans.cpp
ec/src/pred_inter.cpp
ec/src/pred_intra.cpp
ec/src/residual.cpp
ec/src/slice.cpp
ec/src/vlc.cpp
atent_disclaimer.txt