AAC decoder. More...
#include "libavutil/float_dsp.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "internal.h"
#include "get_bits.h"
#include "fft.h"
#include "imdct15.h"
#include "lpc.h"
#include "kbdwin.h"
#include "sinewin.h"
#include "aac.h"
#include "aactab.h"
#include "aacdectab.h"
#include "cbrt_tablegen.h"
#include "sbr.h"
#include "aacsbr.h"
#include "mpeg4audio.h"
#include "aacadtsdec.h"
#include "libavutil/intfloat.h"
#include <errno.h>
#include <math.h>
#include <stdint.h>
#include <string.h>
Go to the source code of this file.
AAC decoder.
Definition in file aacdec.c.
Definition at line 123 of file aacdec.c.
Referenced by aac_decode_frame_int(), decode_band_types(), decode_eld_specific_config(), decode_pce(), and skip_data_stream_element().
Definition at line 1058 of file aacdec.c.
Referenced by aac_decode_init().
Configure output channel order based on the current program configuration element.
Definition at line 453 of file aacdec.c.
Referenced by aac_decode_frame_int(), aac_decode_init(), decode_eld_specific_config(), decode_extension_payload(), decode_ga_specific_config(), get_che(), parse_adts_frame_header(), and pop_output_configuration().
Definition at line 125 of file aacdec.c.
Referenced by decode_ga_specific_config().
Check for the channel element in the current channel position configuration.
If it exists, make sure the appropriate element is allocated and map the channel order to match the internal FFmpeg channel layout.
Definition at line 149 of file aacdec.c.
Referenced by output_configure().
Definition at line 180 of file aacdec.c.
Referenced by aac_decode_er_frame(), aac_decode_frame_int(), and output_configure().
Definition at line 221 of file aacdec.c.
Referenced by sniff_channel_order().
Definition at line 250 of file aacdec.c.
Referenced by sniff_channel_order().
Definition at line 282 of file aacdec.c.
Referenced by output_configure().
Save current output configuration if and only if it has been locked.
Definition at line 426 of file aacdec.c.
Referenced by aac_decode_frame(), aac_decode_frame_int(), get_che(), latm_decode_frame(), and parse_adts_frame_header().
Restore the previous output configuration if and only if the current configuration is unlocked.
Definition at line 437 of file aacdec.c.
Referenced by aac_decode_frame(), aac_decode_frame_int(), and latm_decode_frame().
Definition at line 502 of file aacdec.c.
Referenced by av_interleaved_write_frame(), bmp_parse(), dpx_parse(), ogg_buffer_data(), and png_parse().
Set up channel positions based on a default channel configuration as specified in table 1.17.
Definition at line 525 of file aacdec.c.
Referenced by aac_decode_init(), decode_eld_specific_config(), decode_ga_specific_config(), get_che(), and parse_adts_frame_header().
Definition at line 561 of file aacdec.c.
Referenced by aac_decode_er_frame(), and aac_decode_frame_int().
Decode an array of 4 bit element IDs, optionally interleaved with a stereo/mono switching bit.
Definition at line 685 of file aacdec.c.
Referenced by decode_pce().
Decode program configuration element; reference: table 4.2.
Definition at line 720 of file aacdec.c.
Referenced by aac_decode_frame_int(), and decode_ga_specific_config().
Decode GA "General Audio" specific configuration; reference: table 4.1.
Definition at line 790 of file aacdec.c.
Referenced by decode_audio_specific_config().
Definition at line 868 of file aacdec.c.
Referenced by decode_audio_specific_config().
Decode audio specific configuration; reference: table 1.13.
Definition at line 937 of file aacdec.c.
Referenced by aac_decode_frame(), aac_decode_init(), latm_decode_audio_specific_config(), and latm_decode_frame().
linear congruential pseudorandom number generator
Definition at line 1012 of file aacdec.c.
Referenced by decode_spectrum_and_dequant().
Definition at line 1018 of file aacdec.c.
Referenced by reset_all_predictors(), and reset_predictor_group().
Definition at line 1028 of file aacdec.c.
Referenced by apply_prediction().
Definition at line 1035 of file aacdec.c.
Referenced by aac_decode_init().
Definition at line 1051 of file aacdec.c.
Referenced by apply_prediction().
Definition at line 3472 of file aacdec.c.
Referenced by aac_decode_init().
Definition at line 1068 of file aacdec.c.
Referenced by latm_decode_init().
Skip data_stream_element; reference: table 4.10.
Definition at line 1177 of file aacdec.c.
Referenced by aac_decode_frame_int().
Definition at line 1194 of file aacdec.c.
Referenced by decode_ics_info().
Decode Long Term Prediction data; reference: table 4.xx.
Definition at line 1216 of file aacdec.c.
Referenced by decode_cpe(), and decode_ics_info().
Decode Individual Channel Stream info; reference: table 4.6.
Definition at line 1230 of file aacdec.c.
Referenced by decode_cpe(), and decode_ics().
Decode band types (section_data payload); reference: table 4.46.
Definition at line 1341 of file aacdec.c.
Referenced by decode_ics().
Decode scalefactors; reference: table 4.47.
Definition at line 1390 of file aacdec.c.
Referenced by decode_ics().
Decode pulse data; reference: table 4.7.
Definition at line 1453 of file aacdec.c.
Referenced by decode_ics().
Decode Temporal Noise Shaping data; reference: table 4.48.
Definition at line 1480 of file aacdec.c.
Referenced by decode_ics().
Decode Mid/Side data; reference: table 4.54.
Definition at line 1523 of file aacdec.c.
Referenced by decode_cpe().
Definition at line 1537 of file aacdec.c.
Referenced by decode_spectrum_and_dequant().
Definition at line 1548 of file aacdec.c.
Referenced by decode_spectrum_and_dequant().
Definition at line 1561 of file aacdec.c.
Referenced by decode_spectrum_and_dequant().
Definition at line 1578 of file aacdec.c.
Referenced by decode_spectrum_and_dequant().
Decode spectral data; reference: table 4.50.
Dequantize and scale spectral data; reference: 4.6.3.3.
Definition at line 1616 of file aacdec.c.
Referenced by decode_ics().
Definition at line 1855 of file aacdec.c.
Referenced by apply_prediction(), decode_line(), and encode_line().
Apply AAC-Main style frequency domain prediction.
Definition at line 1889 of file aacdec.c.
Referenced by decode_cpe(), and decode_ics().
Decode an individual_channel_stream payload; reference: table 4.44.
Definition at line 1925 of file aacdec.c.
Referenced by aac_decode_er_frame(), aac_decode_frame_int(), decode_cce(), and decode_cpe().
Mid/Side stereo decoding; reference: 4.6.8.1.3.
Definition at line 2002 of file aacdec.c.
Referenced by decode_cpe().
intensity stereo decoding; reference: 4.6.8.2.3
Definition at line 2033 of file aacdec.c.
Referenced by decode_cpe().
Decode a channel_pair_element; reference: table 4.4.
Definition at line 2075 of file aacdec.c.
Referenced by aac_decode_er_frame(), and aac_decode_frame_int().
Decode coupling_channel_element; reference: table 4.8.
Definition at line 2128 of file aacdec.c.
Referenced by aac_decode_frame_int().
Parse whether channels are to be excluded from Dynamic Range Compression; reference: table 4.53.
Definition at line 2200 of file aacdec.c.
Referenced by decode_dynamic_range().
Decode dynamic range information; reference: table 4.52.
Definition at line 2219 of file aacdec.c.
Referenced by decode_extension_payload().
Definition at line 2266 of file aacdec.c.
Referenced by decode_extension_payload().
Decode extension data (incomplete); reference: table 4.51.
Definition at line 2299 of file aacdec.c.
Referenced by aac_decode_frame_int().
Decode Temporal Noise Shaping filter coefficients and apply all-pole filters; reference: 4.6.9.3.
Definition at line 2357 of file aacdec.c.
Referenced by aacdec_init().
Apply windowing and MDCT to obtain the spectral coefficient from the predicted sample by LTP.
Definition at line 2413 of file aacdec.c.
Referenced by aacdec_init().
Apply the long term prediction.
Definition at line 2439 of file aacdec.c.
Referenced by aacdec_init().
Update the LTP buffer for next frame.
Definition at line 2471 of file aacdec.c.
Referenced by aacdec_init().
Definition at line 2566 of file aacdec.c.
Referenced by spectral_to_sample().
Definition at line 2591 of file aacdec.c.
Referenced by spectral_to_sample().
Apply dependent channel coupling (applied before IMDCT).
Definition at line 2656 of file aacdec.c.
Referenced by spectral_to_sample().
Apply independent channel coupling (applied after IMDCT).
Definition at line 2692 of file aacdec.c.
Referenced by spectral_to_sample().
channel coupling transformation interface
Definition at line 2711 of file aacdec.c.
Referenced by spectral_to_sample().
Convert spectral data to float samples, applying all supported tools as appropriate.
Definition at line 2744 of file aacdec.c.
Referenced by aac_decode_er_frame(), and aac_decode_frame_int().
dual mono frames in Japanese DTV can have chan_config 0 WITHOUT specifying PCE. thus, set dual mono as default.
Definition at line 2801 of file aacdec.c.
Referenced by aac_decode_frame_int().
Definition at line 2863 of file aacdec.c.
Referenced by aac_decode_frame(), and latm_decode_frame().
Definition at line 2930 of file aacdec.c.
Referenced by aac_decode_frame(), and latm_decode_frame().
Definition at line 3204 of file aacdec.c.
Referenced by read_stream_mux_config().
Definition at line 3211 of file aacdec.c.
Referenced by read_stream_mux_config().
Definition at line 3270 of file aacdec.c.
Referenced by read_audio_mux_element().
Definition at line 3350 of file aacdec.c.
Referenced by read_audio_mux_element().
Definition at line 3371 of file aacdec.c.
Referenced by latm_decode_frame().