summaryrefslogtreecommitdiffstats
path: root/libavcodec/aacdec.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/aacdec: Add FF_CODEC_CAP_INIT_CLEANUPMichael Niedermayer2019-08-231-2/+2
| | | | | | | | | Fixes: memleaks Fixes: 16289/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_LATM_fuzzer-5200695692623872 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* aacdec: use float_dsp in apply_independent_couplingLynne2019-05-031-3/+1
| | | | Could not be used in apply_dependent_coupling because of alignment issues.
* avcodec/aacdec: log configuration change detailsAman Gupta2018-03-071-2/+2
| | | | | Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'b5f19f7478492307e4b4763aeac3180faf50e17f'James Almer2017-10-301-1/+1
|\ | | | | | | | | | | | | * commit 'b5f19f7478492307e4b4763aeac3180faf50e17f': aac: Split function to parse ADTS header data into public and private part Merged-by: James Almer <jamrial@gmail.com>
| * aac: Split function to parse ADTS header data into public and private partDiego Biurrun2017-05-021-2/+2
| | | | | | | | | | | | This makes the currently semi-public avpriv_aac_parse_header() function private to libavcodec and adds a proper public API function to return the parts of the ADTS header required in libavformat.
* | Merge commit '984736dd9e5b50987a5910e22495304e4a6d975c'James Almer2017-10-031-3/+3
|\ \ | |/ | | | | | | | | | | * commit '984736dd9e5b50987a5910e22495304e4a6d975c': lavc: make sure not to return EAGAIN from codecs Merged-by: James Almer <jamrial@gmail.com>
| * lavc: make sure not to return EAGAIN from codecsAnton Khirnov2017-02-251-3/+3
| | | | | | | | | | | | This error is treated specially by the API. CC: libav-stable@libav.org
| * Use avpriv_report_missing_feature() where appropriateDiego Biurrun2016-11-081-2/+1
| |
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-041-3/+3
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avcodec/aacdec: Fix runtime error: signed integer overflow: 2147483520 + 255 ↵Michael Niedermayer2017-05-171-1/+3
| | | | | | | | | | | | | | | | | | cannot be represented in type 'int' Fixes: 1656/clusterfuzz-testcase-minimized-5900404925661184 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | imdct15: rename to mdct15 and add a forward transformRostislav Pehlivanov2017-02-141-1/+1
| | | | | | | | | | | | | | Handles strides (needed for Opus transients), does pre-reindexing and folding without needing a copy. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aac_latm: Copy whole AudioSpecificConfig when it is sized.Alex Converse2017-02-131-12/+15
| | | | | | | | This preserves sync extensions.
* | aac_latm: Allow unaligned AudioSpecificConfigAlex Converse2017-02-131-11/+15
| | | | | | | | Fixes ticket 4730
* | Move cbrt tables to separate cbrt_data(_fixed).c files.Reimar Döffinger2016-03-131-1/+1
| | | | | | | | | | | | Allows sharing and reusing the data between different files. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6'Hendrik Leppkes2016-01-011-2/+3
|\ \ | |/ | | | | | | | | | | * commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6': lavc: add profiles to AVCodecDescriptor Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * aacdec: fix aac_static_table_init() prototypeAnton Khirnov2015-12-071-1/+1
| |
| * aac: Make codec init run under ff_thread_onceDerek Buitenhuis2015-10-151-35/+49
| | | | | | | | | | | | This makes AAC init threadsafe. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * aac: Make sure to set err on the failure pathLuca Barbato2015-08-231-1/+3
| | | | | | | | Bug-Id: CID 1308153
* | aac: Make codec init run under ff_thread_onceDerek Buitenhuis2015-10-151-0/+2
| | | | | | | | | | | | This makes AAC init threadsafe. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | avcodec/aacdec: Fix integer overflow in argument to ↵Michael Niedermayer2015-08-031-1/+1
| | | | | | | | | | | | decode_audio_specific_config() Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-271-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-271-3/+3
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-271-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-271-2/+2
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * lavc: AV-prefix all codec flagsVittorio Giovara2015-07-271-1/+1
| | | | | | | | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | libavcodec: Implementation of AAC_fixed_decoder (LC-module) [4/4]Jovan Zelincevic2015-07-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Build system modified There are several warnings occurring during build after this patch is applied. The cause of most of these warnings is in that some definitions needed here are logical part of sbr module and are added in later patches. When this patches are applied these warnings stop occurring. The only warning that is added here and is not fixed with later patches is warning that warns that type mismatch for table ff_aac_eld_window_480. The reason for this warning is in that ER AAC ELD 480 is not integrated in to the fixed point implementation at this moment and there is no fixed point version of this table. Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavcodec: Implementation of AAC_fixed_decoder (LC-module) [3/4]Djordje Pesut2015-07-091-0/+5
| | | | | | | | | | | | | | Add fixed point implementation Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavcodec: Implementation of AAC_fixed_decoder (LC-module) [1/4]Jovan Zelincevic2015-07-091-3019/+1
| | | | | | | | | | | | | | Move existing code to the new template files Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/aacdec: Do not return a uninitialized valueMichael Niedermayer2015-06-081-1/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'bc76c46943272515805d7ac48ca39f14826d1fed'Michael Niedermayer2015-06-081-0/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'bc76c46943272515805d7ac48ca39f14826d1fed': aac: Wait to know the channels before allocating frame Conflicts: libavcodec/aacdec.c See: 676a395ab903cac623c5d6ddd0928c789e08a59e Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: Wait to know the channels before allocating frameLuca Barbato2015-06-071-2/+11
| | | | | | | | | | | | | | | | The channel configuration can be delivered only by the PCE, try to parse it first and not try to decode until a channel configuration is set. CC: libav-stable@libav.org
* | Merge commit 'a188108ebf28ebac9d2b8fc7d5b391aef45698b3'Michael Niedermayer2015-06-081-2/+11
|\ \ | |/ | | | | | | | | | | * commit 'a188108ebf28ebac9d2b8fc7d5b391aef45698b3': aac: Support channel configurations 11 and 12 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: Support channel configurations 11 and 12Sebastian Dröge2015-06-071-2/+11
| | | | | | | | | | | | | | | | | | | | | | These are defined in ISO/IEC 14496-3:2009/PDAM 4 for 6.1 and 7.1. It also defines another 7.1 layout with configuration 14, that one is not added here for now. 11: 3/3.1 FC FL+FR BL+BR BC LFE 12: 3/2/2.1 FC FL+FR SiL+SiR BL+BR LFE Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '677c804aa3a78d61b21e6423165a252846c20f0e'Michael Niedermayer2015-06-081-0/+5
|\ \ | |/ | | | | | | | | | | | | * commit '677c804aa3a78d61b21e6423165a252846c20f0e': aac: correctly map 7.1ch-wide AAC from FDK AAC encoder Sample: FDK_7.1ch_wide.aac Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: correctly map 7.1ch-wide AAC from FDK AAC encodernu7742015-06-071-0/+5
| | | | | | | | | | | | | | | | | | | | FDK AAC encoder outputs SCE(front)+CPE(front)+CPE(back)+CPE(back) on MODE_7_1_REAR_SURROUND configuration. Since decoder couldn't properly map 4 back channels, decoding failed unless -request_channel_layout 0x8000000000000000 has been specified. Now we treat first CPE(back) as CPE(side) on channel mapping. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '0289f81241e720452b5a77713488d54d3ec252d7'Michael Niedermayer2015-06-031-3/+10
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '0289f81241e720452b5a77713488d54d3ec252d7': aac: Correctly map multichannel ADTS AAC with non-zero channel_config + PCE Conflicts: libavcodec/aacdec.c Sample: 5.1ch_PCE_issue.aac Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: Correctly map multichannel ADTS AAC with non-zero channel_config + PCEnu7742015-06-031-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The decoder assigns channels using default channel configuration for 5.1ch when it parses an ADTS frame header using consecutive channel ids. When a PCE comes, it reassigns channels using PCE configuration using directly the ids provided. They can be arbitrary. Always use consecutive channel ids to avoid decoding glitches due spurious reconfigurations due the channel ids mismatch between the two otherwise-identical channel maps. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * aacdec: consistently use avctx for logging in decode_eld_specific_configAndreas Cadhalpun2015-04-191-1/+1
| | | | | | | | | | | | ac may be NULL and then accessing ac->avctx results in a segmentation fault. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | aacdec: remove a duplicated lineAndreas Cadhalpun2015-05-131-1/+0
| | | | | | | | | | | | | | got_frame_ptr is set again after the if block. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | aacdec: don't return frames without dataAndreas Cadhalpun2015-05-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | Since commit 676a395a aac->frame->data is not necessarily allocated at the end of aac_decode_frame_int if avctx->channels is 0. In this case a bogus frame without any data, but non-zero nb_samples is returned. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25'Michael Niedermayer2015-04-201-4/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a85dfc830f51f1f5c2d36d4182d265c1ea3ba25': lavc: Replace av_dlog and tprintf with internal macros Conflicts: libavcodec/aacdec.c libavcodec/audio_frame_queue.c libavcodec/bitstream.c libavcodec/dcadec.c libavcodec/dnxhddec.c libavcodec/dvbsubdec.c libavcodec/dvdec.c libavcodec/dvdsubdec.c libavcodec/get_bits.h libavcodec/gifdec.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_loopfilter.c libavcodec/h264_refs.c libavcodec/imc.c libavcodec/interplayvideo.c libavcodec/jpeglsdec.c libavcodec/libopencore-amr.c libavcodec/mjpegdec.c libavcodec/mpeg12dec.c libavcodec/mpegvideo_enc.c libavcodec/mpegvideo_parser.c libavcodec/pngdec.c libavcodec/ratecontrol.c libavcodec/rv10.c libavcodec/svq1dec.c libavcodec/vqavideo.c libavcodec/wmadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-191-4/+4
| |
* | aacdec: consistently use avctx for logging in decode_eld_specific_configAndreas Cadhalpun2015-04-161-1/+1
| | | | | | | | | | | | | | ac may be NULL and then accessing ac->avctx results in a segmentation fault. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | aacdec: Use macros for constantsRostislav Pehlivanov2015-04-141-5/+5
| | | | | | | | | | | | | | | | | | | | This commit replaces the previous hardcoded constants with both new and previously defined macros from aac.h. This change makes it easy for anyone reading the code to know how encoding and decoding scalefactors works. It's also possibly a step in unifying some of the code across both the encoder and decoder. Reviewed-by: Claudio Freire <klaussfreire@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/aacdec: Fix storing state before PCE decodeMichael Niedermayer2015-04-091-1/+1
| | | | | | | | | | | | Fixes Ticket4460 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '87e85a133f3ce2f037b90e9c7bbca99951df6c15'Michael Niedermayer2015-03-041-1/+2
|\ \ | |/ | | | | | | | | | | * commit '87e85a133f3ce2f037b90e9c7bbca99951df6c15': aac: Relax reserved_bit validation Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: Relax reserved_bit validationVittorio Giovara2015-03-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | Although the specification mandates this bit to zero, it may happen that software tools incorrectly flip it to one, invalidating a possibly valid stream. Relax this restriction, by failing only when AV_EF_BITSTREAM is set. This behaviour is similar to aac decoders in Firefox and Quicktime. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit 'ee964145b5d229571e00bf6883a44189d02babe2'Michael Niedermayer2015-02-281-2/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ee964145b5d229571e00bf6883a44189d02babe2': lavc: remove unused traces of fmtconvert usage Conflicts: libavcodec/aac.h libavcodec/aacdec.c libavcodec/atrac3.c libavcodec/vorbisdec.c libavcodec/wma.c libavcodec/wma.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: remove unused traces of fmtconvert usageAnton Khirnov2015-02-281-2/+0
| | | | | | | | | | Those decoders have been switched to float output and so do not use fmtconvert anymore.
* | Merge commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e'Michael Niedermayer2015-02-041-12/+26
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e': aacdec: Support for ER AAC ELD 480. Conflicts: libavcodec/aacdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud