Paul B Mahol
c8853568b1
avcodec/alsdec: call correct function for multi-channel coding
...
Fixes #5942 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-07-02 16:45:15 +02:00
Kostya Shishkov
06a66e7d94
avcodec/imc: cast float to int prior to comparing with int variable
...
Update FATE test.
Fixes #3886 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-07-01 21:42:12 +02:00
foo86
f8b1a70412
avcodec/s302m: fix AVOption flags
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-07-01 12:03:34 -03:00
James Almer
0eb783eb06
checkasm: randomize the full input buffer in test_hybrid_analysis
...
Missed in the last commit.
2017-06-30 22:49:54 -03:00
James Almer
fb7b477a91
checkasm: fix size of input buffer in test_hybrid_analysis
2017-06-30 20:37:06 -03:00
wm4
ff2d21a58c
hevcdec: properly export some side data with frame threading
...
I noticed this with mastering display data. If frame threading is
enabled, this side data is exported only for some frames. It turns out
it's not properly propagated to the worker threads.
I didn't touch A53 captions, because that involves memory allocation and
freeing the data as side data is exported.
Micro bump so that API users can detect the bug fix.
2017-06-30 19:18:11 +02:00
James Almer
ac8ad8d098
x86/sbrdsp: sign extend start and end gprs in ff_sbr_hf_gen_sse
...
Tested-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-06-30 11:46:24 -03:00
Michael Niedermayer
de54a37c1d
avcodec/hevc_ps: Fix integer overflow with beta/tc offsets
...
Fixes: runtime error: signed integer overflow: 2113929216 * 2 cannot be represented in type 'int'
Fixes: 2422/clusterfuzz-testcase-minimized-5242114713583616
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-30 16:24:16 +02:00
Max Weber
9e392c6ece
libavformat/avformat.h: Move docs inside of #if
...
Otherwise AVTimebaseSource gets av_apply_bitstream_filters' documentation in doxygen.
Signed-off-by: Max Weber <mii7303@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-30 14:35:25 +02:00
Michael Niedermayer
ecc16d893d
avfilter/vf_geq: >8 bps support
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-30 12:34:34 +02:00
Michael Niedermayer
60a45713e7
avcodec/interplayvideo: Check ff_get_buffer() for failure
...
Fixes: runtime error: division by zero
Fixes: 2408/clusterfuzz-testcase-minimized-5432734438653952
Fixes: 2415/clusterfuzz-testcase-minimized-4672827619803136
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-30 03:34:58 +02:00
Michael Niedermayer
0b180d2066
fate: Add fate-copy-trac3074
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-30 03:03:08 +02:00
Clément Bœsch
2658e66cd1
lavu/cpu: disable MMX warning on non x86 platforms
...
We have AV_CPU_FLAG_ARMV8 == AV_CPU_FLAG_SSE3 which causes a trigger of
this MMX warning on AArch64.
2017-06-29 18:00:58 +02:00
Paul B Mahol
3821c004e2
avcodec/interplayvideo: fix regression causing artifacts
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-29 16:43:40 +02:00
Paul B Mahol
4d681269e0
avcodec/gdv: add decompression for 2 and 5 method
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-29 15:54:20 +02:00
KongQun Yang
45dbb40cd1
Update mp4 object type for VP9
...
Updated to the standard value 0xB1 defined in mp4ra.org.
Signed-off-by: James Almer <jamrial@gmail.com >
2017-06-28 20:04:56 -03:00
Michael Niedermayer
c709f009da
avcodec/cfhd: Fix invalid left shift of negative value
...
Fixes: runtime error: left shift of negative value -1
Fixes: 2395/clusterfuzz-testcase-minimized-6540529313513472
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 23:39:11 +02:00
Michael Niedermayer
bc6ab72bc7
avcodec/vb: Check vertical GMC component before multiply
...
Fixes: runtime error: signed integer overflow: 8224 * 663584 cannot be represented in type 'int'
Fixes: 2393/clusterfuzz-testcase-minimized-6128334993883136
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 23:39:11 +02:00
Paul B Mahol
f0edab6e63
avcodec/interplayvideo: use correct context when checking for enough bytes
...
Fixes #6502 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-28 19:38:22 +02:00
James Darnley
0c2acccd4b
avcodec/x86: use new x86-64 functions for -idct simple
...
They now match according to FATE, barring any further bugs with untested
parts
2017-06-28 17:27:35 +02:00
James Darnley
d7246ea9f2
avcodec/x86: add an 8-bit simple IDCT function based on the x86-64 high depth functions
...
Includes add/put functions
Rounding contributed by Ronald S. Bultje
2017-06-28 17:27:35 +02:00
James Darnley
8b19467d07
avcodec/x86: allow future 8-bit simple idct to have "DC only hack"
...
Created by Ronald S. Bultje
2017-06-28 17:27:35 +02:00
Paul B Mahol
c1d1274bfc
avcodec/interplayvideo: return void
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-28 17:18:13 +02:00
Paul B Mahol
ed782bebf5
avcodec/interplayvideo: fix dead-lock
...
Fixes #6499 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-28 17:14:30 +02:00
Paul B Mahol
613ccdaaac
avcodec/interplayvideo: use int16_t instead of short
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-28 17:07:49 +02:00
Paul B Mahol
42f516b5d3
avcodec/interplayvideo: check that video_size is >0
...
Fixes #6498 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-28 17:02:07 +02:00
Vittorio Giovara
3426832ac3
hevc: Add support for alternative transfer characterics SEI
...
The use of this SEI is for backward compatibility in HLG HDR systems:
older devices that cannot interpret the "arib-std-b67" transfer will
get the compatible transfer (usually bt709 or bt2020) from the VUI,
while newer devices that can interpret HDR will read the SEI and use
its value instead.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2017-06-28 09:42:24 -04:00
Michael Niedermayer
850c6db97d
avcodec/utvideodec: Factor multiply out of inner loop
...
0.5% faster loop
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Reviewed-by: Steven Liu <lingjiujianke@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
Michael Niedermayer
5eb4701b7d
avcodec/utvideodec: bswap directly without memcpy
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
Michael Niedermayer
676a589c93
avcodec/utvideodec: enable unchecked bitreader
...
inner reader loop becomes 16% faster
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
Michael Niedermayer
9c604b34d4
avcodec/utvideodec: hardcode vlc bits
...
2.5% faster vlc decoding
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
Michael Niedermayer
1835c5e7a4
avcodec/utvideodec: Move bitstream end check out of inner loop
...
This is not needed when the buffer is large enough for the worst case of a line
2% faster vlc reading
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
Clément Bœsch
b12a36170b
lavc/aacpsdsp: use ptrdiff_t for stride in hybrid_analysis
2017-06-28 12:22:39 +02:00
Clément Bœsch
ff0ecef624
lavc/aarch64: add a few SIMD functions for AAC PS
...
☭ tests/checkasm/checkasm --bench --test=aacpsdsp
checkasm: using random seed 3318985180
MMX implied by specified flags
MMX implied by specified flags
NEON:
- aacpsdsp.add_squares [OK]
- aacpsdsp.mul_pair_single [OK]
- aacpsdsp.hybrid_analysis [OK]
- aacpsdsp.stereo_interpolate [OK]
checkasm: all 5 tests passed
nop: 10.0
ps_add_squares_c: 63221.2
ps_add_squares_neon: 22311.7
ps_hybrid_analysis_c: 2466.6
ps_hybrid_analysis_neon: 1521.9
ps_mul_pair_single_c: 68592.0
ps_mul_pair_single_neon: 17426.6
ps_stereo_interpolate_c: 72344.3
ps_stereo_interpolate_neon: 72308.8
ps_stereo_interpolate_ipdopd_c: 117415.2
ps_stereo_interpolate_ipdopd_neon: 113386.3
2017-06-28 12:22:39 +02:00
Clément Bœsch
9bbb0fbd31
lavc/aacpsdsp: fix a few spaces (cosmetics)
2017-06-28 12:22:39 +02:00
Clément Bœsch
edd041e64c
checkasm: add AAC PS tests
...
This includes various fixes and improvements from James Almer.
Signed-off-by: James Almer <jamrial@gmail.com >
2017-06-28 12:22:39 +02:00
Clément Bœsch
e4a27e2f2d
lavc/arm: fix lack of precision in ff_ps_stereo_interpolate_neon
...
The code originally pre-multiply by 2 the steps, causing the running sum
of the h factors to drift away due to the lack of precision. It quickly
causes an inaccuracy > 0.01.
I tried diverse approaches such as multiply by 2.0 (instead of adding
the value itself) without success.
I'm unable to bench the impact of this change, feel free to compare.
This commit fixes the incoming aacpsdsp tests.
Following is an alternative simplified function (matching the incoming
AArch64 code) that may be used:
function ff_ps_stereo_interpolate_neon, export=1
vld1.32 {q0}, [r2]
vld1.32 {q1}, [r3]
ldr r12, [sp]
vmov.f32 q8, q0
vmov.f32 q9, q1
vzip.32 q8, q0
vzip.32 q9, q1
1:
vld1.32 {d4}, [r0,:64]
vld1.32 {d6}, [r1,:64]
vadd.f32 q8, q8, q9
vadd.f32 q0, q0, q1
vmov.f32 d5, d4
vmov.f32 d7, d6
vmul.f32 q2, q2, q8
vmla.f32 q2, q3, q0
vst1.32 {d4}, [r0,:64]!
vst1.32 {d5}, [r1,:64]!
subs r12, r12, #1
bgt 1b
bx lr
endfunc
2017-06-28 11:59:34 +02:00
James Almer
d2ef9e6e7f
x86/vf_blend: use ABS2 macro
2017-06-27 20:45:55 -03:00
Michael Niedermayer
516c213f08
avcodec/x86/vp9dsp_init_16bpp: Fix linking to missing ff_vp9_ipred_dr_32x32_16_avx2() on 32bit
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 00:31:33 +02:00
Hendrik Leppkes
15b00aea41
hwcontext_d3d11va: use correct license header
2017-06-28 00:19:55 +02:00
Michael Niedermayer
c578c9c229
libswresample/swresample: remove obsolete code
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-27 23:21:53 +02:00
Michael Niedermayer
2c874548d6
avcodec/hevcdec: do basic validity check on delta_chroma_weight and offset
...
Fixes: runtime error: signed integer overflow: 2147483520 + 128 cannot be represented in type 'int'
Fixes: 2385/clusterfuzz-testcase-minimized-6594333576790016
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-27 23:21:12 +02:00
Ilia Valiakhmetov
35a5d9715d
avcodec/vp9: add 64-bit ipred_dr_32x32_16 avx2 implementation
...
vp9_diag_downright_32x32_12bpp_c: 429.7
vp9_diag_downright_32x32_12bpp_sse2: 158.9
vp9_diag_downright_32x32_12bpp_ssse3: 144.6
vp9_diag_downright_32x32_12bpp_avx: 141.0
vp9_diag_downright_32x32_12bpp_avx2: 73.8
Almost 50% faster than avx implementation
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com >
2017-06-27 16:10:50 -04:00
James Almer
0daa1cf073
x86/vf_blend: optimize difference and negation functions
...
Process more pixels per loop.
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-06-27 13:17:23 -03:00
James Almer
fa50d9360b
x86/vf_blend: add sse and ssse3 extremity functions
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-06-27 13:17:23 -03:00
Anton Khirnov
d14179e3d4
hwframe: Allow hwaccel frame allocators to align surface sizes
...
Hardware accelerated decoding generally uses AVHWFramesContext for pool
allocation of hardware surfaces. These are setup to allocate surfaces
aligned to hardware and hwaccel API requirements. Due to the
architecture, av_hwframe_get_buffer() will return AVFrames with
the dimensions set to the aligned sizes.
This causes some decoders (like hevc) return these aligned size as
final frame size, instead of cropping them to the video's actual
dimensions. To make sure this doesn't happen, crop the frame to the
size the decoder expects when ff_get_buffer() is called.
Merges Libav commit 3fdf50f9e8 .
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-06-27 18:05:02 +02:00
wm4
f0bcedaf37
dxva: verbose-log decoder GUID list
...
Helpful for debugging.
Merges Libav commit 068eaa534e .
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-06-27 18:05:02 +02:00
wm4
289d387330
hwcontext_d3d11va: add option to enable debug mode
...
Basically copied from VLC (LGPL):
http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/direct3d11.c;h=e9fcb83dcabfe778f26e63d19f218caf06a7c3ae;hb=HEAD#l1482
http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/d3d11va.c;h=85e7d25caebc059a9770da2ef4bb8fe90816d76d;hb=HEAD#l599
Merges Libav commit cfc9e7c94e .
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-06-27 18:05:02 +02:00
wm4
8d7fdba7b8
dxva: support DXGI_FORMAT_420_OPAQUE decoding
...
Some devices (some phones, apparently) will support only this opaque
format. Of course this won't work with CLI, because copying data
directly is not supported.
Automatic frame allocation (setting AVCodecContext.hw_device_ctx) does
not support this mode, even if it's the only supported mode. But since
opaque surfaces are generally less useful, that's probably ok.
Merges Libav commit 5030e3856c .
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-06-27 18:05:02 +02:00
wm4
6f5ff3269b
hwcontext_d3d11va: allocate staging texture lazily
...
Makes dealing with formats that can not be used for staging textures
easier (DXGI_FORMAT_420_OPAQUE). It also saves memory if the staging
texture is never needed, so this is a good thing.
Merges Libav commit 98d73e4174 .
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-06-27 18:05:02 +02:00