summaryrefslogtreecommitdiff
path: root/libavcodec/aacdectab.h
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/aacdec: refactor the channel layout derivation codeJames Almer2022-11-031-3/+24
| | | | | | | | | Generalize the checks for channels in all positions, and properly support the three height groups (normal, top, bottom) instead of manually setting the relevant channels for the latter two after the normal height tags were parsed. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aacdec: add support for channel configuration 14James Almer2022-11-031-3/+3
| | | | | | It corresponds to the 7.1(top) layout. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aacdec: fix parsing streams with channel configuration 11James Almer2022-11-031-3/+3
| | | | | | | | Set the correct amount of tags in tags_per_config[]. Also, there are no channels that correspond to a side element in this configuration, so reflect this in the list of known/supported channel layouts. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aacdectab: Remove empty channel layoutsAndreas Rheinhardt2022-09-281-8/+2
| | | | | | | | | They will be mistaken for the sentinel of the arrays they are in, thereby hiding the 6.1, 7.1 and 22.2 layouts. (This doesn't really matter, as these arrays are informational only for decoders.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* aac: convert to new channel layout APIAnton Khirnov2022-03-151-0/+20
| | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aacdectab: add mapping for 22.2Jan Ekström2020-08-041-2/+21
| | | | Utilizes the newly added 22.2 channel layout for channel_layout 13.
* aactab: move ltp_coef[] from aacdectab to aactabRostislav Pehlivanov2015-10-171-8/+0
| | | | The encoder makes use of it in the following commits.
* aac: move the TNS tables from aacdectab to the shared aactabRostislav Pehlivanov2015-08-291-35/+0
| | | | | | | | | | | | This commit simply moves the TNS tables to a more appropriate aactab.h since then they can be accessed by both the decoder and encoder. The encoder _shouldn't_ normally need the tables since the specs describe a specific quantization process, but the exact reason for this can be seen in the TNS commit following. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* libavcodec: Implementation of AAC_fixed_decoder (LC-module) [2/4]Jovan Zelincevic2015-07-091-17/+17
| | | | | | | Add fixed point implementation of functions for generating tables Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit 'a188108ebf28ebac9d2b8fc7d5b391aef45698b3'Michael Niedermayer2015-06-081-3/+16
|\ | | | | | | | | | | | | * 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-3/+16
| | | | | | | | | | | | | | | | | | | | | | 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 '97bf7c03b1338a867da52c159a2afecbdedcfa88'Michael Niedermayer2012-11-121-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '97bf7c03b1338a867da52c159a2afecbdedcfa88': doc: git-howto: Leave reviewers time to react before pushing patches Include libavutil/channel_layout.h instead of libavutil/audioconvert.h lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/git-howto.texi ffmpeg_filter.c libavcodec/flacdec.c libavcodec/imc.c libavcodec/mpegaudiodec.c libavcodec/utils.c libavfilter/asrc_anullsrc.c libavfilter/audio.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/avfiltergraph.c libavfilter/buffer.c libavutil/Makefile libavutil/audioconvert.h libavutil/channel_layout.c libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Include libavutil/channel_layout.h instead of libavutil/audioconvert.hJustin Ruggles2012-11-111-1/+1
| | | | | | | | Also reorder some other #include when applicable.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-111-8/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (38 commits) v210enc: remove redundant check for pix_fmt wavpack: allow user to disable CRC checking v210enc: Use Bytestream2 functions cafdec: Check return value of avio_seek and avoid modifying state if it fails yop: Check return value of avio_seek and avoid modifying state if it fails tta: Check return value of avio_seek and avoid modifying state if it fails tmv: Check return value of avio_seek and avoid modifying state if it fails r3d: Check return value of avio_seek and avoid modifying state if it fails nsvdec: Check return value of avio_seek and avoid modifying state if it fails mpc8: Check return value of avio_seek and avoid modifying state if it fails jvdec: Check return value of avio_seek and avoid modifying state if it fails filmstripdec: Check return value of avio_seek and avoid modifying state if it fails ffmdec: Check return value of avio_seek and avoid modifying state if it fails dv: Check return value of avio_seek and avoid modifying state if it fails bink: Check return value of avio_seek and avoid modifying state if it fails Check AVCodec.pix_fmts in avcodec_open2() svq3: Prevent illegal reads while parsing extradata. remove ParseContext1 vc1: use ff_parse_close mpegvideo parser: move specific fields into private context ... Conflicts: libavcodec/4xm.c libavcodec/aacdec.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/mpeg4video_parser.c libavcodec/svq3.c libavcodec/v210enc.c libavformat/cafdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacdec: Support native channel layout when requested.Alex Converse2012-02-091-5/+5
| |
| * aacdec: Try to sniff a reasonable channel layout for PCE based configurations.Alex Converse2012-02-091-8/+8
| | | | | | | | This changes the output order of multichannel PCE based streams.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-02-091-2/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: pixdesc: mark pseudopaletted formats with a special flag. avconv: switch to avcodec_encode_video2(). libx264: implement encode2(). libx264: split extradata writing out of encode_nals(). lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket cmdutils: update copyright year to 2012. swscale: sign-extend integer function argument to qword on x86-64. x86inc: support yasm -f win64 flag also. h264: manually save/restore XMM registers for functions using INIT_MMX. x86inc: allow manual use of WIN64_SPILL_XMM. aacdec: Use correct speaker order for 7.1. aacdec: Remove incorrect comment. aacdec: Simplify output configuration. Remove Sun medialib glue code. dsputil: set STRIDE_ALIGN to 16 for x86 also. pngdsp: swap argument inversion. Conflicts: cmdutils.c configure doc/APIchanges ffmpeg.c libavcodec/aacdec.c libavcodec/dsputil.h libavcodec/libx264.c libavcodec/mlib/dsputil_mlib.c libavcodec/utils.c libavfilter/vf_scale.c libavutil/avutil.h libswscale/mlib/yuv2rgb_mlib.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacdec: Use correct speaker order for 7.1.Alex Converse2012-02-081-2/+2
| | | | | | | | | | | | | | | | | | The spec says the following speaker mapping is default: center front speaker left, right center front speakers, left, right outside front speakers, left surround, right surround rear speakers, front low frequency effects speaker
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-261-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: swscale: Readd #define _SVID_SOURCE Fix av_get_channel_layout_string() for positions >31 configure: Store vda lib flags in extralibs instead of ldflags Make channel layout masks unsigned dca: ARMv6 optimised decode_blockcode() nullenc: drop AVFMT_RAWPICTURE from the flags frame-mt: return consumed packet size in ff_thread_decode_frame aacdec: add more fate tests covering SBR and PS MK(BE)TAG: avoid undefined shifts Conflicts: configure libavcodec/arm/dca.h libavcodec/dca.c libavcodec/mlp_parser.c libavcodec/version.h libavfilter/asrc_anullsrc.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/defaults.c libavutil/audioconvert.c libavutil/avutil.h libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Make channel layout masks unsignedMans Rullgard2011-11-251-1/+1
| | | | | | | | | | | | | | | | | | | | It makes more sense for a bit mask to use an unsigned type. The change should be source and binary compatible on all supported systems, hence micro version bump. Fixes a few invalid shifts. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-281-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: vorbisdec: Rename silly "class_" variable to plain "class". simple_idct_alpha: Drop some useless casts. Simplify av_log_missing_feature(). ac3enc: remove check for mismatching channels and channel_layout If AVCodecContext.channels is 0 and AVCodecContext.channel_layout is non-zero, set channels based on channel_layout. If AVCodecContext.channel_layout and AVCodecContext.channels are both non-zero, check to make sure they do not contradict eachother. cosmetics: indentation Check AVCodec.supported_samplerates and AVCodec.channel_layouts in avcodec_open(). aacdec: remove sf_scale and sf_offset. aacdec: use a scale of 2 in the LTP MDCT rather than doubling the coefficient table values from the spec. Define POW_SF2_ZERO in aac.h and use for ff_aac_pow2sf_tabp[] offsets instead of hardcoding 200 everywhere. Large intensity stereo and PNS indices are legal. Clip them instead of erroring out. A magnitude of 100 corresponds to 2^25 so the will most likely result in clipped output anyway. qpeg: use reget_buffer() in decode_frame() ultimotion: use reget_buffer() in ulti_decode_frame() smacker: remove unnecessary call to avctx->release_buffer in decode_frame() avparser: don't av_malloc(0). Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacdec: use a scale of 2 in the LTP MDCT rather than doubling the coefficientJustin Ruggles2011-04-271-3/+3
| | | | | | | | table values from the spec.
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Merge libavcore into libavutilReinhard Tartler2011-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It is pretty hopeless that other considerable projects will adopt libavutil alone in other projects. Projects that need small footprint are better off with more specialized libraries such as gnulib or rather just copy the necessary parts that they need. With this in mind, nobody is helped by having libavutil and libavcore split. In order to ease maintenance inside and around FFmpeg and to reduce confusion where to put common code, avcore's functionality is merged (back) to avutil. Signed-off-by: Reinhard Tartler <siretart@tauware.de>
| * aacdec: Implement LTP support.Young Han Lee2011-02-141-0/+8
| | | | | | | | Ported from gsoc svn.
* | Merge libavcore into libavutilReinhard Tartler2011-02-161-1/+1
| | | | | | | | Done to keep ABI compatible. Otherwise this is just silly
* | aacdec: Implement LTP support.Young Han Lee2011-02-151-0/+8
|/ | | | | Ported from gsoc svn. (cherry picked from commit ead15f1dc196ad164d105e31c8c9025f8a4ee4e7)
* Use the new libavcore audio channel API.Stefano Sabatini2010-11-211-7/+8
| | | | | | | This also allows to remove a linking dependency of libavfilter on libavcodec. Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-201-1/+1
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* AAC: Add channel layout support for channel configuration as defined in theRobert Swain2009-09-281-0/+23
| | | | | | specification Originally committed as revision 20067 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move TNS and swb_offset tables from aacdectab.h to aactab.c so that they can beAlex Converse2009-06-121-139/+0
| | | | | | shared with the AAC encoder. Originally committed as revision 19174 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add support for sample rate index 12, 7350 HzAlex Converse2009-02-121-4/+6
| | | | | | Patch by Alex Converse ( alex converse gmail com ) Originally committed as revision 17180 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use full internal pathname in doxygen @file directives.Diego Biurrun2009-02-011-1/+1
| | | | | | | Otherwise doxygen complains about ambiguous filenames when files exist under the same name in different subdirectories. Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add (additional) const to many global tables.Reimar Döffinger2008-10-021-1/+1
| | | | Originally committed as revision 15515 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Multiply table by -1. This avoid doing this calculation (that was introducedVitor Sessak2008-09-041-9/+9
| | | | | | in my last commit) in real time. Originally committed as revision 15195 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Globally rename the header inclusion guard names.Stefano Sabatini2008-08-311-3/+3
| | | | | | | | | Consistently apply this rule: the guard name is obtained from the filename by stripping the leading "lib", converting '/' and '.' to '_' and uppercasing the resulting name. Guard names in the root directory have to be prefixed by "FFMPEG_". Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
* More OKed AAC decoder code hunksRobert Swain2008-08-181-0/+35
| | | | Originally committed as revision 14829 to svn://svn.ffmpeg.org/ffmpeg/trunk
* More OKed AAC decoder code hunksRobert Swain2008-08-181-0/+15
| | | | Originally committed as revision 14828 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Sync already committed code with that in SoC and commit more OKed hunks of codeRobert Swain2008-08-091-0/+159
Originally committed as revision 14674 to svn://svn.ffmpeg.org/ffmpeg/trunk