• Home
  • History
  • Annotate
  • only in /frameworks/av/media/libstagefright/codecs/aacdec/
History log of /frameworks/av/media/libstagefright/codecs/aacdec/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
347f35436be724a64272c41e6325f03fe6b9d43a 19-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> AAC DRC reference level for mobile is -16dB

Use -16dB as the default DRC reference level when decoding streams
with DRC metadata.

Bug 7370764

Change-Id: I900cee22f32384a5657fb041b69d42657bcddf09
oftAAC2.cpp
4213e9db1cc57ab593bb63432b4e0cf477c3f835 02-Oct-2012 Jean-Michel Trivi <jmtrivi@google.com> Bug 7170947 Configure AAC decoder for mobile DRC settings

Configure the AAC decoder to use the modile DRC settings when
decoding streams with DRC metadata.
Settings are:
- target reference level of -12dB
- DRC compression factor (attenuation) at max
These settings can be overridden by platform properties if the
default values are to be modified.

Change-Id: If329fe566497685b735abe4e4b9a5e01697c063b
oftAAC2.cpp
888f63bcde37347061de1aabb1b7febb2eca0875 09-Sep-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix buffer size issue for multichannel HE-AAC

Decoding of HE-AAC fails due to output buffer size being too small.
Size output buffer size according to maximum number of channels.

Change-Id: I6b10842cf7ba3da1f4b4075b1f7f5404bf76be41
oftAAC2.cpp
5696a4efef79ee474ac6bcf2639c741e159bed1b 10-Aug-2012 Jean-Michel Trivi <jmtrivi@google.com> Fix AAC DRC metadata being ignored

The decoder will bypass all DRC processing during decode unless
any of the DRC parameters is set.
The fix consists in setting the DRC reference level to its
default value when after the decoder is initialized.

Change-Id: Ibb8355ab8c3c65020c5eef0752957040f7316c2a
oftAAC2.cpp
a9e0ea58738a50de84a80d3b4db1936e7433dce4 08-Aug-2012 Andreas Huber <andih@google.com> Merge "Remove the no longer used PV software aac decoder." into jb-mr1-dev
1f8834711f23f66d528aca98cca9602fb18cab66 07-Aug-2012 Andreas Huber <andih@google.com> Remove the no longer used PV software aac decoder.

Change-Id: Ia260f706780b66dc16a108aaa8780f68970380bd
ndroid.mk
oftAAC.cpp
oftAAC.h
ac_mem_funcs.h
nalysis_sub_band.cpp
nalysis_sub_band.h
pply_ms_synt.cpp
pply_ms_synt.h
pply_tns.cpp
pply_tns.h
it_reversal_swap.h
uf_getbits.cpp
uf_getbits.h
uffer_normalization.h
yte_align.cpp
alc_auto_corr.cpp
alc_auto_corr.h
alc_gsfb_table.cpp
alc_sbr_anafilterbank.cpp
alc_sbr_anafilterbank.h
alc_sbr_envelope.cpp
alc_sbr_envelope.h
alc_sbr_synfilterbank.cpp
alc_sbr_synfilterbank.h
hans.h
heck_crc.cpp
heck_crc.h
ct16.cpp
ct16.h
ct64.cpp
ct64.h
ecode_huff_cw_binary.cpp
ecode_noise_floorlevels.cpp
ecode_noise_floorlevels.h
einterleave.cpp
igit_reversal_tables.cpp
igit_reversal_tables.h
st16.cpp
st16.h
st32.cpp
st32.h
st8.cpp
st8.h
_adif_const.h
_blockswitching.h
_coupling_mode.h
_elementid.h
_huffmanconst.h
_infoinitconst.h
_invf_mode.h
_maskstatus.h
_mp4ff_const.h
_progconfigconst.h
_rawbitstreamconst.h
_sbr_element_id.h
_sbr_error.h
_sbr_header_status.h
_sbr_master_status.h
_sbr_sync_state.h
_sr_mode.h
_tmp4audioobjecttype.h
_tns_const.h
_window_sequence.h
_window_shape.h
sc_iquant_scaling.cpp
sc_iquant_scaling.h
xtractframeinfo.cpp
xtractframeinfo.h
ft_rx4.h
ft_rx4_long.cpp
ft_rx4_short.cpp
ft_rx4_tables_fxp.cpp
ind_adts_syncword.cpp
ind_adts_syncword.h
wd_long_complex_rot.cpp
wd_long_complex_rot.h
wd_short_complex_rot.cpp
wd_short_complex_rot.h
xp_mul32.h
xp_mul32_arm_gcc.h
xp_mul32_arm_v4.h
xp_mul32_arm_v4_gcc.h
xp_mul32_arm_v5.h
xp_mul32_c_equivalent.h
xp_mul32_c_msc_evc.h
xp_mul32_c_msc_evc_armv5.h
xp_mul32_pentium.h
en_rand_vector.cpp
en_rand_vector.h
et_adif_header.cpp
et_adif_header.h
et_adts_header.cpp
et_adts_header.h
et_audio_specific_config.cpp
et_audio_specific_config.h
et_dse.cpp
et_dse.h
et_ele_list.cpp
et_ele_list.h
et_ga_specific_config.cpp
et_ga_specific_config.h
et_ics_info.cpp
et_ics_info.h
et_prog_config.cpp
et_prog_config.h
et_pulse_data.cpp
et_pulse_data.h
et_sbr_bitstream.cpp
et_sbr_bitstream.h
et_sbr_startfreq.cpp
et_sbr_startfreq.h
et_sbr_stopfreq.cpp
et_sbr_stopfreq.h
et_sign_bits.h
et_tns.cpp
et_tns.h
etbits.h
etfill.cpp
etfill.h
etgroup.cpp
etics.cpp
etmask.cpp
cbtables.h
cbtables_binary.cpp
uffcb.cpp
uffdecode.cpp
ufffac.cpp
uffman.h
uffspec_fxp.cpp
bstream.h
dct16.cpp
dct16.h
dct32.cpp
dct32.h
dct8.cpp
dct8.h
mdct_fxp.cpp
mdct_fxp.h
nfoinit.cpp
nit_sbr_dec.cpp
nit_sbr_dec.h
ntensity_right.cpp
ntensity_right.h
nv_long_complex_rot.cpp
nv_long_complex_rot.h
nv_short_complex_rot.cpp
nv_short_complex_rot.h
quant_table.cpp
quant_table.h
ong_term_prediction.cpp
ong_term_prediction.h
ong_term_synthesis.cpp
ong_term_synthesis.h
t_decode.cpp
t_decode.h
t_prediction.h
tp_common_internal.h
dct_fxp.cpp
dct_fxp.h
dct_tables_fxp.cpp
dst.cpp
dst.h
ix_radix_fft.cpp
ix_radix_fft.h
s_map_mask.h
s_synt.cpp
s_synt.h
ns_corr.cpp
ns_corr.h
ns_intensity_right.cpp
ns_intensity_right.h
ns_left.cpp
ns_left.h
s_all_pass_filter_coeff.cpp
s_all_pass_filter_coeff.h
s_all_pass_fract_delay_filter.cpp
s_all_pass_fract_delay_filter.h
s_allocate_decoder.cpp
s_allocate_decoder.h
s_applied.cpp
s_applied.h
s_bstr_decoding.cpp
s_bstr_decoding.h
s_channel_filtering.cpp
s_channel_filtering.h
s_constants.h
s_decode_bs_utils.cpp
s_decode_bs_utils.h
s_decorrelate.cpp
s_decorrelate.h
s_fft_rx8.cpp
s_fft_rx8.h
s_hybrid_analysis.cpp
s_hybrid_analysis.h
s_hybrid_filter_bank_allocation.cpp
s_hybrid_filter_bank_allocation.h
s_hybrid_synthesis.cpp
s_hybrid_synthesis.h
s_init_stereo_mixing.cpp
s_init_stereo_mixing.h
s_pwr_transient_detection.cpp
s_pwr_transient_detection.h
s_read_data.cpp
s_read_data.h
s_stereo_processing.cpp
s_stereo_processing.h
ulse_nc.cpp
ulse_nc.h
v_audio_type_defs.h
v_div.cpp
v_div.h
v_log2.cpp
v_log2.h
v_normalize.cpp
v_normalize.h
v_pow2.cpp
v_pow2.h
v_sine.cpp
v_sine.h
v_sqrt.cpp
v_sqrt.h
vmp4audiodecoder_api.h
vmp4audiodecoderconfig.cpp
vmp4audiodecoderframe.cpp
vmp4audiodecodergetmemrequirements.cpp
vmp4audiodecoderinitlibrary.cpp
vmp4audiodecoderresetbuffer.cpp
vmp4setaudioconfig.cpp
_normalize.cpp
_normalize.h
mf_filterbank_coeff.cpp
mf_filterbank_coeff.h
_adif_header.h
_bit_buffer.h
_bits.h
_ch_info.h
_crc_buffer.h
_elelist.h
_frameinfo.h
_hcb.h
_huffman.h
_hybrid.h
_lt_pred_status.h
_mc_info.h
_mixdown.h
_patch.h
_progconfig.h
_ps_dec.h
_pulseinfo.h
_sbr_channel.h
_sbr_dec.h
_sbr_element_stream.h
_sbr_frame_data.h
_sbr_header_data.h
_sbrbitstream.h
_sectinfo.h
_sr_info.h
_tdec_int_chan.h
_tdec_int_file.h
_tns_frame_info.h
_tnsfilt.h
_wnd_shape.h
br_aliasing_reduction.cpp
br_aliasing_reduction.h
br_applied.cpp
br_applied.h
br_code_book_envlevel.cpp
br_code_book_envlevel.h
br_constants.h
br_crc_check.cpp
br_crc_check.h
br_create_limiter_bands.cpp
br_create_limiter_bands.h
br_dec.cpp
br_dec.h
br_decode_envelope.cpp
br_decode_envelope.h
br_decode_huff_cw.cpp
br_decode_huff_cw.h
br_downsample_lo_res.cpp
br_downsample_lo_res.h
br_envelope_calc_tbl.cpp
br_envelope_calc_tbl.h
br_envelope_unmapping.cpp
br_envelope_unmapping.h
br_extract_extended_data.cpp
br_extract_extended_data.h
br_find_start_andstop_band.cpp
br_find_start_andstop_band.h
br_generate_high_freq.cpp
br_generate_high_freq.h
br_get_additional_data.cpp
br_get_additional_data.h
br_get_cpe.cpp
br_get_cpe.h
br_get_dir_control_data.cpp
br_get_dir_control_data.h
br_get_envelope.cpp
br_get_envelope.h
br_get_header_data.cpp
br_get_header_data.h
br_get_noise_floor_data.cpp
br_get_noise_floor_data.h
br_get_sce.cpp
br_get_sce.h
br_inv_filt_levelemphasis.cpp
br_inv_filt_levelemphasis.h
br_open.cpp
br_open.h
br_read_data.cpp
br_read_data.h
br_requantize_envelope_data.cpp
br_requantize_envelope_data.h
br_reset_dec.cpp
br_reset_dec.h
br_update_freq_scale.cpp
br_update_freq_scale.h
et_mc_info.cpp
et_mc_info.h
fb.cpp
fb.h
hellsort.cpp
hellsort.h
tereo_2_mono.h
ynthesis_sub_band.cpp
ynthesis_sub_band.h
ns_ar_filter.cpp
ns_ar_filter.h
ns_decode_coef.cpp
ns_decode_coef.h
ns_inv_filter.cpp
ns_inv_filter.h
rans4m_freq_2_time_fxp.cpp
rans4m_time_2_freq_fxp.cpp
npack_idx.cpp
npack_idx.h
indow_block_fxp.h
indow_tables_fxp.cpp
rite_output.h
51d7547944967d1157b7fe18e1fb8f7ee6810412 07-Aug-2012 Andreas Huber <andih@google.com> Only emit padding at the end of the stream in the aac and mp3 decoders

if we actually discarded content at the beginning of the stream.

Change-Id: I1e79835bb3a02350060a137b94f85f2c90f4a12b
oftAAC2.cpp
39a3113539f9bcc86a8efe562780c23ac8731098 20-Jun-2012 Andreas Huber <andih@google.com> Revert input buffer count for the SoftAAC* decoders back to 4.

This improves the netflix bandwidth change responsiveness.
With the old count of 32 the audio decoder running at a higher
priority would starve the video decoder for about 1 sec while
draining the input data.

I haven't been able to break any stream playback using MediaCodec
using the lower count, even though I'm sure I had a good reason
to increase it in the first place (see bug 6478823)

Change-Id: I7fd3e71794b0cc1570ea9d27d1d869ab1e1750c4
related-to-bug: 6685031
oftAAC.h
oftAAC2.h
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
ODULE_LICENSE_APACHE2
OTICE
c68f4a226fc5af54a882b0603d3051793a781037 12-Jun-2012 Dave Burke <daveburke@google.com> Update make file

Change-Id: I7dbd128245f584df2689457df0dd12ce888cf8ef
ndroid.mk
cc9833b5db0e96f12daddb90a747fd146627377d 30-May-2012 James Dong <jdong@google.com> Only send port settings changed if the number of channels and sample rate are both known to be valid.

Change-Id: I9f8813eedc95db202488d8860cf485bdb8e69e11
related-to-bug: 6553089
oftAAC2.cpp
503775e4e2c3ead1cbd3c10561e3bdd90f2e70d5 30-May-2012 Dave Burke <daveburke@google.com> Precautionary logging to identify a potential infinite loop.

Bug: 6571063
Change-Id: I433659c6da333d5acd25ad03cb7f4a6ab0b6a4a5
oftAAC2.cpp
1adacd921319ec52fac1a4596ab6eaf8689e6a7d 23-May-2012 Dave Burke <daveburke@google.com> Property to enable AAC 5.1 pass-through.

Bug: 6275957
Change-Id: I8debdce872fc8287a4f6340f1790e02c075886e3
ndroid.mk
oftAAC2.cpp
oftAAC2.h
c9ef89cd40bea216046ed28e5366f8ac361d3dd4 22-May-2012 Dave Burke <daveburke@google.com> Revert "Revert to PV for AAC codec for FactoryROM."

This reverts commit d7d79a2bbf38d1d19ec7cc8d6a514fc999b5c444.

Change-Id: I7076feab31ab64fccd364699280d821011edc099
ndroid.mk
d7d79a2bbf38d1d19ec7cc8d6a514fc999b5c444 19-May-2012 Dave Burke <daveburke@google.com> Revert to PV for AAC codec for FactoryROM.

Change-Id: I72cf856685c0c4bae745646f870a0415d416afb5
ndroid.mk
e35ac2860e99d809a2ccca59bd4eb2f8c02d15ad 21-May-2012 Andreas Huber <andih@google.com> Add more verbose ADTS error logging to SoftAAC.

and fix the corresponding code in SoftAAC2.

Change-Id: I6c745fb6e8e093708fdfe2861963b0a35fa7b912
related-to-bug: 6519161
oftAAC.cpp
oftAAC2.cpp
8370c7ad4136ad7e0787d5a91ccfa3d63cfbe5cc 18-May-2012 Andreas Huber <andih@google.com> Instead of asserting on malformed ADTS headers or insufficient data,

stop decoding and signal a runtime error.

Change-Id: Ib66a17a2908273f65a92999951439cc6f0752164
related-to-bug: 6519161
oftAAC2.cpp
bf2461ecc71c0aacf8c03fcdaf0dc46bc8285c7f 18-May-2012 Dave Burke <daveburke@google.com> Don't reconfigure stream after outputing data.

Handle invalid configuration.
Bug: 6519161

Change-Id: Ib2d38bee769e63e627c93d7f3839c3a55de694e9
oftAAC2.cpp
441fbdea6e46ddc6b99fa864ab1edaa9759ec033 18-May-2012 Dave Burke <daveburke@google.com> Robustness - use defaults if we see bogus sample rate / channels from decoder.

Bug: 6498711
Change-Id: I6950d316a292cfd0cb516ee6d95b6af071b08fdc
oftAAC2.cpp
3748b71a7fe73b0365a93f1fd28ced14219f85e5 18-May-2012 Dave Burke <daveburke@google.com> Handle stream changes at any point in the stream.

Also, handle discontinuity properly (was using wrong flag before).
Bug: 6498711

Change-Id: I18a6684f7dc96aa04b1e8113b54ec1053895ca98
oftAAC2.cpp
oftAAC2.h
e672a0eea2cdc2ed43e002f0583902f20705de57 18-May-2012 Andreas Huber <andih@google.com> Clear the decoder input buffer after it signalled an error to be able to continue.

Change-Id: I06d43723dea7688d63cfb05e7fc7754672788562
related-to-bug: 6419102
oftAAC2.cpp
e893150187191299002626c75232f8985189cb0d 17-May-2012 Dave Burke <daveburke@google.com> Add informational logging to track 0 channel issue.

Bug #: 6498711

Change-Id: I952777923569511a171fe8b79eab579625eda073
oftAAC2.cpp
26976984d4f882f5da385360e76bc1c29fb4a696 16-May-2012 Dave Burke <daveburke@google.com> Add logging for invalid channel count or sample rate.

Change-Id: I2e2145e4b258923cf6c2907106345b7172c12280
oftAAC2.cpp
94f60e297b9e45fac387cf10b6ce1acc067cb4a1 12-May-2012 Dave Burke <daveburke@google.com> Remove ASC workaround (now fixed in Franhofer library).

Change-Id: Ia0ce8155def9f6dea85da7f88942ac1b11c16823
oftAAC2.cpp
eb61431af13741aa8b7e57a39f69bba5a6c190dc 11-May-2012 Andreas Huber <andih@google.com> Increase AAC software decoder's buffer count. Refactor how clients

of ACodec get notified about codec buffers and buffer ids.

Change-Id: I962f873262dae7aa7b43f5f68a6d60268282f91e
related-to-bug: 6478823
oftAAC.cpp
oftAAC.h
oftAAC2.cpp
oftAAC2.h
dc5db5d281d57ff59d92105cf0cd383df3b3c368 11-May-2012 Dave Burke <daveburke@google.com> Make decoder more robust to inaccurate ASCs.

Bug: 6408518
Bug: 6463794
Change-Id: Ice4ae327bc53e9d826adce572a2706e045eacd62
oftAAC2.cpp
f60c660f048d5f5e2458cff243c20400d73757a7 29-Apr-2012 Dave Burke <daveburke@google.com> Added support for HE-AAC recording

Fixed bug in decoder related to sample rates / channel counts
Made decoder follow Fraunhofer pattern
Log if bitrate not available
Bug: 6275957

Change-Id: I47a8e29358fa4a88ebc73fe02d46a2bfb96c64fe
oftAAC2.cpp
41914becfd019c619783d875c61ef71db0e67400 26-Apr-2012 Marco Nelissen <marcone@google.com> Account for new AAC decoder's delay

This drops the first block of decoded samples, and flushes the decoder
at the end of the stream to get the last bit of valid data.
b/774846

Change-Id: I1ae61b3e0619444441d160f33903eb61f57c6d31
oftAAC2.cpp
oftAAC2.h
940335776b6d4eb91b13c4e56bc20bed3ac0011b 26-Apr-2012 Dave Burke <daveburke@google.com> Handle reconfiguration properly.

Bug 6388957.

Change-Id: I61a86ed6fdad99497535249acda5e4a325911918
oftAAC2.cpp
6b7b8227cc8753fde4094ca8af2d381c2740826f 21-Apr-2012 Andreas Huber <andih@google.com> Make sure we restore our input buffer to its original state if we want to revisit it.

Change-Id: Iab62562c4dea13520751c37c9448c0b19c82d739
oftAAC.cpp
oftAAC2.cpp
05cd06e19f968c7320e8e85fc7122125f284741c 19-Apr-2012 Dave Burke <daveburke@google.com> Revert "Temporary revert of new AAC codec to fix build"

This reverts commit f356cc9c9995ba292bf116f1cb28a6caa1b65fd2.
ndroid.mk
f356cc9c9995ba292bf116f1cb28a6caa1b65fd2 19-Apr-2012 Dave Burke <daveburke@google.com> Temporary revert of new AAC codec to fix build

Change-Id: I5c7f0360883fc68e313d10b1aa5dac1463fae7fb
ndroid.mk
095c2da8d6c2058b02142c940f6e6346d6581780 13-Apr-2012 Dave Burke <daveburke@google.com> Make AAC 5.1 work
Fix bug with pausing audio

Change-Id: Icd6b095dac8d1a68b027de853d11ae02cc070b10
ndroid.mk
oftAAC2.cpp
oftAAC2.h
b7ddcc9460f488f0b032aeb27b52a423318a97ea 02-Apr-2012 Dave Burke <daveburke@google.com> Add support for a new AAC decoder library.

Change-Id: I867bf95f7c20503e55b38d0087ac027647834f37
ndroid.mk
oftAAC2.cpp
oftAAC2.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
ndroid.mk
ed3e3e046840d5bf1ca84a8c0cc097425e89d6d6 26-Mar-2012 Andreas Huber <andih@google.com> Provisional support for secure decryption of media streams.

Change-Id: Ib3982a9c960bfdb0cb7e1b174440b141b194cfbe
oftAAC.cpp
oftAAC.h
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
ndroid.mk
530f752a8191ccc6bde82fb2012aa3cd032257c0 31-Jan-2012 Andreas Huber <andih@google.com> Make sure our aac decoder handles this parameter.

Change-Id: I212ef0c21776b99d0c6662b118ca0ec16b1d3d5e
oftAAC.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
oftAAC.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
oftAAC.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
oftAAC.cpp
eca1762d92c43f2b7836941d14e453d4c0f9ed99 23-Aug-2011 Andreas Huber <andih@google.com> We were accidentally sending out an output buffer before the final port settings change

Change-Id: I4de0d3c377bb12e59524ed370ab3ed0b9a9b70a6
related-to-bug: 5122512
oftAAC.cpp
a2e0a4259191fc486e0f563b992e3eadd7f9ae4b 12-Aug-2011 Andreas Huber <andih@google.com> Fix the software AAC decoder's AAC+ detection to ignore malformed frames

at the beginning of the stream.

Change-Id: Ib990848c696896e7d43c80dec8119dec35704b74
related-to-bug: 5122512
oftAAC.cpp
87e031caf905145cb6e362a8c60f02736b87deef 13-Jul-2011 Andreas Huber <andih@google.com> Remove old-style software decoders.

Change-Id: Ie0729d6a65470ffdc38229791f25a75a22c724d8
ACDecoder.cpp
ndroid.mk
122baae2f2aedca38fab723f7ad672044b0ce413 21-Jun-2011 Andreas Huber <andih@google.com> Restore legacy soft-aac decoder behaviour. Substitute silence on decode error.

Change-Id: I680ccaabef32b1319819f723260cb3789585f09e
related-to-bug: 4579486
oftAAC.cpp
a920660c2ae1548471c40c664ed3ac01b87c57b6 16-May-2011 Andreas Huber <andih@google.com> Fix module tags on stagefright software decoders.

Change-Id: I8b3f60760e1e8eaa0f66eb6c7ce3df8e425638fb
related-to-bug: 4427361
ndroid.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
ndroid.mk
oftAAC.cpp
oftAAC.h
59633a1e0ae968a90367718fb21716c32d73af04 04-May-2011 Andreas Huber <andih@google.com> Signal an error if aac decoding fails early.

Change-Id: I8b886a7642aaf83fa008fefb38cb4f92267ca948
related-to-bug: 4272179
ACDecoder.cpp
6df0dc04a43e5272f1c57e772b0c0842c03a01bc 13-Mar-2011 James Dong <jdong@google.com> Fix PV AAC decoder crash due to out-of-boundary array access.

Two cases were fixed:
o xover had a larger number of bands than the high frequency band, which led to some negative array index under some circumstances
o integrated a PV fix from OpenCore.git where the array index for scratch_mem may be over the array boundary

bug - 3473128

Change-Id: I844cd8797b4e5b0120fafa0c46a8c1facea78a8b
br_dec.cpp
a093f92042cf65060d1474c0fe116c12f8981717 15-Dec-2010 Andreas Huber <andih@google.com> Proper recovery of timestamp information in the transport stream parser.

Change-Id: I647c73688c95529f54f0bb6af17d109dfe2bb11d
ACDecoder.cpp
41dabbcd9ab62d7ecea1570cc76c39ac485de2ce 15-Dec-2010 Andreas Huber <andih@google.com> Emit better (correct) timestamps that respect AAC upsampling.

Change-Id: I6587416c9caa0e263aa8ec6c6d89a42e28f6ff19
ACDecoder.cpp
424c6cbfa75da5f4f889ab6517dfee4dd024ba2d 11-Nov-2010 James Wylder <james.wylder@motorola.com> libstagefright: Compile MP3 & AAC decoders in 32bit ARM Mode

Speeds up the decoding leaving more time for cpuidle (lp2),
thus lowering overall current drain.

Change-Id: Ia4e0636b1813810072fe0a4f94f6921adf2eab31
Signed-off-by: James Wylder <james.wylder@motorola.com>
ndroid.mk
c7d368d990303dc5369c7c61579f88c5059dc8d7 28-Sep-2010 Andreas Huber <andih@google.com> Properly flush the AudioTrack/AudioSink on a seek request and make sure that both the mp3 decoder and aac software decoders start fresh after a seek without any dependency on previously decoded content.

Change-Id: I4909fdf19518dbabb6c340e2a31b50dfe6c5b067
related-to-bug: 3029947
ACDecoder.cpp
18269453d3c6c350c9743a03820d41a69dbb4654 18-Sep-2010 James Dong <jdong@google.com> Another attempt for fixing AAC+/eAAC+ related issue

The decoder has to decode the very first two frames (decoder specific data + first data
frame) in order to be really sure whether a stream is AAC or AAC+/eAAC+.

bug - 2966336

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

related-to-bug: 2858448

Change-Id: Ifb4b13b990fd5889113e47e2c62249ac43391fa1
ACDecoder.cpp
6cad99fefc7275f30886962e4193a336a2144b7b 19-Jul-2010 James Dong <jdong@google.com> Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.

Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8
ACDecoder.cpp
fe02beaa83dab8d9bbf6aa0f2aefa530d4228824 09-Jul-2010 James Dong <jdong@google.com> Enable the support for decoding audio with AAC+ and eAAC+ features

bug - 282684

Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b
ACDecoder.cpp
a945bfd91aa291fba4d9201ffcb38fce40eab7fe 13-May-2010 Andreas Huber <andih@google.com> Return a runtime error instead of asserting if the AACDecoder is passed an unsupported config.

Change-Id: Ie084ed4df5a5d286abd36d9149c2138f8e7ed08a
related-to-bug: 2682221
QA-impact: none
ACDecoder.cpp
9dcda21086608a52a579ac8254991fdde686823a 12-Apr-2010 Andreas Huber <andih@google.com> Ignore corrupt aac audio frames and substitute silence.

Change-Id: I544f98a5c00d912061db7921fc4518435209b168
related-to-bug: 2575976
ACDecoder.cpp
47f729a0543376773070aaeafc12e13eed03f7be 30-Mar-2010 Andreas Huber <andih@google.com> Properly fill in the component name for the software decoders.

Change-Id: I92071481f7ed94922b10856c981e507a9eec4c0c
related-to-bug: 2557787
ACDecoder.cpp
c9915aed58b3846251406b337ba2e1813d71f07e 17-Mar-2010 Andreas Huber <andih@google.com> Instead of asserting that nothing bad happened during (software-)AAC decoding, return a runtime error if appropriate.

Change-Id: I175492aba8fd6cc1320d047bd2608750d7b193f9
related-to-bug: 2492187
ACDecoder.cpp
42569ac261af2cf8cefd0922a890c31b759c37b8 26-Feb-2010 Andreas Huber <andih@google.com> The PV aac software decoder screws up if playing a mono-AACplus stream unless we output stereo data. Now we always output stereo data as the legacy OMX nodes did.

related-to-bug: 2472545
ACDecoder.cpp
a66a27e07423c6ed1dde9c0267b555e83c44e58e 05-Jan-2010 Andreas Huber <andih@google.com> Protect against possible temporary objects going away before we get at their data.
ACDecoder.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.
ACDecoder.cpp
609f1a00c96cf5605f4614e7bb6d0487c98969c5 10-Dec-2009 Andreas Huber <andih@google.com> Initial checkin of software AVC video decoder based on PV source code.
ndroid.mk
29340b0706b7b65e441c47d6f0c83c344d516435 10-Dec-2009 Andreas Huber <andih@google.com> Adding copyright headers to recently introduced decoder source files.
ACDecoder.cpp
ebd0d94d2619280f9871ef2d0965d95fb880404c 08-Dec-2009 Andreas Huber <andih@google.com> Minor tweaks to the mp3 and aac software decoders, propagate duration to output format.
ACDecoder.cpp
f44de515d3b6098a0b585865c1a0c7b20d3075a6 07-Dec-2009 Andreas Huber <andih@google.com> Initial check in of stagefright software AAC decoder based on PV source code.
ACDecoder.cpp
ndroid.mk
ac_mem_funcs.h
nalysis_sub_band.cpp
nalysis_sub_band.h
pply_ms_synt.cpp
pply_ms_synt.h
pply_tns.cpp
pply_tns.h
it_reversal_swap.h
uf_getbits.cpp
uf_getbits.h
uffer_normalization.h
yte_align.cpp
alc_auto_corr.cpp
alc_auto_corr.h
alc_gsfb_table.cpp
alc_sbr_anafilterbank.cpp
alc_sbr_anafilterbank.h
alc_sbr_envelope.cpp
alc_sbr_envelope.h
alc_sbr_synfilterbank.cpp
alc_sbr_synfilterbank.h
hans.h
heck_crc.cpp
heck_crc.h
ct16.cpp
ct16.h
ct64.cpp
ct64.h
ecode_huff_cw_binary.cpp
ecode_noise_floorlevels.cpp
ecode_noise_floorlevels.h
einterleave.cpp
igit_reversal_tables.cpp
igit_reversal_tables.h
st16.cpp
st16.h
st32.cpp
st32.h
st8.cpp
st8.h
_adif_const.h
_blockswitching.h
_coupling_mode.h
_elementid.h
_huffmanconst.h
_infoinitconst.h
_invf_mode.h
_maskstatus.h
_mp4ff_const.h
_progconfigconst.h
_rawbitstreamconst.h
_sbr_element_id.h
_sbr_error.h
_sbr_header_status.h
_sbr_master_status.h
_sbr_sync_state.h
_sr_mode.h
_tmp4audioobjecttype.h
_tns_const.h
_window_sequence.h
_window_shape.h
sc_iquant_scaling.cpp
sc_iquant_scaling.h
xtractframeinfo.cpp
xtractframeinfo.h
ft_rx4.h
ft_rx4_long.cpp
ft_rx4_short.cpp
ft_rx4_tables_fxp.cpp
ind_adts_syncword.cpp
ind_adts_syncword.h
wd_long_complex_rot.cpp
wd_long_complex_rot.h
wd_short_complex_rot.cpp
wd_short_complex_rot.h
xp_mul32.h
xp_mul32_arm_gcc.h
xp_mul32_arm_v4.h
xp_mul32_arm_v4_gcc.h
xp_mul32_arm_v5.h
xp_mul32_c_equivalent.h
xp_mul32_c_msc_evc.h
xp_mul32_c_msc_evc_armv5.h
xp_mul32_pentium.h
en_rand_vector.cpp
en_rand_vector.h
et_adif_header.cpp
et_adif_header.h
et_adts_header.cpp
et_adts_header.h
et_audio_specific_config.cpp
et_audio_specific_config.h
et_dse.cpp
et_dse.h
et_ele_list.cpp
et_ele_list.h
et_ga_specific_config.cpp
et_ga_specific_config.h
et_ics_info.cpp
et_ics_info.h
et_prog_config.cpp
et_prog_config.h
et_pulse_data.cpp
et_pulse_data.h
et_sbr_bitstream.cpp
et_sbr_bitstream.h
et_sbr_startfreq.cpp
et_sbr_startfreq.h
et_sbr_stopfreq.cpp
et_sbr_stopfreq.h
et_sign_bits.h
et_tns.cpp
et_tns.h
etbits.h
etfill.cpp
etfill.h
etgroup.cpp
etics.cpp
etmask.cpp
cbtables.h
cbtables_binary.cpp
uffcb.cpp
uffdecode.cpp
ufffac.cpp
uffman.h
uffspec_fxp.cpp
bstream.h
dct16.cpp
dct16.h
dct32.cpp
dct32.h
dct8.cpp
dct8.h
mdct_fxp.cpp
mdct_fxp.h
nfoinit.cpp
nit_sbr_dec.cpp
nit_sbr_dec.h
ntensity_right.cpp
ntensity_right.h
nv_long_complex_rot.cpp
nv_long_complex_rot.h
nv_short_complex_rot.cpp
nv_short_complex_rot.h
quant_table.cpp
quant_table.h
ong_term_prediction.cpp
ong_term_prediction.h
ong_term_synthesis.cpp
ong_term_synthesis.h
t_decode.cpp
t_decode.h
t_prediction.h
tp_common_internal.h
dct_fxp.cpp
dct_fxp.h
dct_tables_fxp.cpp
dst.cpp
dst.h
ix_radix_fft.cpp
ix_radix_fft.h
s_map_mask.h
s_synt.cpp
s_synt.h
ns_corr.cpp
ns_corr.h
ns_intensity_right.cpp
ns_intensity_right.h
ns_left.cpp
ns_left.h
s_all_pass_filter_coeff.cpp
s_all_pass_filter_coeff.h
s_all_pass_fract_delay_filter.cpp
s_all_pass_fract_delay_filter.h
s_allocate_decoder.cpp
s_allocate_decoder.h
s_applied.cpp
s_applied.h
s_bstr_decoding.cpp
s_bstr_decoding.h
s_channel_filtering.cpp
s_channel_filtering.h
s_constants.h
s_decode_bs_utils.cpp
s_decode_bs_utils.h
s_decorrelate.cpp
s_decorrelate.h
s_fft_rx8.cpp
s_fft_rx8.h
s_hybrid_analysis.cpp
s_hybrid_analysis.h
s_hybrid_filter_bank_allocation.cpp
s_hybrid_filter_bank_allocation.h
s_hybrid_synthesis.cpp
s_hybrid_synthesis.h
s_init_stereo_mixing.cpp
s_init_stereo_mixing.h
s_pwr_transient_detection.cpp
s_pwr_transient_detection.h
s_read_data.cpp
s_read_data.h
s_stereo_processing.cpp
s_stereo_processing.h
ulse_nc.cpp
ulse_nc.h
v_audio_type_defs.h
v_div.cpp
v_div.h
v_log2.cpp
v_log2.h
v_normalize.cpp
v_normalize.h
v_pow2.cpp
v_pow2.h
v_sine.cpp
v_sine.h
v_sqrt.cpp
v_sqrt.h
vmp4audiodecoder_api.h
vmp4audiodecoderconfig.cpp
vmp4audiodecoderframe.cpp
vmp4audiodecodergetmemrequirements.cpp
vmp4audiodecoderinitlibrary.cpp
vmp4audiodecoderresetbuffer.cpp
vmp4setaudioconfig.cpp
_normalize.cpp
_normalize.h
mf_filterbank_coeff.cpp
mf_filterbank_coeff.h
_adif_header.h
_bit_buffer.h
_bits.h
_ch_info.h
_crc_buffer.h
_elelist.h
_frameinfo.h
_hcb.h
_huffman.h
_hybrid.h
_lt_pred_status.h
_mc_info.h
_mixdown.h
_patch.h
_progconfig.h
_ps_dec.h
_pulseinfo.h
_sbr_channel.h
_sbr_dec.h
_sbr_element_stream.h
_sbr_frame_data.h
_sbr_header_data.h
_sbrbitstream.h
_sectinfo.h
_sr_info.h
_tdec_int_chan.h
_tdec_int_file.h
_tns_frame_info.h
_tnsfilt.h
_wnd_shape.h
br_aliasing_reduction.cpp
br_aliasing_reduction.h
br_applied.cpp
br_applied.h
br_code_book_envlevel.cpp
br_code_book_envlevel.h
br_constants.h
br_crc_check.cpp
br_crc_check.h
br_create_limiter_bands.cpp
br_create_limiter_bands.h
br_dec.cpp
br_dec.h
br_decode_envelope.cpp
br_decode_envelope.h
br_decode_huff_cw.cpp
br_decode_huff_cw.h
br_downsample_lo_res.cpp
br_downsample_lo_res.h
br_envelope_calc_tbl.cpp
br_envelope_calc_tbl.h
br_envelope_unmapping.cpp
br_envelope_unmapping.h
br_extract_extended_data.cpp
br_extract_extended_data.h
br_find_start_andstop_band.cpp
br_find_start_andstop_band.h
br_generate_high_freq.cpp
br_generate_high_freq.h
br_get_additional_data.cpp
br_get_additional_data.h
br_get_cpe.cpp
br_get_cpe.h
br_get_dir_control_data.cpp
br_get_dir_control_data.h
br_get_envelope.cpp
br_get_envelope.h
br_get_header_data.cpp
br_get_header_data.h
br_get_noise_floor_data.cpp
br_get_noise_floor_data.h
br_get_sce.cpp
br_get_sce.h
br_inv_filt_levelemphasis.cpp
br_inv_filt_levelemphasis.h
br_open.cpp
br_open.h
br_read_data.cpp
br_read_data.h
br_requantize_envelope_data.cpp
br_requantize_envelope_data.h
br_reset_dec.cpp
br_reset_dec.h
br_update_freq_scale.cpp
br_update_freq_scale.h
et_mc_info.cpp
et_mc_info.h
fb.cpp
fb.h
hellsort.cpp
hellsort.h
tereo_2_mono.h
ynthesis_sub_band.cpp
ynthesis_sub_band.h
ns_ar_filter.cpp
ns_ar_filter.h
ns_decode_coef.cpp
ns_decode_coef.h
ns_inv_filter.cpp
ns_inv_filter.h
rans4m_freq_2_time_fxp.cpp
rans4m_time_2_freq_fxp.cpp
npack_idx.cpp
npack_idx.h
indow_block_fxp.h
indow_tables_fxp.cpp
rite_output.h