summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* tests: Renamed pix_fmts wording in ffv1 test target name to match pix_fmt ↵Peter B2015-08-31
| | | | | | parameter. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* fate: use 'c' for setting the channel_layoutAndreas Cadhalpun2015-08-31
| | | | | | | | Without this fate-filter-join failes with FF_API_GET_CHANNEL_LAYOUT_COMPAT disabled. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avcodec/pngdec: fully support the tRNS chunkDonny Yang2015-08-31
| | | | Signed-off-by: Donny Yang <work@kota.moe>
* Merge commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc'Hendrik Leppkes2015-08-31
|\ | | | | | | | | | | | | * commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc': checkasm: Fix floating point arguments on 64-bit Windows Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * checkasm: Fix floating point arguments on 64-bit WindowsHenrik Gramner2015-08-28
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6'Hendrik Leppkes2015-08-31
|\| | | | | | | | | | | | | * commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6': vf_scale: Add an option to pass the scaler params Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * vf_scale: Add an option to pass the scaler paramsLuca Barbato2015-08-26
| | | | | | | | Reported-By: zehan@magicpony.technology
* | Merge commit 'c23999be134bde0a0554261a9043be7dbc01de0c'Hendrik Leppkes2015-08-31
|\| | | | | | | | | | | | | * commit 'c23999be134bde0a0554261a9043be7dbc01de0c': avconv_opt: Add an option that lists all supported hwaccels Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * avconv_opt: Add an option that lists all supported hwaccelsTimothy Gu2015-08-26
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3'Hendrik Leppkes2015-08-31
|\| | | | | | | | | | | | | * commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3': avconv_opt: Add missing comma Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * avconv_opt: Add missing commaTimothy Gu2015-08-26
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | swscale/utils: If cascaded contexts are used forward ↵Michael Niedermayer2015-08-31
| | | | | | | | | | | | sws_setColorspaceDetails() to the first context Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | swscale/utils: Split scaling if possible and yuv->yuv with different ↵Michael Niedermayer2015-08-31
| | | | | | | | | | | | | | | | | | | | | | matrixes is requested This uses a RGB intermediate, a more optimal solution would be to perform the rematrixing directly in subsampled YUV, this is quite a bit more complicated though Fixes Ticket4805 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_scale: If no output color matrix is specified, use the inputMichael Niedermayer2015-08-31
| | | | | | | | | | | | This should only affect yuv->yuv, and not change behavior Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_scale: Do not skip scale if the color matrix mismatchesMichael Niedermayer2015-08-31
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_scale: Do not skip scale if range mismatchesCarl Eugen Hoyos2015-08-31
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | fate: add -fflags +bitexact to the relevant targetsAndreas Cadhalpun2015-08-30
| | | | | | | | | | | | | | This fixes fate with FF_API_LAVF_BITEXACT disabled. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | mux: warn if the encoders bitexact flag is set, but not the muxersAndreas Cadhalpun2015-08-30
| | | | | | | | | | Based-on-patch-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | avfilter: add missing FF_API_AVFILTERBUFFER guardsAndreas Cadhalpun2015-08-30
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | avfilter/vf_separatefields: use the name 's' for the pointer to the private ↵Ganesh Ajjanagadde2015-08-30
| | | | | | | | | | | | context Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avcodec/qsv : Added look ahead rate control modeSven Dueking2015-08-30
| | | | | | | | | | Reviewed-by: Ivan Uskov <ivan.uskov@nablet.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_vectorscope: make color mode more usefulPaul B Mahol2015-08-30
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | swresample/swresample-test: Make layouts static constMichael Niedermayer2015-08-30
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avdevice/libdc1394: Make dc1394_frame_format and dc1394_frame_rate, staticMichael Niedermayer2015-08-30
| | | | | | | | | | | | These are not used outside nor are in installed headers Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/options: Make dummy_v?_encoder staticMichael Niedermayer2015-08-30
| | | | | | | | | | | | It does not need to be non static Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | doc/filters: mention all short names for vectorscope optionsPaul B Mahol2015-08-30
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter/vf_vectorscope: implement envelope supportPaul B Mahol2015-08-30
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/snowenc: Support setting the iterative dia size separatelyMichael Niedermayer2015-08-30
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | aacenc_tns: do not limit the filter sizeRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | This was copied from the decoder, but is unneeded for the encoder. tns_max_bands is unused and set to zero which zeroed out start, end and size and thus no filter was actually applied. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | lpc: rename ff_lpc_calc_levinsion to ff_lpc_calc_levinsonRostislav Pehlivanov2015-08-29
| | | | | | | | Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc_tns: fix out-of-bounds array accessRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | Since the coefficients are stepped up to order + 1 it was possible that it went over TNS_MAX_ORDER. Also just return in case the only coefficient is less than the threshold. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc_tns: actually apply TNS filter to the coefficientsRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | The encoder-side filter isn't that important. The PSNR shouldn't change so the FATE test should still be fine. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc: initialize LPC context with MAX_LPC_ORDERRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | The order should never go above TNS_MAX_ORDER (and thus cause the context to be reinitialized) but this is just in case. Also fix a comparison, since the coefficients are zero-indexed. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc_tns: fix triggering an assertion with assert-level=2Rostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | It also made no sense to actually make the filter span the entire window including the first band of the next window. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | avfilter/af_apad: use the name 's' for the pointer to the private contextGanesh Ajjanagadde2015-08-29
| | | | | | | | Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avfilter/vf_vectorscope: add yet another modePaul B Mahol2015-08-29
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avfilter: add allrgbClément Bœsch2015-08-29
| | | | | | | | | | Signed-off-by: Nicolas George <george@nsup.org> Signed-off-by: Clément Bœsch <u@pkh.me>
* | fate: adjust AAC encoder TNS test fuzzinessRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | Tests fails on some ARM builds but it's close enough so it's okay. NEON, half-precision floats, rounding errors, who knows. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | fate: add a test for encoding AAC-Main predictionRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | This commit introduces a test for AAC-Main prediction which was just reworked in this series of commits. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | fate: reenable TNS testRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | Hopefully without errors like last time, but I'm prepared. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc: remove TNS from the todo listRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | | | Pulses are already on the way so expect to see the list gone in the close future. TNS is already of sufficiently high quality to be enabled by default (but isn't yet, so you too can help by testing!). Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc_tns: rework the way coefficients are calculatedRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit abandons the way the specifications state to quantize the coefficients, makes use of the new LPC float functions and is much better. The original way of converting non-normalized float samples to int32_t which out LPC system expects was wrong and it was wrong to assume the coefficients that are generated are also valid. It was essentially a full garbage-in, garbage-out system and it definitely shows when looking at spectrals and listening. The high frequencies were very overattenuated. The new LPC function performs the analysis directly. The specifications state to quantize the coefficients into four bit index values using an asin() function which of course had to have ugly ternary operators because the function turns negative if the coefficients are negative which when encoding causes invalid bitstream to get generated. This deviates from this by using the direct TNS tables, which are fairly small since you only have 4 bits at most for index values. The LPC values are directly quantized against the tables and are then used to perform filtering after the requantization, which simply fetches the array values. The end result is that TNS works much better now and doesn't attenuate anything but the actual signal, e.g. TNS removes quantization errors and does it's job correctly now. It might be enabled by default soon since it doesn't hurt and helps reduce nastyness at low bitrates. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aac: remove now-unused redundant arrayRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | This commit removes the array which was made redundant with the last commit. The current prediction system gets the quantization error directly (and without the single-frame delay) in the search_for_pred function. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc_pred: rework the way prediction is doneRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit completely alters the algorithm of prediction. The original commit which introduced prediction was completely incorrect to even remotely care about what the actual coefficients contain or whether any options were enabled. Not my actual fault. This commit treats prediction the way the decoder does and expects to do: like lossy encryption. Everything related to prediction now happens at the very end but just before quantization and encoding of coefficients. On the decoder side, prediction happens before anything has had a chance to even access the coefficients. Also the original implementation had problems because it actually touched the band_type of special bands which already had their scalefactor indices marked and it's a wonder the asserion wasn't triggered when transmitting those. Overall, this now drastically increases audio quality and you should think about enabling it if you don't plan on playing anything encoded on really old low power ultra-embedded devices since they might not support decoding of prediction or AAC-Main. Though the specifications were written ages ago and as times change so do the FLOPS. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aacenc: change FF_PROFILE_UNKNOWN to AAC-Main if prediction is enabledRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | This was missed when the original commits were done. FF_PROFILE_UNKNOWN is what's in avctx->profile when no audio profile is specified. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | lpc: create a simplified Levinson-Durbin LPC handling float samplesRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit simply duplicates the functionality of ff_lpc_calc_coefs() for the case of a Levinson-Durbin LPC with the only difference being that floating point samples are accepted and the resulting coefficients are raw and unquantized. The motivation behind doing this is the fact that the AAC encoder requires LPC in TNS and LTP and converting non-normalized floating point coefficients to int32_t using SWR and again back for the LPC coefficients was very impractical. The current LPC interfaces were designed for int32_t in mind possibly because FLAC and ALAC use this type for most internal operations. The mathematics in case of floats remains of course identical. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* | aac: move the TNS tables from aacdectab to the shared aactabRostislav Pehlivanov2015-08-29
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | avcodec/vc1dec: Re-order init to avoid initting hwaccel too earlyPhilip Langdale2015-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least for vdpau, the hwaccel init code tries to check the video profile and ensure that there is a matching vdpau profile available. If it can't find a match, it will fail to initialise. In the case of wmv3/vc1, I observed initialisation to fail all the time. It turns out that this is due to the hwaccel being initialised very early in the codec init, before the profile has been extracted and set. Conceptually, it's a simple fix to reorder the init code, but it gets messy really fast because ff_get_format(), which is what implicitly trigger hwaccel init, is called multiple times through various shared init calls from h263, etc. It's incredibly hard to prove to my own satisfaction that it's safe to move the vc1 specific init code ahead of this generic code, but all the vc1 fate tests pass, and I've visually inspected a couple of samples and things seem correct. Signed-off-by: Philip Langdale <philipl@overt.org>
* | ffmpeg: force 128k default audio bitrate if nothing is specified and there ↵Michael Niedermayer2015-08-28
| | | | | | | | | | | | | | | | is no specific default This prevents breaking existing command lines in case the "ab" default is removed from libavcodec Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avfilter/vf_dejudder: use the name 's' for the pointer to the private contextPaul B Mahol2015-08-28
| | | | | | | | | | | | This is shorter and consistent across filters. Signed-off-by: Paul B Mahol <onemda@gmail.com>