summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* avcodec/qdm2: make use of bytestream2Paul B Mahol2017-01-09
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavc/vaapi_encode_h264: disable B frames in baseline profileJun Zhao2017-01-09
| | | | | | | | | Disable B frames when using baseline/constrained baseline profile, following H.264 spec Annex A.2.1. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Yi A Wang <yi.a.wang@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avcodec/bsf: Fix av_bsf_list_free()Michael Niedermayer2017-01-08
| | | | | | | Negate null check Fixes CID1396248 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/omx: Do not pass negative value into av_malloc()Michael Niedermayer2017-01-08
| | | | | | Fixes CID1396849 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/dca: add support for 20-bit XLLfoo862017-01-07
| | | | | | | Fixes ticket #6063. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: add QDMC decoderPaul B Mahol2017-01-06
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/iff: add support for vertical word compression in ILBMPaul B Mahol2017-01-06
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* libavcodec/exr: Fix blank output when data window != display windowKevin Wheatley2017-01-06
| | | | | | | | | | | | | | looks like there is a bug in commit 1a08758e7c4e14a9ea8d2fef6c33ad411b2d3c40 relating to the handling of ptr in decode_frame after decode_block is called, before this commit ptr would have been incremented for each line in the data window, now after the commit it is left at the start of the first included line rather than the line after the data window then the code sets the remaining lines to 0 and thus the whole image is over written. Fix by adjusting ptr to the correct line after decode_block returns Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
* imdct15: replace the FFT with a faster PFA FFT algorithmRostislav Pehlivanov2017-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the current inefficient non-power-of-two FFT with a much faster FFT based on the Prime Factor Algorithm. Although it is already much faster than the old algorithm without SIMD, the new algorithm makes use of the already very throughouly SIMD'd power of two FFT, which improves performance even more across all platforms which we have SIMD support for. Most of the work was done by Peter Barfuss, who passed the code to me to implement into the iMDCT and the current codebase. The code for a 5-point and 15-point FFT was derived from the previous implementation, although it was optimized and simplified, which will make its future SIMD easier. The 15-point FFT is currently using 6% of the current overall decoder overhead. The FFT can now easily be used as a forward transform by simply not multiplying the 5-point FFT's imaginary component by -1 (which comes from the fact that changing the complex exponential's angle by -1 also changes the output by that) and by multiplying the "theta" angle of the main exptab by -1. Hence the deliberately left multiplication by -1 at the end. FATE passes, and performance reports on other platforms/CPUs are welcome. Performance comparisons: iMDCT, PFA: 101127 decicycles in speed, 32765 runs, 3 skips iMDCT, Old: 211022 decicycles in speed, 32768 runs, 0 skips Standalone FFT, 300000 transforms of size 960: PFA Old FFT kiss_fft libfftw3f 3.659695s, 15.726912s, 13.300789s, 1.182222s Being only 3x slower than libfftw3f is a big achievement by itself. There appears to be something capping the performance in the iMDCT side of things, possibly during the pre-stage reindexing. However, it is certainly fast enough for now. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* imdct15: remove the AArch64 assemblyRostislav Pehlivanov2017-01-05
| | | | | | | | | | | | | | | Prep work for the next commit, which will add a new FFT algorithm which makes the iMDCT over 3x faster than it is currently (standalone, the FFT is with some framesizes over 10x faster). The new FFT algorithm uses the already thouroughly SIMD'd power of two FFT which already has SIMD for AArch64, so users of that platform will still see an improvement. The previous FFT+SIMD was barely 2.5x faster than the C versions on these platforms. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* dxva2: make ff_dxva2_get_surface() static and rename itSteve Lhomme2017-01-05
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/Makefile: Clean up the amv encoder dependencies.Carl Eugen Hoyos2017-01-05
|
* avcodec/bitstream: Document the values supported for *_size in ↵Michael Niedermayer2017-01-05
| | | | | | ff_init_vlc_sparse() Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bitstream: assert that *_size in ff_init_vlc_sparse() is validMichael Niedermayer2017-01-05
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* wmavoice: validate block alignmentAndreas Cadhalpun2017-01-03
| | | | | | | | | | This prevents a division by zero crash in wmavoice_decode_packet. The problem was introduced by commit 3deb4b54a24f8cddce463d9f5751b01efeb976af. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* wmavoice: truncate spillover_nbits if too largeAndreas Cadhalpun2017-01-03
| | | | | | | | | | | This fixes triggering the av_assert0(ret <= tmp.size). The problem was reintroduced by commit 7b27dd5c16de785297ce4de4b88afa0b6685f61d and originally fixed by 2a4700a4f03280fa8ba4fc0f8a9987bb550f0d1e. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avcodec/x86/vc1dsp_mc: Fix build with NASM 2.09.10Michael Niedermayer2017-01-02
| | | | | | | make fate passes Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/x86/imdct36: fix building with nasm 2.11.05John Comeau2017-01-02
| | | | | | | | | fixes `operation size not specified` errors as described here: http://stackoverflow.com/questions/36854583/compiling-ffmpeg-for-kali-linux-2 I rebuilt again with yasm and made sure it didn't break that. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/psd: Support indexed files.Carl Eugen Hoyos2017-01-02
| | | | Fixes ticket #6045.
* avcodec/tests/fft: Fix indention of dct_init()Michael Niedermayer2017-01-01
| | | | | | Fixes CID1396253 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/mjpegdec: Do not overread too short JFIF tags.Carl Eugen Hoyos2017-01-01
| | | | Fixes ticket #6055.
* avcodec/nvenc: Add bluray_compat basic implementationMiroslav Slugen2017-01-01
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: Make AUD optional for h264_nvenc and hevc_nvencMiroslav Slugen2017-01-01
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: round qpIntra and qpInter calculationMiroslav Slugeň2017-01-01
| | | | | | | | Round qpIntra and qpInter calculation instead of old floor behavior. Adopted from vaapi_encode_h264.c Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* lavc/libmp3lame: add support for cutoffMoritz Barsnick2016-12-31
| | | | | | | | Pass the cutoff option from lavc's avcodec_options[] to libmp3lame's lowpass option, without allowing to adjust its default behavior. Signed-off-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegdec: Check for rgb before flippingMichael Niedermayer2016-12-31
| | | | | | | | Fixes assertion failure due to unsupported case Fixes: 356/fuzz-1-ffmpeg_VIDEO_AV_CODEC_ID_MJPEG_fuzzer Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/psd: Remove an uninitialized variable.Carl Eugen Hoyos2016-12-30
|
* avcodec/libopenjpegdec: Set key frame metadataMichael Bradshaw2016-12-28
| | | | | Signed-off-by: Michael Bradshaw <mjbshaw@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* wmavoice: protect against zero-energy in adaptive gain control.Ronald S. Bultje2016-12-27
| | | | | Otherwise the scale factor becomes NaN, resulting in corrupt output. Fixes #5426.
* wmavoice: move overflow handling to common code.Ronald S. Bultje2016-12-27
|
* wmavoice: reindent.Ronald S. Bultje2016-12-27
|
* wmavoice: disable bitstream checking.Ronald S. Bultje2016-12-27
| | | | | | | | The checked bitstream reader does that already. To allow parsing of superframes split over a packet boundary, we always decode the last superframe in each packet at the start of the next packet, even if theoretically we could have decoded it. The last superframe in the last packet is decoded using AV_CODEC_CAP_DELAY.
* wmavoice: move wmavoice_flush() up.Ronald S. Bultje2016-12-27
|
* avcodec/ylc: thread safe initialization is possible with this codecPaul B Mahol2016-12-26
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/ylc: add frame threading supportPaul B Mahol2016-12-26
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/ylc: do not leak memory at uninitPaul B Mahol2016-12-26
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/magicyuv: export colorspace and color_range for YUVPaul B Mahol2016-12-26
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* NVENC: Update check for LookaheadRuta Gadkari2016-12-26
| | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/lossless_videodsp: fix output of add_hfyu_left_pred_int16_c()James Almer2016-12-26
| | | | | | | It is now bitexact with the ssse3 and sse4.1 versions of the function. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/error_resilience: Move variable initialization down, remove unneeded ↵Michael Niedermayer2016-12-25
| | | | | | | | inits This makes the code faster and easier to read Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/error_resilience: Merge surrounding status checksMichael Niedermayer2016-12-25
| | | | | | Simplifies code and is also faster Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/error_resilience: Factor block parity check outMichael Niedermayer2016-12-25
| | | | | | This makes the code noticably faster when there are lots of blocks Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pixlet: simplify lowpass_prediction() functionPaul B Mahol2016-12-24
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/utvideo: fix mistake using wrong arguments for left and lefttop ↵Paul B Mahol2016-12-24
| | | | | | pixel components Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/pixlet: make sure scaling factors are not zeroPaul B Mahol2016-12-24
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/pixlet: avoid some overflowsPaul B Mahol2016-12-24
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/pixlet: fix undefined behaviour in postprocess_chromaPaul B Mahol2016-12-24
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/utvideodec: add SIMD support for median prediction for planar formatsPaul B Mahol2016-12-23
| | | | | | ~10% faster overall. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/asvdec: return correct value in case of errorPaul B Mahol2016-12-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/pixlet: check out of bounds pfx valuePaul B Mahol2016-12-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>