Martin Storsjö
2eeac79936
aarch64: vp8: Fix assembling with armasm64
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2019-02-19 11:45:44 +02:00
Martin Storsjö
26d7af4c38
aarch64: vp8: Fix assembling with clang
...
This also partially fixes assembling with MS armasm64 (via
gas-preprocessor).
The movrel macro invocations need to pass the offset via a separate
parameter. Mach-o and COFF relocations don't allow a negative
offset to a symbol, which is handled properly if the offset is passed
via the parameter. If no offset parameter is given, the macro
evaluates to something like "adrp x17, subpel_filters-16+(0)", which
older clang versions also fail to parse (the older clang versions
only support one single offset term, although it can be a parenthesis.
Signed-off-by: Martin Storsjö <martin@martin.st>
2019-02-19 11:45:41 +02:00
Magnus Röös
0801853e64
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
This contains a fix to include guards by Carl Eugen Hoyos.
Signed-off-by: Martin Storsjö <martin@martin.st>
2019-02-19 11:45:33 +02:00
Luca Barbato
899ee03088
Unbreak travis on macos
2019-02-19 10:05:10 +01:00
hwren
ff03418348
lavc/libdavs2: fix parameter setting error
...
Signed-off-by: hwrenx <hwrenx@126.com>
2019-02-19 13:21:04 +08:00
hwren
11751f6252
lavc/libxavs2: use upper layer qp parameters first
...
Signed-off-by: hwrenx <hwrenx@126.com>
2019-02-19 13:21:04 +08:00
hwren
8754147db6
lavc/libxavs2: remove unused context parameter
...
Signed-off-by: hwrenx <hwrenx@126.com>
2019-02-19 13:21:04 +08:00
Xiaofeng Wang
821791caa0
lavf/mpeg: fix indent
...
Signed-off-by: Xiaofeng Wang <xiaofeng.wang@bqvision.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-18 23:08:38 +01:00
Steve Lhomme
9326117bf6
avformat/matroskadec: Check parents remaining length
...
This was found through the Hacker One program on VLC but is not a security issue in libavformat
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Michael Niedermayer
b687b549aa
avformat/webmdashenc: Check id in adaption_sets
...
Fixes: out of array access
Found-by: Wenxiang Qian
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Wenxiang Qian
85f91ed760
avformat/http: Fix Out-of-Bounds access in process_line()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Wenxiang Qian
a142ffdcae
avformat/ftp: Fix Out-of-Bounds Access and Information Leak in ftp.c:393
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Kevin Backhouse via RT
894995c41e
avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner loop for handling braces
...
Fixes: [Semmle Security Reports #19439 ]
Fixes: dos_sscanf2.mkv
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Kevin Backhouse via RT
1f00c97bc3
avcodec/htmlsubtitles: Fixes denial of service due to use of sscanf in inner loop for tag scaning
...
Fixes: [Semmle Security Reports #19438 ]
Fixes: dos_sscanf1.mkv
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Michael Niedermayer
7246bf365a
avcodec/mpegvideo_enc: Use av_assert1() instead of assert()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 10:29:42 +01:00
Michael Niedermayer
d1afa7284c
avformat/matroskadec: Do not leak queued packets on sync errors
...
Fixes: memleak
Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5649187601121280
Reported-by: Chris Cunningham <chcunningham@google.com>
Tested-by: Chris Cunningham <chcunningham@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-17 09:12:06 +01:00
Gyan Doshi
a9452fe6dc
doc/fftools-common-opts: add example for codec option stream specifiers
2019-02-17 11:28:31 +05:30
Reto Kromer
7a51fed0f0
doc/muxers: grammar fix
...
Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
2019-02-17 10:56:38 +05:30
Carl Eugen Hoyos
fe7d8c993f
lavc/libgsmenc: Force mono and use 13k as default bitrate.
2019-02-17 01:04:18 +01:00
gxw
1466dc140d
avcodec/mips: [loongson] optimize theora decoding with mmi.
...
Optimize theora decoding with mmi in functions:
1. ff_vp3_idct_add_mmi
2. ff_vp3_idct_put_mmi
3. ff_vp3_idct_dc_add_mmi
4. ff_put_no_rnd_pixels_l2_mmi
Theora decoding speed improved about 32%(from 88fps to 116fps, Tested on loongson 3A3000).
Reviewed-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-16 19:56:57 +01:00
Michael Niedermayer
1f686d023b
avcodec/mpeg4videodec: Clear interlaced_dct for studio profile
...
Fixes: Out of array access
Fixes: 13090/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5408668986638336
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-02-16 19:56:57 +01:00
Philip Langdale
d6fc5dc24a
avcodec/version: Bump micro-version for nvdec/cuviddec changes
...
I forgot to add the version bump and changelog within the changes.
2019-02-16 10:43:24 -08:00
Philip Langdale
317b7b06fd
avcodec/cuviddec: Add support for decoding HEVC 4:4:4 content
...
This is the equivalent change for cuviddec after the previous change
for nvdec. I made similar changes to the copying routines to handle
pixel formats in a more generic way.
Note that unlike with nvdec, there is no confusion about the ability
of a codec to output 444 formats. This is because the cuvid parser is
used, meaning that 444 JPEG content is still indicated as using a 420
output format.
2019-02-16 10:21:26 -08:00
Diego Biurrun
f8df5e2f31
tests: Add a convenience function for video-only lavf tests
...
Rename a test in the process for consistency and simplicity and
remove the remnants of the now-unused lavf regression test scripts.
2019-02-16 18:15:55 +01:00
Diego Biurrun
618d02c1fa
tests: Convert lavf container tests to non-legacy test scripts
...
Rename some tests in the process for consistency and simplicity.
2019-02-16 18:15:46 +01:00
Diego Biurrun
896fe15dbb
tests: Convert lavf pixfmt conversion tests to non-legacy test scripts
...
Also split monolithic lavf-pixfmt test into individual tests.
2019-02-16 18:15:38 +01:00
Diego Biurrun
a957e9379d
tests: Convert lavf image tests to non-legacy test scripts
...
Rename some tests in the process for consistency and simplicity.
2019-02-16 18:15:30 +01:00
Diego Biurrun
eb8a811599
tests: Convert audio-only lavf tests to non-legacy test scripts
...
Rename some tests in the process for consistency and simplicity.
2019-02-16 18:15:22 +01:00
Diego Biurrun
a70eac7a9b
tests: Convert image2pipe tests to non-legacy test scripts
2019-02-16 18:15:11 +01:00
Philip Langdale
83c7ac2e47
avcodec/nvdec: Explicitly mark codecs that support 444 output formats
...
With the introduction of HEVC 444 support, we technically have two
codecs that can handle 444 - HEVC and MJPEG. In the case of MJPEG,
it can decode, but can only output one of the semi-planar formats.
That means we need additional logic to decide whether to use a
444 output format or not.
2019-02-16 08:47:36 -08:00
Philip Langdale
e06ccfbe1d
avcodec/nvdec: Add support for decoding HEVC 4:4:4 content
...
The latest generation video decoder on the Turing chips supports
decoding HEVC 4:4:4. Supporting this is relatively straight-forward;
we need to account for the different chroma format and pick the
right output and sw formats at the right times.
There was one bug which was the hard-coded assumption that the
first chroma plane would be half-height; I fixed this to use the
actual shift value on the plane.
We also need to pass the SPS and PPS range extension flags.
2019-02-16 08:47:36 -08:00
Philip Langdale
f4ea930a11
avcodec/hevc_ps: Expose all SPS and PPS range extension flags
...
We need all the flags to be exposed to be able to pass them on to
HW decoders. I did not attempt to nuance any of the warnings about
flags being unsupported as there's no way, at the point we extract
flags, to say whether an HW decoder is being used.
2019-02-16 08:47:36 -08:00
Diego Biurrun
5846b496f0
tests: Use a predefined function for lavf-rm test
2019-02-16 13:09:35 +01:00
Diego Biurrun
dad5fd59f3
tests: Enable CRC test for yuv4mpeg
2019-02-16 13:09:35 +01:00
Diego Biurrun
8629149816
tests: Drop duplicate variable declaration
2019-02-16 13:09:35 +01:00
Diego Biurrun
e22ffb3805
tests: Unify output directory creation
2019-02-16 13:09:35 +01:00
Diego Biurrun
7e5bde93a1
build: Rename OBJDIRS variable to OUTDIRS
...
These directories are not just for object files.
2019-02-16 13:09:35 +01:00
Timo Rothenpieler
9e1e521393
avutil/cuda_check: fix usage of removed .c file
...
Why did this not break compilation?
2019-02-15 00:44:12 +01:00
Michael Niedermayer
b0d8b7cb8e
avformat/mov: Do not use reference stream in mov_read_sidx() if there is no reference stream
...
Fixes: NULL pointer dereference
Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5634316373721088
Reported-by: Chris Cunningham <chcunningham@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-14 21:55:43 +01:00
Roman Arzumanyan
f1f66df6a2
avcodec/nvenc: add b_as_ref support for HEVC
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-02-14 13:22:09 +01:00
Timo Rothenpieler
15c6390139
avutil/cuda_check: avoid pointlessly exporting same symbol from two libraries
2019-02-14 13:21:07 +01:00
Marton Balint
dbfd042983
avformat/utils: parse some stream specifiers recursively
...
This removes lots of code duplication and also allows more complex specifiers,
for example you can use p:204:aⓂ️ language:eng to select the English language
audio stream from program 204.
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-02-13 23:21:53 +01:00
Marton Balint
b35843e391
avformat/mpegts: also convert strings without a specified encoding to UTF-8
...
The default codepage (ISO6937) should be used in this case.
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-02-13 22:01:39 +01:00
Marton Balint
dd6dd49f1d
avformat/mpegts: fix charset of type 0x11
...
ISO-10646 alone means UCS-4 for iconv, the specs refers to the Basic
Multilingual Plane (BMP), therefore we need UCS-2. VLC also using that.
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-02-13 22:01:39 +01:00
Reto Kromer
bf78aa9ee9
doc/muxers: fix typo
...
Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
2019-02-13 18:47:16 +05:30
Jun Zhao
ff5ed7abd6
avfilter/tests/integral: Correct the comment
...
Correct the comment
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2019-02-13 19:59:39 +08:00
Moritz Barsnick
a84af760b8
configure: fix dependencies for mlp and truehd encoders
...
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
2019-02-12 22:53:03 +01:00
Jan Ekström
466cb4ed56
lavc/libaribb24: use integer math to calculate font scaling
2019-02-12 20:16:40 +02:00
Jan Ekström
1ed9e8e937
lavc/libaribb24: add missing type struct members to AVOptions
2019-02-12 20:16:40 +02:00
Jan Ekström
03824afdb4
lavc/libaribb24: protect handled value with parenthesis in RGB_TO_BGR
2019-02-12 20:16:40 +02:00