summaryrefslogtreecommitdiff
path: root/libavfilter
Commit message (Collapse)AuthorAge
* avfilter/vf_waveform: add option to control strechness of waveformPaul B Mahol2021-08-16
|
* avfilter/vf_colorcorrect: calculate imax/max once at config stagePaul B Mahol2021-08-16
|
* avfilter/vf_colorcorrect: add initial automatic filteringPaul B Mahol2021-08-16
|
* avfilter/vf_fieldorder: Simplify setting common pixel formatsAndreas Rheinhardt2021-08-15
| | | | | | | by using ff_set_common_formats(). Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_find_rect: Don't make frame writable unnecessarilyAndreas Rheinhardt2021-08-15
| | | | | | | | AVFrame.metadata is always owned by its AVFrame, it is not shared in the first place, so one does not need to make the frame writable to modify it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_colorkey: Don't manually make frame writableAndreas Rheinhardt2021-08-15
| | | | | | Instead, set AVFilterPad.needs_writable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_despill: Don't manually make frame writableAndreas Rheinhardt2021-08-15
| | | | | | Instead, set AVFilterPad.needs_writable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_lumakey: Don't manually make frame writableAndreas Rheinhardt2021-08-15
| | | | | | Instead, set AVFilterPad.needs_writable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_paletteuse: Remove redundant freeing codeAndreas Rheinhardt2021-08-15
| | | | | | AVFilter.uninit is called automatically if init fails. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/internal: Factor out executing a filter's execute_funcAndreas Rheinhardt2021-08-15
| | | | | | | The current way of doing it involves writing the ctx parameter twice. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_colorcorrect: add subsampling formats supportPaul B Mahol2021-08-15
|
* avfilter/vf_colorcorrect: remove code touching Y componentPaul B Mahol2021-08-15
| | | | It is not needed operation.
* avfilter/avf_showspectrum: add unwrapped phase data modePaul B Mahol2021-08-15
|
* lavfi/formats: describe conversion in negotiation structure.Nicolas George2021-08-14
|
* lavfi/formats: put merge functions in structures.Nicolas George2021-08-14
| | | | | It makes the code clearer and will allow adding new stages of negotiation easier.
* avfilter/vf_transpose_npp: Use correct array nameAndreas Rheinhardt2021-08-13
| | | | | | | Fixes build failures since 18ec426a861c1a9a2072080796dff146bafecb53. Found-by: Gregory Beauregard Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/formats: Factor common function combinations outAndreas Rheinhardt2021-08-13
| | | | | | | | | | | Several combinations of functions happen quite often in query_format functions; e.g. ff_set_common_formats(ctx, ff_make_format_list(sample_fmts)) is very common. This commit therefore adds functions that are equivalent to commonly used function combinations in order to reduce code duplication. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_scale: Avoid unnecessary indirectionAndreas Rheinhardt2021-08-12
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/avfilter: Use av_memdup where appropriateAndreas Rheinhardt2021-08-11
| | | | | Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/af_join: fix eof timestamps and blocking in many scenariosPaul B Mahol2021-08-10
|
* 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
|