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

58 Commits

Author SHA1 Message Date
Nicolas George
2f76476549 lavfi: regroup formats lists in a single structure.
It will allow to refernce it as a whole without clunky macros.

Most of the changes have been automatically made with sed:

sed -i '
  s/-> *in_formats/->incfg.formats/g;
  s/-> *out_formats/->outcfg.formats/g;
  s/-> *in_channel_layouts/->incfg.channel_layouts/g;
  s/-> *out_channel_layouts/->outcfg.channel_layouts/g;
  s/-> *in_samplerates/->incfg.samplerates/g;
  s/-> *out_samplerates/->outcfg.samplerates/g;
  ' src/libavfilter/*(.)
2020-09-08 14:02:40 +02:00
Andreas Rheinhardt
9b34600bd2 avfilter/f_ebur128: Don't allocate outpad names
These names are mostly the same, so not using duplicates saves
allocations, checks for the allocations as well as frees.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-26 23:52:56 +02:00
Paul B Mahol
cc752233fb avfilter/f_ebur128: check if frame clone is set 2020-01-14 16:52:08 +01:00
Paul B Mahol
31990046ac avfilter/f_ebur128: use correct type for chl 2019-04-29 16:46:42 +02:00
Mark Thompson
f370142ec0 lavfi/ebur128: Fix mixed declarations and code 2018-10-25 00:24:24 +01:00
Daniel Molkentin
4069d2d087 libavfilter/ebur128: add scale parameter
This allows switching between absolute (LUFS) and relativ (LU) display
in the status line.

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:28:00 +02:00
Daniel Molkentin
d445bcb137 libavfilter/ebur128: introduce target range
This eases meeting the target level during live mixing.

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:41 +02:00
Daniel Molkentin
d587390988 libavfilter/ebur128: add gauge option
Allow to show short-term instead of momentary in gauge. Useful for monitoring
whilst live mixing.

Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:38 +02:00
Daniel Molkentin
1cee8f03cf libavfilter/ebur128: add target value to statistics line
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:36 +02:00
Daniel Molkentin
d95c5b003c libavfilter/ebur128: add target level option for EBUR128 visualization filter
Signed-off-by: Daniel Molkentin <daniel@molkentin.de>
Signed-off-by: Conrad Zelck <c.zelck@imail.de>
2018-10-10 19:26:33 +02:00
Paul B Mahol
11fc18994e avfilter/f_ebur128: check return value of ff_insert_outpad() 2018-09-15 21:59:01 +02:00
Paul B Mahol
f85cad799b avfilter: properly set SAR for A->V filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-13 15:10:58 +02:00
Paul B Mahol
ed93ed5ee3 avfilter: don't anonymously typedef structs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-13 11:39:28 +02:00
Clément Bœsch
5d7be07a8b lavfi/f_ebur128: relicense to LGPL
All copyright holders have agreed to the relicensing.

Approved-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Approved-by: David Sedacca <sedacca@comcast.net>
Approved-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Approved-by: Jean First <jeanfirst@gmail.com>
Approved-by: Kyle Swanson <k@ylo.ph>
Approved-by: Michael Niedermayer <michael@niedermayer.cc>
Approved-by: Nicolas George <george@nsup.org>
Approved-by: Paul B Mahol <onemda@gmail.com>
Approved-by: Thilo Borgmann <thilo.borgmann@mail.de>
2016-11-27 20:46:20 +01:00
Andreas Cadhalpun
c8a6eb58d7 doc: fix spelling errors
Thanks to Mathieu Malaterre <malat@debian.org> for reporting the
Que/Queue typo. (https://bugs.debian.org/839542)

Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-10-21 23:58:47 +02:00
Ganesh Ajjanagadde
db1a642cd2 all: move ff_exp10, ff_exp10f, ff_fast_powf to lavu/ffmath.h
The idea is to use ffmath.h for internal implementations of math functions.
Currently, it is used for variants of libm functions, but is by no means
limited to such things.

Note that this is not exported; use lavu/mathematics for such purposes.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
2016-03-22 10:15:31 -07:00
Ganesh Ajjanagadde
e0024b9e5f lavfi/f_ebur128: replace pow(10,x) by ff_exp10(x)
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-12-25 10:48:18 -08:00
Clément Bœsch
5083900b73 lavfi/ebur128: apply I dual mono correction only if I available
Spotted-by: jamrial & gcc 6
2015-12-13 18:21:02 +01: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
Ganesh Ajjanagadde
6aaac24d72 avfilter/all: propagate errors of functions from avfilter/formats
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.

All of these were found by using av_warn_unused_result, demonstrating its utility.

Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.

Fixes: CID 1325680, 1325679, 1325678.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04:00
Clément Bœsch
513fcd4167 avfilter/ebur128: use AV_OPT_TYPE_BOOL for video option 2015-10-04 13:10:29 +02:00
Kyle Swanson
4f721bfd46 avfilter/ebur128: add dualmono measurement option 2015-10-04 13:10:26 +02:00
Nicolas George
44f660e7e7 lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.
It has no longer any effect.
2015-09-20 19:02:33 +02:00
Clément Bœsch
728eff9e38 avfilter/ebur128: use AV_OPT_TYPE_BOOL for metadata option 2015-09-08 23:38:25 +02:00
Clément Bœsch
b2c0b80f62 avfilter/ebur128: rework channel weighting definition code
Should fix CID1194399 (Bad bit shift operation)
2014-09-06 13:47:59 +02:00
Michael Niedermayer
a97137e948 avfilter/f_ebur128: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 03:50:53 +02:00
Jean First
2384cada12 lavfi/ebur128: add true peak metering per frame
Signed-off-by: Jean First <jeanfirst@gmail.com>
2014-02-02 20:45:09 +01:00
Jean First
6ef2315aaf lavfi/ebur128: print peak metering in dBFS
Signed-off-by: Jean First <jeanfirst@gmail.com>
2014-02-02 20:45:09 +01:00
Clément Bœsch
7f42bfad5d lavfi/ebur128: add sample and true peak metering.
Metadata injection and logging. Not yet present visually.

Signed-off-by: Jean First <jeanfirst@gmail.com>
2014-02-02 20:44:56 +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
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
b077d8d908 avfilter: remove redundant .get_(audio/video)_buffer initializations
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 18:20:16 +00:00
Paul B Mahol
11afe28b9a lavfi/ebur128: fix typo: s/negociation/negotiation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-13 12:43:56 +00:00
Thilo Borgmann
f18ccb529f Fix wrong use of "an" in some comments. 2013-08-12 03:27:26 +02:00
Clément Bœsch
73180f5b0e lavfi: flag more dynamic i/o filters. 2013-04-13 19:43:17 +02:00
Michael Niedermayer
fd6228e657 lavfi: remove now unused args parameter from AVFilter.init and init_opaque
This is mostly automated global search and replace

The deprecated aconvert filter is disabled, if it still has users
it should be updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Clément Bœsch
c36ab01cd2 lavfi/ebur128: remove now unused av_opt_free call. 2013-04-11 20:52:41 +02:00
Clément Bœsch
5afd58fbb4 lavfi/ebur128: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Nicolas George
9566ba91ab lavfi/f_ebur128: remove request_frame hack. 2013-04-03 17:44:10 +02:00
Clément Bœsch
76d1c07c89 lavfi/ebur128: add metadata injection. 2013-03-18 03:21:08 +01:00
Clément Bœsch
1edbeb3532 lavfi/ebur128: check histogram allocations. 2013-03-15 02:58:29 +01:00
Clément Bœsch
db670e5366 lavfi/ebur128: add framelog option. 2013-03-15 02:35:26 +01:00
Clément Bœsch
9ace0dbe41 lavfi/ebur128: use same ref for inputs and outputs.
Fixes Ticket2342.
2013-03-14 18:43:53 +01:00
Clément Bœsch
fe898a037d Revert "lavfi/ebur128: fix format negociation for output."
This reverts commit 9efcfbed9d.

All the shame on me; this commit is actually causing more problems
(broken outputs but also crashes) than it was solving.
2013-03-14 06:25:20 +01:00
Clément Bœsch
9efcfbed9d lavfi/ebur128: fix format negociation for output.
Before this change, the audio input and output formats are set
independently, so the lavfi negociation could pick different settings
for the input and output. This is particularly true for the channel
layout settings, where multiple choices were available.

Fixes Ticket2342.
2013-03-14 01:24:42 +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
sedacca@comcast.net
b64de24fd7 lavfi/ebur128: advance pointer to samples
Correct the advancement of a pointer to skip over LFE samples as
intended in the loudness computation.

This suggested patch is 3 of 3 for Ticket #2144 "libavfilter ebur128
loudness inaccuracy, irregular time interval, LFE interference".
This suggested patch supersedes the contribution of January 15, 2013
in the thread “[PATCH] lavfi: EBU R.128 irreg time, ch weights, skip
LFE” which combined multiple fixes in one batch.
2013-02-15 16:39:25 +01:00
David A. Sedacca
de21e6736e lavfi/ebur128: fix channel weights
Correct the recognition of channel layouts for good channel weight
in the loudness computation.
This suggested patch is 2 of 3 for Ticket #2144 "libavfilter ebur128
loudness inaccuracy, irregular time interval, LFE interference".

Signed-off-by: David A. Sedacca <sedacca at comcast.net>
2013-02-15 16:38:58 +01:00
sedacca@comcast.net
24c47f00fe lavfi: EBU R.128 irregular time
Correct the time interval between logged data rows to the expected
value of 100 milliseconds by naming a new loop counter variable
to be distinct from loop counters for inner loops that
inadvertently change the outer loop operation.

This suggested patch is 1 of 3 for Ticket #2144 "libavfilter ebur128
loudness inaccuracy, irregular time interval, LFE interference".
This suggested patch supersedes the contribution of January 15, 2013
in the thread “[PATCH] lavfi: EBU R.128 irreg time, ch weights, skip
LFE” which combined multiple fixes in one patch.

Reviewed-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-19 03:13:24 +01:00
Clément Bœsch
9236e9f1e1 lavfi/ebur128: use ff_filter_frame() everywhere. 2012-11-29 03:48:14 +01:00