- 22 Aug, 2015 7 commits
-
-
Rostislav Pehlivanov authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com>
-
Timothy Gu authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com>
-
Timothy Gu authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by:
Ganesh Ajjanagadde <gajjanag@mit.edu>
-
Timothy Gu authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by:
Ganesh Ajjanagadde <gajjanag@mit.edu>
-
Timothy Gu authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by:
Ganesh Ajjanagadde <gajjanag@mit.edu>
-
Timothy Gu authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com> Reviewed-by:
Ganesh Ajjanagadde <gajjanag@mit.edu>
-
Ganesh Ajjanagadde authored
REG_SP is defined by Solaris system headers. This fixes a sea of warnings while building on Solaris: http://fate.ffmpeg.org/report.cgi?time=20150820233505&slot=x86-opensolaris-gcc4.3Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 21 Aug, 2015 31 commits
-
-
Rostislav Pehlivanov authored
Thanks to @nevcairiel for pointing this one out. Another thing which stopped msvc from compiling. Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com>
-
Clément Bœsch authored
-
Rostislav Pehlivanov authored
This time in a platform/compiler-generic way. Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
This commit only creates and initializes an LTP context which is needed for upcoming commits (TNS). Signed-off-by:
Rostislav Pehlivanov <atomnuker@gmail.com>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Rostislav Pehlivanov authored
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>
-
Ganesh Ajjanagadde authored
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>
-
Ganesh Ajjanagadde authored
Unfortunately, there is no portable format specifier for PID's. Furthermore, it is not safe to assume pid_t <= 32 bit in size, see e.g http://unix.derkeiler.com/Mailing-Lists/AIX-L/2010-08/msg00008.html. Right now, it is ok to assume pid_t <= 32 bit in size, but this may change in the future. Also, this patch fixes warning due to lack of an appropriate cast from http://fate.ffmpeg.org/report.cgi?time=20150820233505&slot=x86-opensolaris-gcc4.3. Note that this method of handling pid_t is in line with what nginx does. Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Ganesh Ajjanagadde authored
Comment was previously slightly incorrect. Also, it was placed in the wrong location. Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Ganesh Ajjanagadde authored
Fixes -Wunused-const-variable from http://fate.ffmpeg.org/report.cgi?time=20150820031140&slot=arm64-darwin-clang-apple-5.1Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Found-by:
Paul B Mahol <onemda@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Found-by:
Timothy Gu <timothygu99@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Paul B Mahol authored
Speed up gain more than 2x. Signed-off-by:
Paul B Mahol <onemda@gmail.com>
-
James Almer authored
Signed-off-by:
James Almer <jamrial@gmail.com>
-
-
Michael Niedermayer authored
No testcase known Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
No testcase known Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Fixes Ticket4778 Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
The null muxer has AVFMT_RAWPICTURE set but can be fed with non-raw material related to Ticket4778 Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-
- 20 Aug, 2015 2 commits
-
-
Paul B Mahol authored
-
Ganesh Ajjanagadde authored
Fixes -Wunused-const-variable from http://fate.ffmpeg.org/report.cgi?time=20150820031140&slot=arm64-darwin-clang-apple-5.1Signed-off-by:
Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by:
Michael Niedermayer <michael@niedermayer.cc>
-