Commit Graph

96 Commits

Author SHA1 Message Date
Paul B Mahol
8c2f81a17a avfilter/vf_hqdn3d: add support for commands 2019-11-29 17:28:59 +01:00
Paul B Mahol
3a61297a67 avfilter/vf_hqdn3d: add support for 12bit and 14bit yuv formats 2019-11-29 17:28:59 +01:00
Jun Zhao
da0c0c7247 lavfi/hqdn3d: add slice thread optimization
Enabled one thread per plane, used the test command for 1080P video
(YUV420P format) as follow:

ffmpeg -i 1080p.mp4 -an -vf hqdn3d -f null /dev/nul

This optimization improved the performance about 30% in 1080P YUV420P
case (from 110fps to 143fps), also pass the framemd5 check and FATE.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-10-10 09:33:09 +08:00
Clément Bœsch
8ef57a0d61 Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
  cosmetics: Fix spelling mistakes

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Vittorio Giovara
41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Derek Buitenhuis
21f9468402 avutil: Rename FF_CEIL_COMPAT to AV_CEIL_COMPAT
Libav, for some reason, merged this as a public API function. This will
aid in future merges.

A define is left for backwards compat, just in case some person
used it, since it is in a public header.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-01-27 16:36:46 +00:00
Ganesh Ajjanagadde
8507b98c10 avfilter,swresample,swscale: use fabs, fabsf instead of FFABS
It is well known that fabs and fabsf are at least as fast and sometimes
faster than the FFABS macro, at least on the gcc+glibc combination.
For instance, see the reference:
http://patchwork.sourceware.org/patch/6735/.
This was a patch to glibc in order to remove their usages of a macro.

The reason essentially boils down to fabs using the __builtin_fabs of
the compiler, while FFABS needs to infer to not use a branch and to
simply change the sign bit. Usually the inference works, but sometimes
it does not. This may be easily checked by looking at the asm.

This also has the added benefit of reducing macro usage, which has
problems with side-effects.

Note that avcodec is not handled here, as it is huge and
most things there are integer arithmetic anyway.

Tested with FATE.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-22 16:13:26 -04:00
Hendrik Leppkes
151aa2ebff Merge commit '2268db2cd052674fde55c7d48b7a5098ce89b4ba'
* commit '2268db2cd052674fde55c7d48b7a5098ce89b4ba':
  lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fields

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-08 16:35:28 +02:00
Vittorio Giovara
2268db2cd0 lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fields
The new fields can be accessed directly and are more intelligible.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-07 12:37:47 +02:00
Michael Niedermayer
4240e6a921 avfilter/vf_hqdn3d: Initialize the whole LUT
With bps > 8 more than 255..255 are used
The initialized table content is left unchanged,
But it could also be adjusted for the slight difference of
the maximum

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-27 05:18:55 +02:00
Clément Bœsch
fd682b1892 avfilter: handle error in query_formats() of a bunch of random video filters 2015-03-16 23:43:12 +01:00
Clément Bœsch
55feff57ce avfilter/hqdn3d: an invalid bit depth means a bug, not invalid read data
This code looks clumsy, and an assert would probably be more welcome.
2015-02-08 17:16:51 +01:00
Michael Niedermayer
ccccfb59b1 Merge commit '22b985d59c007c4422aefe3ef3fca0aa0daafa9f'
* commit '22b985d59c007c4422aefe3ef3fca0aa0daafa9f':
  hqdn3d: check memory allocations and propagate errors

Conflicts:
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:43:36 +01:00
Vittorio Giovara
22b985d59c hqdn3d: check memory allocations and propagate errors 2015-01-29 17:33:38 +00:00
Michael Niedermayer
14e2e40f3b avfilter/vf_hqdn3: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 06:17:05 +02:00
Michael Niedermayer
e3c93f1f84 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: Add missing emms_c when needed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-05 13:51:44 +01:00
Luca Barbato
e995cf1bcc avfilter: Add missing emms_c when needed
Arch specific calls should have an emms_c following to keep the cpu
state consistent.

Reported-By: wm4
CC: libav-stable@libav.org
2014-03-05 11:00:05 +01:00
Michael Niedermayer
325f6e0a97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: do not export the filters from shared objects

Conflicts:
	libavfilter/af_amix.c
	libavfilter/af_anull.c
	libavfilter/asrc_anullsrc.c
	libavfilter/f_select.c
	libavfilter/f_settb.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_colorbalance.c
	libavfilter/vf_copy.c
	libavfilter/vf_crop.c
	libavfilter/vf_cropdetect.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_format.c
	libavfilter/vf_framestep.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_hflip.c
	libavfilter/vf_libopencv.c
	libavfilter/vf_lut.c
	libavfilter/vf_null.c
	libavfilter/vf_overlay.c
	libavfilter/vf_scale.c
	libavfilter/vf_transpose.c
	libavfilter/vf_unsharp.c
	libavfilter/vf_vflip.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-29 11:58:11 +01:00
Anton Khirnov
cd43ca0443 lavfi: do not export the filters from shared objects 2013-10-28 15:29:54 +01:00
Paul B Mahol
b211607b5c avfilter: various cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Paul B Mahol
a8e00cf926 avfilter: remove redundant use of AV_NE() macro
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:05:21 +00:00
Paul B Mahol
622c977437 lavfi/hqdn3d: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 10:58:45 +00:00
Michael Niedermayer
1e9a050bc0 Merge commit '16a645adeb758207346a4bbf66766f02734c461e'
* commit '16a645adeb758207346a4bbf66766f02734c461e':
  vf_pixdesctest: make config_props work properly when called multiple times.
  vf_hqdn3d: make config_props work properly when called multiple times.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:41:14 +02:00
Anton Khirnov
3ba35a346c vf_hqdn3d: make config_props work properly when called multiple times.
Do not leak all the temp buffers.
2013-05-17 07:44:12 +02:00
Michael Niedermayer
df003cbb56 Merge commit '4753f802c00853859b7b4b8fdb79c35e082cb7f8'
* commit '4753f802c00853859b7b4b8fdb79c35e082cb7f8':
  vf_libopencv: use the name 's' for the pointer to the private context
  vf_hqdn3d: use the name 's' for the pointer to the private context
  vf_hflip: use the name 's' for the pointer to the private context
  vf_gradfun: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 16:45:43 +02:00
Anton Khirnov
56e4ce0d13 vf_hqdn3d: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:48 +02:00
Clément Bœsch
0122300c86 lavfi/hqdn3d: restore timeline feature. 2013-05-12 13:07:47 +02:00
Clément Bœsch
0652111833 lavfi/hqdn3d: use macros instead of hardcoded indexes. 2013-05-12 13:07:47 +02:00
Clément Bœsch
50e66726a2 lavfi: use ceil right shift for chroma width/height.
This should fix several issues with odd dimensions inputs.

lut, vflip, pad and crop video filters also need to be checked for such
issues. It's possible sws is also affected.
2013-05-10 17:20:06 +02:00
Michael Niedermayer
a8ff830b79 Merge commit '093804a93cc5da3f95f98265a5df116912443cec'
* commit '093804a93cc5da3f95f98265a5df116912443cec':
  avfilter: Add av_cold attributes to init/uninit functions

Conflicts:
	libavfilter/af_ashowinfo.c
	libavfilter/af_volume.c
	libavfilter/src_movie.c
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:42:18 +02:00
Diego Biurrun
093804a93c avfilter: Add av_cold attributes to init/uninit functions 2013-05-04 21:10:05 +02:00
Clément Bœsch
039c2b7828 lavfi/hqdn3d: remove timeline flag.
The filter stores some temporal data, which needs to be done with the
passthrough callback system when timeline is enabled. Until then,
timeline support is disabled.
2013-04-26 21:27:02 +02:00
Clément Bœsch
fdd93eabfb lavfi: add timeline support.
Flag added in a few simple filters. A bunch of other filters can likely
use the feature as well.
2013-04-23 01:02:27 +02:00
Michael Niedermayer
3dedcef8b8 avfilter: add missing AV_OPT_FLAG_FILTERING_PARAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:47:16 +02:00
Anton Khirnov
d69a4177b9 lavfi: remove now unused args parameter from AVFilter.init
Conflicts:

	libavfilter/avfilter.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_movie.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Michael Niedermayer
f780a90355 Merge commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a'
* commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a':
  vf_hqdn3d: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:14:30 +02:00
Anton Khirnov
c43a7ecad9 lavfi: remove now unused args parameter from AVFilter.init 2013-04-09 19:12:38 +02:00
Anton Khirnov
8c747d46f7 vf_hqdn3d: switch to an AVOptions-based system. 2013-04-09 19:05:12 +02:00
Michael Niedermayer
c31f07574d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hqdn3d: Fix out of array read in LOWPASS
  cabac: remove unused argument of ff_init_cabac_states()
  rawdec: fix a typo -- || instead of |

Conflicts:
	libavcodec/cabac.c
	libavcodec/h264.c
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:49:00 +01:00
Michael Niedermayer
8bcebf9e4a Merge commit '555000c7d5c1e13043a948ebc48d2939b0ba6536'
* commit '555000c7d5c1e13043a948ebc48d2939b0ba6536':
  h264: check that DPB is allocated before accessing it in flush_dpb()
  vf_hqdn3d: fix uninitialized variable use
  vf_gradfun: fix uninitialized variable use

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:34:06 +01:00
Loren Merritt
5b3c1aecb2 hqdn3d: Fix out of array read in LOWPASS
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:59 +01:00
Anton Khirnov
d0a863ac89 vf_hqdn3d: fix uninitialized variable use
CC:libav-stable@libav.org
2013-03-11 18:28:35 +01:00
Michael Niedermayer
a05a44e205 Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
* commit '7e350379f87e7f74420b4813170fe808e2313911':
  lavfi: switch to AVFrame.

Conflicts:
	doc/filters.texi
	libavfilter/af_ashowinfo.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.c
	libavfilter/buffersrc.c
	libavfilter/buffersrc.h
	libavfilter/f_select.c
	libavfilter/f_setpts.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/version.h
	libavfilter/vf_aspect.c
	libavfilter/vf_bbox.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavfilter/yadif.h

Following are notes about the merge authorship and various technical details.

Michael Niedermayer:
  * Main merge operation, notably avfilter.c and video.c
  * Switch to AVFrame:
    - afade
    - anullsrc
    - apad
    - aresample
    - blackframe
    - deshake
    - idet
    - il
    - mandelbrot
    - mptestsrc
    - noise
    - setfield
    - smartblur
    - tinterlace
  * various merge changes and fixes in:
    - ashowinfo
    - blackdetect
    - field
    - fps
    - select
    - testsrc
    - yadif

Nicolas George:
  * Switch to AVFrame:
    - make rawdec work with refcounted frames. Adapted from commit
      759001c534 by Anton Khirnov.
      Also, fix the use of || instead of | in a flags check.
    - make buffer sink and src, audio and video work all together

Clément Bœsch:
  * Switch to AVFrame:
    - aevalsrc
    - alphaextract
    - blend
    - cellauto
    - colormatrix
    - concat
    - earwax
    - ebur128
    - edgedetect
    - geq
    - histeq
    - histogram
    - hue
    - kerndeint
    - life
    - movie
    - mp (with the help of Michael)
    - overlay
    - pad
    - pan
    - pp
    - pp
    - removelogo
    - sendcmd
    - showspectrum
    - showwaves
    - silencedetect
    - stereo3d
    - subtitles
    - super2xsai
    - swapuv
    - thumbnail
    - tile

Hendrik Leppkes:
  * Switch to AVFrame:
    - aconvert
    - amerge
    - asetnsamples
    - atempo
    - biquads

Matthieu Bouron:
  * Switch to AVFrame
    - alphamerge
    - decimate
    - volumedetect

Stefano Sabatini:
  * Switch to AVFrame:
    - astreamsync
    - flite
    - framestep

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Anton Khirnov
7e350379f8 lavfi: switch to AVFrame.
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Michael Niedermayer
0d13a7b786 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_hqdn3d: x86: Add proper arch optimization initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 13:18:01 +01:00
Diego Biurrun
76d90125cd vf_hqdn3d: x86: Add proper arch optimization initialization 2013-02-01 13:11:45 +01:00
Michael Niedermayer
08196c785a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: suppress -fPIC in msvc builds
  Drop unnecessary 'l' length modifier when printfing double values.
  truemotion2: Sanitize tm2_read_header()

Conflicts:
	libavcodec/truemotion2.c
	libavfilter/src_movie.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-31 14:20:01 +01:00
Diego Biurrun
bcb8d9eb8f Drop unnecessary 'l' length modifier when printfing double values.
%f denotes a double argument and 'l' does nothing in this case
according to the C spec.
2012-12-31 11:20:45 +01:00
Clément Bœsch
b5eb630e21 lavfi: remove some video w/h settings after avfilter_copy_buffer_ref_props.
video->[wh] will be set with the same values as the input after
avfilter_copy_buffer_ref_props. These filters don't change the size of
the input so there is no need for this code.
2012-12-03 21:47:03 +01:00
Clément Bœsch
9e1914dfba lavfi/hqdn3d: avoid use of uninitialized variable. 2012-12-02 02:53:22 +01:00