Commit Graph

7018 Commits

Author SHA1 Message Date
Paul B Mahol 2f147588f7 avfilter/vf_vaguedenoiser: fix plane copy for >8 bit depth formats
Fixes #7072.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-08 11:04:57 +01:00
Paul B Mahol ea0963181a avfilter/af_alimiter: check if buffer_size is valid
Fixes #7050.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-07 21:37:01 +01:00
Michael Niedermayer c87bf5b6d0 avfilter/vf_*_vaapi: Add missing AV_OPT_FLAG_FILTERING_PARAM
Reviewed-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-07 20:37:33 +01:00
Bodecs Bela d723994449 avfilter/avf_concat: add next command
This patch makes it possible to dinamically close the current segment
and step to the next one by introducing command handling capabilities
into the filter. This new feature is very usefull when working with
real-time sources or live streams as source. Combinig usage with zmqsend
tool you can interactively end the current segment and step to next one.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
2018-03-01 12:54:06 +01:00
Martin Vignali 53a03b5c8c avfilter/x86/vf_blend : add 16 bit version for BLEND_SIMPLE, phoenix, difference for SSE and AVX2 (x86_64) 2018-02-24 21:44:19 +01:00
Martin Vignali 6c6c9d14a8 avfilter/x86/vf_blend : indent 2018-02-24 21:44:16 +01:00
Martin Vignali 7590d58b61 avfilter/x86/vf_blend : reorganize init in order to add 16 bit version 2018-02-24 21:44:13 +01:00
Rodger Combs 0419623cdc lavfi/vf_transpose: fix regression with semiplanar formats
(e.g. nv12)

Regression since 7b19e76aeb
2018-02-23 17:20:10 -06:00
Michael Niedermayer 173939259a avfilter/avf_avectorscope: Fix ;;
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-15 13:48:25 +01:00
Niklas Haas 7c82e0f61e avfilter/af_loudnorm: correctly initialize PTS
Right now, the PTS always starts out as 0, which causes problems on a
seek or when inserting this filter mid-stream.

Initialize it instead to AV_NOPTS_VALUE and copy the PTS from the first
frame instead if this is the case.
2018-02-14 18:10:53 +01:00
Mark Thompson b668a1c8b3 Merge commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a'
* commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a':
  vf_hwupload/hwmap: Support setting a fixed pool size

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:56:12 +00:00
Mark Thompson 6e050e0085 Merge commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0'
* commit 'e4cdef00263dc8b3c8de9d34ceacd00dc68979c0':
  vf_scale_qsv: Support increasing hardware frame pool size

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:55:24 +00:00
Mark Thompson b4fca397dd Merge commit 'b128be1748f3920a14a98307265df5f2d3433e1d'
* commit 'b128be1748f3920a14a98307265df5f2d3433e1d':
  vf_*_vaapi: Support increasing hardware frame pool size

Rewritten to apply to common VAAPI code rather than specific filters.

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:44:28 +00:00
Mark Thompson bcab11a1a2 Merge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'
* commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d':
  lavfi: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:28:12 +00:00
Mark Thompson c6bc18bc12 vf_hwupload/hwmap: Support setting a fixed pool size
These filters do not directly know whether the API they are using will
support dynamic frame pools, so this is somewhat tricky.  If the user
sets extra_hw_frames, we assume that they are aware of the problem and
set a fixed size based on that.  If not, most cases use dynamic sizing
just like they did previously.  The hardware-reverse-mapping case for
hwmap previously had a large fixed size (64) here, primarily as a hack
for QSV use - this is removed and extra_hw_frames will need to be set
for QSV to work since it requires fixed-size pools (as the other cases
do, and which didn't work before).
2018-02-11 22:11:10 +00:00
Mark Thompson e4cdef0026 vf_scale_qsv: Support increasing hardware frame pool size
The deinterlacer does not change, because it does not allocate any new
frames (for output it uses the same pool as the input).
2018-02-11 22:11:10 +00:00
Mark Thompson b128be1748 vf_*_vaapi: Support increasing hardware frame pool size
Defaults to 10 frames to preserve compatibility, but can allocate
fewer if extra_hw_frames is set explicitly.
2018-02-11 22:11:10 +00:00
Mark Thompson 6d86cef06b lavfi: Add support for increasing hardware frame pool sizes
AVFilterContext.extra_hw_frames functions identically to the field of
the same name in AVCodecContext.
2018-02-11 22:11:06 +00:00
Rostislav Pehlivanov 33d632d40e lavfi: add a gitignore file for OpenCL compiled kernels
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-02-07 11:25:58 +00:00
Nikolas Bowe c86490c49a avfilter/af_join: Fix crash in join filter
Previously if ff_outlink_frame_wanted() returned 0 it could dereference a null pointer when trying to read nb_samples.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-03 21:37:19 +01:00
Steven Liu 27fe8930e0 avfilter: add comments for duplicate line
comment about the looks like a duplicate line.
but that is used to reason x is expressed from y

Suggested-by: Paul B Mahol
Suggested-by: Michael Niedermayer
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-02-01 10:55:19 +08:00
Martin Vignali 3a230ce5fa avfilter/x86/vf_blend : avfilter/x86/vf_blend : add AVX2 version for each func except divide
and optimize average, grainextract, multiply, screen, grain merge
2018-01-28 20:21:32 +01:00
Marton Balint 4d95c6d5d7 avfilter/vf_framerate: add SIMD functions for frame blending
Blend function speedups on x86_64 Core i5 4460:

ffmpeg -f lavfi -i allyuv -vf framerate=60:threads=1 -f null none

C:     447548411 decicycles in Blend,    2048 runs,      0 skips
SSSE3: 130020087 decicycles in Blend,    2048 runs,      0 skips
AVX2:  128508221 decicycles in Blend,    2048 runs,      0 skips

ffmpeg -f lavfi -i allyuv -vf format=yuv420p12,framerate=60:threads=1 -f null none

C:     228932745 decicycles in Blend,    2048 runs,      0 skips
SSE4:  123357781 decicycles in Blend,    2048 runs,      0 skips
AVX2:  121215353 decicycles in Blend,    2048 runs,      0 skips

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 18:50:52 +01:00
Marton Balint 2cbe6bac03 avfilter/vf_framerate: change blend factor precision
This is done mainly in preparation for the SIMD patches.

- for the 8-bit input, decrease the blend factor precision to 7-bit.
- for the 16-bit input, increase the blend factor precision to 15-bit.
- make sure the blend functions are not called with 0 or maximum blending
  factors, because we don't want the signed factor integers to overflow.

Fate test changes are due to different rounding.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 18:50:50 +01:00
Marton Balint 1b6ffe9aca avfilter/vf_framerate: factorize blend functions and unify filter_slice
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 17:07:37 +01:00
Marton Balint 5bf774a4a4 avfilter/vf_framerate: unify luma and chroma blending
The expressions were mathematically equvivalent...

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 17:07:37 +01:00
Michael Niedermayer 3f621455d6 avfilter/vf_transpose: Fix regression with packed pixel formats
Regression since: c6939f65a1
Found-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-28 15:10:52 +01:00
Michael Niedermayer c6939f65a1 avfilter/vf_transpose: Fix used plane count.
Fixes out of array access
Fixes: poc.mp4

Found-by: GwanYeong Kim <gy741.kim@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-27 04:29:30 +01:00
Jun Zhao 4e6e1e5350 lavfi/misc_vaapi: use default value setting if without arguments.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-25 23:16:18 +00:00
Jun Zhao 658ac0672f lavfi/procamp_vaapi: fix the green video issue if without arguments.
Fix the green output issue when use procamp_vaapi without any
arguments, now if use procamp_vaapi without any arguments, will use
the default value to setting procamp_vaapi.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-25 23:16:08 +00:00
Jun Zhao 4dbae00bac lavfi/vf_xxx_vaapi: fix typo.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
2018-01-24 11:31:14 +01:00
James Almer f0320afab9 avfilter/Makefile: skip compiling vaapi_vpp.h when vaapi is not enabled
Fixes make checkheaders

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-23 23:42:05 -03:00
Jun Zhao 9bba10c174 lavfi: add denoise and sharpness VAAPI video filters.
Most code between them is common, so put them in a new file for
miscellaneous VAAPI filters.

Signed-off-by: Yun Zhou <yunx.z.zhou@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-21 22:56:52 +00:00
Jun Zhao fcf5eae4bf lavfi: add ProcAmp (color balance) VAAPI video filter.
Add ProcAmp(color balance) vaapi video filter, use the option
like -vf "procamp_vaapi=b=10:h=120:c=2.8:s=3.7" to set
brightness/hue/contrast/saturation.

Signed-off-by: Yun Zhou <yunx.z.zhou@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-21 22:56:52 +00:00
Jun Zhao 92704c480e lavfi: use common VAAPI VPP infrastructure for vf_deinterlace_vaapi.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-21 22:56:52 +00:00
Jun Zhao 19214f0051 lavfi: use common VAAPI VPP infrastructure for vf_scale_vaapi.
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-21 22:56:52 +00:00
Jun Zhao dfdeed5a2c lavfi: VAAPI VPP common infrastructure.
Re-work the VAAPI common infrastructure to avoid code duplication
between filters.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2018-01-21 22:56:52 +00:00
Gyan Doshi 6c1c6c6c71 avfilter/drawtext - implement fix_bounds
When enabled, text, including effects like shadow or box, will be
completely bound within the video frame.

Default value changed to false to keep continuity of behaviour.

Fixes #6960.

Signed-off-by: Kyle Swanson <k@ylo.ph>
2018-01-20 16:30:56 -08:00
Marton Balint e3acba0d5d avfilter/formats: remove support for deprecated channel count specification
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-20 18:07:44 +01:00
Rodger Combs 381a4820c6 lavfi/vf_scale_vaapi: set output SAR 2018-01-18 19:18:33 -06:00
Paul B Mahol 8088b5d69c avfilter/af_afade: acrossfade: switch to activate
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-18 16:26:14 +01:00
Gyan Doshi e1e89c0695 avfilter/vidstab: check bytesPerPixel only for packed formats.
libvidstab introduced this variable only for packed formats but in
vf_vidstab*.c, it's checked for all inputs. So the filter errors out for YUV422/444P streams.

Fixes #6736.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-17 20:02:14 +01:00
Jun Zhao 383804edd8 lavfi/deinterlace_vaapi: fix can't show full option information.
use ffmpeg -h filter=deinterlace_vaapi can't get full help information,
the root cause is not setting the flags fileld in options.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-17 20:02:14 +01:00
Robert Nagy 856b7cae9f avfilter/vf_idet: added more YUVA formats to idet query_formats
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-14 23:19:01 +01:00
Marton Balint 0c31a3876d avfilter/vf_framerate: simplify filter
The framerate filter was quite convoluted with some filter_frame /
request_frame logic bugs. It seemed easier to rewrite the whole filter_frame /
request_frame part and also the frame interpolation ratio calculation part in
one step.

Notable changes:
- The filter now only stores 2 frames instead of 3
- filter_frame outputs all the frames it can to be able to handle consecutive
  filter_frame calls which previously caused early drops of buffered frames.
- because of this, request_frame is largely simplified and it only outputs
  frames on flush. Previously consecuitve request_frame calls could cause the
  filter to think it is in flush mode filling its buffer with the same frames
  causing a "ghost" effect on the output.
- PTS discontinuities are handled better
- frames with unknown PTS values are now dropped

Fixes ticket #4870.
Probably fixes ticket #5493.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-12 23:40:41 +01:00
Martin Vignali b94cd55155 avfilter/x86/vf_interlace : add AVX2 version 2018-01-11 21:03:19 +01:00
Mark Thompson 526a87b471 vf_program_opencl: Add missing error code returns
Fixes CID #1427285.
2018-01-10 23:27:19 +00:00
Mark Thompson 9b4611a1c1 vf_overlay_opencl: Don't leak output frame on error
Fixes CID #1423277.
2018-01-10 23:25:56 +00:00
Paul B Mahol de8a1d8d4d avfilter/af_aiir: add polar zeros/poles format variant
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-10 20:25:50 +01:00
Paul B Mahol de5b12c93f avfilter/af_aiir: unbreak clipping detection
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-10 19:24:41 +01:00
Paul B Mahol 3c29f68b4d avfilter/af_aiir: do not leak memory on failure in convert_zp2tf()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-10 18:38:01 +01:00
Paul B Mahol e9edd61965 avfilter/af_aiir: refactor code so it uses IIRChannel struct
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-09 17:46:27 +01:00
Paul B Mahol 21c99f4b40 avfilter/af_aiir: make default processing to serially cascaded
Also add several helpfull log messages.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-09 13:08:01 +01:00
Paul B Mahol d9a3074b93 avfilter/af_aiir: add slice threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-09 12:25:35 +01:00
Paul B Mahol 7add1ca2b5 avfilter/af_aiir: add cascaded biquads support
Also add precision option.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-09 12:25:35 +01:00
Paul B Mahol 3f234a0b22 avfilter/af_aiir: do not forget to free gains too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-08 11:22:21 +01:00
Paul B Mahol 205046420d avfilter/af_aiir: fix typo which may cause overread
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-08 08:45:02 +01:00
Mark Thompson dfdc146161 lavfi: Add filters to run arbitrary OpenCL programs 2018-01-07 23:24:30 +00:00
Mark Thompson 202b59cd3d lavfi/opencl: Use filter device if no input device is available
This allows implementing sources as well as filters.
2018-01-07 23:24:28 +00:00
Paul B Mahol 2d3df8e2e9 avfilter/af_aiir: rename options, provide gains in separate option
This way it can be also used for other format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-07 21:22:38 +01:00
Paul B Mahol 6c65de3db0 avfilter/af_aiir: add support for alternative coefficients format
Support for zeros/poles syntax on Z-plane.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-07 17:03:46 +01:00
James Almer b2c42fc6dc avfilter: deprecate avfilter_link_get_channels()
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-06 11:01:16 -03:00
Paul B Mahol 50b3cd22dd avfilter/av_biquads: scale a0 too
Fixes bug when using commands to alter coefficients.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-06 14:58:00 +01:00
James Almer da5b05c833 Revert "avfilter: deprecate avfilter_link_get_channels()"
This reverts commit 798dcf2432.

It was applied by accident before it could be reviewed.
2018-01-05 22:13:28 -03:00
James Almer 798dcf2432 avfilter: deprecate avfilter_link_get_channels()
And move the channels field to the public section of the struct.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 17:49:09 -03:00
Paul B Mahol 52c959a237 avfilter/af_aiir: do not crash with invalid options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-05 19:58:07 +01:00
James Almer 167e659b28 avfilter: use a mutex instead of atomics in avfilter_register()
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 13:18:34 -03:00
Paul B Mahol 7bb1be9af0 avfilter: add arbitrary audio IIR filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-05 17:04:21 +01:00
Marc-Antoine Arnaud e425047a47 avfilter: rename variables in geq
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-05 03:35:48 +01:00
Marc-Antoine Arnaud ac6b0bba79 avfilter: slice processing for geq
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-05 03:35:48 +01:00
Marc-Antoine Arnaud 206b25f9f4 avfilter: reorder variable definition in geq
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-05 03:35:48 +01:00
Marton Balint f528c49c7c avfilter/vf_framerate: calculate interpolation as integer
It was truncated to int later on anyway. Fate test changes are due to rounding
instead of truncation.

Fixes fate test failures on x86-32 (gcc 4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1))
after 090b740680.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-04 22:37:43 +01:00
Paul B Mahol 89bbf5c7ec avfilter: add hilbert source FIR filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-04 12:26:19 +01:00
Paul B Mahol 88cbd25b19 avfilter: pass outlink to ff_get_audio_buffer()
This is more correct.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-03 22:52:47 +01:00
Nicolas George 29b5f3115d lavfi/framesync: remove an invalid free. 2018-01-03 19:54:39 +01:00
Nicolas George 9ace76697a lavfi/framesync: document frame ownership for dualinput. 2018-01-03 19:54:39 +01:00
Paul B Mahol 09b24a807a avfilter: add entropy filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-03 19:45:01 +01:00
Derek Buitenhuis 631fa0432b vf_paletteuse: Don't free the second frame from ff_framesync_dualinput_get_writable on error
This fixes a double free in he error case.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-01-03 13:02:27 -05:00
Derek Buitenhuis 6470abc740 vf_paletteuse: Add error checking to apply_palette
This fixes a segfault caused by passing NULL to ff_filter_frame
when an error occurs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-01-03 13:02:15 -05:00
Paul B Mahol 9f7dbaad7e avfilter/af_crystalizer: use outlink instead of inlink
Doesn't change anything but is more correct.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-01 21:57:06 +01:00
Paul B Mahol f3552c3b9d avfilter/af_afir: rework FIR gain measurement
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-31 19:16:22 +01:00
Carl Eugen Hoyos ad73b32d29 lavfi/minterpolate: Split struct Pixel to allow higher resolutions.
Raises the maximum resolution from 2716x2707 to approximately 4096x4095.

Fixes ticket #6795.
2017-12-28 01:28:57 +01:00
Paul B Mahol 8c9a91ac82 avfilter: add deconvolve filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 11:54:22 +01:00
Paul B Mahol 87f148d526 avfilter/vf_convolve: remove padding, its unused and not needed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 11:10:12 +01:00
Paul B Mahol caacbfa773 avfilter/vf_convolve: cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 11:08:57 +01:00
wm4 9b121dfc32 w32pthreads: always use Vista+ API, drop XP support
This removes the XP compatibility code, and switches entirely to SWR
locks, which are available starting at Windows Vista.

This removes CRITICAL_SECTION use, which allows us to add
PTHREAD_MUTEX_INITIALIZER, which will be useful later.

Windows XP is hereby not a supported build target anymore. It was
decided in a project vote that this is OK.
2017-12-26 02:49:48 +01:00
Paul B Mahol e712d30173 avfilter/vf_convolve: add threading for complex multiplication
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 15:46:04 +01:00
Paul B Mahol c59e49f9b2 avfilter/vf_convolve: implement slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 11:53:54 +01:00
Paul B Mahol f9f1b2a927 avfilter/vf_convolve: split input/output operations from fft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 11:05:26 +01:00
Paul B Mahol 86e3eebfb7 avfilter/vf_convolve: use shorter variants for pointers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 10:19:47 +01:00
Paul B Mahol ec6608f51b avfilter/vf_convolve: clear coefficients only when needed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 10:06:07 +01:00
Paul B Mahol 5533cbfc84 avfilter/vf_convolve: fix various issues
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-24 18:24:48 +01:00
Paul B Mahol 175122fcd5 avfilter/vf_convolve: fix convolution of borders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-24 10:15:26 +01:00
Paul B Mahol b5958ff82e avfilter/vf_convolve: unbreak non-power of 2 width&height filtering
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-23 17:44:52 +01:00
Paul B Mahol b943bc343d avfilter/vf_fftfilt: support >8 bit depth formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-23 11:36:37 +01:00
Paul B Mahol f6608f4725 avfilter/vf_aspect: change outlink sample aspect ratio instead of inlink
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-23 10:48:14 +01:00
Paul B Mahol 4754d70a23 avfilter/video: pick sar from link
It should not be needed for each filter that sets sample aspect ratio
to set it explicitly also for each and every frame, instead that is
automatically done in get_buffer call.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-23 10:48:14 +01:00
Paul B Mahol d2a2bc9a9f avfilter/vf_lut: add support for gray formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-22 10:57:12 +01:00
Marton Balint e403e4bdbe avfilter/vf_framerate: fix scene score with negative linesize
Also, do not overread input if linesize > width, or linesize is not divisible
by 8, and use the proper rounded width/height for MAFD calculation.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Marton Balint c6a65ed670 avfilter/vf_framerate: do not calculate scene change score multiple times for the same frame
This speeds up the filter, and also fixes scene change detection score which is
reduced based on the difference of the current MAFD to the preivous MAFD.
Obviously if we compare two frames twice, the difference will be 0...

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Marton Balint e1113a83cc avfilter/vf_framerate: fix scene change detection score
- normalize score to [0..100] instead of [0..85]
- change the default score to 8.2 to roughly keep existing behaviour
- take into account bit depth
- do not truncate to integer

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Marton Balint be15304ee6 avfilter/vf_framerate: factorize get_scene_score
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Marton Balint 090b740680 avfilter/vf_framerate: factorize blend_frames
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Marton Balint 1eb926dc02 avfilter/vf_framerate: add threaded blending operations
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Paul B Mahol 5a6e753bc6 avfilter/af_biquads: change defaults for biquad filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-21 12:06:21 +01:00
Paul B Mahol 7fc89f226f avfilter/af_biquads: increase width range
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-21 11:53:22 +01:00
Paul B Mahol c99ed89f89 avfilter/af_biquads: add kHz width_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-21 11:52:49 +01:00
Paul B Mahol cfd52094c0 avfilter/vf_psnr: add more gbrap formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-20 12:45:21 +01:00
James Almer 8e0e4384b0 Revert "avfilter/vf_interlace : add AVX2 for lowpass_line 8 and 16"
This reverts commits 1a5865b6dc and
8fb1d63d91.

They made fate interlace tests fail when AVX2 was used.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-19 19:04:25 -03:00
Martin Vignali 3df6e61dad avfilter/x86/vf_hflip : indent
based on patch by Paul B Mahol
2017-12-19 21:10:12 +01:00
Martin Vignali f181648176 avfilter/x86/vf_hflip : add avx2 version for hflip_byte and hflip_short 2017-12-19 21:10:09 +01:00
Martin Vignali a4a4179e83 avfilter/x86/vf_hflip : merge hflip byte and hflip short to one macro 2017-12-19 21:10:05 +01:00
Martin Vignali 8fb1d63d91 avfilter/vf_tinterlace : add AVX2 func for lowpass_line 8 and 16 2017-12-19 20:59:59 +01:00
Martin Vignali 1a5865b6dc avfilter/vf_interlace : add AVX2 for lowpass_line 8 and 16 2017-12-19 20:59:54 +01:00
Martin Vignali d31770d9a6 avfilter/vf_interlace : move func init in ff_interlace_init and add depth arg for ff_interlace_init_x86 2017-12-19 20:59:47 +01:00
Mateusz 6260ab60a8 avfilter/vf_overlay: fix packed_rgb case
Signed-off-by: Mateusz Brzostek <mateuszb@poczta.onet.pl>
2017-12-18 14:48:37 +01:00
Ronald S. Bultje df3222d4bb libvmaf: exit gracefully if the library fails.
Fixes trac issue #6884 and Netflix/vmaf issue #124.
2017-12-18 07:59:53 -05:00
Paul B Mahol 9dcecbf04c avfilter/af_biquads: add missing break statements
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-17 19:23:37 +01:00
Carl Eugen Hoyos 9b79c65ec0 lavu/lavc/lavf/lavfi: Do not use type modifier %zu on Windows MSVCRT. 2017-12-17 18:05:42 +01:00
Paul B Mahol 600c8729e2 avfilter/af_biquads: remove unused enum item
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-17 16:46:40 +01:00
Paul B Mahol ce626f2695 avfilter/av_biquads: add support for commands
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-17 16:46:40 +01:00
Paul B Mahol d29f784a54 avfilter/vf_overlay: add premultiplied alpha mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-16 18:40:04 +01:00
Martin Vignali 3c6dc27035 avfilter/x86/vf_interlace : avfilter/x86/vf_interlace : fix crash when using unaligned data in low_pass complex
related to ticket 6491
2017-12-15 11:28:29 +01:00
Martin Vignali 49dced9fd0 avfilter/x86/vf_interlace : avoid crash when data are unaligned
ticket 6491
2017-12-15 11:28:25 +01:00
Gyan Doshi 1c76134fe3 avfilter/drawbox+drawgrid - add option to prevent overwriting of source pixels
If the user-supplied color in drawbox and drawgrid filters is non-opaque,
the box & grid painting overwrites the input's pixels (including alpha).
Users typically expect the alpha of the specified color to only act as a key
for compositing on top of the main input.

Added option allows users to select between replacement and composition.
Tested and documented.
2017-12-14 13:44:45 -09:00
Kelly Ledford bc219082bb libavfilter/af_dcshift.c: Fixed repeated spelling error
'threshhold' should be 'threshold'

Signed-off-by: Kelly Ledford <kelly.ledford@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-13 12:25:44 +01:00
Martin Vignali 46f534bdee avfilter/vf_hflip : move context func init in ff_hflip_init 2017-12-13 11:34:24 +01:00
Jun Zhao 4280948702 avfilter/formats: fix wrong function name in error message
Use perdefined micro __FUNCTION__ rather than hard coding function name
to fix wrong function name in error message.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-13 00:30:46 +01:00
Paul B Mahol a0e4c41d08 avfilter/vf_pseudocolor: add support for more formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-12 19:31:50 +01:00
Paul B Mahol cbd524b26c avfilter/avfiltergraph: remove ugly dead code
Remnant of old merge.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-11 22:39:26 +01:00
Martin Vignali 869efbf971 avfilter/x86/vf_threshold : add threshold16 SIMD (SSE4 and AVX2) 2017-12-09 14:47:09 +01:00
Paul B Mahol 713f9c5b5d avfilter/vf_scale: add more aliases for "range" options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 20:36:44 +01:00
Vittorio Giovara bc38c8f442 vf_zscale: Fix alpha destination graph for floating point pixel formats
This was setting the input pixel type instead of the output one,
leading to incorrect data being fed to the library.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-12-08 10:11:50 -05:00
Paul B Mahol 299a622297 avfilter/vf_waveform: add default case when picking input formats
Should silence compiler warnings.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 12:31:01 +01:00
James Almer f2aa0ce5a0 x86/vf_hflip: use xor to zero initialize registers
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-07 19:34:12 -03:00
James Almer dc33fe1d00 x86/vf_hflip: don't load the width argument twice
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-07 19:34:12 -03:00
Paul B Mahol 53855e3c04 avfilter: add setrange filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-06 15:42:23 +01:00
Paul B Mahol 312b00de8f avfilter/vf_convolution: add 7x7 filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-04 21:32:29 +01:00
James Almer cc2ba526d4 x86/vf_threshold: make threshold8 functions work on x86_32
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-04 15:46:09 -03:00
Paul B Mahol 5ff0d2acae avfilter/x86/vf_hflip.asm: fix building on x32
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-04 15:08:43 +01:00
Paul B Mahol 86fda8be3f avfilter: add hflip x86 SIMD
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-04 09:58:25 +01:00
James Almer b73304f79e x86vf_threshold/: use the PBLENDVB macro
Fixes building with yasm

Tested-by: stevenliu
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-04 02:22:30 -03:00
Martin Vignali 6e3e696591 avfilter/x86/vf_threshold : cosmetic indent 2017-12-03 19:17:28 +01:00
Martin Vignali 9719d57b34 avfilter/x86/vf_threshold : add avx2 version for threshold 8 2017-12-03 19:17:23 +01:00
Martin Vignali 51345cb1d5 avfilter/x86/vf_threshold : make macro for threshold8 in order to add avx2 version 2017-12-03 19:17:19 +01:00
Martin Vignali fa470384ea avfilter/vf_threshold : move context func init in ff_threshold_init 2017-12-03 19:17:11 +01:00
Paul B Mahol 225341b20d avfilter/vf_stack: always copy SAR from first input
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-02 23:29:49 +01:00
Paul B Mahol bbfcb1b7c8 avfilter/vf_threshold: add x86 SIMD
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-02 14:58:56 +01:00
Paul B Mahol e1dd97bd4c avfilter: add fillborders filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-01 18:57:24 +01:00
Paul B Mahol 2cfc8b172c avfilter/vf_tile: add init_padding option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-01 10:55:30 +01:00
Carl Eugen Hoyos d13b8f68d7 lavfi/libvmaf: Rename local variable "main" as "master".
Fixes the following warning:
libavfilter/vf_libvmaf.c:179:14: warning: 'main' is usually a function

Missed in 5d3e9357
2017-11-30 14:13:15 +01:00
James Almer d268094f88 Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'
* commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa':
  stereo3d: Support view type for frame sequence type

Merged-by: James Almer <jamrial@gmail.com>
2017-11-29 21:06:49 -03:00
Gyan Doshi b3cb9bd43f avfilter/drawbox: rename variable for maximum thickness
The present value name for maximum thickness is 'max' which results in a
parse error of any thickness expression containing 'max(val1,val2)'.

Value renamed to 'fill'. Tested locally and documented.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-28 21:42:48 +01:00
Vittorio Giovara 99e9697e3a stereo3d: Support view type for frame sequence type
Implement detection in h264 and hevc and insertion in framepack filter.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-11-28 14:56:51 -05:00
Vittorio Giovara 002db7d49a vf_zscale: Add more supported input properties
Bump the minimum version necessary in the configure file.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-11-28 14:51:45 -05:00
Vittorio Giovara 3e0560b054 vf_zscale: Relax color properties maximum bounds
This simplifies adding new values, which are already validated elsewhere.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-11-28 13:55:47 -05:00
Paul B Mahol eb86f72fca avfilter/vf_threshold: use correct linesize
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-27 18:04:39 +01:00
Paul B Mahol 2d1594a8d6 avfilter/af_silenceremove: fix possible crash if supplied duration is negative
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-27 16:34:09 +01:00
Paul B Mahol 9152bda839 avfilter/af_silenceremove: fix logic error in EOF case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-27 13:38:33 +01:00
Paul B Mahol ffc01280be avfilter: add lv2 wrapper filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-26 14:05:25 +01:00
Richard Ling 7d4fe0c5cb avfilter: add normalize filter 2017-11-25 09:51:33 +01:00
Paul B Mahol 63826a0b82 avfilter/af_amix: make use of av_asprintf()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 17:09:48 +01:00
Paul B Mahol ec5328aa6f avfilter: add mix filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 16:51:33 +01:00
Paul B Mahol 59365e6345 avfilter/af_ladspa: remove duplicate code lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 13:36:26 +01:00
James Almer ef8979f199 avfilter/Makefile: skip building opencl.h when opencl is disabled
Fixes make checkheaders.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-23 19:11:17 -03:00
Mark Thompson 3650cb2dfa lavu,lavfi,ffmpeg: Remove experimental OpenCL API
This was added in early 2013 and abandoned several months later; as far as
I can tell, there are no external users.  Future OpenCL use will be via
hwcontext, which requires neither special OpenCL-only API nor global state
in libavutil.

All internal users are also deleted - this is just the unsharp filter
(replaced by unsharp_opencl, which is more flexible) and the deshake filter
(no replacement).
2017-11-22 23:20:39 +00:00
Mark Thompson 5514bab37a vf_hwmap: Pass mapping mode when deriving frames context on an existing device
To match creation on a newly-derived device.  (This was missed earlier
because the mode is only used in some cases.)
2017-11-22 23:18:42 +00:00
Mark Thompson 7faa8d8b03 lavfi: Add OpenCL unsharp mask filter
Intended to replace existing opencl mode of the unsharp filter.
Supports many more pixel formats and works without immediate upload
and download of frame data.  The options are compatible with the
existing filter.
2017-11-22 23:18:35 +00:00
Mark Thompson 9204b2deea lavfi: Add OpenCL overlay filter
Input and output formats must be the same, the overlay format must be
the same as the input except possibly with an additional alpha component.
2017-11-22 23:18:02 +00:00
Mark Thompson 59d6529333 lavfi: Add infrastructure for building OpenCL source into libavfilter 2017-11-22 23:17:34 +00:00
Mark Thompson 5c21c41b7d lavfi: Add some common code for OpenCL filtering 2017-11-22 23:15:48 +00:00
Paul B Mahol 000836c2a9 avfilter/af_asetnsamples: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-21 18:29:39 +01:00
Paul B Mahol afd2bf54c3 avfilter/avf_avectorscope: add swap and mirror options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-21 12:27:03 +01:00
Zhong Li f7d77b4112 lavf/qsv_vpp: check the return value of ff_formats_ref()
Fixes the build warning of "ignoring return value of ‘ff_formats_ref’,
declared with attribute warn_unused_result"

Signed-off-by: Zhong Li <zhong.li@intel.com>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-11-20 15:47:05 +00:00
Zhong Li 81c615f0fe lavf/qsv_overlay: check the return value of ff_formats_ref()
Fixes the build warning of "ignoring return value of ‘ff_formats_ref’,
declared with attribute warn_unused_result"

Signed-off-by: Zhong Li <zhong.li@intel.com>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-11-20 15:47:05 +00:00
Paul B Mahol 16d67fabb1 avfilter/avfiltergraph: pass correct audio/video flags
Previously video flags where set for audio option.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 13:58:50 +01:00
Paul B Mahol 5c7c0c5b58 avfilter/af_afftfilt: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 13:54:04 +01:00
Paul B Mahol 4073046089 avfilter/af_headphone: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 13:54:04 +01:00
Paul B Mahol d1b284119b avfilter/af_afir: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 13:54:04 +01:00
Paul B Mahol 200f497997 avfilter/af_surround: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 13:54:04 +01:00
Paul B Mahol 185af4ccb1 avfilter/af_extrastereo: fix filtering when clipping is disabled
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-20 10:58:35 +01:00
Paul B Mahol 69cbebbd3d avfilter/af_surround: add some more layouts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-19 21:20:16 +01:00
Paul B Mahol 460df96904 avfilter: fix indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-19 21:18:00 +01:00
Michael Roitzsch 4f4e19914d lavfi/af_pan: fix sign handling in channel coefficient parser
When a channel formula ends with a subtraction, the next formula will
otherwise have its first coefficient negated.
2017-11-19 17:32:11 +01:00
Paul B Mahol e679ac8d7c avfilter: add acontrast filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-19 12:50:04 +01:00
Paul B Mahol 5d7c76566c avfilter: add multiband compand filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-17 20:34:04 +01:00
James Almer 03dae121c0 avfilter/vf_subtitles: remove usage of AVCodecContext accessors
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-15 01:14:22 -03:00
Timo Rothenpieler c7ded42d5d avfilter/vf_premultiply: fix memory-leak on failure
Fixes CID #1416352
2017-11-13 20:33:10 +01:00
Timo Rothenpieler 237ccd8a16 lavfi/paletteuse: check get_color return value
Fixes CID #1420396
2017-11-13 20:33:10 +01:00
Michael Niedermayer 1828c549c3 avfilter/vf_*_qsv: Fix flags
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-13 03:58:34 +01:00
Paul B Mahol 7a060867f3 avfilter/vf_tile: add overlap option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 18:03:53 +01:00
Paul B Mahol 5f1bb258ab avfilter/vf_hysteresis: allow using framesync options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 11:48:52 +01:00
Paul B Mahol 789731affa avfilter/vf_maskedmerge: ignore SAR from all inputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 11:43:06 +01:00
Paul B Mahol a28e70beab avfilter/vf_lut2: ignore SAR from all inputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 11:40:49 +01:00
Paul B Mahol 79aa9d8aee avfilter/vf_blend: ignore SAR from all inputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 11:39:16 +01:00
Paul B Mahol 19d2108a98 avfilter/vf_hysteresis: ignore SAR from all inputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 11:36:59 +01:00
Paul B Mahol 2afeb3f8ab avfilter/vf_maskedclamp: ignore SAR from all inputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 11:36:59 +01:00
James Almer 1a24d4f020 Merge commit 'ea25ccd1b2a980df8d43cc1f86a23e3c094090a6'
* commit 'ea25ccd1b2a980df8d43cc1f86a23e3c094090a6':
  qsv: Join the derived session to the parent

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:24:08 -03:00
James Almer 4391d6cb81 Merge commit 'a5a6ac1a123a927e5bed984ed757a29b7ff87dab'
* commit 'a5a6ac1a123a927e5bed984ed757a29b7ff87dab':
  libavfilter/overlay_qsv: Add QSV overlay vpp filter
  libavfilter/vf_vpp: Add common filters of the qsv vpp

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:07:06 -03:00
James Almer 672e704e4a Merge commit 'feed239021bad89743d5e7989b426ae594322eb7'
* commit 'feed239021bad89743d5e7989b426ae594322eb7':
  yadif: Account for the buffer alignment while processing the frame edges

See 221f902f1d

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:09:41 -03:00