summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
...
* | lavc: replace and deprecate the lock managerwm42017-12-263-99/+21
| | | | | | | | | | | | | | Use static mutexes instead of requiring a lock manager. The behavior should be roughly the same before and after this change for API users which did not set the lock manager at all (except that a minor memory leak disappears).
* | w32pthreads: always use Vista+ API, drop XP supportwm42017-12-262-8/+0
| | | | | | | | | | | | | | | | | | | | | | This removes the XP compatibility code, and switches entirely to SWR locks, which are available starting at Windows Vista. This removes CRITICAL_SECTION use, which allows us to add PTHREAD_MUTEX_INITIALIZER, which will be useful later. Windows XP is hereby not a supported build target anymore. It was decided in a project vote that this is OK.
* | avcodec: add stride alignment needed for AVX-512James Darnley2017-12-241-1/+3
| |
* | avcodec/jpeg2000dec: Free lengthinc earlierMichael Niedermayer2017-12-211-0/+3
| | | | | | | | | | | | Reduces memory needed Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/mpeg4videodec: Add support for parsing and exporting video_rangeMichael Niedermayer2017-12-212-0/+36
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/jpeg2000dec: Allocate lengthinc and data_start arrays as neededMichael Niedermayer2017-12-213-3/+13
| | | | | | | | | | | | | | | | | | Decreases memory requirements Fixes: OOM Fixes: 4525/clusterfuzz-testcase-minimized-6400713073623040 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | rkmppdec: move AV_CODEC_CAP_AVOID_PROBING to the correct fieldwm42017-12-211-2/+1
| | | | | | | | | | | | AVCodec.caps_internal doesn't hold this field. (Untested.)
* | v4l_m2m: add missing AV_CODEC_CAP_DELAY flagswm42017-12-212-2/+2
| | | | | | | | | | | | | | | | This is pretty much a requirement for any codec that handles modern codecs like h264, but it was missing. Potentially could lead to issues like missing frames at the end of a stream. Tested-by: Jorge Ramirez <jorge.ramirez-ortiz@linaro.org>
* | libavcodec/hevcdec: implement skip_framesfan52017-12-201-1/+15
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc/vaapi_encode: give a debug message if attrs unsupported.Jun Zhao2017-12-191-0/+2
| | | | | | | | | | | | | | | | Give a debug message when query attribute get VA_ATTRIB_NOT_SUPPORTED, it's will help to trace and debug some issue. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | avcodec/magicyuv : use gradient_pred dsp func for 8 bits gradient modeMartin Vignali2017-12-191-2/+5
| |
* | avcodec/utvideodec : use gradient_pred dsp in interlace decodingMartin Vignali2017-12-191-1/+5
| |
* | aptx: add codec cap SMALL_LAST_FRAME and INIT_THREADSAFE as appropriateAurelien Jacobs2017-12-181-0/+3
| |
* | lavu/lavc/lavf/lavfi: Do not use type modifier %zu on Windows MSVCRT.Carl Eugen Hoyos2017-12-172-2/+2
| |
* | avcodec/hevc_cabac: Fix integer overflow in ff_hevc_cu_qp_delta_abs()Michael Niedermayer2017-12-171-1/+3
| | | | | | | | | | | | | | | | Fixes: signed integer overflow: 2147483647 + 1073741824 cannot be represented in type 'int' Fixes: 4555/clusterfuzz-testcase-minimized-4505532481142784 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc_sei: Fix integer overflows in decode_nal_sei_message()Michael Niedermayer2017-12-171-0/+4
| | | | | | | | | | | | | | | | Fixes: signed integer overflow: 2147483520 + 255 cannot be represented in type 'int' Fixes: 4554/clusterfuzz-testcase-minimized-4843714515042304 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevcdsp_template: Fix undefined shift in put_hevc_qpel_bi_w_hv()Michael Niedermayer2017-12-171-1/+1
| | | | | | | | | | | | | | | | Fixes: runtime error: left shift of negative value -3 Fixes: 4524/clusterfuzz-testcase-minimized-6055590120914944 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | libavcodec/magicyuvenc : fix warningMartin Vignali2017-12-161-1/+1
| |
* | lavc/mediacodec_wrapper: fix potential jni global reference leakMatthieu Bouron2017-12-161-0/+3
| |
* | lavc/mediacodec_wrapper: factorize MediaCodec creation functionsMatthieu Bouron2017-12-161-133/+29
| |
* | lavc/mediacodec: use AVMediaCodecDeviceContext hw_device_ctx if setAman Gupta2017-12-163-4/+17
| | | | | | | | Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
* | lavc/vp8: Support resolution changes in the VP8 decoder hwaccelJun Zhao2017-12-151-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Use the following command to reproduce this issue: make fate-vp8-size-change HWACCEL="vaapi -vaapi_device \ /dev/dri/renderD128 -hwaccel_output_format yuv420p" SAMPLES=../fate-suite/. At the same time, reconstruct the public logic as a function. Signed-off-by: Yun Zhou <yunx.z.zhou@intel.com> Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* | avcodec/vp9: mark frame as finished on decode_tiles() failureMichael Niedermayer2017-12-151-1/+3
| | | | | | | | | | | | | | | | | | | | | | Fixes deadlock with framethreads Fixes: Netflix_Aerial_1080p_60fps_8bit_420.y4m.vp9.noaltref.webm.ivf.s69372_r01-05_b6-.ivf Fixes: Netflix_Aerial_1080p_60fps_10bit_420.y4m.vp9.noaltref.webm.ivf.s149104_r01-05_b6-.ivf Fixes: ducks_take_off_444_720p50.y4m.vp9.webm.ivf.s107375_r01-05_b6-.ivf Reported-by: James Zern <jzern@google.com> Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '508378556631dc18d32247b4a4e35703758e1ca9'James Almer2017-12-143-5/+15
|\ \ | |/ | | | | | | | | | | * commit '508378556631dc18d32247b4a4e35703758e1ca9': qsv: Support explicit lookahead downscaling Merged-by: James Almer <jamrial@gmail.com>
| * qsv: Support explicit lookahead downscalingLuca Barbato2017-12-122-0/+17
| |
* | Merge commit 'f2e9a0ecbef5027f9532c49ffcdfc11d199f6150'James Almer2017-12-141-0/+5
|\ \ | |/ | | | | | | | | | | * commit 'f2e9a0ecbef5027f9532c49ffcdfc11d199f6150': qsv/vp8dec: fixes memory leak issue Merged-by: James Almer <jamrial@gmail.com>
| * qsv/vp8dec: fixes memory leak issueLi, Zhong2017-12-121-0/+5
| | | | | | | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* | Merge commit '7c65a76b16bc3a44f1592acde2176f187a058797'James Almer2017-12-141-0/+6
|\ \ | |/ | | | | | | | | | | * commit '7c65a76b16bc3a44f1592acde2176f187a058797': lavc/qsvenc: add error messeage if ICQ unsupported. Merged-by: James Almer <jamrial@gmail.com>
| * lavc/qsvenc: add error messeage if ICQ unsupported.Li, Zhong2017-12-121-0/+6
| | | | | | | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* | Merge commit 'bddb2ce179c57db6e3c79fdc3363c165d90850b0'James Almer2017-12-141-0/+7
|\ \ | |/ | | | | | | | | | | * commit 'bddb2ce179c57db6e3c79fdc3363c165d90850b0': lavc/qsvenc: ICQ/VCM/QVBR are not avilable on Linux Merged-by: James Almer <jamrial@gmail.com>
| * lavc/qsvenc: ICQ/VCM/QVBR are not avilable on LinuxLi, Zhong2017-12-121-0/+7
| | | | | | | | | | Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
* | Merge commit '6ff29343b01923e9b125fe7404ac8701cdfb1fe5'James Almer2017-12-141-0/+1
|\ \ | |/ | | | | | | | | | | * commit '6ff29343b01923e9b125fe7404ac8701cdfb1fe5': lavc/qsvenc: set HRD buffer size Merged-by: James Almer <jamrial@gmail.com>
| * lavc/qsvenc: set HRD buffer sizeLi, Zhong2017-12-121-0/+1
| | | | | | | | | | | | | | | | | | | | Hypothetical Reference Decoding (HRD) model assumes that data flows into a buffer of the fixed size BufferSizeInKB with a constant bitrate. Smaller BufferSizeInKB means smaller frame size variations, but more difficult to maintain HRD. Signed-off-by: Zhong Li <zhong.li@intel.com> Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
| * hevc: Add hevc_get_pixel_4/8/12/16/24/32/48/64Alexandra Hájková2017-12-083-1/+464
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkasm timings: block size bitdepth C NEON 4 8 bit: 146.7 48.7 10 bit: 146.7 52.7 8 8 bit: 430.3 84.4 10 bit: 430.4 119.5 12 8 bit: 812.8 141.0 10 bit: 812.8 195.0 16 8 bit: 1499.1 268.0 10 bit: 1498.9 368.4 24 8 bit: 4394.2 574.8 10 bit: 3696.3 804.8 32 8 bit: 5108.6 568.9 10 bit: 4249.6 918.8 48 8 bit: 16819.6 2304.9 10 bit: 13882.0 3178.5 64 8 bit: 13490.8 1799.5 10 bit: 11018.5 2519.4 Signed-off-by: Martin Storsjö <martin@martin.st>
| * vaapi_h265: Add named options for setting profile and levelMark Thompson2017-12-061-3/+41
| | | | | | | | Also fixes the default, which previously contained a nonsense value.
| * vaapi_h264: Add named options for setting profile and levelMark Thompson2017-12-061-2/+46
| |
| * vaapi: Make the decode profile matching more explicitMark Thompson2017-12-021-9/+9
| | | | | | | | | | Also fixes a bug where it could attempt to decode with an unsupported codec if allow-profile-mismatch was set.
| * vaapi_h264: Fix VUI max_dec_frame_bufferingJun Zhao2017-12-021-1/+1
| | | | | | | | | | | | | | | | | | This should refer to the existing SPS structure, not the VAAPI sequence parameter buffer (which is not yet initialised). From ffmpeg commit f31478ba1472afe5c1eed60f219ae331816425a2. Signed-off-by: Mark Thompson <sw@jkqxz.net>
| * vaapi_h265: Enable VBR modeJun Zhao2017-12-021-5/+10
| | | | | | | | | | | | | | | | To match vaapi_h264. From ffmpeg commit 385cafb07ac1e46433931ea9749a134efd7350be. Signed-off-by: Mark Thompson <sw@jkqxz.net>
| * cbs_mpeg2: Fix marker_bit typeMark Thompson2017-12-021-1/+1
| |
| * cbs: Add padding to slice data allocationsMark Thompson2017-12-022-3/+12
| | | | | | | | | | These may be read by the bitstream reader, so they should include the necessary padding for overreads.
* | avcodec: add metadata to identify wrappers and hardware decoderswm42017-12-1459-32/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly identify decoder/encoder wrappers with a common name. This saves API users from guessing by the name suffix. For example, they don't have to guess that "h264_qsv" is the h264 QSV implementation, and instead they can just check the AVCodec .codec and .wrapper_name fields. Explicitly mark AVCodec entries that are hardware decoders or most likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing API users listing hardware decoders in a more generic way. The proposed AVCodecHWConfig does not provide this information fully, because it's concerned with decoder configuration, not information about the fact whether the hardware is used or not. AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software implementations in case the hardware is not capable. Based on a patch by Philip Langdale <philipl@overt.org>. Merges Libav commit 47687a2f8aca3f65b6fdd117b1cb66a7409a7fd1.
* | libavcodec/decode: remove duplicate includesMichael Niedermayer2017-12-131-3/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | libavcodec/mpegvideo_parser: improve detection of progressive mpeg2Aman Gupta2017-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously many progressive mpeg2video samples were detected as interlaced by ffmpeg/ffprobe. For example, https://tmm1.s3.amazonaws.com/720p.ts Before: Input #0, mpegts, from 'https://tmm1.s3.amazonaws.com/720p.ts': Duration: 00:00:08.62, start: 18974.073233, bitrate: 9734 kb/s Program 2 Stream #0:0[0x12eb]: Video: mpeg2video (Main), yuv420p(tv, bottom first), 1280x720 ... After: Input #0, mpegts, from 'https://tmm1.s3.amazonaws.com/720p.ts': Duration: 00:00:08.62, start: 18974.073233, bitrate: 9734 kb/s Program 2 Stream #0:0[0x12eb]: Video: mpeg2video (Main), yuv420p(tv, progressive), 1280x720 ... Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Revert "libavcodec/utils.c: simplify avcodec locking with atomics"Hendrik Leppkes2017-12-112-6/+7
| | | | | | | | | | | | | | | | | | | | This reverts commit 590136e78da3d091ea99ab5432543d47a559a461. Atomics are not required for this variable, because it is protected through the lock manager, and the use of atomics here is not compatible with the c11 emulation wrappersi. Fixes FATE on MSVC, among other setups which use the compat wrappers.
* | avcodec/libvpx: remove disabled codeJames Almer2017-12-111-57/+0
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | h264dec: Remove mpeg4video.h header dependencyKieran Kunhya2017-12-111-1/+0
| |
* | libavcodec: Move ff_print_debug_info2 to mpegutils.cKieran Kunhya2017-12-114-318/+321
| |
* | lavc/huffyuvenc: Move a variable declaration up.Carl Eugen Hoyos2017-12-101-1/+1
| | | | | | | | | | Fixes a warning with gcc-6.3: libavcodec/huffyuvenc.c:93:5: warning: ISO C90 forbids mixed declarations and code
* | avcodec/vp9_superframe_split_bsf: Fix integer overflow in ↵Michael Niedermayer2017-12-101-2/+2
| | | | | | | | | | | | | | | | | | | | frame_size/total_size checks Fixes: signed integer overflow: -1698586465 + -551542752 cannot be represented in type 'int' Fixes: 4490/clusterfuzz-testcase-minimized-5210014592532480 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
OpenPOWER on IntegriCloud