summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* disable deprecation warnings in deprecated codeAndreas Cadhalpun2015-08-22
| | | | | Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avcodec: Fix `make checkheaders`Timothy Gu2015-08-22
|
* ffv1: Add missing ff_ prefixesTimothy Gu2015-08-22
|
* vp9dsp: Add missing ff_ prefixesTimothy Gu2015-08-22
|
* aacsbr_fixed: Make fixed_{exp,log}_table static constTimothy Gu2015-08-22
|
* aacdec_fixed: Make exp2tab static constTimothy Gu2015-08-22
|
* fmtconvert: Remove float_interleave*Timothy Gu2015-08-22
| | | | They were not public or used anywhere.
* aacenc_quantization: replace copysign() with a ternary operatorRostislav Pehlivanov2015-08-22
| | | | | | | This commit removes the last thing a Windows environment can complain about the AAC encoder code. Leftover from an old revision. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc_is: rename struct to follow guidelinesRostislav Pehlivanov2015-08-22
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* acenctab: Fix merge conflictTimothy Gu2015-08-22
| | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: Add missing ff_ prefixesTimothy Gu2015-08-22
| | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
* aacenc: Harmonize multiple inclusion guardsTimothy Gu2015-08-22
| | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
* aacenctab: Add missing ff_ prefixesTimothy Gu2015-08-22
| | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
* aacenctab: Use FF_ARRAY_ELEMSTimothy Gu2015-08-22
| | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
* aacenc_tns: remove unused headerRostislav Pehlivanov2015-08-21
| | | | | | | Thanks to @nevcairiel for pointing this one out. Another thing which stopped msvc from compiling. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec/version: fix 2 recently introduced typoClément Bœsch2015-08-21
|
* aacenc_tns: re-enable coefficient compressionRostislav Pehlivanov2015-08-21
| | | | | | This time in a platform/compiler-generic way. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: treat unknown profile as AAC-LCRostislav Pehlivanov2015-08-21
| | | | | | | | When the encoder is ran without specifying -profile:a the default avctx->profile value is -99 (FF_PROFILE_UKNOWN), which used to be treated as AAC-LC. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc_tns: temporarily disable coefficient compressionRostislav Pehlivanov2015-08-21
| | | | | | | Hotfix to deal with msvc. Sane compilers lack POSIX ffs(). It only saves a single bit or so and isn't worth it that much. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: implement the complete AAC-Main profileRostislav Pehlivanov2015-08-21
| | | | | | | | | | | | | | | | | | | | | | | | This commit finalizes AAC-Main profile encoding support by implementing all mandatory and optional tools available in the specifications and current decoders. The AAC-Main profile reqires that prediction support be present (although decoders don't require it to be enabled) for an encoder to be deemed capable of AAC-Main encoding, as well as TNS, PNS and IS, all of which were implemented with previous commits or earlier of this year. Users are encouraged to test the new functionality using either -profile:a aac_main or -aac_pred 1, the former of which will enable the prediction option by default and the latter will change the profile to AAC-Main. No other options shall be changed by enabling either, it's currently up to the users to decide what's best. The current implementation works best using M/S and/or IS, so users are also welcome to enable both options and any other options (TNS, PNS) for maximum quality. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc_tns: implement temporal noise shapingRostislav Pehlivanov2015-08-21
| | | | | | | | | | | | | | | | | | | | This commit implements temporal noise shaping support in the encoder, along with an -aac_tns option to toggle it on or off (off by default for now). TNS will increase audio quality and reduce quantization noise by applying a multitap FIR filter across allowed coefficients and transmit side information to the decoder so it could create an inverse filter. Users are encouraged to test the new functionality by enabling -aac_tns 1 during encoding. No major bugs are observable at this time so after a while if no new problems appear and if the current implementation is deemed of high enough quality and stability it will be enabled by default, possibly at the same time the encoder has its experimental flag removed and becomes the standard aac encoder in ffmpeg. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: do not reject AAC-Main profileRostislav Pehlivanov2015-08-21
| | | | | | | | | This commit permits for the use of the Main profile in encoding. The functionality of that profile will be added in the commits following. By itself, this commit does not alter anything. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aaccoder: move the Intensity Stereo implementation outRostislav Pehlivanov2015-08-21
| | | | | | | | | | | | | | | | | | This commit moves the intensity stereo implementation out from aaccoder and into a separate file. This was possible using the previous commits. This commit also drastically improves the IS implementation by making it phase invariant e.g. it will always choose the best possible phase regardless of whether M/S coding is on or most of the coefficients have identical phases. This also increases the quality and reduces any distortions introduced by enablind intensity stereo. Users are encouraged to test it out using the -aac_is 1 parameter as it has always been. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aaccoder_mips: update function definitionsRostislav Pehlivanov2015-08-21
| | | | | | | | | | | | | This commit updates the function definitions in the aaccoder_mips.c file. This was broken around a month or so ago with the addition of the rounding argument. The previous commit in this series also introduced a separate array to put the quantization error in, this also needed to be updated, albeit non-functional, in the MIPS optimized aaccoder file. Credits for the rounding goes to Claudio Freire. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aaccoder: move the quantization functions to a separate fileRostislav Pehlivanov2015-08-21
| | | | | | | | | | | This commit moves the quantizer to a separate header file. This allows the quantizer to be used from a separate files outside of aaccoder without having to put another function pointer and will result in a slight speedup as the compiler can do more optimizations. This is required for commits following. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: create and initialize an LTP contextRostislav Pehlivanov2015-08-21
| | | | | | | This commit only creates and initializes an LTP context which is needed for upcoming commits (TNS). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: populate the sce->ics.swb_offset table pointerRostislav Pehlivanov2015-08-21
| | | | | | | | This commit simply populates the table pointer which is needed for upcoming commits (TNS, prediction, etc.). Copied from the decoder. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: reset special bands in the main frame encoding functionRostislav Pehlivanov2015-08-21
| | | | | | | | | | | | | | | | This commit moves the resetting of special bands (above RESERVED_BT) to the main frame encoding function rather than the way it was done previously in their corresponding search_for_... functions. The reason why special bands need to be reset is that while normal bands get chosen for every frame by the coder (twoloop by default) the coders do not touch any special sfbs and will therefore make them persist throughout the file. If we zero them out any bands left unmarked will be chosen by the second part of the coder (the trellis function in aaccoder.c). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc: coding style changesRostislav Pehlivanov2015-08-21
| | | | | | | | | | | | | | | This commit only changes the coding style to a saner way of accessing coefficients (makes more sense to get the memory address of a coefficients and start from there rather than adding arbitrary numbers to offset a pointer). Some compilers might detect an out of bounds access easier. Also the way M/S and IS coefficients are calculated has been changed, but should still have the same result (with the exception that IS now applies from the normal coefficients rather than the pristine ones, this is needed for upcoming commits). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec/x86/v210-init: fix unused variable warningGanesh Ajjanagadde2015-08-21
| | | | | | | Fixes a -Wunused-variable while compiling with --disable-yasm on x86 Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000: comment out unused variableGanesh Ajjanagadde2015-08-21
| | | | | | | | Fixes -Wunused-const-variable from http://fate.ffmpeg.org/report.cgi?time=20150820031140&slot=arm64-darwin-clang-apple-5.1 Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevcdsp: rename sao_band_filter c functionsJames Almer2015-08-21
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size checkMichael Niedermayer2015-08-21
| | | | | | Fixes Ticket4778 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/metasound_data: comment out unused variableGanesh Ajjanagadde2015-08-20
| | | | | | | | Fixes -Wunused-const-variable from http://fate.ffmpeg.org/report.cgi?time=20150820031140&slot=arm64-darwin-clang-apple-5.1 Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/aacsbr_fixed: remove unused variableGanesh Ajjanagadde2015-08-20
| | | | | | | | | Fixes -Wunused-const-variable from http://fate.ffmpeg.org/report.cgi?time=20150820031140&slot=arm64-darwin-clang-apple-5.1 Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* */version.h: Add note/recommandition about bumping majorMichael Niedermayer2015-08-19
| | | | | Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/qsvdec.c: the ff_get_format() missed at refactoring has been restoredIvan Uskov2015-08-19
| | | | | Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vaapi: drop unused include.Gwenole Beauchesne2015-08-19
| | | | Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* vaapi: fix usage of invalid buffer ids.Gwenole Beauchesne2015-08-19
| | | | | | | | | | | | | Invalid buffer ids are defined by VA_INVALID_ID. Use that through out vaapi_*.c support files now that we have private data initialized and managed by libavcodec. Previously, the only requirement for the public vaapi_context struct was to be zero-initialized. This fixes support for 3rdparty VA drivers that strictly conform to the API whereby an invalid buffer id is VA_INVALID_ID and the first valid buffer id can actually be zero. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* vaapi: streamline public context structure.Gwenole Beauchesne2015-08-19
| | | | | | | | | | | | Move libavcodec managed objects from the public struct vaapi_context to a new privately owned FFVAContext. This is done so that to clean up and streamline the public structure, but also to prepare for new codec support, thus requiring new internal data to be added in there. The AVCodecContext.hwaccel_context, that holds the public vaapi_context, shall no longer be accessed from within vaapi_*.c codec support files. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* vaapi: define a unique pixel format for VA-API (AV_PIX_FMT_VAAPI).Gwenole Beauchesne2015-08-19
| | | | | | | | | | Deprecate older VA pixel formats (MOCO, IDCT) as it is now very unlikely to ever be useful in the future. Only keep plain AV_PIX_FMT_VAAPI format that is aliased to the older VLD variant. This is an API change. Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* avcodec/qsvenc: Added PicTiming SEISven Dueking2015-08-19
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libx264: Add option to force IDR framesDerek Buitenhuis2015-08-18
| | | | | | | | | Currently, when forcing an I frame, via API, or via the ffmpeg cli, using -force_key_frames, we still let x264 decide what sort of keyframe to user. In some cases, it is useful to be able to force an IDR frame, e.g. for cutting streams. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavc: move vdpau decoders under FF_API_VDPAU.wm42015-08-18
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavc: put remaining bits of vdpau-in-decoder under FF_API_CAP_VDPAU.Ronald S. Bultje2015-08-18
|
* Prepare for removal of obsolete FF_IDCT_* members.Ronald S. Bultje2015-08-18
|
* mpeg4video: use ff_dlog instead of av_log under debug&FF_DEBUG_PTS.Ronald S. Bultje2015-08-18
| | | | This fixes compilation with FF_API_UNUSED_MEMBERS=0.
* lavc: fix compilation with FF_API_XVMC.Ronald S. Bultje2015-08-18
|
* libvpxenc: make flags i64 instead of dbl.Ronald S. Bultje2015-08-18
|
* FF_OPT_TYPE_* -> AV_OPT_TYPE_*.Ronald S. Bultje2015-08-18
|