aboutsummaryrefslogtreecommitdiff
path: root/libavcodec
AgeCommit message (Collapse)Author
2018-11-25libavcodec/libdavs2.c: Fix for the wrong line size is usedLimin Wang
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2018-11-24avcodec/truemotion2: fix integer overflows in tm2_low_chroma()Michael Niedermayer
Fixes: 11295/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-4888953459572736 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-23avcodec: add truehd_core bitstream filterPaul B Mahol
2018-11-22cbs_h2645: Avoid memcpy when splitting fragmentAndreas Rheinhardt
Now memcpy is avoided for NAL units that don't contain 0x03 escape characters. Improves performance of cbs_h2645_fragment_add_nals from 36940 decicycles to 6364 decicycles based on 8 runs with a 5.1 Mb/s H.264 sample (262144 runs each). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-11-21avcodec/truemotion2: Check huffman code max bitsMichael Niedermayer
Fixes: Timeout Fixes: 10984/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-6643310750859264 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-19avcodec/mpeg_er: fix clearing chroma blocks for 422 and 444Marton Balint
Fixes ticket #7494. Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-19libvpxenc,cosmetics: fix { placementJames Zern
Signed-off-by: James Zern <jzern@google.com>
2018-11-19avcodec/libvpxenc: add VP8 temporal scalability config optionsArd Oerlemans
This commit adds configuration options to libvpxenc.c that can be used to enable VP8 temporal scalability. It also adds a way to programmatically set the per-frame encoding flags which can be used to control usage and updates of reference frames while encoding with temporal scalability enabled. Signed-off-by: James Zern <jzern@google.com>
2018-11-18libaomenc: Drop unused noise-sensitivity optionMark Thompson
2018-11-18avcodec/scpr: add version 3 supportPaul B Mahol
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-11-18vaapi_encode_h265: Reduce SAR to valid rangeMark Thompson
Matching previous commit for H.264.
2018-11-18vaapi_encode_h264: Reduce SAR to valid rangeMark Thompson
The SAR of the input could have a numerator or denominator greater than 2^16 which would then be truncated to a 16-bit integer when written to the VUI parameters, giving a random result. Instead, reduce the SAR to the nearest representable fraction. Fixes #7502.
2018-11-18h264_redundant_pps: Fix memleak in case of errorsAndreas Rheinhardt
Now the fragment is uninitialized and the input packet freed in case of errors. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-11-18avcodec/cbs_av1: don't abort when splitting Temporal Units containing OBUs ↵James Almer
with no obu_size field The ISOBMFF and Matroska specs allow the last OBU in a Sample/Block to have obu_has_size_field equal to 0. Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-18lavc/libdavs2: correct frame type settinghwren
Signed-off-by: hwren <hwrenx@126.com>
2018-11-18lavc/libdavs2: remove unused frame counterhwren
Signed-off-by: hwren <hwrenx@126.com>
2018-11-18vaapi_encode: Improve log message for unsupported profilesMark Thompson
2018-11-18mjpegdec: Fill raw huffman tables with default values tooMark Thompson
These may be used by hwaccel decoders when the standard tables are not otherwise available. At the same time, clean up that code into an array so it's a little less repetitive.
2018-11-18cbs_h265: Add a lot more SEI parsing supportMark Thompson
Supports both prefix and suffix SEI, decoding all of the common SEI types and some more obscure ones. Most of this is tested by the existing tests in fate.
2018-11-16avcodec/pngdec: Check compression methodMichael Niedermayer
method 0 (inflate/deflate) is the only specified in the specification and the only supported Fixes: Timeout Fixes: 10976/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PNG_fuzzer-5729372588736512 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-15avcodec/libvpxenc: Add a maximum constraint of 16 encoder threads.Chirag Lathia
Signed-off-by: Chirag Lathia <clathia@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14avutil/hwcontext_cuda: Define and use common CHECK_CU()Philip Langdale
We have a pattern of wrapping CUDA calls to print errors and normalise return values that is used in a couple of places. To avoid duplication and increase consistency, let's put the wrapper implementation in a shared place and use it everywhere. Affects: * avcodec/cuviddec * avcodec/nvdec * avcodec/nvenc * avfilter/vf_scale_cuda * avfilter/vf_scale_npp * avfilter/vf_thumbnail_cuda * avfilter/vf_transpose_npp * avfilter/vf_yadif_cuda
2018-11-14avcodec/cbs_av1: fix parsing signed integer valuesJames Almer
Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14avcodec/cbs_av1: fix storage size for segmentation_params feature_value fieldsJames Almer
The valid range is -255 to 255. Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14avcodec/libdav1d: fix build after a recent API breakJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14avcodec/huffyuvenc: add support for gbrp16Paul B Mahol
2018-11-13avcodec/shorten: Fix integer overflow with offsetMichael Niedermayer
Fixes: signed integer overflow: -1625810908 - 582229060 cannot be represented in type 'int' Fixes: 10977/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5732602018267136 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-13avcodec/golomb: Speed up long ur_golomb codesMichael Niedermayer
Fixes: Timeout Fixes: 10972/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FLAC_fuzzer-5707569640243200 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-13h264_metadata: Don't use inferred value of buffering framesAndreas Rheinhardt
Using the value of buffering frames inferred from the old level is not a sensible approach when one wants to guess the level. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-11-13h264_levels, h264_metadata_bsf: Fix levels typoAndreas Rheinhardt
profile_idc for level 1b should be 11, not 10. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-11-13avcodec/prores_metadata_bsf : fix colorspace checkMartin Vignali
Report by coverity CID 1441165
2018-11-13avcodec/libopenh264enc: fix class_nameTobias Rapp
Reverts some accidental change in commit e621b1ca646a2f268797adc3194b694a852548d2. Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2018-11-12lavc/videotoolbox: Fix cropping with HEVC and H264 videosAkemi
videotoolbox returns an already cropped stream which led to double cropping. this issue was introduced with the refactor of the cropping mechanism in commit 07596e4 for h264 and 000fb61 for HEVC. to fix this we set the cropping of the frame and the output frame to 0. Tested-by: ponpon Fixes ticket #7544.
2018-11-12avcodec/tiff: add initial bayer and sub image supportPaul B Mahol
2018-11-12cbs_h2645: Improve performance of writing slicesAndreas Rheinhardt
Instead of using a combination of bitreader and -writer for copying data, one can byte-align the (obsolete and removed) bitreader to improve performance. With the right alignment one can even use memcpy. The right alignment normally exists for CABAC and hence for H.265 in general. For aligned data this reduced the time to copy the slicedata from 776520 decicycles to 33889 with 262144 runs and a 6.5mb/s H.264 video. For unaligned data the number went down from 279196 to 97739 decicycles. Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-11-11avcodec : add prores_metadata bsf for set the color property of each prores ↵Martin Vignali
frame
2018-11-11cbs_mpeg2: Improve performance of writing slicesAndreas Rheinhardt
Instead of using a combination of bitreader and -writer for copying data, one can byte-align the (obsolete and removed) bitreader to improve performance. One can even use memcpy in the normal case. This improved the time needed for writing the slicedata from 33618 to 2370 decicycles when tested on a video originating from a DVD (4194394 runs). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-11-11cbs_h265: Add PTL parsing for sublayersMark Thompson
With fate test using the SLPPLP_A_VIDYO_2 conformance file, which contains two sublayers with full PTL information.
2018-11-10avcodec/imm4: Use ff_set_dimensions()Michael Niedermayer
Fixes: Out of memory Fixes: 10970/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IMM4_fuzzer-5698750043914240 Reviewed-by: Paul B Mahol <onemda@gmail.com> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-10h264_redundant_pps: Fix logging contextAndreas Rheinhardt
The first element of H264RedundantPPSContext is not a pointer to an AVClass as required. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-10avcodec/hevcdec: fix non-ref frame judgementMark Wu
After inspecting the source code of x265, mpv and ffmpeg, I've found that ffmpeg mistakenly regards EVC_NAL_BLA_N_LP and HEVC_NAL_IDR_N_LP as non- reference frames, which are acutally reference frames according to the specification in x265, and drops them. This patch should address the problem. I have tested it with mpv. Signed-off-by: Mark Wu <wfwf1997@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-10avcodec/wmaprodec: improve XMA missing samplesbnnm
Writes missing (delay) samples after EOF. Signed-off-by: bnnm <bananaman255@gmail.com>
2018-11-09libvpxenc: extend auto-alt-ref rangeJames Zern
vp9 now supports [0, 6] Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: James Zern <jzern@google.com>
2018-11-09libvpxenc,vp9: add enable-tpl optionJames Zern
enables temporal dependency model Signed-off-by: James Zern <jzern@google.com>
2018-11-08avcodec/qpeg: Optimize full width runs in qpeg_decode_intra()Michael Niedermayer
This improves the speed of decoding large patches of constant color Fixes: Timeout Fixes: 10967/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QPEG_fuzzer-5630803793936384 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-08avcodec/prores_aw : add support for prores 444 with alphaMartin Vignali
only 16b alpha is supported (not 8 bits) following official encoder, alpha data doesn't impact yuv plane quality. So the alpha data encoding is done after the yuv part. It's also avoid to loose quality in yuv part when alpha is not uniform. the alpha encoding funcs is mainly take from prores_ks encoder, except for the alpha data reorganization
2018-11-08avcodec/prores_aw : cosmetic indent and add comment to describe frame header ↵Martin Vignali
value description are based on multimedia wiki documentation
2018-11-08avcodec/prores_aw : change src pix_fmt and alpha descriptionMartin Vignali
use b64a as src pix fmt (doesn't seems to have an impact on decoding) but it's the value use by official encoder
2018-11-08cbs_h264: Fix handling of auxiliary picturesAndreas Rheinhardt
The earlier code used the most recent non-auxiliary slice to determine whether an auxiliary slice has the syntax of an IDR slice, even when the most recent slice was from a slice of a redundant frame. Now only slices of the primary coded picture are used, as the specifications mandate. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
2018-11-06lavc/qsvdec: flush buffered data before reinitLinjie Fu
Flush the buffered data in libmfx before video param reinit in case the frames drop. Cache the first frame causing the reinit and decode zero-size pkt to flush the buffered pkt before reinit. After all the buffered pkts being flushed, resume to reinit and decode. Fix the issue in ticket #7399. [V2]: Move the definition of zero_pkt to where it is exactly used. Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com>