Paul B Mahol
c1c7f2b61f
avfilter/avf_showwaves: remove invalid multiplication by 2
...
Fixes output of average filter.
2021-08-26 09:16:35 +02:00
Andreas Rheinhardt
8be701d9f7
avfilter/avfilter: Add numbers of (in|out)pads directly to AVFilter
...
Up until now, an AVFilter's lists of input and output AVFilterPads
were terminated by a sentinel and the only way to get the length
of these lists was by using avfilter_pad_count(). This has two
drawbacks: first, sizeof(AVFilterPad) is not negligible
(i.e. 64B on 64bit systems); second, getting the size involves
a function call instead of just reading the data.
This commit therefore changes this. The sentinels are removed and new
private fields nb_inputs and nb_outputs are added to AVFilter that
contain the number of elements of the respective AVFilterPad array.
Given that AVFilter.(in|out)puts are the only arrays of zero-terminated
AVFilterPads an API user has access to (AVFilterContext.(in|out)put_pads
are not zero-terminated and they already have a size field) the argument
to avfilter_pad_count() is always one of these lists, so it just has to
find the filter the list belongs to and read said number. This is slower
than before, but a replacement function that just reads the internal numbers
that users are expected to switch to will be added soon; and furthermore,
avfilter_pad_count() is probably never called in hot loops anyway.
This saves about 49KiB from the binary; notice that these sentinels are
not in .bss despite being zeroed: they are in .data.rel.ro due to the
non-sentinels.
Reviewed-by: Nicolas George <george@nsup.org >
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
2021-08-20 12:53:58 +02:00
Andreas Rheinhardt
a04ad248a0
avfilter: Constify all AVFilters
...
This is possible now that the next-API is gone.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2021-04-27 11:48:05 -03:00
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
Paul B Mahol
3a37aa597f
avfilter/avf_showwavespic: add filter mode
2020-07-17 14:26:48 +02:00
Paul B Mahol
d3f236b300
avilter/avf_showwaves: switch to activate in showwaves filter
2019-06-04 09:28:07 +02:00
Paul B Mahol
62c8707e2a
avfilter/avf_showwaves: make use of av_rescale_q
2019-05-28 11:07:47 +02:00
Martin Vobruba
093a504414
avfilter/avf_showwaves: Add draw mode also to showwavespic filter
...
See commit a8c2d375ca
2019-04-29 20:31:05 +02:00
Paul B Mahol
dafcdeb258
lavfi/avf_showwaves: fix extra gaps at end of waveform
...
Fixes #5931 .
2019-04-21 21:12:03 +02:00
Paul B Mahol
a8c2d375ca
avfilter/avf_showwaves: add draw mode which controls how single sample is drawn
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2018-03-23 19:02:51 +01: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
Moritz Barsnick
114bbb0b74
libavfilter/avf_showwaves: make sqrt and cbrt scale option values available to showwavespic by name
...
The 'sqrt' and 'cbrt' scalers were added in commit
80262d8c86 , but their symbolic option values
only made available to the showwaves filter, not showwavespic, despite
the scalers working properly by their numerical option values.
Signed-off-by: Moritz Barsnick <barsnick@gmx.net >
2017-03-11 11:55:57 +01:00
Paul B Mahol
80262d8c86
avfilter/avf_showwaves: add sqrt and cbrt amplitude scalers
2016-08-10 11:34:04 +02:00
Michael Niedermayer
f2c8b666be
avfilter: Fix max value of AV_OPT_TYPE_VIDEO_RATE
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-09 10:35:13 +02:00
Paul B Mahol
b18467a943
avfilter/avf_showwaves: add logarithmic amplitude scaler
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-01-22 11:11:06 +01:00
Paul B Mahol
6ed3a10f64
avfilter/avf_showwaves: color support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-01-21 20:48:28 +01:00
Clément Bœsch
0e62b5d1ef
avfilter: use AV_OPT_TYPE_BOOL in a bunch of places
2015-12-04 15:37:06 +01: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
Nicolas George
8a2e2fc34a
lavfi/avf_showwaves: remove looping on request_frame().
2015-10-07 19:00:22 +02:00
Clément Bœsch
b599d21642
avfilter/showwaves: use AV_OPT_TYPE_BOOL for split_channels option
2015-09-08 23:32:10 +02:00
Michael Niedermayer
a212a983c7
avfilter/avf_showwaves: Check max_samples
...
Fixes potential division by zero
Fixes: CID1292295
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-09-03 19:27:20 +02:00
Clément Bœsch
304fdfe9f3
lavfi: add showwavespic filter
...
This is a variant of showwaves. It is implemented as a different filter
so that the user is not allowed to use meaningless options which belong
to showwaves (such as rate).
Major edits done by Stefano Sabatini, from a patch by ubitux.
See thread:
From: Clément Bœsch <u@pkh.me >
To: ffmpeg-devel@ffmpeg.org
Date: Wed, 24 Dec 2014 15:03:26 +0100
Subject: [FFmpeg-devel] [PATCH] avfilter/showwaves: add single_pic option
2015-03-18 12:19:08 +01:00
Michael Niedermayer
2a34b5099b
avfilter/avf_showwaves: Change enums to int, which are accessed via AVOption as int
...
This fixes depending on implementation defined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-07 02:44:04 +01:00
Clément Bœsch
ecafde6606
avfilter/showwaves: fix height range for cline mode
2014-12-24 15:13:31 +01:00
Clément Bœsch
f6950a077c
avfilter/showwaves: use INT16_MAX instead of a self defined macro
2014-12-24 15:13:31 +01:00
Marton Balint
86476c510e
avfilter/avf_showwaves: fix off by one error in loop condition
...
It caused segfaults.
Signed-off-by: Marton Balint <cus@passwd.hu >
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-11-09 16:44:10 +01:00
Clément Bœsch
e298b2f5d6
avfilter/showwaves: align const mode values (cosmetics)
2014-08-20 22:32:06 +02:00
Clément Bœsch
e35fb5add4
avfilter/showwaves: add split_channels option
2014-08-20 22:18:38 +02:00
Clément Bœsch
ba29746feb
avfilter/showwaves: split out draw sample code
2014-08-20 22:18:35 +02:00
Clément Bœsch
f2f6d45dbd
avfilter/showwaves: add "cline" mode (centered line)
2014-08-20 22:16:50 +02:00
mrskman
6f3e15af84
avfilter/avf_showwaves: New p2p mode for showwaves filter
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-05 14:12:35 +02: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
6347824d53
lavfi/showwaves: fix floating exception with >8 channels
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-07-13 21:46:27 +00:00
Paul B Mahol
c645659988
lavfi/showwaves: fix crash in case of negative linesize
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-04-29 19:28:12 +00:00
Clément Bœsch
3c2e4c2a9b
lavfi/showwaves: switch to an AVOptions-based system.
2013-04-11 14:18:44 +02:00
Paul B Mahol
ac44e52f50
lavfi/showwaves: make use of AV_OPT_TYPE_VIDEO_RATE
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2013-03-20 12:29:54 +00: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
Stefano Sabatini
e80be5a0aa
lavfi/showwaves: fail in case of push_frame() error
2013-01-25 19:35:21 +01:00
Stefano Sabatini
b7d34b328b
lavfi/showwaves: add display mode option and mode=line
2013-01-25 17:42:04 +01:00
Stefano Sabatini
5b10c5e7e4
lavfi/showwaves: fix check on showwaves->outpicref
...
outpicref is not always in synch with showwaves->outpicref, which is
changed as a side effect of the call to functions.
Fix regression introduced in 5f634480d1 ,
+10l to me.
2013-01-22 20:34:29 +01:00
Michael Niedermayer
e4eebc2da9
avf_showwaves: fix null pointer dereference
...
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-01-21 23:00:20 +01:00
Clément Bœsch
9262f13269
lavfi/show{spectrum,waves}: use ff_filter_frame().
2012-11-29 11:44:20 +01:00
Clément Bœsch
2d9d444051
lavfi: convert remaining input/output list compound literals to named objects.
...
This is following 568c70e79e .
2012-11-28 23:19:20 +01:00
Michael Niedermayer
cd7febd33f
lavfi: replace filter_samples by filter_frame
...
Based on patch by Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2012-11-28 16:43:34 +01:00
Paul B Mahol
1acd2f6ba7
Replace rest of libavutil/audioconvert.h with libavutil/channel_layout.h
...
Also remove it in once case when it is not needed.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2012-11-13 13:21:21 +00:00
Stefano Sabatini
b5436f4b5d
lavfi/showwaves: return error in case of allocation failure in filter_samples()
2012-11-06 22:48:54 +01:00
Stefano Sabatini
5f634480d1
lavfi/showwaves: simplify check in filter_samples()
...
Also fix Coverity issue CID 733743: Dereference after null check
2012-11-06 22:48:17 +01:00
Paul B Mahol
e870a7dd4a
lavfi: stop using -1 instead use AV_PIX_FMT_NONE/AV_SAMPLE_FMT_NONE
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2012-11-05 13:34:08 +00:00
Michael Niedermayer
ac627b3d38
Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
...
* commit '716d413c13981da15323c7a3821860536eefdbbb':
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
Conflicts:
doc/examples/muxing.c
ffmpeg.h
ffmpeg_filter.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
libavcodec/8bps.c
libavcodec/aasc.c
libavcodec/aura.c
libavcodec/avcodec.h
libavcodec/avs.c
libavcodec/bfi.c
libavcodec/bmp.c
libavcodec/bmpenc.c
libavcodec/c93.c
libavcodec/cscd.c
libavcodec/cyuv.c
libavcodec/dpx.c
libavcodec/dpxenc.c
libavcodec/eatgv.c
libavcodec/escape124.c
libavcodec/ffv1.c
libavcodec/flashsv.c
libavcodec/fraps.c
libavcodec/h264.c
libavcodec/huffyuv.c
libavcodec/iff.c
libavcodec/imgconvert.c
libavcodec/indeo3.c
libavcodec/kmvc.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/ljpegenc.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
libavcodec/motionpixels.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo_enc.c
libavcodec/pamenc.c
libavcodec/pcxenc.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/pnm.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/ptx.c
libavcodec/qdrw.c
libavcodec/qpeg.c
libavcodec/qtrleenc.c
libavcodec/raw.c
libavcodec/rawdec.c
libavcodec/rl2.c
libavcodec/sgidec.c
libavcodec/sgienc.c
libavcodec/snowdec.c
libavcodec/snowenc.c
libavcodec/sunrast.c
libavcodec/targa.c
libavcodec/targaenc.c
libavcodec/tiff.c
libavcodec/tiffenc.c
libavcodec/tmv.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/vb.c
libavcodec/vp3.c
libavcodec/wnv1.c
libavcodec/xl.c
libavcodec/xwddec.c
libavcodec/xwdenc.c
libavcodec/yop.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/formats.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_format.c
libavfilter/vf_hflip.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavformat/movenc.c
libavformat/mxf.h
libavformat/utils.c
libavformat/yuv4mpeg.c
libavutil/imgutils.c
libavutil/pixdesc.c
libswscale/input.c
libswscale/output.c
libswscale/swscale_internal.h
libswscale/swscale_unscaled.c
libswscale/utils.c
libswscale/x86/swscale_template.c
libswscale/x86/yuv2rgb.c
libswscale/x86/yuv2rgb_template.c
libswscale/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2012-10-08 21:06:57 +02:00