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
Paul B Mahol
84d1adb118
avfilter/af_sofalizer: do not reduce LFE by 6dB
...
It is already reduced enough.
2018-12-24 15:24:20 +01:00
Paul B Mahol
7d5bb3a4d3
avfilter/af_sofalizer: fix memory leaks
2018-12-23 21:49:30 +01:00
Paul B Mahol
ee64b64c02
avfilter/af_sofalizer: set delays when interpolation is disabled
2018-12-23 21:40:07 +01:00
Paul B Mahol
4096c670ab
avfilter/af_sofalizer: stop using easy API
...
Easy API is not flexible enough for our needs.
2018-12-23 18:29:53 +01:00
Paul B Mahol
d360a79c0a
avfilter/af_sofalizer: reset FFT pointers back to NULL
2018-12-23 11:30:01 +01:00
Paul B Mahol
0c3481b43a
avfilter/af_sofalizer: pick IR length after loading sofa
...
Instead of picking it in preloading stage.
2018-12-23 11:02:34 +01:00
Paul B Mahol
b13fe6477d
avfilter/af_sofalizer: increase range for lfegain
...
Fixes #7634 .
2018-12-23 10:00:44 +01:00
Paul B Mahol
7c201e420a
avfilter/af_headphone: fix filtering of non-power of 2 length IRs in time domain
2018-12-22 20:47:02 +01:00
Paul B Mahol
7ea4b928a2
avfilter/af_sofalizer: fix non-power of 2 IR length filtering in time domain
2018-12-22 16:19:21 +01:00
Paul B Mahol
47ba085472
avfilter/af_headphone: use fabsf() instead of fabs()
2018-12-21 12:06:03 +01:00
Paul B Mahol
c49307e784
avfilter/af_sofalizer: use fabsf() instead of fabs()
2018-12-21 11:53:44 +01:00
Paul B Mahol
d6951e595a
avfilter/af_sofalizer: add framesize option
2018-12-20 20:30:07 +01:00
Paul B Mahol
1ead98ffd9
avfilter/af_sofalizer: increase max radius
2018-12-20 19:20:30 +01:00
Paul B Mahol
4b5977fc50
avfilter/af_sofalizer: add printing of license back
2018-12-20 13:46:49 +01:00
Michael Niedermayer
568e1b229b
avfilter/scene_sad: Fix funtions typos
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-12-18 14:18:05 +01:00
Paul B Mahol
d54276f9de
avfilter/af_apad: add pad_dur and whole_dur options
2018-12-17 19:14:36 +01:00
Carl Eugen Hoyos
826655d8d1
lavfi/program_opencl: Do not use format specifier "z" on Windows.
2018-12-17 14:44:10 +01:00
Carl Eugen Hoyos
32601fb821
lavfi/signalstats: Cast the return value of AV_RN16() to int.
...
It is unsigned at least on arm, fixes the following warnings:
libavfilter/vf_signalstats.c:833:21: warning: taking the absolute value of unsigned type 'unsigned int' has no effect
dify += abs(yuv - AV_RN16(prev->data[0] + pw + i * 2));
2018-12-12 23:54:14 +01:00
Paul B Mahol
dd7d6034f1
avfilter/vf_paletteuse: fix flags for alpha_threshold option
2018-12-11 17:55:05 +01:00
Jun Zhao
a271025215
lavfi/vf_scale_vaapi: add scaling mode setting support.
...
before this change, scale_vaapi hard coding the scaling mode, add a
new option "mode" to setting the scaling mode, it can be use to change
scaling algorithm for performance/quality trade off.
Note: VA_FILTER_SCALING_NL_ANAMORPHIC(nolinear ananorphic scaling
algorithm) doesn't support by i965/iHD driver now, add this just for
completeness.
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-10 15:24:47 +08:00
Paul B Mahol
8be56ee211
avfilter/vf_showinfo: allow checksums calculation to be disabled
...
Fixes #6987 .
2018-12-09 18:46:36 +01:00
Jun Zhao
5ecd4f24f0
lavfi/buffersink: fix abuffersink flag setting issue
...
abuffersink need to setting AV_OPT_FLAG_AUDIO_PARAM flag.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-12-09 23:13:55 +08:00
Paul B Mahol
8440835dbe
avfilter/vf_overlay: fix filtering with negative y
2018-12-03 10:32:59 +01:00
Ruiling Song
416dc9a5e8
lavf: add transpose_opencl filter
...
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-12-02 23:39:37 +00:00
Carl Eugen Hoyos
1893c72086
lavfi/fps: Avoid duplicating Closed Captions when increasing frame rate.
2018-11-27 18:38:03 +01:00
Jun Zhao
e002ec332b
lavfi/buffersrc: Indent the code.
...
commit b0012de420
missed reindent.
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-11-27 10:45:25 +08:00
Mark Harris
8108064043
avfilter/vf_chromashift: Fix mixed declaration and code
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-26 23:47:29 +01:00
James Almer
3913d6f734
x86/scene_sad: fix link errors when HAVE_X86ASM is not defined
...
Reviewed-by: Haihao Xiang <haihao.xiang@intel.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-11-21 22:26:07 -03:00
Peter Ross
1ee4b4006b
avfilter/graphmonitor: use SIZE_SPECIFIER for size_t type
2018-11-21 23:26:29 +11:00
Paul B Mahol
57815cfad5
avfilter/vf_overlay: fix crash with negative y
2018-11-20 23:18:47 +01:00
Marton Balint
972ded33c0
avfilter/vf_freezedetect: add filter to detect frozen input
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-19 22:11:42 +01:00
Paul B Mahol
6da439219d
avfilter: add rgbashift filter
2018-11-19 14:55:49 +01:00
Paul B Mahol
cfd421226c
avfilter: add chromashift filter
2018-11-19 14:46:45 +01:00
Paul B Mahol
ead0d2eb76
avfilter/vf_limiter: remove unused header
2018-11-18 22:20:34 +01:00
Paul B Mahol
f3d8a4ea46
avfilter/vf_limiter: always limit min/max to format depth
2018-11-18 22:20:34 +01:00
Paul B Mahol
72482363d1
avfilter/f_drawgraph: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
c834f52c00
avfilter/af_aecho: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
f79750bc32
avfilter/af_ladspa: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
2de165a92b
avfilter/vf_mix: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
9b2c325060
avfilter/af_sofalizer: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
80265dba3d
avfilter/af_afftdn: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
0c7fb6e4a0
avfilter/af_adelay: use av_sscanf()
2018-11-18 21:21:18 +01:00
Paul B Mahol
a5b28b271a
avfilter/af_acrossover: use av_strtod() to parse single number
2018-11-18 20:44:27 +01:00
Martin Vignali
d3621b2321
avfilter: use av_clip_uintp2 instead of av_clip for 10b and 12b
2018-11-17 18:06:58 +01:00
Paul B Mahol
fbea2ea76e
avfilter/vf_neighbor: fix >8 bit deflate/inflate
2018-11-17 11:09:37 +01:00
Carl Eugen Hoyos
21dd05ee6a
lavfi/minterpolate: Remove declaration of two unused variables.
2018-11-16 21:45:49 +01:00
Paul B Mahol
395508d9b6
avfilter/vf_dedot: initizalize ret variable
2018-11-16 21:39:37 +01:00
Paul B Mahol
4902780d2b
avfilter/vf_lut3d: use av_sscanf
2018-11-16 20:24:52 +01:00
Paul B Mahol
7a73cca254
avfilter: add dedot video filter
2018-11-16 20:19:08 +01:00
Marton Balint
aecd63b926
avfilter/af_afade: fix duration maximum
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-15 22:16:32 +01:00
Paul B Mahol
662120f2b2
avfilter/vf_convolution: use sqrtf as its faster
2018-11-15 19:09:20 +01:00
Paul B Mahol
1342ec526e
avfilter/vf_blend: add 12bit support
2018-11-15 15:03:05 +01:00
Paul B Mahol
c98a32e4ad
avfilter/vf_blend: add 10bit support
2018-11-15 14:44:24 +01:00
Paul B Mahol
02809e7b06
avfilter/vf_lut2: implement support for different input depths
2018-11-15 11:47:58 +01:00
Philip Langdale
1096614c42
avfilter/vf_bwdif: Use common yadif frame management logic
...
After adding field type management to the common yadif logic, we can
remove the duplicate copy of that logic from bwdif.
2018-11-14 17:41:01 -08:00
Philip Langdale
fa74e4aef2
avfilter/yadif_common: Add field type tracking to help bwdif
...
The bwdif filter can use common yadif frame management if we track
when a field is the first or last field in a sequence. While this
information is not used by yadif, the added benefit of removing the
duplicated frame management logic makes it worth tracking this state
in the common code.
2018-11-14 17:41:01 -08:00
Philip Langdale
19d3d0c057
avutil/hwcontext_cuda: Define and use common CHECK_CU()
...
We have a pattern of wrapping CUDA calls to print errors and
normalise return values that is used in a couple of places. To
avoid duplication and increase consistency, let's put the wrapper
implementation in a shared place and use it everywhere.
Affects:
* avcodec/cuviddec
* avcodec/nvdec
* avcodec/nvenc
* avfilter/vf_scale_cuda
* avfilter/vf_scale_npp
* avfilter/vf_thumbnail_cuda
* avfilter/vf_transpose_npp
* avfilter/vf_yadif_cuda
2018-11-14 17:39:42 -08:00
Paul B Mahol
23f589e073
avfilter/vf_alphamerge: do not check for ret value if all wanted frames are present
...
It is not needed and may be uninitialized.
2018-11-12 22:07:13 +01:00
Mark Harris
ae4323548a
avfilter/vf_fade: fix start/duration max value
...
A fade out (usually at the end of a video) can easily start beyond
INT32_MAX (about 36 minutes). Regression since d40dc64173
.
2018-11-12 12:42:42 +01:00
Paul B Mahol
e96742dd3b
avfilter/af_afftfilt: use first input frame timestamp
2018-11-12 12:35:24 +01:00
Paul B Mahol
29f2893318
avfilter/vf_alphamerge: switch to activate
2018-11-12 10:47:50 +01:00
Paul B Mahol
0f2cfa3d80
avfilter/af_headphone: do not leak input frames on error
2018-11-12 09:38:30 +01:00
Paul B Mahol
a09411a0ee
avfilter/af_afftfilt: calculate all channels FFT values upfront
2018-11-12 09:27:08 +01:00
Paul B Mahol
d03030c071
avfilter/af_afftfilt: add more window types
2018-11-11 21:23:24 +01:00
Paul B Mahol
bdc66c50dd
avfilter/af_afftfilt: extend filter functionality
2018-11-11 21:23:24 +01:00
Marton Balint
936d18fb42
avfilter/vf_minterpolate: use common scene sad functions
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-11 20:30:50 +01:00
Marton Balint
7748f395de
avfilter/vf_select: use common scene sad functions
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-11 20:30:50 +01:00
Marton Balint
6c2a7a8e9a
avfilter/vf_framerate: factorize SAD functions which compute SAD for a whole frame
...
Also add SIMD which works on lines because it is faster then calculating it on
8x8 blocks using pixelutils.
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-11-11 20:30:50 +01:00
Paul B Mahol
8860d30731
avfilter/vf_lut3d: ignore last whitespace when comparing LUT size string
...
In some situations it might be tab character and in others normal space.
2018-11-11 13:36:45 +01:00
Paul B Mahol
c47b48c0a6
avfilter/vf_lut3d: add spline 1D interpolation
2018-11-10 22:08:42 +01:00
Paul B Mahol
0bc2326b90
avfilter/vf_lut3d: add cosine 1D interpolation
2018-11-10 21:44:35 +01:00
Martin Vignali
75625c555c
avfilter/af_headphone : fix mem leak
...
report by coverity
CID 1439934
CID 1439935
2018-11-09 21:55:32 +01:00
Paul B Mahol
29fdaaa80d
avfilter/af_afir: fix hang because video is first requested
2018-11-09 18:51:21 +01:00
Paul B Mahol
16d91b7e99
avfilter/af_afir: kill useless code which increases latency for no reason
2018-11-09 10:40:16 +01:00
Paul B Mahol
36348d77b8
avfilter/af_afir: add minp/maxp options to control latency and speed
2018-11-08 22:07:14 +01:00
Paul B Mahol
698e67bef2
avfilter/af_afir: do not leak frame and clear pointer to freed frame
2018-11-08 21:34:49 +01:00
Paul B Mahol
70463b7026
avfilter/avf_showspectrum: add terrain color map
2018-11-08 17:59:48 +01:00
Paul B Mahol
09fdfc11b7
avfilter/avf_showspectrum: add cividis colormap
2018-11-08 15:08:43 +01:00
Paul B Mahol
0f0f840716
avfilter/af_aiir: implement rate option
2018-11-08 13:05:08 +01:00
Paul B Mahol
1d9fe1fdf6
avfilter/af_afir: implement rate option
2018-11-08 13:05:08 +01:00
Paul B Mahol
8dc5eb43b0
avfilter/af_afir: return early when giving video frame
2018-11-08 13:05:08 +01:00
Paul B Mahol
fcbde5e6a4
avfilter/af_afir: remove redundant code
2018-11-08 11:14:04 +01:00
Paul B Mahol
0c6d4e7ba4
avfilter/avf_showspectrum: add plasma color map
2018-11-07 18:56:21 +01:00
Paul B Mahol
ed58db4237
avfilter/avf_showspectrum: add viridis color map
2018-11-07 17:55:34 +01:00
Paul B Mahol
975510758c
avfilter/avf_showspectrum: improve magma colors
2018-11-07 17:18:44 +01:00
Zhong Li
d96ae9d5ea
lavc/qsv_overlay: suppress code scan complain
...
Suppress the complain "variables 'pix_fmt' is used but maybe
uninitialized".
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-11-06 17:42:31 +08:00
Paul B Mahol
63fbec7477
avfilter/af_afade: remove unused code
2018-11-04 15:01:56 +01:00
Paul B Mahol
242f7bf202
avfilter/split: use ff_outlink_get_status()
2018-11-03 18:24:35 +01:00
Paul B Mahol
c8625e5c6f
avfilter/af_afade: do not use framequeue directly
2018-11-03 18:24:35 +01:00
Paul B Mahol
4b82b71041
avfilter/af_amerge: use ff_inlink_queued_samples()
2018-11-03 18:24:35 +01:00
Paul B Mahol
decc008929
avfilter/af_amultiply: make use of ff_inlink_queued_samples()
2018-11-03 18:24:35 +01:00
Paul B Mahol
639694eaa5
avfilter/vf_extractplanes: use ff_outlink_get_status()
2018-11-03 18:24:19 +01:00
Philip Langdale
8e50215b5e
avfilter/vf_cuda_yadif: Avoid new syntax for vector initialisation
...
This requires a newer version of CUDA than we want to require.
2018-11-02 14:34:38 -07:00
Philip Langdale
d5272e94ab
avfilter/vf_yadif_cuda: CUDA accelerated yadif deinterlacer
...
This is a cuda implementation of yadif, which gives us a way to
do deinterlacing when using the nvdec hwaccel. In that scenario
we don't have access to the nvidia deinterlacer.
2018-11-02 11:26:30 -07:00
Philip Langdale
598f0f3927
libavfilter/vf_yadif: Make frame management logic and options shareable
...
I'm writing a cuda implementation of yadif, and while this
obviously has a very different implementation of the actual
filtering, all the frame management is unchanged. To avoid
duplicating that logic, let's make it shareable.
From the perspective of the existing filter, the only real change
is introducing a function pointer for the filter() function so it
can be specified for the specific filter.
2018-11-02 11:24:05 -07:00
Paul B Mahol
ef1aadffc7
avfilter/f_loop: switch to activate
2018-11-02 12:32:34 +01:00
Paul B Mahol
4620e4c7ad
avfilter/f_loop: make sure duration of frame is never zero
2018-11-02 11:20:30 +01:00
Paul B Mahol
97e9e3504d
avfilter: add tpad filter
2018-11-02 09:32:52 +01:00
Michael Niedermayer
517573a670
Bump minor version for master after 4.1 branchpoint
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-02 00:53:07 +01:00
Michael Niedermayer
780d5e30a0
Bump minor versions for branching 4.1
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-11-02 00:15:32 +01:00
Paul B Mahol
323c2cfd38
avfilter: add (a)graphmonitor filter(s)
2018-10-31 11:49:39 +01:00
Paul B Mahol
e95987f6ca
avfilter/af_afftdn: fix memory leaks reported by coverity
2018-10-28 22:33:20 +01:00
Paul B Mahol
0c8b5cb369
avfilter/af_afftdn: add alias for sample_noise end
...
Added the same one as one mentioned in documentation.
2018-10-28 15:00:34 +01:00
Paul B Mahol
bb54c0ae71
avfilter/af_afftdn: switch to activate
2018-10-28 14:31:03 +01:00
Michael Niedermayer
cd34c6a57e
avfilter/vf_pixdesctest: Use 32bit read/write
...
This is needed for processing 32bit floats
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-10-27 22:39:27 +02:00
Paul B Mahol
40ac622460
avfilter/window_func: add bohman window
2018-10-27 13:36:00 +02:00
Paul B Mahol
4fcfb9c4eb
avfilter: add xstack filter
2018-10-26 12:40:54 +02:00
Paul B Mahol
963c16ed38
avfilter/vf_lut3d: do not error out if TITLE is after other lines
2018-10-25 23:23:51 +02:00
Paul B Mahol
bd02a6d7ed
avfilter/af_adelay: switch to activate
...
Also use less memory in special case when all channels have common delay.
2018-10-25 23:11:37 +02:00
Mark Thompson
f370142ec0
lavfi/ebur128: Fix mixed declarations and code
2018-10-25 00:24:24 +01:00
Martin Vignali
66974311b1
avfilter/show_info : add print of color information (range, color_primaries, color_trc, colorspace)
2018-10-24 21:21:05 +02:00
Paul B Mahol
22d6d91649
avfilter/vf_waveform: abort early if there are no components to show
2018-10-24 18:33:52 +02:00
Paul B Mahol
d94d252731
avfilter/vf_waveform: add gratcicule to rgb input
2018-10-24 18:33:52 +02:00
Paul B Mahol
bc940cf95c
avfilter/vf_datascope: fix rgba mapping for oscilloscope filter output
2018-10-24 17:39:51 +02:00
Josh de Kock
0ac82eed6f
lavfi/vf_showinfo: support displaying S12M timecode sidedata
2018-10-23 15:46:30 +01:00
Paul B Mahol
b7b3e8c5c7
avfilter: add vibrance filter
2018-10-23 11:12:41 +02:00
Martin Vignali
6953ff714f
avfilter/setparams : fix colorspace option
2018-10-22 11:26:31 +02:00
Martin Vignali
cfdbefdd90
avfilter/setfield, setrange : set color property to auto
2018-10-22 11:26:28 +02:00
Martin Vignali
997f03cd7e
avfilter/setparams : update filter description
2018-10-22 11:26:24 +02:00
Timo Rothenpieler
2797bd5c81
avfilter/*_cuda: don't include internal header
...
It's not used, and pulls in the ffnvcodec header, which does not neccesarily have to exist to build these filters, since they include the full cuda.h.
2018-10-21 22:55:21 +02:00
Martin Vignali
8d3f364630
avfilter/setparam : add options to set color primaries, trc, space
2018-10-21 22:00:06 +02:00
Martin Vignali
02ad0416c0
avfilter/setparams : merge setfield and setrange filter to setparams filter
...
setfield and setrange filters are kept.
2018-10-21 22:00:01 +02:00
Paul B Mahol
18d391cffe
avfilter: add chromahold filter
2018-10-21 12:57:58 +02:00
Paul B Mahol
0939c33b54
avfilter/af_afir: calculate group delay too
2018-10-21 12:47:07 +02:00
Paul B Mahol
8baaed7889
avfilter: add sinc source filter
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-10-19 17:43:29 +02:00
Paul B Mahol
2d9c290a2f
avfilter/vf_lensfun: use av_malloc_array()
2018-10-18 11:36:20 +02:00
Paul B Mahol
0ce7005d34
avfilter/vf_lensfun: use av_freep
2018-10-18 11:30:11 +02:00
Paul B Mahol
bf5bdbdb92
avfilter/af_adelay: do not crash if allocation of chandelay failed
2018-10-18 10:24:16 +02:00
Paul B Mahol
936376f3f7
avfilter/af_silenceremove: use enum for threshold detection modes
2018-10-15 19:03:01 +02:00
Paul B Mahol
631994b62b
avfilter/af_silenceremove: add enum for detection modes
2018-10-15 19:03:01 +02:00
Paul B Mahol
454ed32d56
avfilter/af_silenceremove: add options description
2018-10-15 19:03:01 +02:00
Paul B Mahol
a853623681
avfilter/af_silenceremove: prefer outlink instead of inlink
2018-10-15 19:03:01 +02:00
Paul B Mahol
346b23237b
avfilter/af_silenceremove: add mode options
...
To control how threshold is calculated in multichannel audio.
2018-10-15 19:03:01 +02:00
Paul B Mahol
c07bc1d6ee
avfilter/af_silenceremove: add options to keep min duration of silence
2018-10-15 19:03:01 +02:00
Zhong Li
a5e1cb9e96
lavu/hwcontext_qsv: Add support for AV_PIX_FMT_BGRA.
...
RGB32(AV_PIX_FMT_BGRA on intel platforms) format may be used as overlay with alpha blending.
So add AV_PIX_FMT_BGRA format support.
One example of alpha blending overlay: ffmpeg -hwaccel qsv -c:v h264_qsv -i BA1_Sony_D.jsv
-filter_complex 'movie=lena-rgba.png,hwupload=extra_hw_frames=16[a];[0:v][a]overlay_qsv=x=10:y=10'
-c:v h264_qsv -y out.mp4
Rename RGB32 to be BGRA to make it clearer as Mark Thompson's suggestion.
V2: Add P010 format support else will introduce HEVC 10bit encoding regression.
Thanks for LinJie's discovery.
Signed-off-by: Zhong Li <zhong.li@intel.com>
Verified-by: Fu, Linjie <linjie.fu@intel.com>
2018-10-11 13:26:59 +08:00
Paul B Mahol
7a6d88ee62
avfilter/af_afir: remove again option, merge it with gtype
2018-10-10 20:04:25 +02:00
Daniel Molkentin
a628fa1fec
libavfilter: bump micro version to 101
2018-10-10 19:28:00 +02:00
Daniel Molkentin
4069d2d087
libavfilter/ebur128: add scale parameter
...
This allows switching between absolute (LUFS) and relativ (LU) display
in the status line.
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:28:00 +02:00
Daniel Molkentin
d445bcb137
libavfilter/ebur128: introduce target range
...
This eases meeting the target level during live mixing.
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:41 +02:00
Daniel Molkentin
d587390988
libavfilter/ebur128: add gauge option
...
Allow to show short-term instead of momentary in gauge. Useful for monitoring
whilst live mixing.
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:38 +02:00
Daniel Molkentin
1cee8f03cf
libavfilter/ebur128: add target value to statistics line
...
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:36 +02:00
Daniel Molkentin
d95c5b003c
libavfilter/ebur128: add target level option for EBUR128 visualization filter
...
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:33 +02:00
Marton Balint
d6a1f711bc
avfilter/af_asetnsamples: do not leak frame on ENOMEM
...
Fixes Coverity CID 1416352.
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-10-09 21:46:28 +02:00
Marton Balint
4db291d764
avfilter/f_cue: always check the return value of ff_inlink_consume_frame
...
Fixes Coverity CID 1439936.
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-10-09 21:46:28 +02:00
Paul B Mahol
e10fe34e7c
avfilter/f_reverse: add packed sample format support to areverse
2018-10-08 13:38:05 +02:00
Paul B Mahol
3cbf37bf09
avfilter/af_silenceremove: fix max for duration options
2018-10-08 12:22:12 +02:00
Marton Balint
0e9a09793a
avfilter/af_afade: fix crossfade duration maximum value
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-10-07 20:26:28 +02:00
Paul B Mahol
3d308746eb
avfilter/af_afade: add logistic sigmoid curve
2018-10-07 17:38:22 +02:00
Paul B Mahol
9c120b4d42
avfilter/avf_showspectrum: add legend support to showspectrum filter
2018-10-07 12:18:55 +02:00
Michael Niedermayer
c07bbdbcf0
avfilter/vf_tonemap_opencl: Fix seperate typo
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-10-07 03:03:09 +02:00
Michael Niedermayer
6414415889
avfilter/af_biquads: Remove l from %lf in av_log environment
...
The l modifier does nothing in C99 and it was undefined in C89 for %f
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-10-07 03:03:09 +02:00
Michael Niedermayer
8dd7c2c6a7
avfilter/af_aiir: Remove l from %lf in av_log environment
...
The l modifier does nothing in C99 and it was undefined in C89 for %f
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-10-07 03:03:09 +02:00
Paul B Mahol
c98ffa086c
avfilter/avf_showspectrum: switch to activate and add fps option
2018-10-06 20:30:12 +02:00
Jun Zhao
5a3ce4a92b
lavfi/deshake: fix deshake crash issue.
...
Fixes ticket #7441 .
for block contrast calculate, the block is like this:
|<---------------- stride-----------------------|
+-----------------------------------------------> X
|
| w = 16
| (cx,cy)+------+
| | |
|h=blocksize| |
| | |
| +------+
V
Y
so we calc the block contrast use:
(cy + y) * stride + (cx + x)
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
2018-10-06 21:30:18 +08:00
Paul B Mahol
50a2347b19
avfilter/avf_showspectrum: increase padding size for low sample rates
2018-10-05 15:23:02 +02:00
Paul B Mahol
fe447c0609
avfilter/avf_showspectrum: add zoom mode to showspectrumpic
2018-10-05 14:23:48 +02:00
Paul B Mahol
3e687be4fa
avfilter/avf_showspectrum: add green color map
2018-10-05 12:00:57 +02:00
Pavel Koshevoy
03123e4053
lavfi/atempo: fix tempo range limit inconsistency
...
yae_set_tempo was overlooked when max tempo limit was raised to 100.
tested with:
./ffmpeg_g -i Delerium/SemanticSpaces/Gateway.mp3 \
-af asendcmd=f=asendcmd.cfg,atempo=1.0 -y /tmp/asendcmd-atempo.wav
where asendcmd.cfg was:
15.0-45.0 [enter] atempo tempo 2.0,
[leave] atempo tempo 0.5;
60.0-300.0 [enter] atempo tempo 4.0,
[leave] atempo tempo 1.0;
2018-10-04 21:09:41 -06:00