1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-09 14:14:39 +02:00

41106 Commits

Author SHA1 Message Date
Jun Zhao
3f08ed3920 lavc/libkvazaar: indent the code
indent the code to follow FFmpeg's coding style

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-20 18:40:41 +08:00
Jun Zhao
59deae5d1c lavc/libkvazaar: Use avctx->frame_rate first for framerate setting
perfer avctx->frame_rate first than use avctx->time_base when setting
the frame rate to encoder.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-20 18:40:41 +08:00
Jun Zhao
90c4534206 lavc/options_table: Change some options location in opt table.
Change the some options location in avcodec_options to make code more
readable. And update the fate test with this change.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-20 18:40:41 +08:00
Michael Niedermayer
e63517e00a avcodec/rpza: Check that there is enough data for all the blocks
Fixes: Timeout
Fixes: 11547/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RPZA_fuzzer-5678435842654208

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-19 20:09:03 +01:00
Michael Niedermayer
8a708aa99c avcodec/rpza: Move frame allocation to a later point
This will allow performing some fast checks before the slow allocation

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Michael Niedermayer
68e011e410 avcodec/avcodec: Document the data type for AV_PKT_DATA_MPEGTS_STREAM_ID
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 20:09:03 +01:00
Helmut K. C. Tessarek
aaf9171574 libavcodec/libaomenc: fix breakage from upstream
commit https://aomedia.googlesource.com/aom/+/4667aa1a373566e9c124afcd58c71731ab0d7377
changed parts of the code that broke compilation of libavcodec/libaomenc.c

Signed-off-by: James Almer <jamrial@gmail.com>
2018-12-19 15:31:28 -03:00
Michael Niedermayer
ea30ac1e40 avcodec/mjpegdec: Fix indention of ljpeg_decode_yuv_scan()
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 10:01:08 +01:00
Michael Niedermayer
dfb5046cf3 avcodec/mjpegdec: verify SOF len field validity
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-19 10:01:00 +01:00
Paul B Mahol
d283ee085f avcodec/g723_1dec: improve stereo support 2018-12-18 18:58:35 +01:00
Paul B Mahol
7a124138a7 avcodec/g723_1dec: reindent after last commit 2018-12-18 18:52:39 +01:00
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