• 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 >>>)
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
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
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
031be0f358b07732092a4d1bf02fc99f109a63c4 22-Aug-2014 Ronghua Wu <ronghuawu@google.com> Add adaptive playback support to VPX decoder.

Bug: 13842676
Change-Id: I9c054ea489fd3a71b3b2394f15a85b84d42edb5a
nc/SoftAVCEncoder.h
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
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
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
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