1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

93140 Commits

Author SHA1 Message Date
Shiyou Yin
32421602df avcodec/mips: [loongson] optimize put_hevc_pel_bi_pixels_8 with mmi.
Optimize put_hevc_pel_bi_pixels_8 with mmi in the case width=8/16/24/32/48/64.
This optimization improved HEVC decoding performance 2%(1.77x to 1.81x, tested on loongson 3A3000).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-20 00:44:02 +01:00
Jun Zhao
32fb83e431 lavc/hls: Cosmetics: Fix indentation for free_segment_list
Commit 673d8cfd51 missed the indent

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2019-01-19 10:13:19 +08:00
Carl Eugen Hoyos
399c8e860f lavu/frame: Fix typo. 2019-01-18 12:34:19 +01:00
Guo, Yejun
aceb9131c1 avcodec/libx264: add support for ROI-based encoding
This patch just enables the path from ffmpeg to libx264,
the more encoders can be added later.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2019-01-17 21:47:52 +00:00
Guo, Yejun
1ef4828276 avutil: add ROI (Region Of Interest) data struct and bump version
The encoders such as libx264 support different QPs offset for different MBs,
it makes possible for ROI-based encoding. It makes sense to add support
within ffmpeg to generate/accept ROI infos and pass into encoders.

Typical usage: After AVFrame is decoded, a ffmpeg filter or user's code
generates ROI info for that frame, and the encoder finally does the
ROI-based encoding.

The ROI info is maintained as side data of AVFrame.

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2019-01-17 21:47:11 +00:00
James Almer
af05070ddf avfilter/vf_paletteuse: don't constantly free and realloc internal frames
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-17 13:24:14 -03:00
Gyan Doshi
f60fdbc960 avfilter/extractplanes: add support for 12-bit YUVA formats
At present, 16-bit auto-scaled format results in incorrect alpha
extraction.
2019-01-17 11:41:18 +01:00
Paul B Mahol
282a471857 avformat/hcom: check probe buffer size 2019-01-16 10:26:53 +01:00
Michael Niedermayer
51978aefe8 avcodec/dirac_arith: Treat overread as error
Fixes: Timeout
Fixes: 11663/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5636791864918016

Before:Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5636791864918016 in 26006 ms
After: Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5636791864918016 in 106 ms

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-16 01:29:18 +01:00
Michael Niedermayer
6ed3d0e01c avcodec/diracdec: Propagate errors from dirac_get_arith_uint()
Testcase: 11663/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5636791864918016

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-16 01:29:18 +01:00
Michael Niedermayer
6dde65d7c0 avcodec/ac3dec: Optimize frame start search
Fixes: Timeout
Fixes: 11619/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AC3_FIXED_fuzzer-5632398021099520
Fixes: 11620/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AC3_fuzzer-5711996515778560
Fixes: 11658/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EAC3_fuzzer-5701006524940288

Before: Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AC3_FIXED_fuzzer-5632398021099520 in 20338 ms
After:  Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AC3_FIXED_fuzzer-5632398021099520 in 11825 ms

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-16 01:29:18 +01:00
Michael Niedermayer
19dc5cdaa7 avcodec/lzw: Check for end of input
Fixes: Timeout
Fixes: 11873/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5093495044308992

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-16 01:29:18 +01:00
Carl Eugen Hoyos
70c68e654d lavd/iec61883: Fix the include path for poll.h. 2019-01-16 00:13:49 +01:00
Carl Eugen Hoyos
06f65a17a3 lavf/rtpproto: Use the correct patch when including poll.h
Fixes a warning using musl:
In file included from libavformat/rtpproto.c:43:0:
/usr/local/musl/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
2019-01-16 00:09:21 +01:00
Paul B Mahol
95a27a8846 avcodec/hcom: get rid of single line brackets 2019-01-15 11:34:11 +01:00
Paul B Mahol
268d146649 avformat: add HCOM demuxer 2019-01-15 10:57:29 +01:00
Paul B Mahol
894cbcd83b avcodec: add HCOM decoder 2019-01-15 10:56:35 +01:00
Carl Eugen Hoyos
301cee61fa ffmpeg_opt: Print a warning if more than one -vf/-af option was specified.
Fixes ticket #4184.
2019-01-15 00:27:05 +01:00
Carl Eugen Hoyos
5d958f0955 lavf/mov: Do not fail hard for more invalid atoms.
This is what several other players do and what FFmpeg already does for the sidx atom.

Fixes ticket #7679.
2019-01-14 22:30:27 +01:00
Michael Niedermayer
c15972f0af avcodec/tests/rangecoder: initialize array to avoid valgrind warning
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-14 17:16:55 +01:00
Michael Niedermayer
6e23736aef avcodec/gdv: Optimize and factorize scaling loops
Fixes: Timeout
Fixes: 11067/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5686623711264768

Before change: Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5686623711264768 in 34386 ms
After  change: Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5686623711264768 in 24327 ms

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-14 17:16:55 +01:00
Rafaël Carré
75ea329b78 api-h264-slice-test: fix arguments and help
This program only takes 2 arguments
Remove comment that was never right

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-14 17:16:55 +01:00
Jerome Borsboom
fc6e53b0b6 avcodec/vc1: fix B predictor validity for 4-MV MBs
The B predictor for 4-MV MBs in interlace field pictures is not used
for blocks 0 and 2 when the picture is 1 MB wide.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2019-01-14 13:37:37 +01:00
Peter Ross
d52a1be4e3 avcodec/vp3: ref_frame/ref_frames are only required when HAVE_THREADS=1 2019-01-14 07:07:54 +11:00
James Almer
f477ee3e89 checkasm/af_afir: relax the max allowed absolute difference
Should fix failures on x86_32.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-13 15:00:20 -03:00
Paul B Mahol
9217dedcd9 avfilter/af_anlmdn: add timeline support 2019-01-13 11:55:01 +01:00
Paul B Mahol
1ea5529dd2 avfilter: add maskfun filter 2019-01-12 19:49:15 +01:00
Carl Eugen Hoyos
2e8b0446c6 lavc: Allow very high bitrates in AVCPBProperties after next version bump. 2019-01-12 17:32:29 +01:00
Carl Eugen Hoyos
90ab9a58ff lavc/tiff: Support CMYK images.
Fixes ticket #3459.
2019-01-12 17:27:48 +01:00
Carl Eugen Hoyos
261e4cf03f lavc/psd: Support CMYK images.
Based on a05635e by Michael Niedermayer.

Fixes ticket #6797.
2019-01-12 17:16:47 +01:00
Michael Niedermayer
77e56d74f9 avcodec/h264_slice: Fix integer overflow in implicit_weight_table()
Fixes: signed integer overflow: 2 * 2132811760 cannot be represented in type 'int'
Fixes: 11156/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-6237685933408256

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-12 16:46:41 +01:00
Michael Niedermayer
433d2ae435 avcodec/exr: set layer_match in all branches
Otherwise it is left to the value from the previous iteration

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-12 16:46:41 +01:00
Michael Niedermayer
f9728feaf9 avcodec/exr: Check for duplicate channel index
Fixes: Out of memory
Fixes: 11582/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-5730204559867904

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-12 16:46:41 +01:00
Jerome Borsboom
b640227832 avcodec/vc1: fix decoding of old WMV3 format
The position of the second MV predicitor candidate is slightly different
for the old WMV3 format indicated by RES_RTM_FLAG. This patch fixes
decoding of niceday.wmv on the samples server.

Fixes: #6641

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2019-01-12 16:40:07 +01:00
Jerome Borsboom
96740ec69f avcodec/vc1: shuffle calculation of MV predictor candidates
The B predictor for 4-MV macroblocks is only out of bounds when
the A predictor is also out of bounds.

Signed-off-by: Jerome Borsboom <jerome.borsboom@carpalis.nl>
2019-01-12 16:34:55 +01:00
Paul B Mahol
f4fd8ef725 avfilter/af_anlmdn: rework how denoising strength is used
Make into account patch size.
2019-01-12 15:41:24 +01:00
Peter Ross
ad0d5d7516 avcodec/dstdec: use appropriate alignment
this was a typo in my original dst decoder. there is no requirement for
64-byte alignment here. the change does not affect decoder performance.

Signed-off-by: Peter Ross <pross@xvid.org>
2019-01-12 19:38:10 +11:00
Linjie Fu
5764c9528b lavc/hevc_parser: report detailed log when missing picture occurs
Report the detailed log with buf_size in parse_nal_units to provide
more information when picture could not be found.

Match the behaviour in h264_parser.

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-12 02:06:09 +01:00
Michael Niedermayer
e94288c493 avcodec/nuv: add FF_CODEC_CAP_INIT_CLEANUP
Fixes: memleak
Fixes: 12244/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NUV_fuzzer-5099447273390080

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-12 02:06:09 +01:00
Paul B Mahol
c65c4ce773 avfilter/af_anlmdn: do not output more samples than received 2019-01-11 16:51:49 +01:00
Peter Ross
127564b3f1 dstdec: big-endian compatiblity 2019-01-11 23:43:37 +11:00
Peter Ross
b4e6d1f597 intreadwrite: add AV_RL64A, AV_WL64A
macros for reading and writing 64-bit aligned little-endian values.

these macros are used by the DST decoder and give a performance boost
on platforms that where the compiler must guard against unaligned
memory access.
2019-01-11 23:43:37 +11:00
Paul B Mahol
c563513fdf avfilter/af_anlmdn: drain samples at end 2019-01-11 11:54:15 +01:00
Paul B Mahol
b5ae61d2c0 avfilter/af_anlmdn: do not trim first samples
Instead denoise from start, assumming missing samples are silence.
2019-01-11 11:23:59 +01:00
Paul B Mahol
0c0fc8896c avfilter/af_anlmdn: log used parameters 2019-01-11 11:14:35 +01:00
Paul B Mahol
395e8a53fa avfilter/af_anlmdn: use lut table to calculate weights 2019-01-10 21:49:47 +01:00
Paul B Mahol
dcae5ba322 avfilter: add anlmdn filter x86 SIMD optimizations 2019-01-10 21:49:47 +01:00
Carl Eugen Hoyos
02b6d1dd63 lavfi/f_select: Cosmetics, move a function.
Silences a warning when only aselect was enabled:
libavfilter/f_select.c:421:12: warning: 'query_formats' defined but not used
2019-01-10 20:14:08 +01:00
Carl Eugen Hoyos
e51811d215 lavfi/f_select: Fix aselect filter standalone compilation. 2019-01-10 20:10:50 +01:00
Carl Eugen Hoyos
e52140ba37 lavfi/Makefile: Fix bwdif filter standalone compilation. 2019-01-10 20:02:26 +01:00