Paul B Mahol
08b83bf828
avfilter/vf_mix: always output frame if array is filled
2019-02-02 18:54:54 +01:00
Paul B Mahol
9e0e8e10c7
avfilter/vf_mix: add timeline support to tmix filter
2019-02-02 18:52:03 +01:00
Jun Zhao
6dc06e979c
doc/filters: document ranges and defaults for nlmeans options
...
document ranges and defaults for nlmeans options
Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro >
Signed-off-by: Jun Zhao <mypopydev@gmail.com >
2019-02-02 11:18:21 +08:00
Carl Eugen Hoyos
73d4efc596
lavu/imgutils: Use FFABS() instead of abs() for ptrdiff_t.
...
Fixes a warning with clang:
libavutil/imgutils.c:314:16: warning: absolute value function 'abs'
given an argument of type 'ptrdiff_t' (aka 'long') but has
parameter of type 'int' which may cause truncation of value
2019-02-01 23:19:25 +01:00
Clément Bœsch
1a9c6cc411
lavfi/nlmeans: use a dynamic size for the weight LUT
2019-02-01 20:58:47 +01:00
Clément Bœsch
65e61febc8
lavfi/nlmeans: simplify log() call
2019-02-01 20:58:47 +01:00
Jun Zhao
6c586303a1
lavfi/nlmeans: improve the performance
...
Remove the pdiff_lut_scale in nlmeans and increase weight_lut table size
from 2^9 to 500000, this change will avoid using pdiff_lut_scale in
nlmeans_slice() for weight_lut table search, improving the performance
by about 12%. (in 1080P size picture case).
Use the profiling command like:
perf stat -a -d -r 5 ./ffmpeg -i input -an -vf nlmeans=s=30 -vframes 10 \
-f null /dev/null
without this change:
when s=1.0(default value) 63s
s=30.0 72s
after this change:
s=1.0(default value) 56s
s=30.0 63s
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com >
Signed-off-by: Jun Zhao <mypopydev@gmail.com >
Signed-off-by: Clément Bœsch <u@pkh.me >
2019-02-01 20:58:43 +01:00
Carl Eugen Hoyos
ed20fbcd48
lavc/aarch64/vp8dsp: Fix the include guard.
...
Fixes fate-source.
2019-01-31 22:35:44 +01:00
Justin Bull
22fc9cdd7e
INSTALL.md: Fix Markdown formatting
...
Signed-off-by: Lou Logan <lou@lrcd.com >
2019-01-31 10:29:16 -09:00
Magnus Röös
833fed5253
libavcodec: vp8 neon optimizations for aarch64
...
Partial port of the ARM Neon for aarch64.
Benchmarks from fate:
benchmarking with Linux Perf Monitoring API
nop: 58.6
checkasm: using random seed 1760970128
NEON:
- vp8dsp.idct [OK]
- vp8dsp.mc [OK]
- vp8dsp.loopfilter [OK]
checkasm: all 21 tests passed
vp8_idct_add_c: 201.6
vp8_idct_add_neon: 83.1
vp8_idct_dc_add_c: 107.6
vp8_idct_dc_add_neon: 33.8
vp8_idct_dc_add4y_c: 426.4
vp8_idct_dc_add4y_neon: 59.4
vp8_loop_filter8uv_h_c: 688.1
vp8_loop_filter8uv_h_neon: 216.3
vp8_loop_filter8uv_inner_h_c: 649.3
vp8_loop_filter8uv_inner_h_neon: 195.3
vp8_loop_filter8uv_inner_v_c: 544.8
vp8_loop_filter8uv_inner_v_neon: 131.3
vp8_loop_filter8uv_v_c: 706.1
vp8_loop_filter8uv_v_neon: 141.1
vp8_loop_filter16y_h_c: 668.8
vp8_loop_filter16y_h_neon: 242.8
vp8_loop_filter16y_inner_h_c: 647.3
vp8_loop_filter16y_inner_h_neon: 224.6
vp8_loop_filter16y_inner_v_c: 647.8
vp8_loop_filter16y_inner_v_neon: 128.8
vp8_loop_filter16y_v_c: 721.8
vp8_loop_filter16y_v_neon: 154.3
vp8_loop_filter_simple_h_c: 387.8
vp8_loop_filter_simple_h_neon: 187.6
vp8_loop_filter_simple_v_c: 384.1
vp8_loop_filter_simple_v_neon: 78.6
vp8_put_epel8_h4v4_c: 3971.1
vp8_put_epel8_h4v4_neon: 855.1
vp8_put_epel8_h4v6_c: 5060.1
vp8_put_epel8_h4v6_neon: 989.6
vp8_put_epel8_h6v4_c: 4320.8
vp8_put_epel8_h6v4_neon: 1007.3
vp8_put_epel8_h6v6_c: 5449.3
vp8_put_epel8_h6v6_neon: 1158.1
vp8_put_epel16_h6_c: 6683.8
vp8_put_epel16_h6_neon: 831.8
vp8_put_epel16_h6v6_c: 11110.8
vp8_put_epel16_h6v6_neon: 2214.8
vp8_put_epel16_v6_c: 7024.8
vp8_put_epel16_v6_neon: 799.6
vp8_put_pixels8_c: 112.8
vp8_put_pixels8_neon: 78.1
vp8_put_pixels16_c: 131.3
vp8_put_pixels16_neon: 129.8
Signed-off-by: Magnus Röös <mla2.roos@gmail.com >
2019-01-31 20:17:51 +01:00
Carl Eugen Hoyos
608572ce84
tests/checkasm/checkasm: Do not define an unused function.
...
Fixes the following warning:
tests/checkasm/checkasm.c:615:12: warning: 'bench_init_ffmpeg' defined but not used
2019-01-31 20:16:17 +01:00
Michael Niedermayer
497c9b0cce
avformat/rtsp: Check number of streams in sdp_parse_line()
...
Fixes: OOM
Found-by: Michael Hanselmann <public@hansmi.ch >
Reviewed-by: Michael Hanselmann <public@hansmi.ch >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 17:33:50 +01:00
Michael Niedermayer
a53c4f3689
avcodec/ffv1: Simplify update_vlc_state()
...
About 0.5% faster
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 17:17:17 +01:00
Michael Niedermayer
5d0139d5f0
avcodec/ffv1: Simplify fold()
...
No speed difference, or slightly faster (the difference is too small so it may be noise
that this appears faster)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 17:17:17 +01:00
Mateusz
fe1ccc1e91
libavcodec/rscc.c: add missing semicolon
...
Signed-off-by: Mateusz Brzostek <mateuszb@poczta.onet.pl >
Reviewed-by: James Almer <jamrial@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 17:16:39 +01:00
Steven Liu
1e03d60054
avformat/hlsenc: add var_stream_map LANGUAGE field string parameter
...
use a:0,agroup:aud_low,default:Yes,language:CHN a:1,agroup:aud_low,language:ENG
a:2,agroup:aud_high,default:YesYes,language:CHN a:3,agroup:aud_high,language:ENG
v:0,agroup:aud_low v:1,agroup:aud_high
create master m3u8 list.
result:
EXTM3U
EXT-X-VERSION:3
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_0",DEFAULT=YES,LANGUAGE="CHN",URI="out_0.m3u8"
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_1",DEFAULT=NO,LANGUAGE="ENG",URI="out_1.m3u8"
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_high",NAME="audio_2",DEFAULT=YES,LANGUAGE="CHN",URI="out_2.m3u8"
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_high",NAME="audio_3",DEFAULT=NO,LANGUAGE="ENG",URI="out_3.m3u8"
EXT-X-STREAM-INF:BANDWIDTH=1170400,RESOLUTION=640x480,CODECS="avc1.64001e,mp4a.40.2",AUDIO="group_aud_low"
out_4.m3u8
EXT-X-STREAM-INF:BANDWIDTH=3440800,RESOLUTION=640x480,CODECS="avc1.64001e,mp4a.40.2",AUDIO="group_aud_high"
out_5.m3u8
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2019-01-31 16:17:11 +08:00
Steven Liu
6a25bb5aa4
avformat/hlsenc: add var_stream_map DEFAULT field status parameter
...
use a:0,agroup:aud_low,default:Yes a:1,agroup:aud_low,
a:2,agroup:aud_high,default:Yes a:3, agroup:aud_high,
v:0,agroup:aud_low v:1,agroup:aud_high
create master m3u8 list.
result:
EXTM3U
EXT-X-VERSION:3
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_0",DEFAULT=YES,URI="out_0.m3u8"
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_1",DEFAULT=NO,URI="out_1.m3u8"
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_high",NAME="audio_2",DEFAULT=YES,URI="out_2.m3u8"
EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_high",NAME="audio_3",DEFAULT=NO,URI="out_3.m3u8"
EXT-X-STREAM-INF:BANDWIDTH=1170400,RESOLUTION=640x480,CODECS="avc1.64001e,mp4a.40.2",AUDIO="group_aud_low"
out_4.m3u8
EXT-X-STREAM-INF:BANDWIDTH=3440800,RESOLUTION=640x480,CODECS="avc1.64001e,mp4a.40.2",AUDIO="group_aud_high"
out_5.m3u8
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2019-01-31 16:17:02 +08:00
Steven Liu
62e8644bca
avformat/hlsenc: make the EXT-X-MEDIA NAME field by stream id.
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2019-01-31 16:16:53 +08:00
Michael Niedermayer
0b50f27635
avformat/rtsp: Clear reply in every iteration in ff_rtsp_connect()
...
Fixes: Infinite loop
Found-by: Michael Hanselmann <public@hansmi.ch >
Reviewed-by: Michael Hanselmann <public@hansmi.ch >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 00:24:38 +01:00
Michael Niedermayer
9f4af97aff
avcodec/rasc: Move ff_get_buffer() after frame checks
...
If the frame1/2 checks fail this avoids doing the allocation of a new frame
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 00:24:38 +01:00
Michael Niedermayer
f4079d5174
avcodec/rasc: Check uncompressed dlta size
...
We assume that if the compressed size is bigger than if each byte is encoded in a single raw packet
that the data is invalid.
Fixes: Out of memory
Fixes: 12208/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5648916473708544
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-31 00:24:38 +01:00
Michael Niedermayer
db1c4acd02
avcodec/fic: Check that there is input left in fic_decode_block()
...
Fixes: Timeout
Fixes: 12450/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FIC_fuzzer-5661984622641152
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-31 00:24:38 +01:00
Michael Niedermayer
b559c58a03
avformat/flvdec: Try to support some concatenated flv files
...
Fixes: discont.flv
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-31 00:24:38 +01:00
Carl Eugen Hoyos
8a23a2b7de
lavf/asf: Remove an unneeded forward declaration.
2019-01-30 23:15:28 +01:00
Dilshod Mukhtarov
1100862a94
libavdevice/gdigrab: fix HIDPI support for mouse positioning
...
Mouse position was not calculated properly in area or window mode
Signed-off-by: Dilshod Mukhtarov <dilshodm@gmail.com >
2019-01-30 21:55:22 +01:00
Dilshod Mukhtarov
d7c9ddd0c4
libavdevice/gdigrab: fix HIDPI support for window capture
...
In Windows if using scaling other than 100% then the grabbed window was not captured fully (cropped)
Signed-off-by: Dilshod Mukhtarov <dilshodm@gmail.com >
2019-01-30 21:55:11 +01:00
Karthick J
789d3b98d1
avformat/tee : Pass standards compliance value to slave muxers as well
2019-01-30 19:32:34 +01:00
Gyan Doshi
2e2b44baba
avformat/http: clarify that ffmpeg will attempt to add missing CRLF
2019-01-29 09:58:30 +05:30
James Almer
286e58bb1f
avcodec/arbc: clear decoder state when seeking
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2019-01-28 18:14:08 -03:00
Marton Balint
483d029188
avcodec/motion_est: remove duplicate function
...
Signed-off-by: Marton Balint <cus@passwd.hu >
2019-01-28 21:46:58 +01:00
Karthick J
1db30d6cec
avformat/dashenc: Skip writing trailer for MP4 output when in streaming mode
...
In streaming mode mp4 trailer is not required for playout.
2019-01-28 11:07:10 +05:30
Michael Niedermayer
eb1f95eb35
avcodec/rscc: Avoid returning frames that have nearly no undamaged pixels in them
...
Fixes: Timeout
Fixes: 12192/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RSCC_fuzzer-6279038004363264
Before: clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RSCC_fuzzer-6279038004363264 in 15423 ms
After: clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RSCC_fuzzer-6279038004363264 in 190 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-28 01:09:38 +01:00
Michael Niedermayer
5bcefceec8
avcodec: Add discard_sample_percentage
...
Suggested-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-28 01:09:38 +01:00
Michael Niedermayer
b860f2218a
tools/target_dec_fate.list: add entries upto 1214
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-28 01:09:38 +01:00
Michael Niedermayer
fcbda8af17
avcodec/huffyuvdec: Check slice_offset/size
...
Fixes: out of array access
Fixes: 12447/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HYMT_fuzzer-5201623956062208
Fixes: 12458/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HYMT_fuzzer-5705567736168448
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-28 01:09:38 +01:00
Michael Niedermayer
4523cc5e75
avcodec/ilbcdec: Fix undefined integer overflow lsf2poly()
...
The addition is moved up into the context where the variable is unsigned avoiding
the undefined behavior
Fixes: runtime error: signed integer overflow: 2147481972 + 4096 cannot be represented in type 'int'
Fixes: 12444/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5755706244857856
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-28 01:09:38 +01:00
Michael Niedermayer
c95d0fb239
avcodec/ilbcdec: Fix integer overflow in construct_vector()
...
webrtc contains explicit code to ignore the undefined behavior (RTC_NO_SANITIZE / OverflowingAddS32S32ToS32())
Probably fixes: Integer overflow (unreproducable here)
Probably fixes: 12215/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ILBC_fuzzer-5767142427852800
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-28 01:09:38 +01:00
hwren
3016e1f8c5
MAINTAINERS: add AVS2 section
...
Signed-off-by: hwren <hwrenx@126.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-28 01:09:38 +01:00
Mark Thompson
44bcccb7f0
vaapi_encode_h265: Ensure that ref pics are always in the RPS
...
When making a new P-frame when B-frames are present the previous P-frame
is normally in the DPB because it will be referred to by subsequent
B-frames. However, this is not true if there are no B-frames, or in edge
cases where a GOP ends with two P-frames. Fix this by adding the direct
ref pics to the RPS explicitly.
Fixes #7699 .
Tested-by: Ullysses A Eoff <ullysses.a.eoff@intel.com >
2019-01-27 17:38:38 +00:00
Carl Eugen Hoyos
d3a6943804
lavf/subviewerdec: Skip leading BOM.
...
Fixes ticket #7661 .
2019-01-27 14:25:53 +01:00
Gyan Doshi
b5b6f6ad59
avfilter/buffersrc: print relevant info when skipping filter reinit
...
The timestamp of the changed input frame as well as its relevant
properties can be examined by the user. Only applicable when
reinit_filter is disabled on the input stream.
2019-01-27 18:48:36 +05:30
Carl Eugen Hoyos
8a788ff5d6
lavf/cafdec: Do not fail for unknown atoms with negative size.
...
The specification requires the demuxer to only read the data
atom up to its given size, this is necessary as atoms are
allowed at the end of the file.
This patch duplicates the behaviour of the QuickTime player.
2019-01-27 14:14:59 +01:00
Paul B Mahol
795af110f7
avcodec: add ARBC decoder
...
Thanks Kostya for great help in reversing binary.
2019-01-27 13:53:29 +01:00
Peter Ross
d8ebfd1bdf
avcodec/vp6: select idct based (loosely) on number of coefficients decoded
...
The VP3/4/5/6 reference decoders all use three IDCT versions: one for the
DC-only case, another for blocks with more than 10 coefficients, and an
optimised one for blocks with up to 10 AC coefficents. VP6 relies on the
sparse 10 coefficient version, and without it, IDCT drift occurs.
Fixes: https://trac.ffmpeg.org/ticket/1282
Signed-off-by: Peter Ross <pross@xvid.org >
2019-01-26 23:49:09 +11:00
Peter Ross
160ebe0a8d
avcodec/vp6: use ff_vp3dsp_[hv]_loop_filter_12
...
Partially fixes: https://trac.ffmpeg.org/ticket/1282
Signed-off-by: Peter Ross <pross@xvid.org >
2019-01-26 23:49:04 +11:00
Peter Ross
10a57f55e6
avcodec/vp6: use rounded shift for chroma motion vector calculation
...
Partially fixes: https://trac.ffmpeg.org/ticket/1282
Signed-off-by: Peter Ross <pross@xvid.org >
2019-01-26 23:48:59 +11:00
Peter Ross
f4756ee9f7
avcodec/vp3dsp: add 10 coefficient version of the VP3 IDCT
...
This version of the IDCT is used by the VP6 decoder.
Signed-off-by: Peter Ross <pross@xvid.org >
2019-01-26 23:48:50 +11:00
Peter Ross
19565c6026
avcodec/vp3dsp: add 12 pixel loop filter functions
...
Signed-off-by: Peter Ross <pross@xvid.org >
2019-01-26 23:48:43 +11:00
Peter Ross
1dfd7aecf2
avcodec/vp3dsp: move vp3 init loop filter function to vp3dsp
...
This is also used by the VP6 decoder.
Signed-off-by: Peter Ross <pross@xvid.org >
2019-01-26 23:48:34 +11:00
Zhong Li
260f1960e7
lavf/vaapi_deinterlace: return error if mode unsupported
...
Reviewed-by: Mark Thompson <sw@jkqxz.net >
Signed-off-by: Fuwei Tang <fuweix.tang@intel.com >
Signed-off-by: Zhong Li <zhong.li@intel.com >
2019-01-25 16:55:01 +08:00