Derek Buitenhuis
90b85ab21f
h2645_parse: Fix loglevel for NAL header parsing
...
We don't treat this as an error.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2019-03-19 19:56:19 +00:00
James Almer
9e62e1a110
avcodec/libdav1d: use a reference to the allocated buffer instead of wrapping the Dav1dPicture
...
Removes an av_malloc() per frame.
Reviewed-by: BBB
Reviewed-by: nevcairiel
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-19 14:04:08 -03:00
James Almer
5cd60b6f2e
avcodec/libdav1d: reset pool size on allocation failure
...
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-19 14:03:39 -03:00
Michael Niedermayer
14eea7c47a
avcodec/pnm: Optimize reading loop in pnm_get()
...
Fixes: Timeout 13149 (5sec -> 3sec), 13166 (11sec -> 7sec), 13430 (5sec -> 3sec)
Fixes: 13149/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGM_fuzzer-5760833622114304
Fixes: 13166/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGMYUV_fuzzer-5763216322330624
Fixes: 13430/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PPM_fuzzer-5758658334425088
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-17 11:35:00 +01:00
Michael Niedermayer
f20760fadb
avcodec/dfa: Check the chunk header is not truncated
...
Fixes: Timeout (11sec -> 3sec)
Fixes: 13218/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DFA_fuzzer-5661074316066816
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-17 11:35:00 +01:00
Michael Niedermayer
41f93f9411
avcodec/clearvideo: Check remaining data in P frames
...
Fixes: Timeout (19sec -> 419msec)
Fixes: 13411/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CLEARVIDEO_fuzzer-5733153811988480
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-17 11:35:00 +01:00
Michael Niedermayer
dd2a2a51fe
avcodec/diracdec: Count truncated parts as errors in decode_component()
...
Fixes: Timeout (29sec -> 4sec)
Fixes: 13150/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5690185671507968
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-17 11:35:00 +01:00
Michael Niedermayer
efe4aef90f
avcodec/ffv1dec_template: Optimize golomb run mode
...
Fixes: Timeout (34sec -> 12sec)
Fixes: 13398/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_fuzzer-5664106709778432
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-17 11:35:00 +01:00
Mathieu Duponchelle
6cfa173303
mpeg12enc: Use Closed Captions if available
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-16 00:02:23 +01:00
Carl Eugen Hoyos
dbecf03f69
lavc/qtrle: Do not use aligned writes for 24bit frames.
...
pixel_ptr is 3 and leads to aligned access on odd memory addresses.
Fixes crashes on systems that do not allow unaligned access like sparc32.
2019-03-15 01:09:02 +01:00
James Almer
92219ef4ac
Merge commit ' 186bd30aa3'
...
* commit '186bd30aa3 ':
h264/arm64: implement missing 4:2:2 chroma loop filter neon functions
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:29:41 -03:00
James Almer
5c363d3e59
Merge commit ' 7e42d5f0ab'
...
* commit '7e42d5f0ab ':
aarch64: vp8: Optimize vp8_idct_add_neon for aarch64
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:22:29 -03:00
James Almer
409e684e79
Merge commit ' 49f9c4272c'
...
* commit '49f9c4272c ':
aarch64: vp8: Skip saturating in shrn in ff_vp8_idct_add_neon
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:21:46 -03:00
James Almer
fbd607dd56
Merge commit ' 37394ef01b'
...
* commit '37394ef01b ':
aarch64: vp8: Optimize put_epel16_h6v6 with vp8_epel8_v6_y2
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:20:05 -03:00
James Almer
d6b62ce1ac
Merge commit ' cef914e083'
...
* commit 'cef914e083 ':
arm: vp8: Optimize put_epel16_h6v6 with vp8_epel8_v6_y2
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:19:41 -03:00
James Almer
34a0a9746b
Merge commit ' e39a9212ab'
...
* commit 'e39a9212ab ':
aarch64: vp8: Port bilin functions from arm version
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:18:42 -03:00
James Almer
2ac399d7fa
Merge commit ' 58d1549227'
...
* commit '58d1549227 ':
aarch64: vp8: Port epel4 functions from arm version
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:17:33 -03:00
James Almer
c6892f59eb
Merge commit ' cc7ba00c35'
...
* commit 'cc7ba00c35 ':
aarch64: vp8: Port missing epel8 functions from arm version
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:16:43 -03:00
James Almer
79025da3f2
Merge commit ' 52c9b0a6c0'
...
* commit '52c9b0a6c0 ':
aarch64: vp8: Port vp8_luma_dc_wht and vp8_idct_dc_add4uv from arm version
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:14:40 -03:00
James Almer
39278ff0de
Merge commit ' c513fcd7d2'
...
* commit 'c513fcd7d2 ':
aarch64: vp8: Fix a typo in a comment
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:13:32 -03:00
James Almer
4f9a8d3fe2
Merge commit ' f1011ea28a'
...
* commit 'f1011ea28a ':
aarch64: vp8: Reorder the function pointer inits to match the arm original
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:09:11 -03:00
James Almer
398000abcf
Merge commit ' 85bfaa4949'
...
* commit '85bfaa4949 ':
aarch64: vp8: Use the proper aarch64 form for conditional branches
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:06:43 -03:00
James Almer
a2ae381b5a
Merge commit ' 0801853e64'
...
* commit '0801853e64 ':
libavcodec: vp8 neon optimizations for aarch64
See 833fed5253
Merged-by: James Almer <jamrial@gmail.com>
2019-03-14 16:05:52 -03:00
Michael Niedermayer
a8c5ae4511
avcodec/dvbsubdec: Check object position
...
Reference: ETSI EN 300 743 V1.2.1 7.2.2 Region composition segment
Fixes: Timeout
Fixes: 13325/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVBSUB_fuzzer-5143979392237568
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-14 16:24:35 +01:00
Michael Niedermayer
9a9f0e239c
avcodec/cdgraphics: Use ff_set_dimensions()
...
Fixes: Timeout (17 sec -> 65 milli sec)
Fixes: 13264/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CDGRAPHICS_fuzzer-5711167941509120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-14 16:24:35 +01:00
Matthew Fearnley
0321370601
libavcodec/zmbvenc: Add support for RGB formats
...
This consists mostly of the following changes:
- add newly supported pixel formats (RGB555LE, RGB565LE, BGR0)
- select the ZMBV format (c->fmt) and bytes per pixel (c->bypp) based on
avctx->pix_fmt
- multiply widths/x-values by c->bypp, in places where bytes, not pixels, are
expected
- disable palette-writing code for non-palette pix_fmts
- make a note about histogram[]'s datatype (it could need increasing if
ZMBV_BLOCK is increased)
- adjust the c->score_tab length to take up to (and including) 4 times the
number of pixels in a block
- initialise c->score_tab up to c->bypp * the number of pixels
Note: the ZmbvFormat enum allows for additional bit depths:
- 1,2,4-bit (palette)
- 24-bit (RGB)
At time of writing the specifics of these (e.g. channel order, bit alignment)
are not currently defined, and DOSBox only implements support for 8/15/16/32
bpp.
One might expect the 24-bit format - if implemented - to be BGR24, to have the
same channel order as BGR0.
However, the decoder in zmbv.c has been guessed to use RGB24, so I have chosen
to not contradict this, and omitted specific support for this format.
2019-03-14 11:04:47 +01:00
James Almer
f6803cfbd2
avcodec/libdav1d: unref the frame on failure
...
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-12 19:45:10 -03:00
Vittorio Giovara
38a4132132
libdav1d: Add support for reading hdr10 metadata
...
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-12 19:36:30 -03:00
James Almer
36bb2cc200
avcodec/libdav1d: consistently use AVERROR return values
...
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-12 19:18:14 -03:00
James Almer
28746a0e20
avcodec/libdav1d: use a custom picture allocator
...
Replaces the libdav1d internal allocator. It uses an AVBufferPool to reduce the
amount of allocated buffers.
About 5% speed up when decoding 720p or higher streams.
Reviewed-by: "Vittorio Giovara <vittorio.giovara@gmail.com>"
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-12 19:17:45 -03:00
James Almer
2a31bf2a35
avcodec/libdav1d: move the pix_fmt enum array up in the file
...
This is in preparation for the following commit.
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-12 19:09:43 -03:00
James Almer
dcf64b599d
avcodec/libdav1d: route dav1d internal logs through av_log()
...
Bump the minimum required version to the first one with the logger API callback.
Reviewed-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-12 19:07:50 -03:00
Michael Niedermayer
d227ed5d59
avcodec/mpeg4videodec: Check idx in mpeg4_decode_studio_block()
...
Fixes: Out of array access
Fixes: 13500/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5769760178962432
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-12 00:48:56 +01:00
Andreas Rheinhardt
3f086a2f66
avcodec/mpeg4videodec: Fix nonsense warning
...
Since db77230894 parsing of
mpeg4-extradata lead to a "Failed to parse extradata" warning, because
ff_mpeg4_decode_picture_header returns AVERROR_INVALIDDATA in case that
no VOP was found. This patch adds a parameter to signify whether a
header (where the absence of a VOP does not raise an error) or not is
parsed. The first mode is of course used for parsing headers.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-12 00:48:56 +01:00
Michael Niedermayer
0be0197f49
avcodec/imm4: Unreference previous frame on frame size change
...
Fixes: Out of array access
Fixes: 13552/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_IMM4_fuzzer-5767949648920576
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>
2019-03-10 20:42:59 +01:00
Timo Rothenpieler
1144d5c96d
avcodec/nvenc: add minimum driver version for SDK 8.2 and 9.0
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-03-10 00:25:31 +01:00
Martin Vignali
26cf50404d
avcodec/proresenc_aw : fix interlace encoding for unsafe height
...
fix the call of the unsafe version of slice encoding in interlace mode
fix padding line count in sub image with fill in interlace mode
2019-03-09 20:46:50 +01:00
Michael Niedermayer
6e0b5d3a20
avcodec/dxv: Correct integer overflow in get_opcodes()
...
Fixes: 13099/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5665598896340992
Fixes: signed integer overflow: 2147483647 + 7 cannot be represented in type 'int'
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-09 15:33:53 +01:00
Paul B Mahol
0ce759defd
avcodec/g723_1dec: actually decode second channel
2019-03-07 01:58:43 +01:00
Paul B Mahol
7b966af930
avcodec/imm4: fix artifacts on some files with special coding mode
2019-03-07 01:41:36 +01:00
Michael Niedermayer
53248acfb3
avcodec/scpr: Fix use of uninitialized variable
...
Fixes: Undefined shift
Fixes: 12911/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5677102915911680
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-06 23:40:47 +01:00
Paul B Mahol
93402561fd
avcodec/imm4: add support for mid-stream size changes
2019-03-06 20:31:34 +01:00
Martin Vignali
88d0be1c0e
avcodec/qtrle : improve 24bbp decoding speed
...
benchmark on x86_64 :
mainly raw data : 20 -> 39 fps
mainly rle data : 97 -> 119fps
2019-03-04 13:03:47 +01:00
Martin Vignali
3278ea67c8
avcodec/qtrle : 32bpp dec copy two raw argb value at the same time
...
benchmark on x86_64 :
38 fps -> 40 fps
2019-03-04 13:03:42 +01:00
Martin Vignali
5496a73488
avcodec/qtrle : avoid swap in 32bpp decoding on little endian
...
improve speed on little endian
benchmark on x86_64 :
mainly raw : 33fps -> 38fps
mainly rle : 128fps -> 153 fps
2019-03-04 13:03:39 +01:00
Jan Ekström
4635f64953
lavc/libx265: signal CPB properties through side data
...
This way values such as maxrate/bufsize can be utilized
further down the chain.
2019-03-03 23:42:27 +02:00
Paul B Mahol
17008a0107
avcodec/hcom: check that index into array is valid
2019-03-03 20:21:20 +01:00
Paul B Mahol
a367a932d3
avcodec/utils: remove commented out obsolete code
2019-03-03 18:43:22 +01:00
Michael Niedermayer
b819472995
avcodec/qpeg: Limit copy in qpeg_decode_intra() to the available bytes
...
Fixes: Timeout (27 sec -> 39 milli sec)
Fixes: 13151/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QPEG_fuzzer-5717536023248896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-03 13:17:02 +01:00
Michael Niedermayer
951bb7632f
avcodec/aic: Check remaining bits in aic_decode_coeffs()
...
Fixes: Timeout (78 seconds -> 2 seconds)
Fixes: 13186/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AIC_fuzzer-5639516533030912
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-03 13:17:02 +01:00