Commit Graph

41009 Commits

Author SHA1 Message Date
Paul B Mahol f09bbb8f08 avformat/ac3dec: always skip junk bytes before sync bytes
Fixes #7278.
2018-11-30 16:27:20 +01:00
Linjie Fu 67cdfcf694 lavc/qsvenc: assert uninitialized pict_type
Assert in function ff_qsv_encode to avoid using uninitialized value:

FF_DISABLE_DEPRECATION_WARNINGS
        avctx->coded_frame->pict_type = pict_type;
FF_ENABLE_DEPRECATION_WARNINGS

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-11-30 17:53:26 +08:00
Zhong Li ac0bcd6b61 lavc/qsvenc: add forced_idr option
This option can be used to repect original input I/IDR frame type.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-11-30 17:53:00 +08:00
Zhong Li 518b963d2c lavc/qsvenc: enable ICQ and ICQ_LA on Linux
ICQ/ICQ_LA are enabled with MSDK V1.28

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-11-30 17:51:49 +08:00
Jun Zhao b87063c06d lavc/libaomenc: Add a maximum constraint of 64 encoder threads.
fixed the error in Intel(R) Xeon(R) Gold 6152 CPU like:
[libaom-av1 @ 0x469f340] Failed to initialize encoder: Invalid parameter
[libaom-av1 @ 0x469f340]   Additional information: g_threads out of range [..MAX_NUM_THREADS]

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-29 21:37:49 -03:00
James Almer e695b0beba avcodec/libdav1d: add an option to toggle Film Grain
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-28 23:05:10 -03:00
James Almer 0fca2f60da avcodec/libdav1d: read profile from the sequence header referenced by the ouput picture
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-28 23:04:22 -03:00
James Almer 3cd275bcde avcodec/libdav1d: use constants defined in the public API to limit thread count
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-28 23:04:21 -03:00
James Almer 53ca505acc avcodec/libdav1d: remove init cleanup internal codec cap
It's no longer needed now that the AVFifoBuffer was removed.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-28 23:04:03 -03:00
Rostislav Pehlivanov ffec9d32fe Revert "libopus: Add channel mapping 2 support in libopusdec"
This reverts commit c8c995bc1d.
2018-11-28 23:54:08 +00:00
Rostislav Pehlivanov cf283f2dfb Revert "avcodec/libopusenc: Fix warning when encoding ambisonics with channel mapping 2"
This reverts commit 4cd6f08d20.
2018-11-28 23:53:51 +00:00
Felicia Lim 4cd6f08d20 avcodec/libopusenc: Fix warning when encoding ambisonics with channel mapping 2
Also adds checks on the number of channels.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-29 00:07:35 +01:00
Paul B Mahol 68f289dacd avcodec/opus: check if internal is available 2018-11-28 20:29:23 +01:00
Paul B Mahol 18aea7bdd9 avcodec/opus: set skip_samples
Also update fate test. Fixes #5258.
2018-11-28 10:26:07 +01:00
Michael Niedermayer 28c96c2ce2 avcodec/diracdec: Check component quant
Fixes: Timeout
Fixes: 10708/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5730140957442048

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-27 14:38:03 +01:00
Michael Niedermayer a036c25969 avcodec/tiff: Fix integer overflows in left shift in init_image()
Fixes: left shift of 255 by 24 places cannot be represented in type 'int'
Fixes: 11377/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5694319101476864

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-27 02:56:36 +01:00
Carl Eugen Hoyos 5a7617136a lavc/jrevdct: Avoid an aliasing violation.
Fixes fate on different PowerPC systems with some compilers.

Analyzed-by: Lauri Kasanen
2018-11-27 01:16:28 +01:00
James Almer 2ddaaaf595 avcodec/libaomenc: increase the default bitrate
aom_codec_enc_config_default() sets it to 256kbps, so don't replace
it with 200kbps.

See https://bugs.chromium.org/p/aomedia/issues/detail?id=2219

Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-26 19:08:45 -03:00
Michael Niedermayer 90ac0e5f29 avcodec/tiff: Limit filtering to decoded data
Fixes: Timeout
Fixes: 11068/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5698456681709568

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-26 02:56:31 +01:00
James Almer cc25529420 avcodec/libdav1d: update the API usage after upstream changes
The color fields were moved to another struct, and a way to propagate
timestamps and other input metadata was introduced, so the packet fifo
can be removed.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-25 21:42:10 -03:00
Paul B Mahol 7488d58436 avcodec/eac3dec: remove obsolete comment 2018-11-25 21:41:40 +01:00
Limin Wang 370b8bd847 libavcodec/libdavs2.c: Fix for the wrong line size is used
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2018-11-25 14:01:22 +08:00
Michael Niedermayer 2ae39d7956 avcodec/truemotion2: fix integer overflows in tm2_low_chroma()
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-24 22:12:10 +01:00
Paul B Mahol 0279cb4f69 avcodec: add truehd_core bitstream filter 2018-11-23 22:03:56 +01:00
Andreas Rheinhardt e895b800fe cbs_h2645: Avoid memcpy when splitting fragment
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-22 23:19:17 +00:00
Michael Niedermayer 77bf85515e avcodec/truemotion2: Check huffman code max bits
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-21 00:33:38 +01:00
Marton Balint e3a9630982 avcodec/mpeg_er: fix clearing chroma blocks for 422 and 444
Fixes ticket #7494.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-19 22:11:43 +01:00
James Zern e1f895838d libvpxenc,cosmetics: fix { placement
Signed-off-by: James Zern <jzern@google.com>
2018-11-19 11:38:34 -08:00
Ard Oerlemans 95107af314 avcodec/libvpxenc: add VP8 temporal scalability config options
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-19 11:33:43 -08:00
Mark Thompson e3991a5a45 libaomenc: Drop unused noise-sensitivity option 2018-11-18 22:07:42 +00:00
Paul B Mahol a064530da8 avcodec/scpr: add version 3 support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-11-18 22:59:29 +01:00
Mark Thompson 80ce23da65 vaapi_encode_h265: Reduce SAR to valid range
Matching previous commit for H.264.
2018-11-18 21:34:18 +00:00
Mark Thompson a830056b32 vaapi_encode_h264: Reduce SAR to valid range
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-18 21:34:04 +00:00
Andreas Rheinhardt 40b74abfca h264_redundant_pps: Fix memleak in case of errors
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-18 21:18:36 +00:00
James Almer 96717a4271 avcodec/cbs_av1: don't abort when splitting Temporal Units containing OBUs 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-18 16:16:02 -03:00
hwren 31b79e0210 lavc/libdavs2: correct frame type setting
Signed-off-by: hwren <hwrenx@126.com>
2018-11-18 18:55:10 +00:00
hwren b75afd25ba lavc/libdavs2: remove unused frame counter
Signed-off-by: hwren <hwrenx@126.com>
2018-11-18 18:55:10 +00:00
Mark Thompson b674357020 vaapi_encode: Improve log message for unsupported profiles 2018-11-18 18:22:07 +00:00
Mark Thompson 7ba63695b7 mjpegdec: Fill raw huffman tables with default values too
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-18 17:40:24 +00:00
Mark Thompson 7a20656474 cbs_h265: Add a lot more SEI parsing support
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-18 17:33:26 +00:00
Michael Niedermayer 1f99674ddd avcodec/pngdec: Check compression method
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-16 10:13:42 +01:00
Chirag Lathia d6b1248fc6 avcodec/libvpxenc: Add a maximum constraint of 16 encoder threads.
Signed-off-by: Chirag Lathia <clathia@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-15 21:25:53 -03:00
Philip Langdale 19d3d0c057 avutil/hwcontext_cuda: Define and use common CHECK_CU()
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-14 17:39:42 -08:00
James Almer f0f2832a5c avcodec/cbs_av1: fix parsing signed integer values
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14 20:48:30 -03:00
James Almer 79831f4531 avcodec/cbs_av1: fix storage size for segmentation_params feature_value fields
The valid range is -255 to 255.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14 20:48:29 -03:00
James Almer 752659327d avcodec/libdav1d: fix build after a recent API break
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-14 10:05:25 -03:00
Paul B Mahol 759589b55e avcodec/huffyuvenc: add support for gbrp16 2018-11-14 09:29:18 +01:00
Michael Niedermayer 2f888771cd avcodec/shorten: Fix integer overflow with offset
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-13 22:28:27 +01:00
Michael Niedermayer 6b4c9854da avcodec/golomb: Speed up long ur_golomb codes
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-13 22:28:12 +01:00
Andreas Rheinhardt 3c9c9b1568 h264_metadata: Don't use inferred value of buffering frames
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-13 21:12:28 +00:00