summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avfomat/hlsenc: support fmp4 format in hlsSteven Liu2017-07-032-16/+108
| | | | | | | | | | | add the fmp4 format into hlsenc because the fmp4 format add into hls from version 7. the spec link is: https://tools.ietf.org/html/draft-pantos-http-live-streaming-20 and the describe on WWDC https://developer.apple.com/videos/play/wwdc2017/515/ Signed-off-by: Steven Liu <lq@onvideo.cn>
* vdpau: do not use buggy HEVC support by defaultwm42017-07-031-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | NVIDIA broke its own API when using VDPAU decoding. If you retrieve the decoded YUV data, or if you map the surfaces with GL interop, the result are interlacing artifacts. The only way to get non-broken data is by using the vdpau video mixer to convert it to RGB. There is no way to block the non-working operations in a reasonable way (a VdpVideoSurface has to support all operations). NVIDIA refuses to fix this issue (they "fixed" it by making it work with the video mixer, but the rest is still broken). There is no sign of that changing. Do not use HEVC by default with the generic hwaccle API. Detect whether it's the NVIDIA native implementation, and exit with an error. (The same thing work with the MESA implementation.) As an escape hatch and to allow applications to use the decoder if they really want to (perhaps because they make sure to explicitly use the video mixer), reuse AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH to disable this check. Once NVIDIA fixes the bug, working driver versions could be detected, and it could be allowed again.
* avcodec/alsdec: call correct function for multi-channel codingPaul B Mahol2017-07-021-1/+1
| | | | | | Fixes #5942. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/imc: cast float to int prior to comparing with int variableKostya Shishkov2017-07-012-2/+2
| | | | | | | | Update FATE test. Fixes #3886. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/s302m: fix AVOption flagsfoo862017-07-011-1/+1
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: randomize the full input buffer in test_hybrid_analysisJames Almer2017-06-301-1/+1
| | | | Missed in the last commit.
* checkasm: fix size of input buffer in test_hybrid_analysisJames Almer2017-06-301-1/+1
|
* hevcdec: properly export some side data with frame threadingwm42017-06-302-1/+7
| | | | | | | | | | | 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.
* x86/sbrdsp: sign extend start and end gprs in ff_sbr_hf_gen_sseJames Almer2017-06-301-13/+13
| | | | | Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_ps: Fix integer overflow with beta/tc offsetsMichael Niedermayer2017-06-301-6/+8
| | | | | | | | 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>
* libavformat/avformat.h: Move docs inside of #ifMax Weber2017-06-301-1/+1
| | | | | | | 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>
* avfilter/vf_geq: >8 bps supportMichael Niedermayer2017-06-301-9/+49
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/interplayvideo: Check ff_get_buffer() for failureMichael Niedermayer2017-06-301-7/+16
| | | | | | | | | 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>
* fate: Add fate-copy-trac3074Michael Niedermayer2017-06-302-0/+665
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu/cpu: disable MMX warning on non x86 platformsClément Bœsch2017-06-291-1/+2
| | | | | We have AV_CPU_FLAG_ARMV8 == AV_CPU_FLAG_SSE3 which causes a trigger of this MMX warning on AArch64.
* avcodec/interplayvideo: fix regression causing artifactsPaul B Mahol2017-06-291-1/+3
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/gdv: add decompression for 2 and 5 methodPaul B Mahol2017-06-292-3/+148
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Update mp4 object type for VP9KongQun Yang2017-06-281-1/+1
| | | | | | Updated to the standard value 0xB1 defined in mp4ra.org. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cfhd: Fix invalid left shift of negative valueMichael Niedermayer2017-06-281-1/+1
| | | | | | | | 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>
* avcodec/vb: Check vertical GMC component before multiplyMichael Niedermayer2017-06-281-0/+4
| | | | | | | | 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>
* avcodec/interplayvideo: use correct context when checking for enough bytesPaul B Mahol2017-06-281-1/+1
| | | | | | Fixes #6502. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/x86: use new x86-64 functions for -idct simpleJames Darnley2017-06-281-2/+4
| | | | | They now match according to FATE, barring any further bugs with untested parts
* avcodec/x86: add an 8-bit simple IDCT function based on the x86-64 high ↵James Darnley2017-06-284-0/+126
| | | | | | | | depth functions Includes add/put functions Rounding contributed by Ronald S. Bultje
* avcodec/x86: allow future 8-bit simple idct to have "DC only hack"James Darnley2017-06-281-0/+40
| | | | Created by Ronald S. Bultje
* avcodec/interplayvideo: return voidPaul B Mahol2017-06-281-1/+1
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/interplayvideo: fix dead-lockPaul B Mahol2017-06-281-1/+3
| | | | | | Fixes #6499. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/interplayvideo: use int16_t instead of shortPaul B Mahol2017-06-281-16/+16
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/interplayvideo: check that video_size is >0Paul B Mahol2017-06-281-0/+2
| | | | | | Fixes #6498. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* hevc: Add support for alternative transfer characterics SEIVittorio Giovara2017-06-283-0/+22
| | | | | | | | | | 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>
* avcodec/utvideodec: Factor multiply out of inner loopMichael Niedermayer2017-06-281-2/+4
| | | | | | | | 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>
* avcodec/utvideodec: bswap directly without memcpyMichael Niedermayer2017-06-281-6/+2
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: enable unchecked bitreaderMichael Niedermayer2017-06-281-0/+2
| | | | | | | inner reader loop becomes 16% faster Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: hardcode vlc bitsMichael Niedermayer2017-06-281-5/+5
| | | | | | | 2.5% faster vlc decoding Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: Move bitstream end check out of inner loopMichael Niedermayer2017-06-281-10/+12
| | | | | | | | | 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>
* lavc/aacpsdsp: use ptrdiff_t for stride in hybrid_analysisClément Bœsch2017-06-288-10/+13
|
* lavc/aarch64: add a few SIMD functions for AAC PSClément Bœsch2017-06-285-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | ☭ 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
* lavc/aacpsdsp: fix a few spaces (cosmetics)Clément Bœsch2017-06-281-4/+5
|
* checkasm: add AAC PS testsClément Bœsch2017-06-285-1/+168
| | | | | | This includes various fixes and improvements from James Almer. Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/arm: fix lack of precision in ff_ps_stereo_interpolate_neonClément Bœsch2017-06-281-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* x86/vf_blend: use ABS2 macroJames Almer2017-06-271-6/+3
|
* avcodec/x86/vp9dsp_init_16bpp: Fix linking to missing ↵Michael Niedermayer2017-06-281-0/+2
| | | | | | ff_vp9_ipred_dr_32x32_16_avx2() on 32bit Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* hwcontext_d3d11va: use correct license headerHendrik Leppkes2017-06-282-8/+8
|
* libswresample/swresample: remove obsolete codeMichael Niedermayer2017-06-271-4/+0
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevcdec: do basic validity check on delta_chroma_weight and offsetMichael Niedermayer2017-06-271-2/+17
| | | | | | | | 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>
* avcodec/vp9: add 64-bit ipred_dr_32x32_16 avx2 implementationIlia Valiakhmetov2017-06-272-3/+106
| | | | | | | | | | | | 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>
* x86/vf_blend: optimize difference and negation functionsJames Almer2017-06-271-16/+24
| | | | | | | Process more pixels per loop. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* x86/vf_blend: add sse and ssse3 extremity functionsJames Almer2017-06-273-0/+30
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* hwframe: Allow hwaccel frame allocators to align surface sizesAnton Khirnov2017-06-271-2/+6
| | | | | | | | | | | | | | | | | 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 3fdf50f9e864c88da2139cf066832944de81acaa. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva: verbose-log decoder GUID listwm42017-06-271-0/+47
| | | | | | | | Helpful for debugging. Merges Libav commit 068eaa534e7ddb2155e2830818d5c3f1069c68d8. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hwcontext_d3d11va: add option to enable debug modewm42017-06-273-0/+38
| | | | | | | | | | | 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 cfc9e7c94eafa33e7f109099664ec4fb57ac5ca3. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
OpenPOWER on IntegriCloud