summaryrefslogtreecommitdiff
path: root/libavfilter
Commit message (Collapse)AuthorAge
* lavfi/dnn: DNNAsyncExecModule Execution Failure HandlingShubhanshu Saxena2021-08-10
| | | | | | | | | This commit adds the case handling if the asynchronous execution of a request fails by checking the exit status of the thread when joining before starting another execution. On failure, it does the cleanup as well. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn_backend_tf: Error Handling for tf_create_inference_requestShubhanshu Saxena2021-08-10
| | | | | | | This commit includes the check for the case when the newly created TFInferRequest is NULL. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn: Extract Common Parts from get_output functionsShubhanshu Saxena2021-08-10
| | | | | | | | The frame allocation and filling the TaskItem with execution parameters is common in the three backends. This commit shifts this logic to dnn_backend_common. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn_backend_tf: Add TF_Status to TFRequestItemShubhanshu Saxena2021-08-10
| | | | | | | | | Since requests are running in parallel, there is inconsistency in the status of the execution. To resolve it, we avoid using mutex as it would result in single TF_Session running at a time. So add TF_Status to the TFRequestItem Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn_backend_tf: Error Handling for execute_model_tfShubhanshu Saxena2021-08-10
| | | | | | | | This patch adds error handling for cases where the execute_model_tf fails, clears the used memory in the TFRequestItem and finally pushes it back to the request queue. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn: Async Support for TensorFlow BackendShubhanshu Saxena2021-08-10
| | | | | | | | | | | | | | | | | | | This commit enables async execution in the TensorFlow backend and adds function to flush extra frames. The async execution mechanism executes the TFInferRequests on a separate thread which is joined before the next execution of same TFRequestItem/while freeing the model. The following is the comparison of this mechanism with the existing sync mechanism on TensorFlow C API 2.5 CPU variant. Async Mode: 4m32.846s Sync Mode: 5m17.582s The above was performed on super resolution filter using SRCNN model. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn_backend_tf: TFInferRequest Execution and DocumentationShubhanshu Saxena2021-08-10
| | | | | | | This commit adds a function for execution of TFInferRequest and documentation for functions related to TFInferRequest. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn: Common Function to Get Async Result in DNN BackendsShubhanshu Saxena2021-08-10
| | | | | | | This commits refactors the get async result function for common use in all three backends. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/dnn: Add Async Execution Mechanism and DocumentationShubhanshu Saxena2021-08-10
| | | | | | | | | This commit adds an async execution mechanism for common use in the TensorFlow and Native backends. This commit also adds the documentation of typedefs and functions in the async module for common use in DNN backends. Signed-off-by: Shubhanshu Saxena <shubhanshu.e01@gmail.com>
* lavfi/qsvvpp: do not mix up FFmpeg and SDK error codeHaihao Xiang2021-08-09
| | | | | | | | The function ff_qsvvpp_filter_frame should return a FFmpeg error code if there is an error. However it might return a SDK error code without this patch. Reviewed-by: Soft Works <softworkz@hotmail.com>
* avfilter/asrc_flite: Don't define an object by accidentAndreas Rheinhardt2021-08-08
| | | | | | | | The flite filter apparently only wanted to declare a struct, but mistakenly also defined an unused and zero-initialized element with external linkage. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_vif: Make ff_compute_vif2 staticAndreas Rheinhardt2021-08-08
| | | | | | Only used here; the vif.h header can then be removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_vif: Fix mismatch in number of array elementsAndreas Rheinhardt2021-08-08
| | | | | | | | | | | The function definition used float *data_buf[14], although there are only 13 elements (and only 13 are used); the declaration used 13. Given that the type will be converted to float **data_buf anyway, this is not in violation of the C specs, but nevertheless a bug. GCC 11 has a new warning for this -Warray-parameter. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avf_showspectrum: fix another case of frames queuing upPaul B Mahol2021-08-08
|
* avfilter/avf_showspectrum: improve dBFS scale legendPaul B Mahol2021-08-07
| | | | | Make it more intuitive looking and correct for non-log scaling. Add option to set upper limit of input audio value in dBFS.
* avfilter/vsrc_testsrc: add a return at the end of non-void functionsJames Almer2021-08-06
| | | | | | Fixes compilation with GCC 11 when configured with --disable-optimizations Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_showinfo: add support for H.274 Film Grain Characteristics frame ↵James Almer2021-08-06
| | | | | | side data Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/internal: Don't include libavcodec/(avcodec|internal).hAndreas Rheinhardt2021-08-05
| | | | | | | | | The reasons for including them don't exist any longer: ff_tlog() has been moved to libavutil/internal.h and FF_QSCALE_TYPE_* has been moved to qp_table.h. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avf_showspectrum: add option to control dynamic range for colorsPaul B Mahol2021-08-05
|
* avfilter/internal: Move ff_norm_qscale() to qp_table.hAndreas Rheinhardt2021-08-05
| | | | | | | It is the natural header for it. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Remove unused partial_bufAndreas Rheinhardt2021-08-05
| | | | | | | | It is unused since 02aa0701ae0dc2def8db640c9e3c06dc1b5de70c. The corresponding size field is write-only since then. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi/vf_scale: use default swscale flags for scalerLinjie Fu2021-08-05
| | | | | | | | | | | | | | | | | | Currently the default swscale flags for simple filter graph is bicubic, however for complex filter graph it uses bilinear as decleared in scale filter. $ffmpeg -v verbose -i input.mp4 -vf format=yuv420p,scale=800x600 -an -f null - [Parsed_scale_1 @ 0x7f86d2c160c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x4 $ffmpeg -v verbose -i input.mp4 -filter_complex format=yuv420p,scale=800x600 -an -f null - [Parsed_scale_1 @ 0x7f8779e046c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x2 Use default swscale flags (bicubic currently) for scale filter. - Remove flags="bilinear" from vf_scale - Update the FATE refs Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
* avfilter/f_graphmonitor: use sample_count_in/outPaul B Mahol2021-08-05
|
* avfilter/avfilter: add sample_count_in and sample_count_outPaul B Mahol2021-08-05
|
* avfilter/avf_showspectrum: add lreplace sliding modePaul B Mahol2021-08-04
|
* avfilter/avf_showspectrum: proper rational multiplicationPaul B Mahol2021-08-04
|
* avfilter/avf_showspectrum: fix last frame/eof timestampPaul B Mahol2021-08-04
|
* libavfilter: Fix implicit declarations of av_cpu_max_alignMartin Storsjö2021-08-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter/vf_vpp_qsv: Don't overrun stack arrayAndreas Rheinhardt2021-08-04
| | | | | | | | | | | | | 8b83dad82512a6948b63408f964463b063ad24c9 added another potentially used video enhancement filter without increasing a define for the number of such options which is used as the size of stack array. This can lead to a buffer overrun if all filters are used simultaneously. So increase said number. Fixes Coverity ticket #1489775. Reviewed-by: Linjie Fu <linjie.justin.fu@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/af_afftfilt: make sure that tx buffers size are always alignedPaul B Mahol2021-08-04
|
* avfilter/avf_showspectrum: use proper function return value instead of ↵Paul B Mahol2021-08-04
| | | | hardcoded number
* avfilter/vaf_spectrumsynth: switch to TX FFT from avutilPaul B Mahol2021-08-04
|
* avfilter/af_afftfilt: switch to TX FFT from avutilPaul B Mahol2021-08-04
|
* avfilter/internal: Don't include framepool.h, thread.hAndreas Rheinhardt2021-08-04
| | | | | | | | They are not used by the header at all and only used by very few files; so include the headers in their users instead of in internal.h. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: use av_frame_copy() to copy frame dataJames Almer2021-08-03
| | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_vpp_qsv: add scale mode optionFei Wang2021-08-03
| | | | | | | | | | | The option allow user to set diffenent scaling mode from auto/low-power/high-quality. More details: https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxExtVPPScaling Signed-off-by: Fei Wang <fei.w.wang@intel.com> Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
* avfilter/avf_showfreqs: switch to TX FFT from avutilPaul B Mahol2021-07-30
|
* avfilter/avf_showcqt: switch to TX FFT from avutilPaul B Mahol2021-07-27
|
* avfilter/af_afftdn: switch to TX FFT from avutilPaul B Mahol2021-07-27
|
* avfilter/avf_concat: fix EOF timestampPaul B Mahol2021-07-27
|
* avfilter/vf_pseudocolor: add three more presetsPaul B Mahol2021-07-26
|
* avfilter/af_silenceremove: make window also depends on input sample formatPaul B Mahol2021-07-25
|
* avfilter/af_silenceremove: add support for more sample formatsPaul B Mahol2021-07-25
|
* avfilter/f_ebur128: fix video output regressionPaul B Mahol2021-07-25
|
* avfilter/f_ebur128: add all sample rates supportPaul B Mahol2021-07-25
| | | | | | | | | | | | | | | | | | | | | | | | The magic constants come from the unofficial "ITU-R BS.1770-1 filter specifications"¹ by Raiden (libebur128) which relies on "Parameter Quantization in Direct-Form Recursive Audio Filters"² by Brian Neunaber. The constants seem to include a quantization bias, for example: - Vb is supposed to be exactly √Vh in a high shelf filter - the Pre-filter Gain should likely be 4dB - Pre Q and RLB Q are respectively very close to √½ and ½ Those are not adjusted to prevent the values from drifting away from the official specifications. An alternative to this approach would be to requantize on the fly as proposed by pbelkner³, where the 48kHz code path would use the exact specifications constants while derivating constants for other frequencies. [1]: https://www.scribd.com/document/49991813/ITU-R-BS-1770-1-filters [2]: https://www.scribd.com/document/6531763/Direct-Form-Filter-Parameter-Quantization [3]: https://hydrogenaud.io/index.php?topic=86116.msg740092#msg740092
* avfilter/af_afwtdn: add forgotten break statementPaul B Mahol2021-07-25
|
* avfilter/vf_threshold: add support for commandsPaul B Mahol2021-07-25
|
* avfilter/af_anlmdn: add longer names of filter optionsPaul B Mahol2021-07-25
|
* lavfi/signature: fix always true expressionValerii Zapodovnikov2021-07-25
| | | | | | Otherwise since "==" has higher precedence, mode is never checked. Reviewed-by: Jai Luthra <me@jailuthra.in>
* avfilter/vf_pseudocolor: add solar presetPaul B Mahol2021-07-24
| | | | Useful to emphasize bandings in video.