summaryrefslogtreecommitdiff
path: root/libavcodec/aaccoder.c
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-01-24
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Remove ffmpeg. aacenc: Simplify windowing aacenc: Move saved overlap samples to the beginning of the same buffer as incoming samples. aacenc: Deinterleave input samples before processing. aacenc: Store channel count in AACEncContext. aacenc: Move Q^3/4 calculation to it's own table aacenc: Request normalized float samples instead of converting s16 samples to float. aacpsy: Replace an if with FFMAX in LAME windowing. aacenc: cosmetics, replace 'rd' with 'bits' in codebook_trellis_rate to make it more clear what is being calculated. aacpsy: cosmetics, change a FIXME to a NOTE about subshort comparisons aacenc: cosmetics: move init() and end() to the bottom of the file. aacenc: aac_encode_init() cleanup XWD encoder and decoder vc1: don't read the interpfrm and bfraction elements for interlaced frames mxfdec: fix memleak on mxf_read_close() westwood: split the AUD and VQA demuxers into separate files. Conflicts: .gitignore Changelog Makefile configure doc/ffmpeg.texi ffmpeg.c libavcodec/Makefile libavcodec/aacenc.c libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/version.h libavformat/Makefile libavformat/img2.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacenc: Move Q^3/4 calculation to it's own tableNathan Caldwell2012-01-23
| | | | | | | | | | | | This should be moved to tablegen at some point. Signed-off-by: Alex Converse <alex.converse@gmail.com>
| * aacenc: cosmetics, replace 'rd' with 'bits' in codebook_trellis_rate to make ↵Nathan Caldwell2012-01-23
| | | | | | | | | | | | it more clear what is being calculated. Signed-off-by: Alex Converse <alex.converse@gmail.com>
* | aacenc: add AAC_CODER_NBMichael Niedermayer2011-11-27
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-23
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) aacdec: Fix PS in ADTS. avconv: Consistently use PIX_FMT_NONE. dsputil: use cpuflags in x86 emu_edge_core dsputil: use movups instead of movdqu in ff_emu_edge_core_sse() wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits. mov: Remove some redundant and obsolete comments. Add libavutil/mathematics.h #includes for INFINITY doxy: structure libavformat groups doxy: introduce an empty structure in libavcodec doxy: provide a start page and document libavutil doxy: cleanup pixfmt.h regtest: split video encode/decode tests into individual targets ARM: add explicit .arch and .fpu directives to asm.S pthread: do not touch has_b_frames avconv: cleanup the transcoding loop in output_packet(). avconv: split subtitle transcoding out of output_packet(). avconv: split video transcoding out of output_packet(). avconv: split audio transcoding out of output_packet(). avconv: reindent. avconv: move streamcopy-only code out of decoding loop. ... Conflicts: avconv.c libavcodec/aaccoder.c libavcodec/pthread.c libavcodec/version.h libavutil/audioconvert.h libavutil/avutil.h libavutil/mem.h tests/ref/vsynth1/dv tests/ref/vsynth1/mpeg2thread tests/ref/vsynth2/dv tests/ref/vsynth2/mpeg2thread Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add libavutil/mathematics.h #includes for INFINITYMans Rullgard2011-11-22
| | | | | | | | | | | | This fixes build errors in some environments. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rational-test: Add proper main() declaration to fix gcc warnings. configure: Add vdpau and dxva2 to configure results output. Remove unused, never built libavutil/pca.[ch] matroskadec: forward parsing errors to caller. av_find_stream_info: simplify EAGAIN handling. aacenc: Fix determination of Mid/Side Mode. psymodel: Remove the single channel analysis function aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel. psymodel: Add channels and channel groups to the psymodel. ARM: remove check for PLD instruction fate: move amr[nw]b test rules into separate files ogg: fix double free when finding length of small chained oggs. swscale: implement >8bit scaling support. build: fix creation of tools dir with make 3.81 build: Mark all-yes Makefile target as phony. pixfmt: fix YUV422/444 wrong endian comment build: create output directories as needed Add new yuv444 pixfmts to avcodec_align_dimensions2 Conflicts: Makefile configure libavutil/pca.c libavutil/pca.h libavutil/pixfmt.h libswscale/swscale.c libswscale/utils.c libswscale/x86/swscale_template.c tests/ref/lavfi/pixdesc tests/ref/lavfi/pixfmts_copy tests/ref/lavfi/pixfmts_null tests/ref/lavfi/pixfmts_scale tests/ref/lavfi/pixfmts_vflip Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * psymodel: Add channels and channel groups to the psymodel.Nathan Caldwell2011-06-29
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (21 commits) swscale: Add Doxygen for hyscale_fast/hScale. fate: enable lavfi-pixmt tests on big endian systems PPC: swscale: disable altivec functions for unsupported formats fate: merge identical pixdesc_be/le tests swscale: Add Doxygen for yuv2planar*/yuv2packed* functions. build: call texi2pod.pl with full path instead of symlink build: include sub-makefiles using full path instead of symlinks swscale: update big endian reference values after dff5a835. wavpack: skip blocks with no samples cosmetics: remove outdated comment that is no longer true build: replace some addprefix/addsuffix with substitution refs avutil: Remove unused arbitrary precision integer code. configure: Drop check for availability of ten assembler operands. aacenc: Save channel configuration for later use. aacenc: Fix codebook trellising for zeroed bands. swscale: change prototypes of scaled YUV output functions. swscale: re-add support for non-native endianness. swscale: disentangle yuv2rgbX_c_full() into small functions. swscale: split yuv2packed[12X]_c() remainders into small functions. swscale: split yuv2packedX_altivec in smaller functions. ... Conflicts: Makefile configure libavcodec/x86/dsputil_mmx.c libavfilter/Makefile libavformat/Makefile libavutil/integer.c libavutil/integer.h libswscale/swscale.c libswscale/swscale_internal.h libswscale/x86/swscale_template.c tests/ref/lavfi/pixdesc_le tests/ref/lavfi/pixfmts_scale Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacenc: Fix codebook trellising for zeroed bands.Alex Converse2011-06-27
| | | | | | | | | | Choose band type (codebook) zero, count its bits, and mark the other states as unnavigable.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-06-03
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (25 commits) Replace custom DEBUG preprocessor trickery by the standard one. vorbis: Remove non-compiling debug statement. vorbis: Remove pointless DEBUG #ifdef around debug output macros. cook: Remove non-compiling debug output. Remove pointless #ifdefs around function declarations in a header. Replace #ifdef + av_log() combinations by av_dlog(). Replace custom debug output functions by av_dlog(). cook: Remove unused debug functions. Remove stray extra arguments from av_dlog() invocations. targa: fix big-endian build v4l2: remove one forgotten use of AVFormatParameters.pix_fmt. vfwcap: add a framerate private option. v4l2: add a framerate private option. libdc1394: add a framerate private option. fbdev: add a framerate private option. bktr: add a framerate private option. oma: check avio_read() return value nutdec: remove unused variable Remove unused variables swscale: allocate larger buffer to handle altivec overreads. ... Conflicts: ffmpeg.c libavcodec/dca.c libavcodec/dirac.c libavcodec/error_resilience.c libavcodec/h264.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pthread.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/shorten.c libavcodec/truemotion2.c libavcodec/utils.c libavdevice/dv1394.c libavdevice/fbdev.c libavdevice/libdc1394.c libavdevice/v4l2.c libavformat/4xm.c libavformat/apetag.c libavformat/asfdec.c libavformat/avidec.c libavformat/mmf.c libavformat/mpeg.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/oggdec.c libavformat/oggparseogm.c libavformat/rl2.c libavformat/rmdec.c libavformat/rpl.c libavformat/rtpdec_latm.c libavformat/sauce.c libavformat/sol.c libswscale/utils.c tests/ref/vsynth1/error tests/ref/vsynth2/error Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove unused variablesMans Rullgard2011-06-02
| |
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-05-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (32 commits) 10-bit H.264 x86 chroma v loopfilter asm Port SMPTE S302M audio decoder from FFmbc 0.3. [Copyright headers corrected] Fix crash of interlaced MPEG2 decoding h264pred: fix one more aliasing violation. doc/APIchanges: fill in missing hashes and dates. flacenc: use proper initializers for AVOption default values. lavc: deprecate named constants for deprecated antialias_algo. aac: workaround for compilation on cygwin swscale: extend YUV422p support to 10bits depth tiff: add support for inverted FillOrder for uncompressed data Remove unused softfloat implementation. h264pred: fix aliasing violations. rotozoom: Eliminate French variable name. rotozoom: Check return value of fread(). rotozoom: Return an error value instead of calling exit(). rotozoom: Make init_demo() return int and check for errors on invocation. rotozoom: Drop silly UINT8 typedef. rotozoom: Drop some unnecessary parentheses. rotozoom: K&R coding style cosmetics rtsp: Only do keepalive using GET_PARAMETER if the server supports it ... Conflicts: Changelog cmdutils.c doc/APIchanges doc/general.texi ffmpeg.c ffplay.c libavcodec/h264pred_template.c libavcodec/resample.c libavutil/pixfmt.h libavutil/softfloat.c libavutil/softfloat.h tests/rotozoom.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: workaround for compilation on cygwinReinhard Tartler2011-05-11
| | | | | | | | | | | | | | | | | | On cygwin, math.h needs to be included before float.h because of a bug in the system headers. Including libavutil/libm.h first works around this issue. Longer discussion of the topic: http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/128582
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Define POW_SF2_ZERO in aac.h and use for ff_aac_pow2sf_tabp[] offsets insteadAlex Converse2011-04-27
| | | | | | | | of hardcoding 200 everywhere.
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (23 commits) ac3enc: correct the flipped sign in the ac3_fixed encoder Eliminate pointless '#if 1' statements without matching '#else'. Add AVX FFT implementation. Increase alignment of av_malloc() as needed by AVX ASM. Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX. mjpeg: Detect overreads in mjpeg_decode_scan() and error out. documentation: extend documentation for ffmpeg -aspect option APIChanges: update commit hashes for recent additions. lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums aac: add headers needed for log2f() lavc: remove FF_API_MB_Q cruft lavc: remove FF_API_RATE_EMU cruft lavc: remove FF_API_HURRY_UP cruft pad: make the filter parametric vsrc_movie: add key_frame and pict_type. vsrc_movie: fix leak in request_frame() lavfi: add key_frame and pict_type to AVFilterBufferRefVideo. vsrc_buffer: add sample_aspect_ratio fields to arguments. lavfi: add fieldorder filter scale: make the filter parametric ... Conflicts: Changelog doc/filters.texi ffmpeg.c libavcodec/ac3dec.h libavcodec/dsputil.c libavfilter/avfilter.h libavfilter/vf_scale.c libavfilter/vf_yadif.c libavfilter/vsrc_buffer.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aac: add headers needed for log2f()Michael Niedermayer2011-04-26
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | aac: add math.h needed for log2f()Michael Niedermayer2011-04-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) ac3enc: move extract_exponents inner loop to ac3dsp avio: deprecate url_get_filename(). avio: deprecate url_max_packet_size(). avio: make url_get_file_handle() internal. avio: make url_filesize() internal. avio: make url_close() internal. avio: make url_seek() internal. avio: cosmetics, move AVSEEK_SIZE/FORCE declarations together avio: make url_write() internal. avio: make url_read_complete() internal. avio: make url_read() internal. avio: make url_open() internal. avio: make url_connect internal. avio: make url_alloc internal. applehttp: Merge two for loops applehttp: Restructure the demuxer to use a custom AVIOContext applehttp: Move finished and target_duration to the variant struct aacenc: reduce the number of loop index variables avio: deprecate url_open_protocol avio: deprecate url_poll and URLPollEntry ... Conflicts: libavformat/applehttp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacenc: reduce the number of loop index variablesYoung Han Lee2011-04-04
| | | | | | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* | Merge remote-tracking branch 'newdev/master'Michael Niedermayer2011-03-26
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * newdev/master: mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom. Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser and decoder, and vice-versa for the AC-3 encoder. Use audio_service_type to set stream disposition. Add APIchanges entry for audio_service_type. Add audio_service_type field to AVCodecContext for encoding and reporting of the service type in the audio bitstream. configure: in check_ld, place new -l flags before existing ones support @heading, @subheading, @subsubheading, and @subsubsection in texi2pod.pl doc: update build system documentation aacenc: indentation aacenc: fix the side calculation in search_for_ms vp8.c: rename EDGE_* to VP8_EDGE_*. Conflicts: doc/APIchanges libavcodec/avcodec.h libavcodec/version.h libavcodec/vp8.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * aacenc: indentationYoung Han Lee2011-03-24
| |
| * aacenc: fix the side calculation in search_for_msYoung Han Lee2011-03-24
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* aacenc: cosmetics, indentation, and comment clarificationNathan Caldwell2011-03-16
| | | | | Correct bad indentation in aaccoder Clarify and correct comments in 3GPP psymodel, other cosmetics.
* aaccoder: Change FFMAX for allzero flag to OR bit operationYoung Han Lee2011-03-16
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* aacenc: TLS: Save maximum values for each swb in a table.Alex Converse2010-07-24
| | | | | | This gives an almost 20% speedup. Originally committed as revision 24484 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l: Remove some commented out code that slipped in.Alex Converse2010-07-24
| | | | Originally committed as revision 24483 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: TLS: Try to preserve some energy in each non-zero band.Alex Converse2010-07-24
| | | | | | | Reduce scalefactors in non-zero bands that underflow by twice as much as those in bands that just fail to hit psy targets. Originally committed as revision 24482 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Prevent premature termination of the two loop search.Alex Converse2010-07-24
| | | | Originally committed as revision 24476 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Favor log2f() and sqrtf() over log2() and sqrt().Alex Converse2010-07-24
| | | | Originally committed as revision 24473 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Factorize some scalefactor utilities.Alex Converse2010-07-23
| | | | Originally committed as revision 24472 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Convert if () abort() to assert().Alex Converse2010-07-19
| | | | Originally committed as revision 24336 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics: WhitespaceAlex Converse2010-07-19
| | | | Originally committed as revision 24333 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l: Add a missing const.Alex Converse2010-07-16
| | | | Originally committed as revision 24274 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Template quantize_and_encode_band_cost().Alex Converse2010-07-16
| | | | Originally committed as revision 24273 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Fill in the estimated codebook for the final computed scalefactor in ↵Alex Converse2010-06-28
| | | | | | the TLS. Originally committed as revision 23869 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Remove an unnecessary division from the TLS.Alex Converse2010-05-28
| | | | Originally committed as revision 23368 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Cosmetics: whitespaceAlex Converse2010-05-28
| | | | Originally committed as revision 23367 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Remove unnecessary variables and scopes in the TLS.Alex Converse2010-05-28
| | | | Originally committed as revision 23366 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix declaration after statementAlex Converse2010-05-25
| | | | Originally committed as revision 23331 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Split find_max_val() from find_min_book() to eliminate duplicate ↵Alex Converse2010-05-25
| | | | | | searches. Originally committed as revision 23322 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove useless costly inf checks from the trellis scalefactor search.Alex Converse2010-05-25
| | | | Originally committed as revision 23319 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Trellis over scalefactors using an estimated codebook rather than ↵Alex Converse2010-05-25
| | | | | | | | every codebook. The minimal codebook to encode the band without clipping is used (as is done in the TLS). Originally committed as revision 23318 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Only trellis over a column of 61 scalefactors (reduced from 256).Alex Converse2010-05-25
| | | | | | This still provides plenty of dynamic range, makes every move legal, and greatly reduces the search space. Originally committed as revision 23317 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Factor out find_min_book so it can be used by multiple coefficient ↵Alex Converse2010-05-25
| | | | | | coders. Originally committed as revision 23316 to svn://svn.ffmpeg.org/ffmpeg/trunk
* fmaxf -> FFMAX to fix pre-C99 systemsAlex Converse2010-05-14
| | | | Originally committed as revision 23138 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Add a rate only trellis for codebook selection for the TLS.Alex Converse2010-05-14
| | | | Originally committed as revision 23136 to svn://svn.ffmpeg.org/ffmpeg/trunk
* aacenc: Use exact values when quantizing, not fuzzy values.Alex Converse2010-05-14
| | | | | | This requires us to code small escapes; we can't avoid it. Originally committed as revision 23135 to svn://svn.ffmpeg.org/ffmpeg/trunk