summaryrefslogtreecommitdiff
path: root/libavfilter
Commit message (Collapse)AuthorAge
* lavfi/avf_showspatial: add framerate optionframe_durationAnton Khirnov2022-08-23
| | | | | | | | | | | Apparently this option was intended (the context contains a currently-unused frame_rate field), but was never added. This results in the output timebase being unset after config_output(), so the input audio timebase ends up being used for video output, which is clearly wrong. Add an option for setting output video framerate. Also set output frame durations.
* lavfi/avf_showfreqs: set frame durationsAnton Khirnov2022-08-23
| | | | The filter is supposed to produce CFR output.
* lavfi/avf_showcqt: set frame durationsAnton Khirnov2022-08-23
| | | | The filter is supposed to produce CFR output.
* lavfi/avf_avectorscope: set frame durationsAnton Khirnov2022-08-23
| | | | The filter is supposed to produce CFR output.
* lavfi/avf_aphasemeter: set frame durationsAnton Khirnov2022-08-23
| | | | The filter is supposed to produce CFR output.
* lavfi/avf_ahistogram: set frame durationsAnton Khirnov2022-08-23
| | | | The filter is supposed to produce CFR output.
* lavfi/setpts: unset frame durationsAnton Khirnov2022-08-23
| | | | This filter cannot know frame durations.
* lavfi/vf_fps: set frame durationAnton Khirnov2022-08-23
|
* avfilter/vsrc_ddagrab: add options for more control over output format fallbackTimo Rothenpieler2022-08-13
|
* avfilter/vsrc_ddagrab: add rgbaf16 output supportTimo Rothenpieler2022-08-13
|
* configure: always enable gnu_windres if availableTimo Rothenpieler2022-08-13
| | | | | Use the appropiate Makefile variable to ensure the resource file is only built into shared libraries instead.
* lavfi/qsv: create mfx session using oneVPL for qsv filtersHaihao Xiang2022-08-12
| | | | | | | Use the mfxLoader handle in qsv hwdevice to create mfx session for qsv filters. This is in preparation for oneVPL support
* qsv: restrict OPAQUE memory to MFX_VERSION < 2.0Haihao Xiang2022-08-12
| | | | | | | | OPAQUE memory isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL
* qsv: restrict audio related code to MFX_VERSION < 2.0Haihao Xiang2022-08-12
| | | | | | | | Audio isn't supported for MFX_VERSION >= 2.0[1][2]. This is in preparation for oneVPL support [1] https://spec.oneapi.io/versions/latest/elements/oneVPL/source/VPL_intel_media_sdk.html#msdk-full-name-feature-removals [2] https://github.com/oneapi-src/oneVPL
* qsv: remove mfx/ prefix from mfx headersHaihao Xiang2022-08-12
| | | | | | | | | | | | | | | | | | | | | | | | The following Cflags has been added to libmfx.pc, so mfx/ prefix is no longer needed when including mfx headers in FFmpeg. Cflags: -I${includedir} -I${includedir}/mfx Some old versions of libmfx have the following Cflags in libmfx.pc Cflags: -I${includedir} We may add -I${includedir}/mfx to CFLAGS when running 'configure --enable-libmfx' for old versions of libmfx, if so, mfx headers without mfx/ prefix can be included too. If libmfx comes without pkg-config support, we may do a small change to the settings of the environment(e.g. set -I/opt/intel/mediasdk/include/mfx instead of -I/opt/intel/mediasdk/include to CFLAGS), then the build can find the mfx headers without mfx/ prefix After applying this change, we won't need to change #include for mfx headers when mfx headers are installed under a new directory. This is in preparation for oneVPL support (mfx headers in oneVPL are installed under vpl directory)
* avfilter/framesync: add a new option to set how to sync streams based on ↵James Almer2022-08-10
| | | | | | | | | | | | | | | | secondary input timestamps Include two values for it, a default one that sets/keeps the current behavior, where the frame event generated by the primary input will have a timestamp equal or higher than frames in secondary input, plus a new one where the secondary input frame will be that with the absolute closest timestamp to that of the frame event one. Addresses ticket #9689, where the new optional behavior produces better frame syncronization. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: James Almer <jamrial@gmail.com>
* lavfi/overlay_vaapi: set defalut alpha value as 1.0Fei Wang2022-08-09
| | | | | | | | | The present default value of 0 will render the overlay video invisible. A default of 1.0 is consistent with most common use cases. Signed-off-by: Fei Wang <fei.w.wang@intel.com> Reviewed-by: Philip Langdale <philipl@overt.org> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/avfiltergraph: remove unnecessary channel layout copyJames Almer2022-08-06
| | | | | | | | It's not modified, so we can simply use a const pointer to it. Also check the return value of the other copy in the function while at it. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vsrc_ddagrab: set sRGB color information on output framesTimo Rothenpieler2022-08-06
| | | | | | According to MSDN, all integer pixel formats contains sRGB compliant pixel data, so set the color information on our output frames accordingly.
* avfilter/vsrc_ddagrab: make output format user configurableTimo Rothenpieler2022-08-06
|
* avfilter/vsrc_ddagrab: move most of init to config_propsTimo Rothenpieler2022-08-05
| | | | Most notably, the input hw_device_ctx is not set at init time, so using it was impossible.
* avfilter/vsrc_ddagrab: fix mouse cursor render initTimo Rothenpieler2022-08-05
|
* avfilter/vf_cropdetect: Remove set-but-unused variableAndreas Rheinhardt2022-07-30
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavfi/vf_cropdetect: Reindent after last commitThilo Borgmann2022-07-30
|
* lavfi/cropdetect: Add new mode to detect crop-area based on motion vectors ↵Thilo Borgmann2022-07-30
| | | | | | and edges This filter allows crop detection even if the video is embedded in non-black areas.
* lavfi/edge_common: Templatify ff_gaussian_blur and ff_sobelThilo Borgmann2022-07-30
|
* fflcms2: move to libavcodecNiklas Haas2022-07-30
| | | | | | | | | | | | | | | We will need this helper inside libavcodec in the future, so move it there, leaving behind an #include to the raw source file in its old location in libvfilter. This approach is inspired by the handling of vulkan.c, and avoids us needing to expose any of it publicly (or semi-publicly) in e.g. libavutil, thus avoiding any ABI headaches. It's debatable whether the actual code belongs in libavcodec or libavfilter, but I decided to put it into libavcodec because it conceptually deals with encoding and decoding ICC profiles, and will be used to decode embedded ICC profiles in image files. Signed-off-by: Niklas Haas <git@haasn.dev>
* qsv: Update ffmpeg qsv_errors to recognize GPU hang and other statusesDmitry Rogozhkin2022-07-29
| | | | | | | | | | | | | | | | | | GPU hang is one of the most typical errors on Intel GPUs in case something goes wrong. It's important to recognize it explicitly for easier bugs triage. Also, this error code can be used to trigger GPU recovery path in self-written applications. There were 2 other statuses which MediaSDK can ppotentially return, MFX_ERR_NONE_PARTIAL_OUTPUT and MFX_ERR_REALLOC_SURFACE. Adding them as well. v2: move MFX_ERR_NONE_PARTIAL_OUTPUT next to MFX_WRN_* (Haihao) Signed-off-by: Hon Wai Chow <hon.wai.chow@intel.com> Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/vf_zscale: Add smpte240m transfer option and fix matrix option typoMattias Wadman2022-07-28
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf/dnn: dump OpenVINO model input/output names to OVMdel struct.Ting Fu2022-07-24
| | | | | | | Dump all input/output names to OVModel struct. In case other funcs use them for reporting errors or locating issues. Signed-off-by: Ting Fu <ting.fu@intel.com>
* lavf/sr: fix the segmentation fault caused by incorrect input frame free.Ting Fu2022-07-22
| | | | | | | This issue would cause segmetaion fault when running srcnn model with sr filter by TensorFlow backend. This filter would free the frame incorectly. Signed-off-by: Ting Fu <ting.fu@intel.com>
* libavfilter/vf_overlay_qsv: Use format of first input to set output format ↵Wenbin Chen2022-07-20
| | | | | | | | | | | | | | | for overlay_qsv overlay_qsv hard coded to use nv12 as output format. Now use the format of the first input to set output format. For detailed information of supported format on different platform, please see the "composition" rows in "Video Processing Features" at below link: https://www.intel.com/content/www/us/en/develop/documentation/media-capabilities-of-intel-hardware/top.html Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avfilter/vsrc_ddagrab: check for existence of DPI_AWARENESS_CONTEXTTimo Rothenpieler2022-07-19
| | | | | | Apparently some (broken?) Windows SDK versions define IDXGIOutput5 but not DPI_AWARENESS_CONTEXT. So we need to explicitly check for its existence.
* lavfi/vf_showinfo: print frame durationsAnton Khirnov2022-07-19
|
* lavfi: use AVFrame.duration instead of AVFrame.pkt_durationAnton Khirnov2022-07-19
|
* avfilter/vsrc_ddagrab: dynamically load SetThreadDpiAwarenessContextTimo Rothenpieler2022-07-19
| | | | | It's a Windows 10 only function, and its presence alone prevents the binary from loading on older Windows versions.
* avfilter/vsrc_ddagrab: fix checkheaders errorTimo Rothenpieler2022-07-18
|
* avfilter: add vsrc_ddagrabTimo Rothenpieler2022-07-18
|
* Bump versions after 5.1 branchMichael Niedermayer2022-07-13
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump Versions for 5.1 branchMichael Niedermayer2022-07-13
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_signature: Fix integer overflow in filter_frame()Michael Niedermayer2022-07-12
| | | | | | | | Fixes: CID1403233 The second of the 2 changes may be unneeded but will help coverity Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_xfade: fix zx and zy comparison for slide*George Floarea2022-07-12
| | | | | | | | | This resulted in the wrong column/row being chosen. This can be seen best when using xfade on streams with transparency. For example: in case of a slideleft transition, the first column from the first input will overwrite the first column of the second stream throught the transition.
* avfilter/vf_zscale: enable AVX512 zimg functionsMarton Balint2022-07-10
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_zscale: simplify and fix slice_params calculationsMarton Balint2022-07-10
| | | | | | | | | Do not insist on a fixed slice height, because that can still cause overflows in corner cases as described in this comment: https://github.com/sekrit-twc/zimg/issues/177#issuecomment-1157734233 Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_zscale: remove some unneeded initializationsMarton Balint2022-07-10
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter: add chromakey_cuda filterMohamed Khaled Mohamed2022-07-10
| | | | | | | | | | | | GSoC'22 libavfilter/vf_chromakey_cuda.cu:the CUDA kernel for the filter libavfilter/vf_chromakey_cuda.c: the C side that calls the kernel and gets user input libavfilter/allfilters.c: added the filter to it libavfilter/Makefile: added the filter to it cuda/cuda_runtime.h: added two math CUDA functions that are used in the filter Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avfilter/vf_xfade: add two more transitionsPaul B Mahol2022-07-09
|
* avfilter: add remap opencl filterPaul B Mahol2022-07-07
|
* avfilter/xstack: Add support for fixed size gridVignesh Venkatasubramanian2022-07-04
| | | | | | | | | | | | Add a short hand parameter for making a fixed size grid. The existing xstack layout parameter syntax gets tedious if all one wants is a matrix like grid of the input streams. Add a grid option to the xstack filter that simplifies this use case by simply specifying the number of rows and columns instead of specific x/y co-ordinate for each stream. Also updating the filter documentation to explain the new option. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
* avfilter/vf_atadenoise: Remove unused-but-set variablesAndreas Rheinhardt2022-07-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>