summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* aarch64: vp9: Fix assembling with Xcode 6.2 and olderMemphiz2017-06-21
| | | | | | | | | | | | Properly use the b.eq/b.ge forms instead of the nonstandard forms (which both gas and newer clang accept though), and expand the register list that used a range (which the Xcode 6.2 clang, based on clang 3.5 svn, didn't support). This is cherrypicked from libav commit a970f9de865c84ed5360dd0398baee7d48d04620. Signed-off-by: Martin Storsjö <martin@martin.st>
* avcodec/mpegvideo: Use intra_scantable in dct_unquantize_h263_intra_c()Michael Niedermayer2017-06-21
| | | | | Reviewed-by: James Darnley <jdarnley@obe.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_filter: Fix invalid shiftMichael Niedermayer2017-06-21
| | | | | | | | | Fixes: runtime error: left shift of negative value -1 Fixes: 2299/clusterfuzz-testcase-minimized-4843509351710720 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevcdec: Check beta and tc offset in hls_slice_header()Michael Niedermayer2017-06-21
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Fix overflow in virtual_ref computationMichael Niedermayer2017-06-21
| | | | | | | | Fixes: runtime error: signed integer overflow: 262144 * -16120 cannot be represented in type 'int' Fixes: 2292/clusterfuzz-testcase-minimized-6156080415506432 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/lpc: signed integer overflow in compute_lpc_coefs() (aacdec_fixed)Michael Niedermayer2017-06-21
| | | | | | | | Fixes: runtime error: signed integer overflow: -1575818955 + -915383657 cannot be represented in type 'int' Fixes: 2224/clusterfuzz-testcase-minimized-6208559949807616 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/decode: Update decode_simple_internal() to get the side data correctly.John Rummell2017-06-20
| | | | | | | | Use avci->last_pkt_props to get the side data. Using |pkt| doesn't work when FF_API_MERGE_SD is set, as the compressed side data is expanded into |tmp|, leaving the original |pkt| unchanged. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/x86: allow future 8-bit simple idct to use slightly different ↵James Darnley2017-06-20
| | | | coefficients
* avcodec/mdec: override IDCT choice before initing DSP structsJames Darnley2017-06-20
|
* avcodec/x86: modify simple_idct10 macros to add an action paramterJames Darnley2017-06-20
|
* avcodec/x86: cleanup simple_idct10James Darnley2017-06-20
| | | | | | Use named arguments for the functions so we can remove a define. The stride/linesize argument is now ptrdiff_t type so we no longer need to sign extend the register.
* avcodec/x86/mpegenc: support transpose permuation typeJames Darnley2017-06-20
|
* avcodec/x86/mpegenc: check IDCT permutation type is a valid valueJames Darnley2017-06-20
|
* avcodec/x86/mpegvideo: Use intra scantable in dct_unquantize_h263_intra_mmx()Michael Niedermayer2017-06-20
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h264: Fix mix of lossless and lossy MBs decodingAnton Mitrofanov2017-06-19
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avcodec/h264_mb: Fix 8x8dct in lossless for new versions of x264Anton Mitrofanov2017-06-19
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avcodec/h264_cabac: Fix CABAC+8x8dct in 4:4:4Anton Mitrofanov2017-06-19
| | | | | | | Use the correct ctxIdxInc calculation for coded_block_flag. Keep old behavior for old versions of x264 for backward compatibility. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avcodec/wavpack: Fix undefined integer negationMichael Niedermayer2017-06-19
| | | | | | | | Fixes: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself Fixes: 2291/clusterfuzz-testcase-minimized-5538453481586688 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/aacdec_fixed: Check s for being too smallMichael Niedermayer2017-06-19
| | | | | | | | Fixes: runtime error: shift exponent -8 is negative Fixes: 2286/clusterfuzz-testcase-minimized-5711764169687040 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: Rename ff_mpv_decode_mb() to ff_mpv_reconstruct_mbMichael Niedermayer2017-06-19
| | | | | | The new name more accuratly describes what the function does Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* x86/aacpsdsp: add ff_ps_hybrid_analysis_ileave_sseJames Almer2017-06-18
| | | | About 2x faster than the c version.
* x86/aacpsdsp: add ff_ps_hybrid_synthesis_deint_{sse,sse4}James Almer2017-06-18
| | | | About 2x faster than the c version.
* avcodec/htmlsubtitles: Factor open brace handling into its own functionMichael Niedermayer2017-06-18
| | | | | Suggested-by: wm4 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/htmlsubtitles: Replace very slow redundant sscanf() calls by cleaner ↵Michael Niedermayer2017-06-18
| | | | | | | | | | | and faster code This reduces the worst case from O(n²) to O(n) time Fixes Timeout Fixes: 2127/clusterfuzz-testcase-minimized-6595787859427328 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/takdec: Fixes: integer overflow in AV_SAMPLE_FMT_U8P outputMichael Niedermayer2017-06-18
| | | | | | | | Fixes: runtime error: signed integer overflow: 2147483543 + 128 cannot be represented in type 'int' Fixes: 2234/clusterfuzz-testcase-minimized-6266896041115648 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/iff: Cleanup on init failureMichael Niedermayer2017-06-18
| | | | | | | | Fixes: memleak Fixes: 2272/clusterfuzz-testcase-minimized-5059103858622464 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000dsp: Reorder operations in ict_int() to avoid 2 integer ↵Michael Niedermayer2017-06-17
| | | | | | | | | | overflows Fixes: runtime error: signed integer overflow: 58065 * 51981 cannot be represented in type 'int' Fixes: 2271/clusterfuzz-testcase-minimized-5778297776504832 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevcpred_template: Fix left shift of negative valueMichael Niedermayer2017-06-17
| | | | | | | | Fixes: runtime error: left shift of negative value -1 Fixes: 2250/clusterfuzz-testcase-minimized-5693382112313344 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevcdec: Fix signed integer overflow in decode_lt_rps()Michael Niedermayer2017-06-17
| | | | | | | | Fixes: runtime error: signed integer overflow: 2147483647 + 6 cannot be represented in type 'int' Fixes: 2263/clusterfuzz-testcase-minimized-4800359627227136 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/gdv: Fix undefined shiftMichael Niedermayer2017-06-16
| | | | | | | | Fixes: runtime error: left shift of 255 by 24 places cannot be represented in type 'int' Fixes: 2249/clusterfuzz-testcase-minimized-5388542379294720 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000dec: Check nonzerobits more completelyMichael Niedermayer2017-06-16
| | | | | | | | Fixes: runtime error: shift exponent 36 is too large for 32-bit type 'int' Fixes: 2239/clusterfuzz-testcase-minimized-5639766592716800 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/wavpack: Change wp_log2() to unsignedMichael Niedermayer2017-06-16
| | | | | | | | Fixes: runtime error: signed integer overflow: 2143315325 + 4186162 cannot be represented in type 'int' Fixes: 2134/clusterfuzz-testcase-minimized-4619258405322752 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/shorten: Sanity check maxnlpcMichael Niedermayer2017-06-16
| | | | | | | | Fixes OOM Fixes: 2131/clusterfuzz-testcase-minimized-4718045157130240 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/aacps: move checks for valid length outside the stereo_interpolate ↵James Almer2017-06-15
| | | | | | dsp function Signed-off-by: James Almer <jamrial@gmail.com>
* x86/vorbisdsp: optimize ff_vorbis_inverse_coupling_sseJames Almer2017-06-15
| | | | About 7% faster.
* avcodec/parser: assert that there is a past buffer if theres a reference ↵Michael Niedermayer2017-06-16
| | | | | | into the past Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/truemotion2: Move skip computation after checksMichael Niedermayer2017-06-16
| | | | | | | | Fixes: runtime error: signed integer overflow: 630067357 * 4 cannot be represented in type 'int' Fixes: 2233/clusterfuzz-testcase-minimized-5943031318446080 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000: Fixes integer overflow in ff_jpeg2000_ceildivpow2()Michael Niedermayer2017-06-16
| | | | | | | | Fixes: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself Fixes: 2231/clusterfuzz-testcase-minimized-4565181982048256 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/dnxhd_parser: Do not return invalid value from ↵Michael Niedermayer2017-06-16
| | | | | | | | | | dnxhd_find_frame_end() on error Fixes: Null pointer dereference Fixes: CVE-2017-9608 Found-by: Yihan Lian Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* vc2enc: decrease default strictness levelRostislav Pehlivanov2017-06-15
| | | | | | Given how incredibly limited the official specifications are (limiting all use to only the most common broadcasting formats), permit all supported inputs by default. This makes the encoder more useful.
* vorbisenc: Stop tracking number of samples per frameTyler Jones2017-06-15
| | | | | | | | | Each frame is now padded with 0 values if not enough samples are present, and all frames are guaranteed to have exactly 1 << (venc->log2_blocksize[1] - 1) samples. Signed-off-by: Tyler Jones <tdjones879@gmail.com> Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* vorbisenc: Apply and output correct length window and mdctTyler Jones2017-06-15
| | | | | | | | | Usage of blocksize, window, mode, and mdct indexes are switched from default 0 to a default of 1 to better align with specs. A flag of 0 should correspond with short windows, a flag of 1 with long. Signed-off-by: Tyler Jones <tdjones879@gmail.com> Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* vorbisenc: Separate copying audio samples from windowingTyler Jones2017-06-15
| | | | | | | | | | | | Audio samples are shifted around when copying from the frame queue so that analysis can be done without negatively impacting calculation of the MDCT. Window coefficients are applied to the current two overlapped windows simultaneously instead of applying overlap for the next frame ahead of time. This improves readability when applying windows of varying lengths. Signed-off-by: Tyler Jones <tdjones879@gmail.com> Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avcodec/hevcdec: Check nb_spsMichael Niedermayer2017-06-15
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_refs: Check nb_refs in add_candidate_ref()Michael Niedermayer2017-06-15
| | | | | | | | Fixes: runtime error: index 16 out of bounds for type 'int [16]' Fixes: 2209/clusterfuzz-testcase-minimized-5012343912136704 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Check sprite delta upshift against overflowing.Michael Niedermayer2017-06-15
| | | | | | | | Fixes: runtime error: signed integer overflow: -268386304 * 16 cannot be represented in type 'int' Fixes: 2204/clusterfuzz-testcase-minimized-5616756909408256 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Fix integer overflow in num_sprite_warping_points=2 caseMichael Niedermayer2017-06-15
| | | | | | | | Fixes: runtime error: signed integer overflow: 131072 + 2147352576 cannot be represented in type 'int' Fixes: 2192/clusterfuzz-testcase-minimized-5370387988742144 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/dnxhdenc: Assert that frame size is not assigned an error codeMichael Niedermayer2017-06-15
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* hevc: Fix scaling list prediction delta for the 32x32 inter matrixMark Thompson2017-06-14
| | | | Fixes ticket #6356.
* vaapi: Add external control of allow-profile-mismatchMark Thompson2017-06-14
| | | | | | Uses the just-added ALLOW_PROFILE_MISMATCH flag. (cherry picked from commit 7acb90333a187b0e847b66f9d3511245423dc0ce)