1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

7445 Commits

Author SHA1 Message Date
Nikolas Bowe via ffmpeg-devel
4c8e3725d9 avfilter/af_asetnsamples: fix sample queuing.
When asetnsamples uses output samples < input samples, remaining samples build up in the fifo over time.
Fix this by marking the filter as ready again if there are enough samples.

Regression since ef3babb2c7
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-07 13:17:34 +02:00
Philip Langdale
c0b6e4cb6d avfilter/vf_yadif_cuda: Remove unnecessary stream synchronisation
I put this call in by habit, rather than because there was any
actual need. The filter is simply processing frames one after
the other and has no need to synchronise.

malakudi on the devtalk forums noticed a slowdown when using nvenc
with temporal/spatial aq and that the slowdown went away if the
sync call was removed. I also verified that in the basic encoding
case there's an observable speedup.

I also verified that we aren't doing unnecessary sync calls in any
other filter.
2019-03-30 08:55:15 -07:00
Zhong Li
4131b0619c qsv: fix the dangerous macro definitions
Signed-off-by: Zhong Li <zhong.li@intel.com>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
2019-03-28 21:49:04 +08:00
Daniel Playfair Cal
6e42021128 avfilter/vf_lensfun: add scale parameter
The lensfun filter wraps the lensfun library which performs
transformations on videos to correct for lens distortion. Often this
results in areas in the input being mapped to areas that fall outside
the boundaries of the output. The library has a parameter called scale
which is a scale factor applied to the output video. By decreasing it it
is possible to regain the areas of the video which would otherwise have
been lost. There is a special value of 0 which indicates that the
library should automatically determine a scale factor that results in
the output frame being filled (i.e. little or no black/unmapped areas).

This patch adds a corresponding scale option to the lensfun filter which
is passed through to the library. The existing behaviour of using the
automatic value of 0 is retained as the default behaviour, while other
values will be passed through to the library.

Signed-off-by: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
2019-03-25 22:50:54 +01:00
Jun Zhao
305025c8ae lavfi/sidedata: add missed frame side data type
add missed frame side data type

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-23 11:25:06 +08:00
Ruiling Song
b073fb9eea lavfi/colorspace_common: add ifdef check to be more compatible.
Some filters may not need to do linearize/delinearize, thus
will even not define them. Add ifdef check, so they could easily
re-use the .cl file.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2019-03-22 09:33:28 +08:00
Ruiling Song
8b951cd475 lavfi/tonemap_opencl: reuse color matrix calculation from colorspace.c
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2019-03-22 09:33:28 +08:00
Ruiling Song
2593122a16 lavfi/opencl: add ff_opencl_print_const_matrix_3x3()
This is used to print a 3x3 matrix into a part of OpenCL
source code.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2019-03-22 09:33:28 +08:00
Ruiling Song
d0f3798b4e lavfi/colorspace: move some functions to common file
These functions can be reused by other colorspace filters,
so move them to common file. No functional changes.

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2019-03-22 09:33:28 +08:00
Marton Balint
6af67dcc35 avfilter/af_astats: add support for optimized min/max/peak calculation
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-21 00:39:57 +01:00
Marton Balint
5cc4b79b29 avfilter/af_astats: rework sample loops
The channel loop is now the outer loop for both planar and interleaved. This is
needed by the next patch, and the speed difference is negligable if any.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-21 00:39:57 +01:00
Marton Balint
235228ea50 avfilter/af_astats: factorize sample loops
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-21 00:39:57 +01:00
Marton Balint
233fdd84c2 avfilter/af_astats: fix identation
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-21 00:39:57 +01:00
Marton Balint
e85f37d51e avfilter/af_astats: add support for selecting measured statistics
set_metadata with many entries is not very efficient, and with small audio
frames the performance loss is noticable. Also with this very simple
calculations (like peak) can be even further optimized.

Unfoturnately there are some small differences in metadata and av_log info
output, so factorizing calculations and output might not worth the hassle.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-21 00:39:57 +01:00
Kieran Kunhya
2ff7af563a vf_showinfo: Fix timecode display 2019-03-09 18:42:34 +00:00
Linjie Fu
147ef1d947 lavf/deinterlace_qsv: set specific field for repeat
Set specific field for repeat in PicStruct if the frame has repeat
flag.

Match the CheckInputPicStruct in MSDK.

Fix #7701.

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhong.li@intel.com>
2019-03-08 15:08:16 +08:00
Jun Zhao
96451477b9 lavfi/tonemap: make use of AVFILTER_DEFINE_CLASS
use AVFILTER_DEFINE_CLASS for defining the filter classes

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-08 09:38:09 +08:00
Jun Zhao
26dbe88ea3 lavfi/zscale: make use of AVFILTER_DEFINE_CLASS
use AVFILTER_DEFINE_CLASS for defining the filter classes

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-08 09:38:09 +08:00
Paul B Mahol
007c13e51e avfilter/af_anlmdn: add output mode option 2019-03-01 16:38:59 +01:00
Philip Langdale
b4c9c09915 avfilter/vf_thumbnail_cuda: Switch to using ffnvcodec
This change switches the vf_thumbnail_cuda filter from using the
full cuda sdk to using the ffnvcodec headers and loader.

Most of the change is a direct mapping, but I also switched from
using texture references to using texture objects. This is supposed
to be the preferred way of using textures, and the texture object API
is the one I added to ffnvcodec.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-02-27 18:03:17 +01:00
Philip Langdale
2544c7ea67 avfilter/vf_scale_cuda: Switch to using ffnvcodec
This change switches the vf_scale_cuda filter from using the
full cuda sdk to using the ffnvcodec headers and loader.

Most of the change is a direct mapping, but I also switched from
using texture references to using texture objects. This is supposed
to be the preferred way of using textures, and the texture object API
is the one I added to ffnvcodec.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-02-27 18:03:17 +01:00
Philip Langdale
7debf4277c avfilter/vf_yadif_cuda: Switch to using ffnvcodec
This change switches the vf_thumbnail_cuda filter from using the
full cuda sdk to using the ffnvcodec headers and loader.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-02-27 18:03:17 +01:00
Paul B Mahol
c679119a73 avfilter/vf_amplify: add tolerance option 2019-02-22 23:32:27 +01:00
Tomas Härdin
abc5ac3cf5 palettegen: Fill with last color, not black
If we fill with black then the generated palette will have one color more
than what the user requested. This also resulted in unwanted black specks in
the output of paletteuse, especially when generating small palettes.
2019-02-19 21:29:03 +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
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
Jun Zhao
9f33b0ed39 avfilter/tests/integral: Fix build warning after adjust the location
Fix build warning like "warning: ISO C90 forbids mixed declarations
and code" after adjust the location for malloc fail check.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2019-02-12 09:09:29 +08:00
Jun Zhao
6382d03347 avfilter/tests/integral: Check malloc fail before using it
Need to check malloc fail before using it, so adjust the location
in the code.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2019-02-12 09:08:27 +08:00
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
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
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
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
Gyan Doshi
3224d6691c avfilter/afade+acrossfade: allow skipping fade on inputs
New fade curve value 'nofade' passes audio samples as-is.
Primarily useful in carrying out acrossfade without fades.
2019-01-24 22:08:34 +05:30
Zachary Zhou
b8ebce4f84 libavfilter: add transpose_vaapi filter
Swap width and height when do clock/cclock rotation
Add reversal/hflip/vflip options

ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128
-hwaccel_output_format vaapi -i input.264 -vf "transpose_vaapi=clock_flip"
-c:v h264_vaapi output.h264

Signed-off-by: Zachary Zhou <zachary.zhou@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2019-01-23 23:29:40 +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
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
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
Paul B Mahol
c65c4ce773 avfilter/af_anlmdn: do not output more samples than received 2019-01-11 16:51:49 +01: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
Paul B Mahol
ed3b64402e avfilter/af_anlmdn: ignore too small values 2019-01-09 21:16:34 +01:00
Paul B Mahol
8a1fc95840 avfilter: add anlmdn audio filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2019-01-08 22:00:51 +01:00
Paul B Mahol
f2e2456294 avfilter/af_afir: adjust min partition size
Minimal value allowed by our FFT is 16 thus min partition size is 8.
2019-01-05 09:40:41 +01:00
James Almer
ef67af31ff x86/af_afir: use three operand form forat some instructions
Fixes compilation with old yasm versions.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-03 23:36:19 -03:00
James Almer
5402c1886b x86/af_afir: add ff_fcmul_add_avx()
fcmul_add_c: 1228.8
fcmul_add_sse3: 334.3
fcmul_add_avx: 186.3

Tested on a Core i5 4460 @ 3.2GHz

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-03 10:12:19 -03:00
James Almer
82043dfd2e avfilter/af_afir: split off fcmul_add into a DSP context
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-03 10:12:18 -03:00
James Almer
9b5bd665e1 x86/af_afir: fix processing the last element
ff_fcmul_add_sse3() is now identical to the C version.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-01-03 10:12:18 -03:00
Paul B Mahol
af5b6b45b4 avfilter/vf_detelecine: fix obvious frame memory leaks 2019-01-02 15:34:41 +01:00
Michael Niedermayer
1b6695354d avfilter/af_biquads: minor simplification by using ff_exp10()
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-01 21:11:47 +01:00
Michael Niedermayer
5785e0e9c4 avfilter/af_crossfeed: Use ff_exp10()
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-01 21:11:47 +01:00
Michael Niedermayer
796807022c avfilter/ebur128: Simplify by using log10()
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-01 21:11:47 +01:00
Michael Niedermayer
47c3a10b16 avfilter/vf_tonemap_opencl: Make static tables const
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-01 21:11:47 +01:00
Paul B Mahol
35a8179149 avfilter/af_adelay: allow setting delays in seconds 2019-01-01 13:33:16 +01:00
Paul B Mahol
e1f7881d92 afilter/af_sofalizer: check explicitly other type 2019-01-01 12:29:19 +01:00
Paul B Mahol
51b356eef8 avfilter/af_sofalizer: stop allocating never used buffers 2018-12-31 19:40:18 +01:00
Paul B Mahol
86555a2fbf avfilter/af_afir: fix overhead for small partitions 2018-12-31 18:07:46 +01:00
Paul B Mahol
3e8f211d86 avfilter/vf_chromashift: remove invalid offset 2018-12-30 22:31:52 +01:00
Paul B Mahol
ea3a980a61 avfilter/af_afir: do not over allocate fft buffer 2018-12-30 22:11:46 +01:00
Marton Balint
f9e947845f avfilter/af_asetnsamples: fix last frame props
Frame properties were not copied, so e.g. PTS was not set for the last frame.

Regression since ef3babb2c7.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-12-30 20:05:34 +01:00
Zachary Zhou
b6b3159b04 lavfi/vaapi: Add constant VAAPI_VPP_BACKGROUND_BLACK
Signed-off-by: Zachary Zhou <zachary.zhou@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-12-30 18:10:16 +00:00
Paul B Mahol
ba3d983c95 avfilter/af_afir: stop using as much threads as stream have it 2018-12-30 17:50:44 +01:00
Paul B Mahol
72270d5bd0 avfilter/af_afir: optimize code a little more
Avoid memset.
2018-12-30 17:50:44 +01:00
Paul B Mahol
a53a9f1c8d avfilter/af_afir: implement non-uniform partitioned convolution
Using multiple frequency delay lines.
2018-12-30 13:40:29 +01:00
Paul B Mahol
300dc45fdc avfilter/af_afir: properly split IR into multiple segments 2018-12-29 10:57:58 +01:00
Paul B Mahol
3c3eb4930e avfilter/af_afir: make part_index values per channel 2018-12-29 10:46:25 +01:00
Paul B Mahol
31c9d693aa avfilter/af_afir: make number of segments extendable 2018-12-29 10:39:19 +01:00
Paul B Mahol
6095356d5b avfilter/af_afir: use AVFrame for coeff too 2018-12-29 10:17:39 +01:00
Paul B Mahol
1ba909fabe avfilter/af_afir: use segment pointer 2018-12-29 08:35:23 +01:00
Paul B Mahol
30bf54b9f3 avfilter/af_afir: introduce uninit_segment() and use it 2018-12-29 08:35:23 +01:00
Paul B Mahol
8007e8fc67 avfilter/af_afir: fix minp/maxp range and change default value for maxp 2018-12-29 08:35:23 +01:00
Paul B Mahol
c343e81ffd avfilter/af_afir: introduce init_segment() and use it 2018-12-29 08:35:23 +01:00
Paul B Mahol
e57053417a avfilter/af_afir: move allocation stuff where it belongs 2018-12-29 08:35:23 +01:00
Paul B Mahol
7312e027d6 avfilter/af_afir: introduce AudioFIRSegment structure and use it 2018-12-29 08:35:23 +01:00
Paul B Mahol
dbf43ace21 afilter/af_afir: remove invalid delay 2018-12-27 18:02:31 +01:00
Paul B Mahol
f266d2ac90 avfilter/af_afir: remove not needed nb_samples from filter context 2018-12-27 14:11:12 +01:00
Paul B Mahol
ff0b4d5af7 avfilter/af_afir: remove not needed operations 2018-12-27 12:55:07 +01:00
Paul B Mahol
b5e0a0fe3a avfilter/af_sofalizer: use av_log2() 2018-12-27 12:31:01 +01:00
Paul B Mahol
aece1eb1e9 avfilter/af_headphone: use av_log2() 2018-12-27 12:30:04 +01:00
Paul B Mahol
d702600350 avfilter/af_afir: remove dead store variable 2018-12-26 22:30:10 +01:00
Paul B Mahol
8443462e4a avfilter/af_afir: remove unused variable 2018-12-26 21:57:59 +01:00
Paul B Mahol
9ce96a744d avfilter/af_headphone: fix regression after 7c201e420 2018-12-26 10:41:41 +01:00
Paul B Mahol
92ed9316bb avfilter/af_sofalizer: fix regression after 7ea4b928a2 2018-12-26 10:18:19 +01:00
Paul B Mahol
60e9007be2 avfilter/af_sofalizer: fix typo in comments 2018-12-26 10:01:06 +01:00
Paul B Mahol
8e4e2c9e40 avfilter/af_sofalizer: use float constants 2018-12-26 10:01:06 +01:00
Paul B Mahol
530fc345ec avfilter/af_sofalizer: add fltp sample format support 2018-12-26 10:01:06 +01:00
Paul B Mahol
6c7eb0708e avfilter/af_headphone: speed up fast convolution
Do IFFT only once per output channel.
2018-12-25 19:17:25 +01:00
Paul B Mahol
8d0b8c50bd avfilter/af_sofalizer: speed up fast convolution
Do inverse FFT only once per output channel.
2018-12-25 18:56:55 +01:00
Paul B Mahol
d6fc20a3ba avfilter/af_surround: fix code indentation 2018-12-24 20:58:12 +01:00
Paul B Mahol
3bc711a267 avfilter/af_headphone: do not reduce LFE gain too much 2018-12-24 15:24:20 +01:00