MPEG2TSWriter: Write proper continuity counters for PAT and PMT

Change-Id: If94e31e51c563867db6d2376ad771f9751416084
MPEG2TSWriter: Write a proper CRC in PAT and PMT

Change-Id: I6ec8039b176878da6f02691194d96b0a1e894055
amrnb: Restart the p_xn pointer when retraversing the array on overflow

This is a safeguard to avoid issues in a rare codepath.

This was committed on the master branch of the opencore
repository in commit f532d145194e474cb30d8644b8eee83873ad24cc,
based on AOSP contribution 10905.

Change-Id: I9688b009bcbe63d88ee5040e883a021aefa30664
amrnb: Fix audio distortion in an AMR-NB clip

This fix had the PacketVideo internal tracking number
RIO-9190.

This was committed on the master branch of the opencore
repository in commit 7d6ccc907d3a15ca2ff74b9c76f122ab87d0ffbe.

Change-Id: Icbd7d6fe94e02cae360946cfb6f3b8dc90c8b518
stagefright amrnb: Move the bitstream_format enum into frame_type_3gpp.h

Change-Id: I6d6f9dc5799750394a853325466ffa2ebec44625
stagefright amrnb: Remove unused leftover source files

This allows getting rid of adding the plain common directory
(not common/include) to the include paths in projects that use
this code, too.

Change-Id: Ifb1fe4fc1f5c6f1264cb2b64f7b78e42b1e7833a
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
avcenc: Remove useless casts

Change-Id: I73a6f74268bcf6ca22d489d13936be8fd1b3fc92
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
avcenc: Fix indentation

Change-Id: I4fcdf619e3b75387a7909272f3164b8d608b6cc2
Correct ID3::StringSize calculation for UCS-2 data.

Album art was not displayed when albums were transferred via MediaGo
because the length of the description in the APIC tag was not
correctly calculated.

The method StringSize used to calculate the length of the tag
does not add the size of the null termination in UCS-2 case.

Change-Id: I5409d42f5e87d315e6e03c4d7e6cbd8a378a160d
Initialize pool's buffer pointers to null.

If these pointers are not properly initialized to null and
allocation of one of the buffers subsequently fail, the freePool
mechanism might erroneously free uninitialized pointers.

Change-Id: I2101bdb2cc576e5f50b5a1440e6fc0c54dc4e81b
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
avcenc: Remove redundant zero-initialization of allocated memory

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

Change-Id: I7a4d036e498c9f87c730dda3aab5057eb764a1e7
mediacodec: Return an error on getOutputFormat if there is no output format yet

This avoids crashing if calling the public java method
MediaCodec.getOutputFormat immediately after MediaCodec.start
(as the documentation example shows that one should do!).

Change-Id: Icd3dd7ab9ae9e8f2a67cef171ff176735de95f58
Fixed sample video corrupted in MediaCodec mode.

Change-Id: I50c5660072d40f6e297e58fd026ea04c89d6a70a
related-to-bug: 6732061
Merge "Fixed sample video corrupted in MediaCodec mode." into jb-dev
am 65e8d62a: Merge "Fixed sample video corrupted in MediaCodec mode." into jb-dev

* commit '65e8d62a5b243518795cdafa498df4a49baf6940':
  Fixed sample video corrupted in MediaCodec mode.
merge in jb-mr0-release history after reset to jb-dev
merge in jb-release history after reset to jb-dev