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

7397 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
c3aa4844f3 lavfi/fspp: Remove two unused macros. 2019-04-16 00:43:10 +02:00
Paul B Mahol
ecdaa4b4fa avfilter/af_asetnsamples: use correct function 2019-04-07 21:15:13 +02:00
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