Commit Graph

40770 Commits

Author SHA1 Message Date
Michael Niedermayer 148a21611d avcodec/ac3dec: Fix shift signedness in mask creation
Fixes: 9924/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EAC3_fuzzer-5473421772193792
Fixes: left shift of 1 by 63 places cannot be represented in type 'long long'

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-22 00:12:27 +02:00
Michael Niedermayer fe315feab5 avcodec/eac3dec: Check that channel_map does not contain more than EAC3_MAX_CHANNELS
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-22 00:12:27 +02:00
Jun Zhao 50d9c85358 lavc/avpacket: Add missing conversions from side data enum to name.
Add missing conversions from side data enum to name.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-09-21 18:09:37 +08:00
Michael Niedermayer e7b023e1db avcodec/dvdsubdec: Sanity check len in decode_rle()
Fixes: Timeout
Fixes: 9778/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVDSUB_fuzzer-5186007132536832

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 23:16:00 +02:00
Michael Niedermayer c88afa44c4 avcodec/mpeg4videodec: Fix undefined shift in get_amv()
Fixes: runtime error: shift exponent -1 is negative
Fixes: 9938/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5653783529914368

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 23:08:31 +02:00
Michael Niedermayer fb7b0347b3 avcodec/mpeg4videodec: Check rice_prefix_code
Fixes: out of array read
Fixes: 10064/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5766801384800256
Fixes: 10225/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5071833448054784
Fixes: 10261/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5115048024866816

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 23:08:23 +02:00
Michael Niedermayer 7ed8d5cfd9 avcodec/pcx: Check for end of input in pcx_rle_decode() and propagate error
Fixes: Timeout
Fixes: 10279/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PCX_fuzzer-5729311395414016

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 23:08:20 +02:00
Michael Niedermayer 86e76762fc avcodec/av1_parse: Fix bistream typo
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 23:01:44 +02:00
Shiyou Yin ba175578d1 avcodec: [loongson] optimize get_cabac_inline.
This optimization improved h264 decoding performance about 4%(from 74fps to 77fps, tested on loongson 3A3000).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 18:33:59 +02:00
Michael Niedermayer e33b28cc79 avcodec/zmbv: Check that the decompressed data size is correct
This checks the value exactly for intra frames and checks it against a
minimum for inter frames as they can be variable.

Fixes: Timeout
Fixes: 10182/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ZMBV_fuzzer-6245951174344704

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-09-19 00:46:41 +02:00
Michael Niedermayer 3d201b83cd avcodec/zmbv: Update decomp_len in raw frames
decomp_len is used in raw frames, so it should not be left at the value from
whatever was decoded previously (which may be any other frame)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 00:46:44 +02:00
Shiyou Yin 2b646dac78 avcodec/mips: [loongson] refine ff_vc1_inv_trans_8x8_mmi.
Combined 1st and 2nd loop into one inline asm in function ff_vc1_inv_trans_8x8_mmi to
reduce memory operation, and made some small optimization in ff_vc1_inv_trans_4x8_mmi.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-19 00:44:44 +02:00
James Almer f4cf6ba8c9 Merge commit 'a2041a6522642859ce64af1c618d6fb90a50d4af'
* commit 'a2041a6522642859ce64af1c618d6fb90a50d4af':
  qsvenc: AV_PIX_FMT_QSV path should release frame

Merged-by: James Almer <jamrial@gmail.com>
2018-09-18 13:28:05 -03:00
Maxym Dmytrychenko a2041a6522 qsvenc: AV_PIX_FMT_QSV path should release frame
Fixes high memory usage and prevents over allocation of the frames via
proper unref.

Can be checked as:
-hwaccel qsv -c:v h264_qsv -i ../h264-conformance/CANL2_Sony_E.jsv -c:v
h264_qsv -b:v 2000k -y qsv.mp4
2018-09-18 17:53:37 +02:00
hwren bc1097a2bf lavc/libxavs2: remove nonexistent parameters
Signed-off-by: hwren <hwrenx@126.com>
2018-09-17 23:20:40 +01:00
hwren c0e9824c0f lavc/libdavs2: fix error return codes
Signed-off-by: hwren <hwrenx@126.com>
2018-09-17 23:20:40 +01:00
hwren 6f23c327c5 lavc/libdavs2: remove unused header files
Signed-off-by: hwren <hwrenx@126.com>
2018-09-17 23:20:40 +01:00
Michael Niedermayer 28b80c2d52 avcodec/shorten: Fix bitstream end check in read_header()
Fixes: Timeout
Fixes: 9961/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SHORTEN_fuzzer-5687856176562176

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-09-15 20:00:45 +02:00
Michael Niedermayer 71bf033050 avcodec/dvdsubdec: Avoid branch in decode_run_8bit()
Speed improvment 35.5 sec -> 34.7sec

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-15 20:00:45 +02:00
James Almer 98518e90aa avcodec: add missing mpegvideo dependencies to SpeedHQ decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2018-09-15 12:35:16 -03:00
Michael Bunk 0d7e0f25ca Fix typos 2018-09-14 21:36:21 +02:00
James Almer 1b98bfb932 Merge commit '2a9e1c122eed66be1b26b747342b848300b226c7'
* commit '2a9e1c122eed66be1b26b747342b848300b226c7':
  libfdk-aac: Don't use defined() in a #define

Merged-by: James Almer <jamrial@gmail.com>
2018-09-13 23:16:18 -03:00
Shiyou Yin a55adf24b9 avcodec/mips: [loongson] fix bug of svq3-watermark failed in fate test.
Failed case: svq3-watermark
When minimum loop count of following functions are greater than parameter h passed to them, svq3-watermark failed.
1. ff_put_pixels4_8_mmi
2. ff_avg_pixels4_8_mmi
3. ff_put_pixels4_l2_8_mmi
4. ff_avg_pixels4_l2_8_mmi

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-14 01:52:29 +02:00
Martin Storsjö 2a9e1c122e libfdk-aac: Don't use defined() in a #define
MSVC expands the preprocessor directives differently, making the
version check fail in the previous form.

Clang can warn about this with -Wexpansion-to-defined (not currently
enabled by default):
warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined]

Signed-off-by: Martin Storsjö <martin@martin.st>
2018-09-13 22:11:50 +03:00
James Almer 309c3a0e81 avcodec/libaom: fix setting amount of threads
The libaom doxy says that a value of 0 for the threads fields is
equivalent to a value of 1, whereas for avctx->thread_count it means
the maximum amount of threads possible for the host system.

Use av_cpu_count() to get the correct thread count when auto threads
is requested.

Reviewed-by: Jan Ekström <jeebjp@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-09-13 13:44:45 -03:00
James Almer b69ea742ab avcodec/libaomenc: remove AVOption related to frame partitions
Support for it was apparently never in the codebase, and the enum
value was recently removed from the public headers [1]

[1] https://aomedia.googlesource.com/aom/+/df4ffb73140fe31bebdabd17c1a7b53721e74838

Signed-off-by: James Almer <jamrial@gmail.com>
2018-09-12 11:44:56 -03:00
Michael Niedermayer 4356e03fd6 libavcodec/pnm_parser: do not lose skipped parts in reporting of how much was consumed
Fixes: Timeout
Fixes: 9759/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PPM_fuzzer-5655277650051072
Fixes: 9753/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGMYUV_fuzzer-5764378543521792

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-12 00:52:01 +02:00
Michael Niedermayer 74af6ae021 avcodec/vp8: Check bitstream input in vp7_fade_frame() before time consuming operation
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-12 00:52:01 +02:00
Michael Niedermayer 09f0429b99 avcodec/mjpegdec: simplify rgb index remaping 2018-09-12 00:52:01 +02:00
hwren 85a921f461 lavc, doc, configure: add libxavs2 video encoder wrapper
Signed-off-by: hwren <hwrenx@126.com>
2018-09-11 21:48:42 +01:00
James Almer c7488f7461 Merge commit '7e929dac100916fc45cb95e231025f3439c20156'
* commit '7e929dac100916fc45cb95e231025f3439c20156':
  libfdk-aacenc: Allow enabling the ELDv2 profile

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 14:13:28 -03:00
James Almer 94d98330ed Merge commit '2edaafe5b93832715781851dfe2663da228a05ad'
* commit '2edaafe5b93832715781851dfe2663da228a05ad':
  libfdk-aacdec: Allow setting the new dynamic range control effect setting

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 14:13:14 -03:00
James Almer 203bbaccfa Merge commit 'ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999'
* commit 'ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999':
  libfdk-aac: Consistently use a proper version check macro for detecting features

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 14:11:39 -03:00
James Almer ee96ab2db5 Merge commit '141c960e21d2860e354f9b90df136184dd00a9a8'
* commit '141c960e21d2860e354f9b90df136184dd00a9a8':
  libfdk-aacenc: Fix building with libfdk-aac v2

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 14:02:58 -03:00
James Almer a12063b118 Merge commit 'c8bca9fe466f810fd484e2c6db7ef7bc83b5a943'
* commit 'c8bca9fe466f810fd484e2c6db7ef7bc83b5a943':
  lavc/qsvenc: dump BufferSizeInKB message

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 14:01:47 -03:00
James Almer 27e30c73d7 Merge commit 'e16b20782a597e36a9c7488487c3179375a25b97'
* commit 'e16b20782a597e36a9c7488487c3179375a25b97':
  lavc/qsvenc: allow to set qp range for h264 BRC

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 13:57:49 -03:00
James Almer ff44c2d4f4 Merge commit '83678dbbae64ad8c501e0c732c1117e642c25dae'
* commit '83678dbbae64ad8c501e0c732c1117e642c25dae':
  libopenh264dec: Export the decoded profile and level in AVCodecContext

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 13:57:23 -03:00
James Almer 23ce57af3a Merge commit '69caad8959982580504643d36aef22528e4aa6ce'
* commit '69caad8959982580504643d36aef22528e4aa6ce':
  qsvdec: Release packet on decoding failure for  mpeg2/vp8/vc1

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 13:42:09 -03:00
James Almer 50ae1f7e0f Merge commit '76eef04f30a768fa80366d679f3de7e9447b67d5'
* commit '76eef04f30a768fa80366d679f3de7e9447b67d5':
  qsvenc: Fix a misleading log message

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 13:41:46 -03:00
James Almer 14fe81b3a8 Merge commit '325aa63dd1a3abc2453914d0bc111d297833d725'
* commit '325aa63dd1a3abc2453914d0bc111d297833d725':
  qsv: enforcing continuous memory layout

Merged-by: James Almer <jamrial@gmail.com>
2018-09-11 13:11:22 -03:00
Paul B Mahol 7115ad53b4 avcodec/loco: rotate other planes too for non-power of 2 widths
This was forgotten in df05fd3131.
2018-09-11 10:15:59 +02:00
Jason Stevens 69f1853a28 libavcodec/dnxhd: change ff_dnxhd_get_hr_frame_size to avpriv_
refactor ff_dnxhd_get_hr_frame_size to avpriv_dnxhd_get_hr_frame_size,
to allow cross library usage in libavformat/mxfenc this change makes
this function no longer be always inlined.

Signed-off-by: Jason Stevens <jay@wizardofthenet.com>
2018-09-10 23:15:42 +02:00
Paul B Mahol df05fd3131 avcodec/loco: switch to planar rgb format
Remove now unused step variable.
2018-09-10 15:16:07 +02:00
Paul B Mahol 29a24e5f79 avcodec/lagarith: set pict_type too 2018-09-09 22:58:26 +02:00
Paul B Mahol b2ffecbd0c avcodec/lagarith: switch to planar rgb
Speed goes from 363 fps to 428 fps for 640x480 video.
2018-09-09 22:58:26 +02:00
Devin Heitmueller fb9d4f5c3e avcodec/v210enc: Pass through Active Format Description (AFD) data
When encoding to V210, make sure the AFD side data makes it through
in the resulting AVPacket.  This is needed so the decklink output
module can put out AFD when in 10-bit mode.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-09-09 22:42:26 +02:00
Devin Heitmueller 35498c124a avcodec: add AV_PKT_DATA_AFD to allow AFD data to be embedded in AVPacket
Create a new AVPacket side data type for Active Format Description,
which mirrors the side data type found in AVFrame.  The primary
use case for this is ensuring AFD gets preserved in the V210
encoder, so that the decklink libavdevice can output AFD.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-09-09 22:42:26 +02:00
Devin Heitmueller 6a9abe9ec3 avcodec/v210enc: Pass through A53 CC data
When encoding to V210, make sure the CC side data makes it through
in the resulting AVPacket.  This is needed so the decklink output
module can put out captions when in 10-bit mode.

Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-09-09 22:42:26 +02:00
Paul B Mahol 4b1b47e81b avcodec/scpr: stop checking for overread twice 2018-09-09 14:06:57 +02:00
Shiyou Yin 5161f7bcfd avutil/mips: [loongson] simplify macro TRANSPOSE_4H and TRANSPOSE_8B
Simplify macro TRANSPOSE_4H in mmiutils.h and add TRANSPOSE_8B as a common macro.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-09-09 12:01:07 +02:00