summaryrefslogtreecommitdiff
path: root/libavfilter/avf_showcqt.c
Commit message (Collapse)AuthorAge
* avfilter/showcqt: BASEFREQ and ENDFREQ cast to doubleMuhammad Faiz2015-12-07
| | | | | | | | | | | fix default basefreq/endfreq comparison on platform that does not do comparison in double type found on zeranoe 32-bit build, where default freq range is detected as non-default Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/avf_showcqt: Fix uninitialized return codeMichael Niedermayer2015-11-11
| | | | | | Fixes CID1322329 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/showcqt: remove yuv offsetMuhammad Faiz2015-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | this makes draw_bar faster slightly different result with old version check result (with ~3 minutes audio file): old: real 0m49.611s user 0m49.260s sys 0m0.073s new: real 0m47.606s user 0m47.378s sys 0m0.068s PSNR between old and new: yuv444p PSNR y:109.519298 u:107.506485 v:104.746878 average:106.816074 min:99.167305 max:inf yuv422p PSNR y:109.519298 u:108.025801 v:104.489734 average:107.279817 min:98.007467 max:inf yuv420p PSNR y:109.519298 u:108.363875 v:105.290200 average:108.261511 min:97.461812 max:inf Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/avf_showcqt: Replace all fmin* and fmax* by FFMIN/FFMAXMichael Niedermayer2015-10-31
| | | | | | | | Should fix build on x86_32-msvc2012 The alternative of emulating fmin/fmax* turns out to be non trivial Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/avf_showcqt: rewrite showcqt and add featuresMuhammad Faiz2015-10-28
| | | | | | | | | | | | | | | | | | | | | add yuv444p, yuv422p, and yuv420p output format (lower cpu usage on ffplay playback because it does not do format conversion) custom size with size/s option (fullhd option is deprecated) custom layout with bar_h, axis_h, and sono_h option support rational frame rate (within fps/r/rate option) relaxed frame rate restriction (support fractional sample step) support all input sample rates separate sonogram and bargraph volume (with volume/sono_v and volume2/bar_v) timeclamp option alias (timeclamp/tc) fcount option gamma option alias (gamma/sono_g and gamma2/bar_g) support custom frequency range (basefreq and endfreq) support drawing axis using external image file (axisfile option) alias for disabling drawing to axis (text/axis) possibility to optimize it using arch specific asm code Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter,swresample,swscale: use fabs, fabsf instead of FFABSGanesh Ajjanagadde2015-10-22
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* avfilter/all: propagate errors of functions from avfilter/formatsGanesh Ajjanagadde2015-10-14
| | | | | | | | | | | | | | | | | | 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>
* lavfi/avf_showcqt: remove looping on request_frame().Nicolas George2015-10-07
|
* avfilter/avf_showcqt: use frequency domain windowingMuhammad Faiz2015-09-18
| | | | | | | | faster initialization and less code slightly different result computationally from previous coeffclamp option is ignored Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/avf_showcqt: draw text optionallyPaul B Mahol2015-09-15
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/avf_showcqt: change fft left-right separationMuhammad Faiz2015-09-14
| | | | | | This simplifies the code Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/showcqt: use AV_OPT_TYPE_BOOL for fullhd optionClément Bœsch2015-09-08
|
* avfilter/avf_showcqt: Fix gamma comparisonsMichael Niedermayer2015-05-12
| | | | | | Fixes CID1297587, CID1297586, 1297585 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/avf_showcqt: optimize gamma calculationMuhammad Faiz2015-05-03
| | | | | | | | | | | | | | | | | | benchmark (on intel core2 duo, gcc 4.9.1) input samples duration 00:03:39.59 command: time -p ffmpeg -f f32le -ac 2 -ar 44100 -i input.pcm \ -filter_complex showcqt=fullhd=0:gamma=$gamma \ -f rawvideo -y /dev/null gamma previous modified 1 48.49 s 45.38 s 2 49.33 s 48.11 s 3 80.86 s 59.80 s 4 80.84 s 51.25 s 5 80.75 s 61.06 s 6 80.93 s 61.80 s 7 80.03 s 61.56 s Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavfi/avf_showcqt: fix error code.Nicolas George2015-04-16
| | | | | Signed-off-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/avf_showcqt: use av_malloc_array()Michael Niedermayer2015-01-22
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/showcqt: add gamma2 optionMuhammad Faiz2015-01-18
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/showcqt: add fontcolor optionMuhammad Faiz2014-08-23
|
* avfilter/showcqt: add and extend tlength and volume optionsMuhammad Faiz2014-08-08
| | | | | | | | | Add a tlength option with frequency and timeclamp variable Add to the volume option support for frequency and timeclamp variable, a_weighting, b_weighting and c_weighting functions Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/showcqt: adding freetype supportMuhammad Faiz2014-06-30
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* vfilter/avf_showcqt: fix 'mixed declarations and code'Michael Niedermayer2014-06-13
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter/avf_showcqt: add option for lower resolutionMuhammad Faiz2014-06-12
| | | | Resolution can be 1920x1080 or 960x540.
* avfilter/showcqt: move qsort_sparsecoeff closer to where it belongsClément Bœsch2014-06-11
|
* avfilter/showcqt: fix misc style issuesClément Bœsch2014-06-11
|
* avfilter/avf_showcqt: avoid using fminf()Michael Niedermayer2014-06-06
| | | | | | | The loop with fminf() changes from 18093856 to 17403218 dezicycles (gcc 4.6.3, sandybridge i7) Reviewed-by: Clément Bœsch <u@pkh.me> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avfilter: new multimedia filter avf_showcqt.cMuhammad Faiz2014-06-05
this filter is the same as showspectrum but with constant Q transform, so frequency is spaced logarithmically