1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

6804 Commits

Author SHA1 Message Date
dxfhgwet
b43d13144b avfilter/zscale: fix segfault on library error 2017-10-28 19:32:45 +02:00
Clément Bœsch
1d348dd03f lavfi/paletteuse: fix debug_kdtree after aba926e7d 2017-10-28 18:49:49 +02:00
Clément Bœsch
157d08e971 lavfi/paletteuse: fix debug_mean_error after aba926e7d 2017-10-28 18:03:28 +02:00
Clément Bœsch
3d547c19c2 lavfi/paletteuse: fix debug_accuracy after aba926e7d 2017-10-28 18:03:28 +02:00
Clément Bœsch
33e226f84d lavfi/paletteuse: simplify color get function prototypes 2017-10-28 17:39:48 +02:00
Clément Bœsch
5c8e904eb3 lavfi/paletteuse: move "new" option before debugging options 2017-10-28 17:15:06 +02:00
Bjorn Roche
aba926e7d6 lavfi/paletteuse: fix to support transparency
This patch enables paletteuse to identify the transparency in incoming
video and tag transparent pixels on outgoing video with the correct
index from the palette.

This requires tracking the transparency index in the palette,
establishing an alpha threshold below which a pixel is considered
transparent and above which the pixel is considered opaque, and
additional changes to track the alpha value throughout the conversion
process.

This change is a partial fix for https://trac.ffmpeg.org/ticket/4443
However, animated GIFs are still output incorrectly due to a bug
in gif optimization which does not correctly handle transparency.

Signed-off-by: Clément Bœsch <u@pkh.me>
2017-10-28 17:14:26 +02:00
James Almer
99ba85a0e2 Merge commit 'f5950b8fd61ec85e0ad8790bea56b37ceea19436'
* commit 'f5950b8fd61ec85e0ad8790bea56b37ceea19436':
  lavfi: Drop unused and empty header file

Merged-by: James Almer <jamrial@gmail.com>
2017-10-26 16:46:11 -03:00
Mark Thompson
bfc83acfd6 vaapi: Always free parameter buffers after vaEndPicture() with libva2
This is an ABI change in libva2: previously the Intel driver had this
behaviour and it was implemented as a driver quirk, but now it is part
of the specification so all drivers must do it.
2017-10-25 00:00:49 +01:00
Carl Eugen Hoyos
3c14547eb7 lavfi/tests/filtfmts: Constify a variable.
Fixes the following warning:
libavfilter/tests/filtfmts.c: In function ‘main’:
libavfilter/tests/filtfmts.c:103:18: warning: assignment discards ‘const’ qualifier from pointer target type
2017-10-24 22:32:59 +02:00
James Almer
0acb18d298 Merge commit '883ce264d9ffc5bdaf477e09ee155b03339c46a6'
* commit '883ce264d9ffc5bdaf477e09ee155b03339c46a6':
  vf_showinfo: Display spherical properties

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 18:51:34 -03:00
James Almer
69bb3f7bff Merge commit '3f128fc4a3fa1ef8a87974eb5484a997a84868fe'
* commit '3f128fc4a3fa1ef8a87974eb5484a997a84868fe':
  vf_showinfo: Simplify reporting stereo3d information

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 18:49:22 -03:00
James Almer
d1b1a65662 Merge commit '96a47364d1cf346a5d0437e054b1b10d44d8d969'
* commit '96a47364d1cf346a5d0437e054b1b10d44d8d969':
  lavfi: Drop deprecated non-const filter retrieval

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:40:14 -03:00
James Almer
de0b26ce28 Merge commit '8e18328b18e69b38a5feae5d10ad01b403a205b6'
* commit '8e18328b18e69b38a5feae5d10ad01b403a205b6':
  lavfi: Drop deprecated filter registration

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:37:34 -03:00
James Almer
5045cf27aa Merge commit '52067b3c0e5ddbcf7021a093420798420351a9e2'
* commit '52067b3c0e5ddbcf7021a093420798420351a9e2':
  lavfi: Drop deprecated filter initialization

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:35:14 -03:00
James Almer
7c4f63d05b Merge commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9'
* commit 'c5c7cfd5e80d4c36568c01cc40abfde341657ad9':
  lavfi: Drop deprecated functions to open a filter or a filterchain

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:28:35 -03:00
James Almer
0ed61546c4 Merge commit '88fd836a015a5f3380df74592e440e7d1e5b8000'
* commit '88fd836a015a5f3380df74592e440e7d1e5b8000':
  lavfi: Drop deprecated way of passing options for a few filters

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 15:27:03 -03:00
Carl Eugen Hoyos
ea049ad862 lavfi/graphparser: Constify a variable.
Fixes the following warning:
libavfilter/graphparser.c:122:10: warning: assignment discards 'const' qualifier from pointer target type
2017-10-21 20:24:49 +02:00
James Almer
69b5ce64d2 Merge commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5'
* commit '07a2b155949eb267cdfc7805f42c7b3375f9c7c5':
  Bump major versions of all libraries

A few API deprecated ~2 years ago or more are also postponed here for
varying reasons.

FF_API_LOWRES:
Since this functionality depends on AVStream->codec, i figure the two can
be removed at the same time in the next bump or so.

FF_API_AVCTX_TIMEBASE:
Couldn't get this one to work. Not just libavcodec but apparently also
libavformat and ffmpeg.c expect AVCodecContext->time_base to be set for
decoding. Upon removal some tests report a different generic stream time
base (like 1/25), and others lose packet duration values. I guess it's
somehow tied to the AVStream->codec clusterfuck.
It can be dealt with alongside FF_API_LAVF_AVCTX in the next bump.

FF_API_OLD_FILTER_OPTS_ERROR:
This one is meant to remain after FF_API_OLD_FILTER_OPTS is removed.
Its purpose is displaying the corrected command line using the new syntax
as a suggestion as part of the error message.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 14:57:53 -03:00
James Almer
2904db9045 Merge commit '994c4bc10751e39c7ed9f67ffd0c0dea5223daf2'
* commit '994c4bc10751e39c7ed9f67ffd0c0dea5223daf2':
  x86util: Port all macros to cpuflags

See d5f8a642f6

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 12:15:57 -03:00
Michael Niedermayer
80154b1b3a Bump version for master after 3.4 branchpoint
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 02:45:37 +02:00
Michael Niedermayer
e1de9eab3a Bump minor versions for branching 3.4
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 01:23:47 +02:00
Mark Thompson
e339411691 vaapi: Always free parameter buffers after vaEndPicture() with libva2
This is an ABI change in libva2: previously the Intel driver had this
behaviour and it was implemented as a driver quirk, but now it is part
of the specification so all drivers must do it.
2017-10-09 00:11:53 +01:00
Carl Eugen Hoyos
5d3e935728 lavfi: Rename local variables "main" as "master".
Silences several warnings:
main is usually a function
2017-10-07 20:49:48 +02:00
Sasi Inguva
123f6dc6b5 lavfi/avfilter.c: Correct guess_status_pts to account for differing link timebases.
Signed-off-by: Sasi Inguva <isasi@google.com>
2017-10-07 11:17:23 +02:00
Tobias Rapp
62bdec806e avfilter/vf_fps: add eof_action filter option
Allows to specify the action to be performed when reading the last frame
from the internal FIFO buffer. By default the last frame is written to
filter output depending on the timestamp rounding method. When using
"pass" action the last frame is passed through if input duration
has not been reached yet.

Examples using an input file with 25Hz, 1.4sec duration:
 - "fps=fps=1:round=near" generates an output file of 1sec
 - "fps=fps=1:round=near:eof_action=pass" generates an output file of
   2sec

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-10-06 17:11:20 +02:00
Tobias Rapp
0a499d6a57 avfilter/vf_fps: clean-up filter options
Add missing AV_OPT_FLAG_FILTERING_PARAM flag to "start_time" option.
Fix indent of "round" named constants and clear unused field values.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-10-05 10:33:55 +02:00
Carl Eugen Hoyos
59924d5eb1 lavfi/vmafmotion: Allow more pix_fmts. 2017-10-01 20:53:43 +02:00
Michael Niedermayer
d679f3d021 avfilter/vf_thumbnail_cuda: Avoid mixing declaration and statements
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-01 02:36:00 +02:00
James Almer
67057aaeb2 avfilter/vmaf_motion: use correct header guards
Fixes fate-source

Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-30 15:38:09 -03:00
Ashish Singh
148c8e88c4 avfilter: add vmafmotion filter
Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-09-30 11:47:59 -04:00
James Almer
5256a86da0 Merge commit '5c8a5765dc5f4e29afb85b95be393c30f45412a8'
* commit '5c8a5765dc5f4e29afb85b95be393c30f45412a8':
  scale_npp: explicitly set the output frames context for passthrough mode

See 62b75537db

Merged-by: James Almer <jamrial@gmail.com>
2017-09-27 20:59:14 -03:00
Tobias Rapp
f102a4efce avfilter/f_metadata: avoid trailing whitespace in filter output
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-09-27 15:56:09 +02:00
Luca Barbato
ea25ccd1b2 qsv: Join the derived session to the parent
Should improve the performance on multiple transcoding from a single
source.
2017-09-27 12:27:34 +00:00
Thomas Mundt
d491d6a0cd avfilter/interlace: rename two variables for consistency
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
2017-09-25 22:13:37 +02:00
Paul B Mahol
5d07275529 avfilter/af_headphone: increase max ir length
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-25 12:12:13 +02:00
Thomas Mundt
40bfaa190c avfilter/interlace: add support for 10 and 12 bit
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-23 16:19:58 -03:00
Thomas Mundt
58ca446672 avfilter/tinterlace: use drawutils for pad mode
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-23 16:19:58 -03:00
Rostislav Pehlivanov
039ebaa5f3 lavfi: make window_func an inline function
Eliminate lavc->lavfi dependency. The function isn't big and doesn't
deserve its own file.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-09-23 14:35:06 +01:00
Yogender Gupta
21e077fcb3 avfilter/thumbnail_cuda: add cuda thumbnail filter
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-09-22 11:54:35 +02:00
Carl Eugen Hoyos
b4b02477bd lavfi/stereo3d: Set SAR for every output frame.
Fixes ticket #6672.
2017-09-20 01:07:29 +02:00
James Almer
3af1060319 avfilter/tinterlace: Simplify checks for lowpass filtering flags 2017-09-18 00:15:58 -03:00
Huang, Zhengxu
a5a6ac1a12 libavfilter/overlay_qsv: Add QSV overlay vpp filter
The filter supports two inputs and (implicitly) scaling the second input
during composition, unlike the software overlay.

The code has been separated into common interface and qsv overlay
implementation. The common part mainly creates the qsv session and
manages the surface which is nearly the same for all qsv filters.
So the qsvvpp.c/qsvvpp.h API can be used by other QSV vpp filters
to reduce code redundancy.

Usage:
 -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv
 -i in.h264 -filter_complex
 "overlay_qsv=eof_action=repeat:x=(W-w)/2:y=(H-h)/2"  -b 2M -maxrate 3M
 -c:v h264_qsv -y out.h264

Two inputs should have different sizes otherwise one will be completely
covered or you need to scale the second input as follows:
  -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv
  -i in.h264 -filter_complex
  "overlay_qsv=w=720:h=576:x=(W-w)/2:y=(H-h)/2" -b 2M -maxrate 3M -c:v
  h264_qsv -y out.h264

  Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
  Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
  Signed-off-by: Andrew Zhang <huazh407@gmail.com>
  Change-Id: I5c381febb0af6e2f9622c54ba00490ab99d48297
  Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-09-17 19:59:06 +02:00
Huang, Zhengxu
8d3666c425 libavfilter/vf_vpp: Add common filters of the qsv vpp
Add common filters of the qsv vpp features including scale,denosie,
deinterlace,frc,crop and procAmp.

Performance will be significantly reduced in the test if using cascade
mode just like qsv framerate + qsv scale + qsv deinterlace + qsv denoise in
separated way no matter in system or video memmory cases.
And the code is so redundant because so much the same just as session and
surface's creation and management.
So we add a common qsv filter.

Usage:
-hwaccel qsv -c:v h264_qsv -r 25 -i in -vf
vpp_qsv=w=iw/2:h=400:deinterlace=1:framerate=60:detail=50:denoise=50
-b 2M -maxrate 3M -c:v h264_qsv -y out.h264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com>
Change-Id: I130392ce722138c209ab658c5f03f0009b6e8024
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-09-17 19:57:13 +02:00
Thierry Foucu
42a41c3956 vf_fps: Fix memory leak introduced by eea64ef4
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 22:40:21 +02:00
Thomas Mundt
ed48e22748 avfilter/interlace: simplify code
Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 22:40:21 +02:00
Thomas Mundt
a7f6bfdc18 avfilter/interlace: prevent over-sharpening with the complex low-pass filter
The complex vertical low-pass filter slightly over-sharpens the picture. This becomes visible when several transcodings are cascaded and the error potentises, e.g. some generations of HD->SD SD->HD.
To prevent this behaviour the destination pixel must not exceed the source pixel when the average of the pixels above and below is less than the source pixel. And the other way around.

Tested and approved in a visual transcoding cascade test by video professionals.
SSIM/PSNR test with the first generation of an HD->SD file as a reference against the 6th generation(3 x SD->HD HD->SD):
Results without the patch:
SSIM Y:0.956508 (13.615881) U:0.991601 (20.757750) V:0.993004 (21.551382) All:0.974405 (15.918463)
PSNR y:31.838009 u:48.424280 v:48.962711 average:34.759466 min:31.699297 max:40.857847
Results with the patch:
SSIM Y:0.970051 (15.236232) U:0.991883 (20.905857) V:0.993174 (21.658049) All:0.981290 (17.279202)
PSNR y:34.412108 u:48.504454 v:48.969496 average:37.264644 min:34.310637 max:42.373392

Signed-off-by: Thomas Mundt <tmundt75@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 22:40:21 +02:00
Thierry Foucu
eea64ef4cf vf_fps: when reading EOF, using current_pts to duplicate the last frame if needed.
Fix ticket #2674
Tested with examples from ticket 2674.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-15 02:24:31 +02:00
Paul B Mahol
133002e8ae avfilter/vf_despill: fix assigment
Reported-by: Moritz Barsnick
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-14 18:05:57 +02:00
Paul B Mahol
04b9010f7f avfilter/af_dcshift: do not leak out frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-12 20:28:53 +02:00
Nicolas George
549ef6ef9a lavfi/framesync: remove dead code.
Fix CID 1416960.
2017-09-12 12:30:40 +02:00
Nicolas George
9bad5e5319 lavfi/framesync: reword repeatlast option help. 2017-09-12 11:14:25 +02:00
Nicolas George
5f5dcf44e3 lavfi: rename framesync2 to framesync. 2017-09-12 11:03:51 +02:00
Nicolas George
1b8e061cc5 lavfi: remove framesync. 2017-09-12 11:03:51 +02:00
Nicolas George
61b0b03f3f lavfi/af_sidechaincompress: use helper macros. 2017-09-12 11:03:50 +02:00
Nicolas George
567d318b1c lavfi/af_agate: use helper macros. 2017-09-12 11:03:50 +02:00
Nicolas George
76613618d9 lavfi: add helper functions and macros for activate. 2017-09-12 11:03:50 +02:00
James Almer
27a86b8ece avfilter/vf_convolve: use av_clip_uint8
Fixes fate-source.
2017-09-09 22:02:25 -03:00
Paul B Mahol
4d41db7a31 avfilter: add generic FFT video convolve filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-09 17:09:37 +02:00
Clément Bœsch
f8519529cf lavfi/coreimage: reduce dependency scope from QuartzCore to CoreImage
What is required by the filter is CoreImage, there is no QuartzCore
usage. QuartzCore/CoreImage.h is simply an include to
CoreImage/CoreImage.h.
2017-09-08 18:55:19 +02:00
Paul B Mahol
cf0eed2525 avfilter: add Haas stereo enhancer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-08 18:29:53 +02:00
Nicolas George
5ba2aef6ec lavfi/buffersrc: add av_buffersrc_close(). 2017-09-08 10:31:01 +02:00
Nicolas George
f5a9c63401 lavfi: guess a timestamp for compat status change.
Use the earliest input with the same status.
If that fails, print a warning and use the earliest source.
With this change, simple filter forward correctly the timestamp
of EOF.
Filters that are supposed to change it should be updated to
actually forward it.
2017-09-08 10:21:59 +02:00
Paul B Mahol
e1524de454 avfilter/vf_zoompan: fix specific corner case when no frame was ever requested from input
Reported-by: Nicolas George
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-07 16:49:46 +02:00
Pavel Koshevoy
25b5096400 lavfi/atempo: Avoid false triggering an assertion failure
Steps to reproduce:
1. revert 4240e5b047
2. ./ffmpeg -f lavfi -i sine=d=1 -af aselect=e=0,atempo=0.5 -y atempo.wav

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-09-06 23:57:59 +02:00
Pavel Koshevoy
edb4ba5bd4 Revert "lavfi/atempo: avoid false triggering an assertion failure"
This reverts commit 4240e5b047.

Fixes ticket #6540.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-09-06 23:57:54 +02:00
Paul B Mahol
eea69a9f25 avfilter/af_dcshift: add direct path
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-06 11:46:24 +02:00
Michael Niedermayer
d8bc198d09 avfilter/vf_overlay: Restore shorthand option order
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-05 23:55:19 +02:00
James Almer
9a174d203a avfilter/lavfutils: remove usage of AVStream->codec
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-05 14:21:41 -03:00
Paul B Mahol
a5e6cd79ec avfilter/avf_avectorscope: fix mistake in previous commit
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-05 11:55:23 +02:00
Paul B Mahol
2c10f054c2 avfilter/avf_avectorscope: add possibility to auto zoom
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-05 11:43:49 +02:00
Paul B Mahol
6faa1275a2 avfilter: add despill filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-05 08:46:48 +02:00
Paul B Mahol
b43cd67862 avfilter/vf_fftfilt: make it possible to evaluate expressions per frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-04 19:30:44 +02:00
Paul B Mahol
4705a80fb0 avfilter/vf_fftfilt: add generic timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-04 19:04:31 +02:00
Paul B Mahol
2170ca41f4 avfilter/vf_fftfilt: add support for more pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-04 18:36:37 +02:00
Paul B Mahol
2726b2d7e8 avfilter/vf_fftfilt: cache rdft contexts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-04 18:24:00 +02:00
Paul B Mahol
833a38dbe5 avfilter/vf_datascope: make it possible for output window to automatically change position
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-04 14:20:29 +02:00
Paul B Mahol
f3c0f34f53 avfilter/vf_datascope: add timeline support to pixscope and oscilloscope
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 20:42:04 +02:00
Paul B Mahol
e6e58de03d avfilter/vf_displace: add mirror edge mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 14:15:33 +02:00
Paul B Mahol
06ed3768c8 avfilter/vf_displace: remove useless requirement that SAR matches between input streams
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 13:37:43 +02:00
Paul B Mahol
f19e4118e9 avfilter/vf_subtitles: enable processing of alpha channel
Fixes #6605.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 13:12:48 +02:00
James Almer
3ec6d9c6b2 avfilter: remove duplicate and disabled trace log function
It's already defined and actually enabled depending on compiler options
elsewhere.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-01 14:06:14 -03:00
James Almer
027c682fa0 avfilter/vf_mcdeint: remove usage of deprecated AVCodecContext.me_method
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-30 21:49:14 -03:00
Paul B Mahol
6ccd32c367 avfilter/af_adelay: remove requirement that at least one delay should be provided
Such requirement is not necessary and code works without it just fine.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-30 20:24:28 +02:00
James Almer
f7d4c60ac4 avfilter/vf_mcdeint: free the AVCodecContext struct properly
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-30 14:36:01 -03:00
Ashish Singh
2a4a26fa4f avfilter/vf_libvmaf: fix pre convert to framesync2 bugs
Hi, it fixes the errors while converting to framesync2.
libvmaf was changed recently, double *score variable is removed in the new
version since it's not used anywhere. This patch fixes all the warnings and
segmentation faults.

Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-08-30 09:19:15 -04:00
Paul B Mahol
a4d18a3f54 avfilter/vf_lut2: add framesync options
Also stop leaking memory.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-30 12:13:02 +02:00
Nicolas George
7302d5e325 lavfi: bump minor version after change in options. 2017-08-29 15:46:36 +02:00
Nicolas George
607900c905 lavfi: remove dualinput. 2017-08-29 10:19:04 +02:00
Nicolas George
ef2176473d vf_ssim: convert to framesync2. 2017-08-29 10:19:04 +02:00
Nicolas George
3bd11df459 lavfi/vf_psnr: convert to framesync2. 2017-08-29 10:19:04 +02:00
Nicolas George
23000c3de5 lavfi/vf_paletteuse: convert to framesync2. 2017-08-29 10:19:04 +02:00
Nicolas George
eacb3ec961 lavfi/vf_lut3d: convert to framesync2. 2017-08-29 10:19:04 +02:00
Nicolas George
a8ab52fae7 lavfi/vf_libvmaf: convert to framesync2.
After this commit, the code compiles, but on my setup it
segfaults before and after. It also prints the very worrying
warning:

src/libavfilter/vf_libvmaf.c:161:66: warning: passing argument 4 of ‘compute_vmaf’ from incompatible pointer type [-Wincompatible-pointer-types]
/tmp/i/include/libvmaf.h:26:8: note: expected ‘int (*)(float *, float *, float *, int,  void *)’ but argument is of type ‘int (*)(float *, float *, float *, int,  double *, void *)’

==12116== Thread 6:
==12116== Conditional jump or move depends on uninitialised value(s)
==12116==    at 0x526D432: cons_ (ocval.h:1188)
==12116==    by 0x526D432: GenericIT (ocval.h:1119)
==12116==    by 0x526D432: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:92)
==12116==    by 0x5211F5D: loads (pickleloader.h:566)
==12116==    by 0x5211F5D: LoadValFromArray (chooseser.h:290)
==12116==    by 0x5211F5D: LoadValFromFile (chooseser.h:405)
==12116==    by 0x5211F5D: _read_and_assert_model(char const*, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&) (vmaf.cpp:77)
==12116==    by 0x5212B0F: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:149)
==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
==12116==    by 0x7967493: start_thread (pthread_create.c:333)
==12116==    by 0x7F69A8E: clone (clone.S:97)
==12116==
==12116== Conditional jump or move depends on uninitialised value(s)
==12116==    at 0x526D432: cons_ (ocval.h:1188)
==12116==    by 0x526D432: GenericIT (ocval.h:1119)
==12116==    by 0x526D432: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:92)
==12116==    by 0x526D50D: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:94)
==12116==    by 0x5211F5D: loads (pickleloader.h:566)
==12116==    by 0x5211F5D: LoadValFromArray (chooseser.h:290)
==12116==    by 0x5211F5D: LoadValFromFile (chooseser.h:405)
==12116==    by 0x5211F5D: _read_and_assert_model(char const*, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&) (vmaf.cpp:77)
==12116==    by 0x5212B0F: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:149)
==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
==12116==    by 0x7967493: start_thread (pthread_create.c:333)
==12116==    by 0x7F69A8E: clone (clone.S:97)
==12116==
==12116== Conditional jump or move depends on uninitialised value(s)
==12116==    at 0x526D432: cons_ (ocval.h:1188)
==12116==    by 0x526D432: GenericIT (ocval.h:1119)
==12116==    by 0x526D432: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:92)
==12116==    by 0x526D50D: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:94)
==12116==    by 0x526D50D: OC::TranslateForNumPyClassesToArray(OC::Val&) (pickleloader.h:94)
==12116==    by 0x5211F5D: loads (pickleloader.h:566)
==12116==    by 0x5211F5D: LoadValFromArray (chooseser.h:290)
==12116==    by 0x5211F5D: LoadValFromFile (chooseser.h:405)
==12116==    by 0x5211F5D: _read_and_assert_model(char const*, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&, OC::Val&) (vmaf.cpp:77)
==12116==    by 0x5212B0F: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:149)
==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
==12116==    by 0x7967493: start_thread (pthread_create.c:333)
==12116==    by 0x7F69A8E: clone (clone.S:97)
==12116==
==12116== Use of uninitialised value of size 8
==12116==    at 0x518AC79: read_frame_8bit (vf_libvmaf.c:147)
==12116==    by 0x52AB5E8: combo (combo.c:149)
==12116==    by 0x5212E95: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:278)
==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
==12116==    by 0x7967493: start_thread (pthread_create.c:333)
==12116==    by 0x7F69A8E: clone (clone.S:97)
==12116==
==12116== Invalid read of size 4
==12116==    at 0x518AC79: read_frame_8bit (vf_libvmaf.c:147)
==12116==    by 0x52AB5E8: combo (combo.c:149)
==12116==    by 0x5212E95: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:278)
==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
==12116==    by 0x7967493: start_thread (pthread_create.c:333)
==12116==    by 0x7F69A8E: clone (clone.S:97)
==12116==  Address 0x40 is not stack'd, malloc'd or (recently) free'd
==12116==
==12116==
==12116== Process terminating with default action of signal 11 (SIGSEGV)
==12116==  Access not within mapped region at address 0x40
==12116==    at 0x518AC79: read_frame_8bit (vf_libvmaf.c:147)
==12116==    by 0x52AB5E8: combo (combo.c:149)
==12116==    by 0x5212E95: VmafRunner::run(Asset, int (*)(float*, float*, float*, int, void*), void*, bool, bool, bool, bool, bool) (vmaf.cpp:278)
==12116==    by 0x52165B6: RunVmaf(char const*, int, int, int (*)(float*, float*, float*, int, void*), void*, char const*, char const*, char const*, bool, bool, bool, bool, bool, char const*) (vmaf.cpp:645)
==12116==    by 0x518AFFF: compute_vmaf_score (vf_libvmaf.c:161)
==12116==    by 0x518AFFF: call_vmaf (vf_libvmaf.c:170)
==12116==    by 0x7967493: start_thread (pthread_create.c:333)
==12116==    by 0x7F69A8E: clone (clone.S:97)
2017-08-29 10:19:04 +02:00
Nicolas George
c1d8d33a51 lavfi/vf_blend: convert to framesync2. 2017-08-29 10:19:04 +02:00
Nicolas George
878fd0545a lavfi/vf_overlay: use framesync2 options. 2017-08-29 10:19:04 +02:00
Nicolas George
05a23b2565 lavfi/framesync2: add common options.
Also add functions and macros to help filters chaining these
options to their own.
2017-08-29 10:19:04 +02:00
Nicolas George
dfa3aaa22a lavfi: search options on child objects.
The child objects must be allocated and inited in the
preinit() callback.
2017-08-29 10:19:04 +02:00
Nicolas George
f8d7b5febb lavfi: add a preinit callback to filters.
It is necessary for filters with child objects, to set the class
and default options values.
2017-08-29 10:19:04 +02:00
Nicolas George
19804024d5 lavfi/vf_overlay: move to framesync2. 2017-08-29 10:19:04 +02:00
Nicolas George
0ae8df4109 lavfi/framesync2: add dualinput helper functions. 2017-08-29 10:19:04 +02:00
Nicolas George
6bde475cf2 lavfi/f_streamselect: convert to framesync2. 2017-08-29 10:19:04 +02:00
Michael Niedermayer
aa26258faa avfilter/vf_zoompan: remove AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Suggested-by: <durandal_1707>
Fixes: assertion failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-27 20:41:56 +02:00
Paul B Mahol
bf39f7eadc avfilter/vf_zoompan: parse zoom,x and y expression during initialization
Fixes #6127.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-27 17:13:52 +02:00
Paul B Mahol
2ce43274e3 avfilter/vf_zoompan: switch to activate
Fixes #5182.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-27 17:13:21 +02:00
Paul B Mahol
99b6e68441 avfilter/af_amix: do not request samples if inlink reached EOF
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-27 08:53:50 +02:00
Paul B Mahol
7f5c655833 avfilter/af_amix: simplify const entries for duration in amix_options[]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-26 21:17:27 +02:00
Paul B Mahol
15e9c4afdc avfilter/af_amix: switch to activate
Really fixes hangs and infinite loops.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-26 20:59:21 +02:00
Paul B Mahol
9d6aab6fa1 avfilter/af_surround: make volume configurable for front center and lfe channel 2017-08-26 11:30:31 +02:00
Muhammad Faiz
3ddd10290a avfilter/af_firequalizer: fix minval on cepstrum calculation
The impulse response is scaled with 2/rdft_len.

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-08-25 17:36:04 +07:00
Paul B Mahol
48ddd8ddec avfilter/src_movie: check ff_insert_outpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:29:50 +02:00
Paul B Mahol
5e706a2afb avfilter/split: check ff_insert_outpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:27:19 +02:00
Paul B Mahol
0b940c95b2 avfilter/vf_decimate: check ff_insert_inpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:23:21 +02:00
Paul B Mahol
dfea94ce99 avfilter/vf_fieldmatch: check ff_insert_inpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:20:13 +02:00
Paul B Mahol
1a58da434a avfilter/avf_concat: check ff_insert_pad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:16:46 +02:00
Paul B Mahol
01b986cf18 avfilter/f_select: check ff_insert_outpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:05:09 +02:00
Paul B Mahol
730734d4f3 avfilter/af_channelsplit: check ff_insert_outpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 10:05:07 +02:00
Paul B Mahol
99dd47a647 avfilter/vf_extractplanes: check ff_insert_outpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 09:57:53 +02:00
Paul B Mahol
9bd1bf382e avfilter/f_interleave: check ff_insert_inpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 09:53:46 +02:00
Paul B Mahol
f39136b0a7 avfilter/af_merge: check ff_insert_inpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 09:50:57 +02:00
Paul B Mahol
db5604ac26 avfilter/af_join: check ff_insert_inpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 09:49:01 +02:00
Paul B Mahol
13f9639e3e avfilter/af_headphone: check ff_insert_inpad() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 09:45:20 +02:00
Paul B Mahol
1e7ce6d925 avfilter/af_amix: check ff_insert_inpad() for failure 2017-08-25 09:36:22 +02:00
Paul B Mahol
4b96fd2b1e avfilter/af_agate: switch to activate
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 09:07:28 +02:00
Muhammad Faiz
e0e991f8a1 avfilter/af_firequalizer: reindent after previous commit
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-08-25 10:39:16 +07:00
Muhammad Faiz
ae1ce0db91 avfilter/af_firequalizer: add min_phase option
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-08-25 10:35:23 +07:00
Paul B Mahol
f0f48884b0 avfilter/af_sidechaincompress: switch to activate 2017-08-24 20:34:35 +02:00
Paul B Mahol
f8d0689d3f avfilter/vf_blend: rename addition128 and difference128 to grainmerge and grainextract 2017-08-24 14:45:52 +02:00
Michael Niedermayer
feed239021 yadif: Account for the buffer alignment while processing the frame edges
Avoid out of bound reads.

Bug-Id: 1031
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-08-22 22:31:19 +02:00
Paul B Mahol
e1be40bbb5 avfilter/vf_pseudocolor: add high bitdepth support 2017-08-22 12:50:24 +02:00
Paul B Mahol
f5361ee56f avfilter/vf_pseudocolor: add support for some subsampled formats 2017-08-20 18:12:15 +02:00
Paul B Mahol
e3a4afca07 avfilter: add pseudocolor filter 2017-08-19 12:42:24 +02:00
Paul B Mahol
16efcfe413 avfilter/vf_weave: fix top vs bottom field order
Fixes #6590.
2017-08-16 13:37:53 +02:00
Paul B Mahol
7b19e76aeb avfilter/vf_transpose: rewrite for x86 SIMD
Transpose first in chunks of 8x8 blocks.
15% faster overall.
2017-08-16 09:28:31 +02:00
Vittorio Giovara
62dfa2ba14 Add tonemap filter
Based off mpv automatic tonemapping capabilities.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-08-15 15:27:42 +02:00
Vittorio Giovara
8b9ae9a8e0 zscale: Enable single precision input/ouput filtering
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-08-15 15:27:40 +02:00
Paul B Mahol
8d2da0939c avfilter/vf_datascope: make it possible to change pixscope window position 2017-08-15 13:54:19 +02:00
Timo Rothenpieler
62b75537db avfilter/scale_npp: fix logic used in previous patch 2017-08-14 16:03:11 +02:00
Timo Rothenpieler
f4ebbda566 avfilter/scale_npp: check for buffer allocation failure
I totally did not forget to amend this to the previous patch...
2017-08-14 14:15:27 +02:00
Yogender Gupta
77c5a54192 avfilter/scale_npp: fix passthrough mode
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-08-14 13:56:10 +02:00
Marton Balint
498c90c708 avfilter/vf_overlay: fix alpha blending for planar formats with a transparent background
When the background had an alpha channel, the old code in blend_plane
calculated premultiplied alpha from the destination plane colors instead of the
destination alpha.

Also the calculation of the output alpha should only happen after the color
planes are already finished.

Fixes output of:
ffplay -f lavfi "testsrc2=alpha=32[a];color=black[b];[b][a]overlay[out0]"

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-08-10 22:25:51 +02:00
Andy
448c88e1a5 avfilter/dynaudnorm: increment input outside of the FFMIN macro so it doesn't get double incremented 2017-08-09 10:21:36 +02:00
Paul B Mahol
41096904d0 avfilter/vf_separatefields: stop leaking last frame
This can happen when filtering is ended without receiving EOF.
2017-08-08 18:53:10 +02:00
Paul B Mahol
1bef0088dc avfilter/drawutils: add gray9/10/12 support 2017-08-07 18:39:29 +02:00
Paul B Mahol
181c9abd47 avfilter/vf_premultiply: add inplace mode 2017-08-07 18:15:36 +02:00
Paul B Mahol
bac508fec1 avfilter: add support for GRAY9 and GBRAP10 2017-08-07 13:11:09 +02:00
Paul B Mahol
86222a7ea0 avfilter/vf_waveform: add support for 9 bit depth lowpass 2017-08-07 13:09:57 +02:00
Paul B Mahol
7bfbc2d787 avfilter/vf_extractplanes: add 9 bitdepth support 2017-08-07 13:09:56 +02:00
Paul B Mahol
5621a99e27 avfilter/drawutils: support gbrap10 too 2017-08-07 13:06:34 +02:00
Paul B Mahol
2cc56741b1 avfilter: add floodfill filter 2017-08-05 21:05:22 +02:00
Paul B Mahol
80bc648e77 avfilter: add tlut2 filter 2017-08-04 11:45:08 +02:00
Muhammad Faiz
f2d23ec03f avfilter/vf_ssim: fix temp size calculation
Also use av_mallocz_array.
Fix Ticket6519.

Reviewed-by: Tobias Rapp <t.rapp@noa-archive.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-08-04 06:53:39 +07:00
Yogender Gupta
2e8679373a hwupload_cuda : Add 10/16 bit format support
Signed-off-by: Philip Langdale <philipl@overt.org>
2017-08-03 15:25:35 -07:00
Paul B Mahol
c79e753471 avfilter: add unpremultiply filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-02 11:13:49 +02:00
Nicolas George
8b2cd8e0e4 lavfi/vf_displace: move to "activate" design. 2017-07-30 12:27:17 +02:00
Nicolas George
5dbb111900 lavfi/vf_hysteresis: move to "activate" design. 2017-07-30 12:27:13 +02:00
Nicolas George
dbc4af862e lavfi/vf_lut2: move to "activate" design. 2017-07-30 12:27:10 +02:00
Nicolas George
27d8af03ae lavfi/vf_maskedclamp: move to "activate" design. 2017-07-30 12:27:06 +02:00
Nicolas George
0bc331bd57 lavfi/vf_mergeplanes: move to "activate" design. 2017-07-30 12:27:03 +02:00
Nicolas George
a5e3b0c193 lavfi/vf_maskedmerge: move to "activate" design. 2017-07-30 12:27:00 +02:00
Nicolas George
620608467f lavfi/vf_midequalizer: move to "activate" design. 2017-07-30 12:26:57 +02:00
Nicolas George
b894415a70 lavfi/vf_premultiply: move to "activate" design. 2017-07-30 12:26:53 +02:00
Nicolas George
dbf7a67094 lavfi/vf_remap: move to "activate" design. 2017-07-30 12:26:50 +02:00
Nicolas George
d07e25de76 lavfi/vf_threshold: move to "activate" design.
Also fix missing dependency.
2017-07-30 12:26:43 +02:00
Nicolas George
0dd8320e16 lavfi/vf_stack: move to "activate" design. 2017-07-30 12:26:34 +02:00
Nicolas George
4e0e9ce2dc lavfi/framesync2: implement "activate" design.
With this helper API, filters that used the first framesync
helper API can easily be changed to use the new and more
extensible design for filters with a single activate() callback.
2017-07-30 12:24:03 +02:00
Nicolas George
ed1c884b9e lavfi: add outlink helper functions.
These wrappers cost nothing, they make the namespace more
consistent and they will be useful if/when locking becomes
necessary.
2017-07-30 12:24:00 +02:00
Nicolas George
b77f041dff lavfi: make FFERROR_NOT_READY available to filters.
I am not entirely sure that this return code is useful,
but having and using it makes no harm.
2017-07-30 12:23:56 +02:00
Nicolas George
873306f265 lavfi/framesync2: rename all conflicting symbols. 2017-07-30 12:23:54 +02:00
Nicolas George
cffea1b483 lavfi: copy framesync into framesync2.
framesync2 will be the base for the version using activate.
Most of the logic will be the same, but the code cannot be shared.
Copying the file initially without change will make the diff
easier to read.
2017-07-30 12:23:52 +02:00
Nicolas George
1daacba91f Revert "Revert "lavfi/buffersrc: push the frame deeper if requested.""
This reverts commit 04aa09c4bc
and reintroduces 0ff5567a30 that
was temporarily reverted due to minor regressions.

It also reverts e5bce8b4ce that fixed FATE refs.
The fate-ffm change is caused by field_order now being set
on the output format because the first frame arrives earlier.
The fate-mxf change is assumed to be the same.
2017-07-30 12:22:41 +02:00
Huang, Zhengxu
550cb6a85d lavf/vf_deinterlace_qsv: Enable the qsv deinterlace vpp
The current qsv deinterlace module does not work at all because MSDK needs user to pass
extra parameters to enable hint functions,such as denoise,deinterlace,composition and so on.

Usage:-hwaccel qsv -r 25 -c:v h264_qsv -i in -vf deinterlace_qsv=bob -b 2M
      -maxrate 3M -c:v h264_qsv -y out.h264

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com>
Change-Id: I9e7ddcf884f2788c2820f6c98affacfb9d8f3287
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-07-25 13:27:52 +02:00
Nicolas George
bbc7cfbf1e lavfi/testsrc2: fix completely transparent alpha. 2017-07-25 09:27:35 +02:00
Muhammad Faiz
7e9f550003 avfilter/w3fdif: do not write to line before start line
That line has been written by previous job.
Fix tsan warning.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-07-23 20:32:42 +07:00
Vittorio Giovara
2e91a96d7b zscale: Factor out graph building 2017-07-21 20:07:40 +02:00
Vittorio Giovara
0a243bedec zscale: Factor out format initialization 2017-07-21 20:07:40 +02:00
Paul B Mahol
12791ec5b0 avfilter/af_astats: measure dynamic range
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-19 21:07:45 +02:00
Paul B Mahol
a17fcd8e04 avfilter/af_astats: do not overwrite already set values when doing reset
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-19 20:11:43 +02:00
George Boyle
6e156075b0 avfilter: Add blue and violet noise generation filters
For the blue and violet noise, I took the pink and brown noise
respectively and subtracted the offsets instead of adding them. When I
eyeball the frequency spectrum of the resulting outputs it looks correct
to me, i.e. the blue graph appears to be a mirror image of the pink, and
the same can be said of the violet and the brown. I did not do anything
else to confirm the correctness.
2017-07-19 19:51:04 +02:00
Muhammad Faiz
22b72de04b avfilter/pthread: use slice threading from avutil
Benchmark (with 2 cpus):
./ffmpeg -f rawvideo -s 1280x720 -t 1000 -i /dev/zero \
    -filter_threads $threads -vf transpose=clock -f null null
threads=2:
  old: 31.129s 31.446s 31.574s
  new: 29.602s 29.636s 29.656s
threads=3 (nb_threads = nb_cpus + 1 is bad choice at this situation):
  old: 40.132s 40.279s 40.279s
  new: 39.308s 39.570s 39.693s
threads=4:
  old: 31.306s 31.366s 31.654s
  new: 30.231s 30.360s 30.451s

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-07-19 15:51:38 +07:00
Ashish Singh
615479d51c avfilter: add LIBVMAF filter
This one changes the previous vmaf patch to libvmaf to keep it separate from the
native implementation of vmaf inside ffmpeg later.

Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-07-16 08:21:32 -04:00
James Almer
5688fd77b5 x86/vf_limiter: make limiter functions work on x86_32
Signed-off-by: James Almer <jamrial@gmail.com>
2017-07-13 18:17:17 -03:00
Paul B Mahol
01e545d046 avfilter: add limiter filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-08 11:49:54 +02:00
Derek Buitenhuis
b198e09138 af_amix: Add missing error check
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-07-07 15:32:03 -04:00
Derek Buitenhuis
704b774ae0 af_tempo: Add missing error check
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-07-07 15:24:49 -04:00
Kevin Mark
d32a6c36e4 libavfilter/scale2ref: Maintain main input's DAR
The scale2ref filter will now maintain the DAR of the main input and
not the DAR of the reference input. This previous behavior was deemed
counterintuitive for most (all?) use-cases.

Before:
scale2ref=iw/4:ow/mdar
in  w:320 h:240 fmt:rgb24 sar:1/1
ref w:640 h:360 fmt:rgb24 sar:1/1
out w:160 h:120 fmt:rgb24 sar:4/3 flags:0x2
SAR: ((120 * 640) / (160 * 360)) * (1 / 1) = 4 / 3
DAR: (160 / 120) * (4 / 3) = 16 / 9
(main out now same DAR as ref)

Now:
scale2ref=iw/4:ow/mdar
in  w:320 h:240 fmt:rgb24 sar:1/1
ref w:640 h:360 fmt:rgb24 sar:1/1
out w:160 h:120 fmt:rgb24 sar:1/1 flags:0x2
SAR: ((120 * 320) / (160 * 240)) * (1 / 1) = 1 / 1
DAR: (160 / 120) * (1 / 1) = 4 / 3
(main out same DAR as main in)

The scale2ref FATE test has also been updated.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-04 15:09:10 +02:00
Paul B Mahol
1212041c91 avfilter/vf_ssim: use unsigned so result can be properly stored
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-04 10:21:14 +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
James Almer
d2ef9e6e7f x86/vf_blend: use ABS2 macro 2017-06-27 20:45:55 -03: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
Paul B Mahol
e9510dc032 avfilter: remove usage of empty header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-26 19:43:41 +02:00
Paul B Mahol
22a03c2900 avfilter/vf_blend: add extremity blend mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-25 16:39:10 +02:00
Paul B Mahol
8a14374ab3 avfilter/vf_waveform: allow alpha output for >8 depth planar rgb inputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-25 13:14:22 +02:00
Paul B Mahol
f269a1e0b8 avfilter/vf_overlay: separate functions with main alpha
~5-15% faster overall with main input without alpha.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-25 12:32:53 +02:00
Paul B Mahol
5c1f4330d4 avfilter/vf_lut2: add support for gray10 and gray12 pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 22:40:32 +02:00
Paul B Mahol
c1b43e8452 avfilter/vf_overlay: remove rgb option
Its been deprecated for over 3 years.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 19:20:46 +02:00
Paul B Mahol
f483949188 avfilter/af_headphone: do not free frame that's gonna be reused later
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 19:15:57 +02:00
Paul B Mahol
c90b88090c avfilter: do not leak AVFrame on failed buffer allocation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 19:15:57 +02:00
Ronald S. Bultje
97f7f83169 vf_spp: only assign function pointers if permutation matches expectations. 2017-06-24 07:53:15 -04:00