Commit graph

41095 commits

Author SHA1 Message Date
Paul B Mahol
62dbcb7ddf avcodec/g723_1: add support for stereo files 2018-12-18 18:52:39 +01:00
Carl Eugen Hoyos
06a436a224 lavc/mjpegdec: Interpret three-component Adobe transform 0 also as RGB.
While there, make a comparison with "RGB" more readable.

Fixes ticket #7625.
2018-12-18 18:00:31 +01:00
Shiyou Yin
76952aa461 avcodec/mips: [loongson] enable MSA optimization for loongson platform.
Set initialization order of MSA after MMI to make it work on loongson platform(msa is supported by loongson2k、3a4000 etc.).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-18 11:59:51 +01:00
Zhong Li
978c935f2f lavc/qsv_hevc: correct QSV HEVC default plugin on Windows
1. Old logic meaned: everywhere, except Windows, ffmpeg has to use HW
acceleration, but on Windows ffmpeg has to use (unavailable) software
HEVC by default
2. Software HEVC is available only if you provide corresponding
software MediaSDK library, which isn't provided with ffmpeg. More
information could be found in
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/readme-encode_linux.pdf
3. HW HEVC decoding/encoding are available on Windows in the driver by default

Note: Default case should be the most common case but this change still has potential risk
on windows if HW path is not supported(or doesn't work as expection).
(See the historical disscution: https://lists.libav.org/pipermail/libav-devel/2016-November/080419.html).
In such case, two options suggested:
1. Use the option "-load_plugin hevc_sw" to switch SW path manually.
2. Or report bug to Intel windows driver if your GPU can support HEVC HW codec.
  (HEVC decoding is supported since Braswell, and encoding supported since Skylake)

Patch started by Landgraph. Add similar change for hevc decoder and bump a new version.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Reviewed-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
Signed-off-by: Landgraph <me@landgraph.ru>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-12-18 15:15:18 +08:00
Carl Eugen Hoyos
0b7269e62d lavc/cbs: Do not use format specifier "z" on Windows. 2018-12-17 14:39:41 +01:00
Paul B Mahol
de5e71fb1b avcodec/tiff: add support for 12bit grayscale images
Fixes #4688.
2018-12-16 22:06:08 +01:00
Michael Niedermayer
092cb17983 avcodec/rasc: Check that the number of moves is less than or equal the number of pixels
Fixes: OOM
Fixes: 10307/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5393974559244288

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-16 09:49:07 +01:00
Michael Niedermayer
b11b3d2585 avcodec/vp7: Check for end of input in vp78_decode_mv_mb_modes()
Fixes: Timeout
Fixes: 10313/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VP7_fuzzer-5637719389110272

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-16 09:49:07 +01:00
Carl Eugen Hoyos
011c9112a0 lavc/g729dec: Cosmetics, fix indentation after last commit. 2018-12-15 00:55:18 +01:00
Carl Eugen Hoyos
641d52152f lavc/g729dec: Support stereo streams.
Fixes ticket #4553.
2018-12-15 00:32:31 +01:00
Michael Niedermayer
7aaab127be avcodec/clearvideo: Check remaining input bits in P macro block loop
Fixes: Timeout
Fixes: 11083/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CLEARVIDEO_fuzzer-5657180351496192

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 23:24:20 +01:00
Michael Niedermayer
35a603050d avcodec/dvdsubdec: discard accumulated buffer on error
Fixes: Timeout
Fixes: 10992/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVDSUB_fuzzer-5657495410835456

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 23:24:20 +01:00
Michael Niedermayer
52ba824c65 avcodec/rasc: Check input space before reading chunk
Fixes: Timeout
Fixes: 11118/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5652564066959360

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 23:24:20 +01:00
Andriy Gelman
5282db5929 avcodec/mpeg: Initialize quarter_sample parameter from previous thread.
Fixes #7410.
The value of sub-pixel precision for me/mc can change during an Intra frame. In multi-threaded decoding this change is not propagated to other frame threads causing decoding artifacts. This patch initializes the sub-pixel precision parameter from previous thread, which fixes the issue.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-14 19:09:11 +01:00
Fan Gang
c6e1966c1a avcodec/ass_split: fix a memory leak defect when realloc fails
Fixes #7019.
2018-12-14 14:19:50 +01:00
Paul B Mahol
6f058b5cef avformat/nut: add support for yuva444/422p12 pixel format 2018-12-14 11:26:30 +01:00
Paul B Mahol
8c9fff6183 avcodec/xfacedec: fix order of operations
Fixes #6745.
2018-12-13 23:44:39 +01:00
Paul B Mahol
0ed678a97a bump micro after recent gif changes 2018-12-13 19:30:39 +01:00
Paul B Mahol
ec8502f9cb avcodec/gif: use avctx->frame_number 2018-12-13 19:30:39 +01:00
Paul B Mahol
0aa5a7b2e9 avformat/gifdec: export duration, nb_frames and comment 2018-12-13 18:58:48 +01:00
Paul B Mahol
f2664a306f avcodec/codec_desc: extend gif description 2018-12-13 18:58:48 +01:00
Paul B Mahol
bb0984cc29 avcodec/gif: enable encoding single gif image per frame
Unbreaks gif image2 muxer.
2018-12-13 18:58:48 +01:00
Paul B Mahol
3f8cdd4ee3 avcodec/gif: add support for alpha
Based on patch by Bjorn Roche.

Fixes #6813.
2018-12-13 18:58:48 +01:00
Paul B Mahol
faca28c264 avcodec: rewrite gif muxing and encoding
Now "-c copy" works.
Update FATE files.

Demuxer only split file into packets, no data is trimmed.
Encoder & muxer currently expect completely another format
where muxer writes stuff like disposal method which should
be really encoder job.
With this patch muxer only modifies delay between two packets.
Codec copy need to have same behavior between demuxer and
muxer to work correctly.

Fixes #6640.
2018-12-13 18:58:48 +01:00
Rostislav Pehlivanov
83db1efd42 opusenc: fix infinite loop if flushing encoder upon init
The issue is that the afq still has samples as on init it counts
the overlap used as a delay to adjust the PTS it generates, hence
we can't rely on it right after init.
So just check to see if any frames have been encoded. frame_number
can't be anything but 0 right after init and can only be set by lavc.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-12-12 20:05:33 +00:00
James Almer
0e833f615b avcodec/libdav1d: add support for 12bit streams
Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-12 00:07:13 -03:00
Carl Hetherington
6190f873eb lavc/tiff: Fix leak of yuv_line in TiffContext.
Signed-off-by: Carl Hetherington <cth@carlh.net>
2018-12-11 00:57:01 +01:00
Paul B Mahol
03beac5b97 avcodec/xpmdec: define constants 2018-12-10 21:38:08 +01:00
Paul B Mahol
00502370f6 avcodec/xpmdec: fix small artifacts
The max size of uint8_t subset is 223 not 220.
2018-12-10 21:31:18 +01:00
Carl Eugen Hoyos
fe300b2ab5 lavc/xpmdec: Allow more colours per character.
Fixes ticket #6234.
2018-12-10 20:59:08 +01:00
Paul B Mahol
8affd753c8 avcodec/gifdec: truncate too big width/height for invalid gif files
Fixes #6874.
2018-12-10 17:56:32 +01:00
Paul B Mahol
49d792fff6 avcodec/proresdec2: allow changing resolution 2018-12-10 17:25:49 +01:00
Paul B Mahol
8f66d46ce5 avcodec: add gif parser 2018-12-10 11:19:36 +01:00
Linjie Fu
1c96d2e399 lavc/qsvenc: replace assert with error return
Fix the (m)jpeg encoding regression issue as decription in tikect #7593,
due to bs->FrameType is not set in such case in
MSDK (https://github.com/Intel-Media-SDK/MediaSDK/issues/970).
(And assert on a value coming from an external library is not proper.)

Add default type check for bs->FrameType, and return invalid data error in function
ff_qsv_encode to avoid using uninitialized value.

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-12-10 11:19:24 +08:00
Carl Eugen Hoyos
de441ad52a lavc/cbs_vp9: Make variable prob unsigned.
Silences a warning with clang:
libavcodec/cbs_vp9_syntax_template.c:220:17: warning: implicit conversion from 'int' to 'int8_t' (aka 'signed char')
      changes value from 255 to -1
2018-12-10 02:18:56 +01:00
Carl Eugen Hoyos
9bcd40c298 lavc/decode: Initialize return value for get_format() failure.
Silences a warning:
libavcodec/decode.c:1378:13: warning: variable 'ret' is used uninitialized whenever 'if' condition is true
2018-12-10 01:50:04 +01:00
James Almer
04ee1b8da5 avcodec: bump micro version after d12d4d4515
Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-09 19:28:37 -03:00
Mark Thompson
34cab70818 qsvdec: Fix running with assert_level > 0
Assertion avctx->codec_id != AV_CODEC_ID_NONE failed at src/libavcodec/parser.c:128

The setting on the internal AVCodecContext used for parsing only is
otherwise irrelevant, so just set it to avoid the assert.
2018-12-09 18:49:06 +00:00
James Almer
d12d4d4515 avcodec/libaomenc: add row-mt option
Default to disable, same as aomenc.

Fixes ticket #7598

Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-09 15:23:00 -03:00
Michael Niedermayer
fe0416f8a1 avcodec/jpeg2000dec: Skip DWT if nothing is coded
Improves speed in uncommon case

Fixes: Timeout
Fixes: 10964/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5132066034286592

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-08 17:01:03 +01:00
Michael Niedermayer
2bc3811c0d avcodec/dxv: Check that there is enough data to decompress
Fixes: Timeout
Fixes: 10979/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-6178582203203584

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-08 17:01:03 +01:00
Paul B Mahol
3cc5576ee1 avcodec/proresdec2: add new line at end of debug message 2018-12-07 20:05:37 +01:00
Paul B Mahol
b88ed73be1 avcodec/dpx: fix spotted code style issues 2018-12-07 19:44:57 +01:00
Paul B Mahol
61e6226a5a avcodec/dpx: add support for special encoding 2018-12-07 19:44:57 +01:00
Paul B Mahol
788e116c2f avcodec/dpx: improve decoding of 10 bit gray images 2018-12-07 19:44:57 +01:00
Paul B Mahol
f628970e40 avcodec/dpx: add support for another gray10 variant 2018-12-07 19:44:57 +01:00
Paul B Mahol
9c881cf9a5 avcodec/dpx: parse input device name 2018-12-07 19:44:57 +01:00
Paul B Mahol
abb0306bf3 avcodec/dpx: parse image creator 2018-12-07 19:44:57 +01:00
Paul B Mahol
0f8383005c avcodec/dpx: check version of format header too 2018-12-07 19:44:57 +01:00
Zhong Li
c9f0cff5ef lavc/qsvenc: add an option to set h264 pps for every frame
RepeatPPS is enabled by default in mfx. It is not necessary mostly and
wasting encoding bits.
Add an option to control it and disable it by default.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-12-07 17:13:36 +08:00