1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libavfilter
Andreas Rheinhardt 2a471af50a avfilter/formats: Fix double frees and memleaks on error
The formats API deals with lists of channel layouts, sample rates,
pixel formats and sample formats. These lists are refcounted in a way in
which the list structure itself contains pointers to all of its owners.
Furthermore, it is possible for a list to be not owned by anyone yet;
this status is temporary until the list has been attached to an owner.
Adding an owner to a list involves reallocating the list's list of
owners and can therefore fail.

In order to reduce the amount of checks and cleanup code for the users
of this API, the API is supposed to be lenient when faced with input
lists that are NULL and it is supposed to clean up if adding an owner
to a list fails, so that a simple use case like

list = ff_make_format_list(foo_fmts);
if ((ret = ff_formats_ref(list, &ctx->inputs[0]->out_formats)) < 0)
    return ret;

needn't check whether list could be successfully allocated
(ff_formats_ref() return AVERROR(ENOMEM) if it couldn't) and it also
needn't free list if ff_formats_ref() couldn't add an owner for it.

But the cleaning up after itself was broken. The root cause was that
the refcount was decremented during unreferencing whether or not the
element to be unreferenced was actually an owner of the list or not.
This means that if the above sample code is continued by

if ((ret = ff_formats_ref(list, &ctx->inputs[1]->out_formats)) < 0)
    return ret;

and that if an error happens at the second ff_formats_ref() call, the
automatic cleaning of list will decrement the refcount from 1 (the sole
owner of list at this moment is ctx->input[0]->out_formats) to 0 and so
the list will be freed; yet ctx->input[0]->out_formats still points to
the list and this will lead to a double free/use-after-free when
ctx->input[0] is freed later.

Presumably in order to work around such an issue, commit
93afb338a4 restricted unreferencing to
lists with owners. This does not solve the root cause (the above example
is not fixed by this) at all, but it solves some crashs.

This commit fixes the API: The list's refcount is only decremented if
an owner is removed from the list of owners and not if the
unref-function is called with a pointer that is not among the owners of
the list. Furtermore, the requirement for the list to have owners is
dropped.

This implies that if the first call to ff_formats_ref() in the above
example fails, the refcount which is initially zero during unreferencing
is not modified, so that the list will be freed automatically in said
call to ff_formats_ref() as every list whose refcount reaches zero is.

If on the other hand, the second call to ff_formats_ref() is the first
to fail, the refcount would stay at one during the automatic
unreferencing in ff_formats_ref(). The list would later be freed when
its last (and in this case sole) owner (namely
ctx->inputs[0]->out_formats) gets unreferenced.

The issues described here for ff_formats_ref() also affected the other
functions of this API. E.g. ff_add_format() failed to clean up after
itself if adding an entry to an already existing list failed (the case
of a freshly allocated list was handled specially and this commit also
removes said code). E.g. ff_all_formats() inherited the flaw.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-08-23 23:33:01 +02:00
..
aarch64
dnn dnn_backend_native_layer_avgpool: Fix invalid assignment, use av_assert 2020-08-21 22:12:39 +08:00
opencl avfilter: add pad opencl filter 2020-02-14 09:59:27 +01:00
tests lavfi/tests/formats: reindent. 2020-05-23 15:50:20 +02:00
x86 x86/vf_blend: fix warnings about trailing empty parameters 2020-07-12 11:30:23 -03:00
.gitignore
aeval.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
af_acontrast.c
af_acopy.c avfilter/copy: add forgotten check 2019-10-01 14:55:43 +02:00
af_acrossover.c avfilter/af_acrossover: Check sscanf() return value 2020-04-17 16:56:13 +02:00
af_acrusher.c
af_adeclick.c avfilter/af_adeclick: implement timeline support 2019-12-21 20:02:04 +01:00
af_adelay.c avfilter/af_adelay: Check sscanf() return value 2020-05-01 06:36:36 +08:00
af_aderivative.c
af_aecho.c avfilter/af_aecho: switch to activate 2019-11-17 11:57:52 +01:00
af_aemphasis.c
af_afade.c avfilter/af_afade: start crossfading only when first stream reached end 2019-10-31 10:23:59 +01:00
af_afftdn.c avfilter/af_afftdn: simplify changing commands 2019-11-21 11:49:23 +01:00
af_afftfilt.c avfilter/af_afftfilt: fix memory leaks on error 2020-02-09 15:49:09 +01:00
af_afir.c avfilter/af_afir: make use of vector_fmac_scalar() too 2020-08-23 17:52:58 +02:00
af_afir.h avfilter/af_afir: add support for switching impulse response streams at runtime 2020-01-10 13:14:54 +01:00
af_aformat.c avfilter/aformat: add shorthand names for options 2020-01-08 11:15:13 +05:30
af_agate.c avfilter/af_agate: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:23:48 +01:00
af_aiir.c avfilter/af_aiir: simplify polynomial evaluation 2020-05-30 18:04:14 +02:00
af_alimiter.c
af_amerge.c avfilter/audio: Remove unused array, move used-only-once array 2020-08-21 18:18:08 +02:00
af_amix.c avfilter/af_amix: Fix double-free of AVFilterChannelLayouts on error 2020-08-23 23:26:15 +02:00
af_amultiply.c
af_anequalizer.c avfilter/af_anequalizer: fix off by one in reallocation 2020-03-14 19:39:04 +01:00
af_anlmdn.c avfilter/af_anlmdn: fix pts handling when timebase and 1/samplerate differ 2019-11-17 12:25:54 +01:00
af_anlmdndsp.h
af_anlms.c avfilter/af_anlms: switch to ff_filter_process_command() 2019-10-14 11:40:17 +02:00
af_anull.c
af_apad.c
af_aphaser.c
af_apulsator.c
af_aresample.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
af_arnndn.c avfilter/af_arnndn: use RNN_COPY macro to copy 2020-08-21 22:46:07 +02:00
af_asetnsamples.c
af_asetrate.c
af_ashowinfo.c
af_asoftclip.c avfilter/af_asoftclip: add support for commands 2020-02-09 10:59:20 +01:00
af_asr.c
af_astats.c avfilter/af_astats: add noise floor count stat 2020-04-17 13:28:01 +02:00
af_asubboost.c avfilter: add asubboost filter 2020-04-30 12:18:36 +02:00
af_atempo.c avfilter/af_atempo: use ff_filter_process_command() 2019-10-14 11:40:17 +02:00
af_axcorrelate.c Remove redundant ; 2019-12-10 16:09:14 +01:00
af_biquads.c avfilter/af_biquads: add different transform types 2020-08-21 22:46:07 +02:00
af_bs2b.c
af_channelmap.c avfilter/af_channelmap: Fix double-free of AVFilterChannelLayouts on error 2020-08-23 23:32:28 +02:00
af_channelsplit.c
af_chorus.c
af_compand.c Stop hardcoding align=32 in av_frame_get_buffer() calls. 2020-05-22 14:38:57 +02:00
af_compensationdelay.c Stop hardcoding align=32 in av_frame_get_buffer() calls. 2020-05-22 14:38:57 +02:00
af_crossfeed.c avfilter/af_crossfeed: make options runtime configurable 2020-04-30 12:18:36 +02:00
af_crystalizer.c avfilter/af_crystalizer: add slice threading support 2020-02-07 19:26:39 +01:00
af_dcshift.c
af_deesser.c
af_drmeter.c
af_dynaudnorm.c avfilter/af_dynaudnorm: use better limits for maximal amplification 2020-01-11 14:08:52 +01:00
af_earwax.c
af_extrastereo.c avfilter/af_extrastereo: add support for commands 2019-12-27 20:57:06 +01:00
af_firequalizer.c lavfi/firequalizer: enable runtime change flag 2020-01-13 09:25:18 +08:00
af_flanger.c avfilter: add av_cold where it is missing 2019-10-03 12:09:07 +02:00
af_haas.c
af_hdcd.c
af_headphone.c
af_join.c avfilter/af_join: fix possible memory leaks 2019-10-21 16:04:48 +02:00
af_ladspa.c avfilter/af_ladspa: check return value of getenv() 2020-06-21 21:35:40 +02:00
af_loudnorm.c s->target_i and global are in dB but s->target_tp and true_peak are 2020-05-01 21:36:07 -07:00
af_lv2.c
af_mcompand.c
af_pan.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
af_replaygain.c vafilter/af_replaygain: fix undefined behaviour 2019-10-16 18:28:32 +02:00
af_resample.c af_resample: switch to child_class_iterate() 2020-06-10 12:36:44 +02:00
af_rubberband.c avfilter/af_rubberband: adjust nb_samples after every command 2020-06-13 00:21:07 +02:00
af_sidechaincompress.c avfilter/af_sidechaincompress: add support for commands 2020-01-06 19:40:07 +01:00
af_silencedetect.c avfilter/af_silencedetect: change mono default to integer literal 2019-10-21 15:42:04 +05:30
af_silenceremove.c
af_sofalizer.c
af_stereotools.c
af_stereowiden.c avfilter/af_stereowiden: add support for commands 2019-12-27 21:03:29 +01:00
af_superequalizer.c
af_surround.c avfilter: add av_cold where it is missing 2019-10-03 12:09:07 +02:00
af_tremolo.c avfilter/af_tremolo: fix heap-buffer overflow 2019-10-19 19:34:47 +02:00
af_vibrato.c
af_volume.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
af_volume.h
af_volumedetect.c
allfilters.c avfilter: remove useless cast 2020-08-23 10:40:55 +02:00
asink_anullsink.c avfilter/asink_anullsink: cosmetics 2019-10-01 14:38:58 +02:00
asrc_afirsrc.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
asrc_anoisesrc.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
asrc_anullsrc.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
asrc_flite.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
asrc_hilbert.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
asrc_sinc.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
asrc_sine.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
atadenoise.h avfilter/vf_atadenoise: add option to use additional algorithm 2019-10-17 20:28:31 +02:00
audio.c
audio.h avfilter/audio: Remove unused array, move used-only-once array 2020-08-21 18:18:08 +02:00
avf_abitscope.c avfilter/avf_abitscope: fix undefined behaviour 2019-10-16 18:28:32 +02:00
avf_ahistogram.c avfilter/avf_ahistogram: check if frame clone is set 2020-01-14 16:52:07 +01:00
avf_aphasemeter.c avfilter/avf_aphasemeter: check if clone frame is set 2020-01-14 16:52:07 +01:00
avf_avectorscope.c avfilter/avf_avectorscope: check if clone frame is set 2020-01-14 16:52:07 +01:00
avf_concat.c
avf_showcqt.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
avf_showcqt.h
avf_showfreqs.c avfilter/avf_showfreqs: free input frame after using it 2019-10-26 10:16:02 -03:00
avf_showspatial.c
avf_showspectrum.c avfilter/avf_showspectrum: properly handle EOF case 2020-06-06 19:49:14 +02:00
avf_showvolume.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
avf_showwaves.c avfilter/avf_showwavespic: add filter mode 2020-07-17 14:26:48 +02:00
avfilter.c avfilter: switch to child_class_iterate() 2020-06-10 12:36:44 +02:00
avfilter.h lavfi: remove request_samples. 2020-08-20 18:55:19 +02:00
avfiltergraph.c avfilter/formats: Factor checking for mergeability out of ff_merge_* 2020-08-20 22:01:45 +02:00
avfilterres.rc
bbox.c
bbox.h
blend.h
boxblur.c avfilter/boxblur: add logging context to log 2019-10-08 13:47:43 +08:00
boxblur.h
bufferqueue.h
buffersink.c avfilter/buffersink: deprecate AVBufferSinkParams and AVABufferSinkParams 2019-12-23 17:02:55 +01:00
buffersink.h lavfi/buffersink: add a summary documentation of the API. 2020-08-20 12:49:08 +02:00
buffersrc.c lavfi/buffersrc: Remove redundant free after ff_filter_frame() failure 2020-01-04 19:37:39 +01:00
buffersrc.h
bwdif.h
colorspace.c
colorspace.h
colorspacedsp_template.c
colorspacedsp_yuv2yuv_template.c
colorspacedsp.c
colorspacedsp.h
convolution.h
deshake.h
dnn_interface.h dnn: add backend options when load the model 2020-08-12 15:43:40 +08:00
drawutils.c
drawutils.h
ebur128.c avfilter/ebur128: prefer to use variable instead of type for sizeof 2020-04-09 15:03:36 +02:00
ebur128.h
f_bench.c
f_cue.c
f_drawgraph.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
f_ebur128.c avfilter/f_ebur128: check if frame clone is set 2020-01-14 16:52:08 +01:00
f_graphmonitor.c avfilter/f_graphmonitor: output frames in pts gaps 2019-11-20 17:44:18 +01:00
f_interleave.c avfilter/f_interleave: no need to check for inlink eof if non-empty queue 2020-04-25 13:35:22 +02:00
f_loop.c avfilter/f_loop: switch aloop to activate 2019-11-17 16:20:58 +01:00
f_metadata.c avfilter/f_metadata: correct check for existing metadata 2020-01-17 17:35:31 +05:30
f_perms.c
f_realtime.c
f_reverse.c avfilter/f_reverse: fix memory leaks 2019-10-16 16:27:06 +02:00
f_select.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
f_sendcmd.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
f_sidedata.c avfilter/f_sidedata: Add SEI_UNREGISTERED frame side data type 2020-08-23 08:12:49 +08:00
f_streamselect.c lavfi/streamselect: enable runtime change flag 2020-01-13 09:25:18 +08:00
f_zmq.c
fifo.c avfilter/fifo: Remove unused functions and headers 2020-08-21 12:24:06 +02:00
filters.h
formats.c avfilter/formats: Fix double frees and memleaks on error 2020-08-23 23:33:01 +02:00
formats.h avfilter/formats: Remove unused functions 2020-08-21 18:28:40 +02:00
framepool.c
framepool.h
framequeue.c
framequeue.h
framerate.h avfilter/vf_framerate: remove duplicate code with macro-based function 2019-09-28 21:53:55 +02:00
framesync.c framesync: switch to child_class_iterate() 2020-06-10 12:36:44 +02:00
framesync.h framesync: switch to child_class_iterate() 2020-06-10 12:36:44 +02:00
gblur.h
generate_wave_table.c
generate_wave_table.h
glslang.cpp libavfilter/glslang: Remove unused header 2020-07-11 13:01:33 +01:00
glslang.h lavfi: add Vulkan filtering framework 2020-02-04 23:19:48 +00:00
gradfun.h
graphdump.c avfilter/graphdump: fix use of uninitialized variables 2019-11-21 21:26:12 +01:00
graphparser.c avfilter/graphparser: Fix memleak when linking filters fails 2020-08-23 19:57:42 +02:00
hermite.h
hflip.h
internal.h avfilter/formats: Remove unused functions 2020-08-21 18:28:40 +02:00
lavfutils.c
lavfutils.h
libavfilter.v
limiter.h
log2_tab.c
lswsutils.c
lswsutils.h
Makefile avfilter: add chromanr video filter 2020-07-08 15:23:43 +02:00
maskedclamp.h avfilter/vf_maskedclamp: add x86 SIMD 2019-10-23 16:20:21 +02:00
maskedmerge.h
median_template.c avfilter/vf_median: add radiusV option 2019-10-31 10:32:43 +01:00
median.h avfilter/vf_median: implement percentile option 2020-02-12 11:27:28 +01:00
motion_estimation.c
motion_estimation.h
opencl_source.h avfilter: add pad opencl filter 2020-02-14 09:59:27 +01:00
opencl.c avfilter/opencl: use av_fopen_utf8() 2020-02-14 21:49:47 +01:00
opencl.h
phase_template.c avfilter/vf_phase: add >8 bit support 2020-02-15 12:18:51 +01:00
psnr.h
pthread.c
qsvvpp.c
qsvvpp.h
removegrain.h
scale_eval.c avfilter/scale: separate exprs parse and eval 2020-01-15 11:26:46 +05:30
scale_eval.h avfilter: rename scale.c,h to scale_eval 2019-12-10 12:55:48 +05:30
scene_sad.c
scene_sad.h
setpts.c lavfi/setpts: fix setpts/asetpts option dump error 2020-07-12 08:11:42 +08:00
settb.c avfilter/settb: switch to activate 2019-10-23 12:37:46 +02:00
signature_lookup.c
signature.h
split.c avfilter/split: use av_asprintf() 2019-09-30 16:39:39 +02:00
src_movie.c avfilter/formats: Schedule avfilter_make_format64_list() for removal 2020-08-12 21:10:59 +02:00
ssim.h avfilter/vf_ssim: improve precision 2020-02-04 18:28:04 +01:00
stereo3d.h
thread.h
threshold.h
tinterlace.h avfilter/vf_tinterlace: use frame counter from lavfi 2020-07-17 13:53:55 +02:00
transform.c
transform.h
transpose.h avfilter/transpose: add missing headers 2019-10-22 19:53:50 +02:00
trim.c avfilter/trim: drop all audio frames instead of asserting 2019-09-30 12:58:06 +02:00
unsharp.h
v360.h avfilter/vf_v360: add orthographic projection support 2020-06-23 16:00:02 +02:00
vaapi_vpp.c
vaapi_vpp.h
vaf_spectrumsynth.c lavfi/vaf_spectrumsynth: switch to activate. 2020-08-20 18:55:19 +02:00
version.h avfilter: add chromanr video filter 2020-07-08 15:23:43 +02:00
vf_addroi.c
vf_alphamerge.c avfilter/vf_alphamerge: Fix double-free of AVFilterFormats on error 2020-08-23 23:31:15 +02:00
vf_amplify.c avfilter/vf_amplify: add timeline support 2019-11-21 18:34:07 +01:00
vf_aspect.c avfilter/vf_aspect: Fix integer overflow in compute_dar() 2020-02-16 15:13:10 +01:00
vf_atadenoise.c avfilter/vf_atadenoise: support alpha formats 2019-11-18 17:06:59 +01:00
vf_avgblur_opencl.c
vf_avgblur_vulkan.c lavfi/vulkan: use av_get_random_seed instead of rand 2020-05-29 13:10:58 +01:00
vf_avgblur.c avfilter/vf_avgblur: add support for 12bit yuva formats 2019-11-18 17:27:42 +01:00
vf_bbox.c
vf_bilateral.c avfilter/vf_bilateral: simplify code a little 2020-07-18 10:22:12 +02:00
vf_bitplanenoise.c avfilter/vf_bitplanenoise: fix overreads 2019-10-11 12:42:13 +02:00
vf_blackdetect.c doc/filters: clarify metadata and logging for blackdetect 2020-04-13 11:23:24 +05:30
vf_blackframe.c
vf_blend.c avfilter/vf_blend: add support for float formats 2020-05-26 23:27:02 +02:00
vf_bm3d.c avfilter/vf_bm3d: improve threshold scaling with different block_size and depth 2019-11-19 00:12:47 +01:00
vf_boxblur.c
vf_bwdif.c avfilter/vf_bwdif: fix heap-buffer overflow 2019-10-14 11:46:50 +02:00
vf_cas.c avfilter/vf_cas: Remove superfluous ; 2020-02-29 22:31:01 +01:00
vf_chromaber_vulkan.c lavfi/vulkan: use av_get_random_seed instead of rand 2020-05-29 13:10:58 +01:00
vf_chromakey.c avfilter/vf_chromakey: fix formula for calculation of difference 2020-05-19 20:10:34 +02:00
vf_chromanr.c avfilter/vf_chromanr: move thres calculation to filter_frame() 2020-07-10 23:09:19 +02:00
vf_chromashift.c avfilter/vf_chromashift: add support for commands 2019-11-21 12:24:02 +01:00
vf_ciescope.c
vf_codecview.c
vf_colorbalance.c FATE: fix colorbalance fate test failed on x86_32 2020-07-02 21:12:37 +08:00
vf_colorchannelmixer.c avfilter/vf_colorchannelmixer: do not use pointer if there is no alpha 2019-10-16 18:28:32 +02:00
vf_colorconstancy.c avfilter/vf_colorconstancy: fix memory leak on error 2020-01-27 16:58:50 +01:00
vf_colorkey_opencl.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_colorkey.c avfilter/vf_colorkey: fix formula for calculation of difference 2020-05-19 20:10:34 +02:00
vf_colorlevels.c avfilter/vf_colorlevels: add support for commands 2020-02-11 14:19:56 +01:00
vf_colormatrix.c
vf_colorspace.c avfilter/vf_colorspace: fix memmory leaks 2019-10-18 10:48:22 +02:00
vf_convolution_opencl.c
vf_convolution.c avfilter/vf_convolution: add 12bit yuva formats 2019-11-18 18:01:12 +01:00
vf_convolve.c avfilter/vf_convolve: reset fft/ifft pointers after free 2020-02-25 17:35:09 +01:00
vf_copy.c avfilter/copy: add forgotten check 2019-10-01 14:55:43 +02:00
vf_coreimage.m lavfi/coreimage: fix memory leak after av_dict_parse_string fail 2020-01-04 09:05:09 +08:00
vf_cover_rect.c
vf_crop.c lavfi/vf_crop: use ff_formats_pixdesc_filter(). 2020-05-23 15:50:20 +02:00
vf_cropdetect.c
vf_curves.c
vf_datascope.c avfilter/vf_pixscope: also show standard deviation of zoomed area 2020-04-26 12:27:36 +02:00
vf_dblur.c avfilter: add dblur video filter 2020-05-30 18:04:14 +02:00
vf_dctdnoiz.c
vf_deband.c avfilter/vf_deband: add more gray formats 2019-10-23 09:54:36 +02:00
vf_deblock.c avfilter/vf_deblock: add 12bit yuva formats 2019-11-19 12:43:26 +01:00
vf_decimate.c avfilter/vf_decimate: fix memory leaks 2019-10-19 10:18:35 +02:00
vf_dedot.c avfilter/vf_dedot: Fix leak of AVFrame if making it writable fails 2020-02-11 00:03:44 +01:00
vf_deflicker.c avfilter/vf_deflicker: add support for alpha formats 2019-11-18 18:35:32 +01:00
vf_deinterlace_qsv.c
vf_deinterlace_vaapi.c lavfi/vf_*_vaapi: Fix error case 2020-02-09 20:36:45 +00:00
vf_dejudder.c
vf_delogo.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
vf_derain.c dnn: add backend options when load the model 2020-08-12 15:43:40 +08:00
vf_deshake_opencl.c lavfi/deshake_opencl: Do not use bool, powerpc does not like it. 2020-04-01 15:48:19 +02:00
vf_deshake.c lavf, lavfi: Remove uses of sizeof(char). 2020-04-04 23:21:14 +02:00
vf_despill.c
vf_detelecine.c
vf_displace.c
vf_dnn_processing.c dnn: add backend options when load the model 2020-08-12 15:43:40 +08:00
vf_drawbox.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_drawtext.c avfilter/vf_drawtext: only test available exceptions 2020-04-09 00:59:21 +02:00
vf_edgedetect.c avfilter/vf_edgedetect: properly implement double_threshold() 2020-07-06 23:20:53 -04:00
vf_elbg.c avfilter/vf_elbg: Fix for the seed type 2019-12-04 20:17:00 +01:00
vf_entropy.c
vf_eq.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
vf_eq.h checkasm/vf_eq: add test for vf_eq 2019-09-26 08:10:31 +08:00
vf_extractplanes.c
vf_fade.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_fftdnoiz.c avfilter/vf_fftdnoiz: add support for alpha formats 2019-11-18 17:36:56 +01:00
vf_fftfilt.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_field.c
vf_fieldhint.c avfilter/vf_fieldhint: use av_fopen_utf8() 2020-02-14 21:47:55 +01:00
vf_fieldmatch.c avfilter/vf_fieldmatch: fix heap-buffer overflow 2019-10-19 11:58:34 +02:00
vf_fieldorder.c avfilter/vf_fieldorder: fix heap-buffer overflow 2019-10-13 23:10:16 +02:00
vf_fillborders.c avfilter/vf_fillborders: add support for commands 2019-11-21 12:07:58 +01:00
vf_find_rect.c Stop hardcoding align=32 in av_frame_get_buffer() calls. 2020-05-22 14:38:57 +02:00
vf_floodfill.c avfilter/vf_floodfill: better fix for crash 2019-10-23 10:20:57 +02:00
vf_format.c
vf_fps.c
vf_framepack.c avfilter/vf_framepack: really fix ef466a8b29 2019-11-17 00:23:03 +01:00
vf_framerate.c Revert "avfilter/vf_framerate: if metadata lavfi.scd.mafd exists, we'll use it first" 2020-05-15 18:35:51 +02:00
vf_framestep.c
vf_freezedetect.c
vf_freezeframes.c avfilter: add freezeframes video filter 2020-01-11 19:05:17 +01:00
vf_frei0r.c
vf_fspp.c
vf_fspp.h
vf_gblur.c avfilter/vf_gblur: add support for 12bit yuva formats 2019-11-18 17:26:59 +01:00
vf_geq.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_gradfun.c
vf_hflip.c
vf_histeq.c
vf_histogram.c avfilter/vf_histogram: add envelope to thistogram filter 2019-12-30 17:21:35 +01:00
vf_hqdn3d.c avfilter/vf_hqdn3d: add support for commands 2019-11-29 17:28:59 +01:00
vf_hqdn3d.h lavfi/hqdn3d: add slice thread optimization 2019-10-10 09:33:09 +08:00
vf_hqx.c avfilter/vf_hqx: Fix undefined left shifts of negative numbers 2019-09-28 17:24:32 +02:00
vf_hue.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
vf_hwdownload.c
vf_hwmap.c
vf_hwupload_cuda.c lavfi/vf_hwupload: Add support for HW -> HW transfers 2020-02-04 23:19:48 +00:00
vf_hwupload.c lavfi/vf_hwupload: Add support for HW -> HW transfers 2020-02-04 23:19:48 +00:00
vf_hysteresis.c
vf_idet.c
vf_idet.h
vf_il.c avfilter/vf_il: add support for commands 2019-12-27 21:17:00 +01:00
vf_kerndeint.c
vf_lagfun.c avfilter/vf_lagfun: fix heap-buffer overflow 2019-10-19 09:56:53 +02:00
vf_lenscorrection.c avfilter/vf_lenscorrection: make width/height int 2019-10-14 20:14:03 +02:00
vf_lensfun.c
vf_libopencv.c
vf_libvmaf.c avfilter/libvmaf: mention csv as available log format 2020-08-21 10:48:27 +05:30
vf_limiter.c avfilter/vf_limiter: add 12bit yuva formats 2019-11-18 18:35:32 +01:00
vf_lumakey.c avfilter/vf_lumakey: add support for commands 2019-11-21 16:59:39 +01:00
vf_lut2.c avfilter/vf_lut2: add 12bit depth alpha formats 2019-11-18 17:15:29 +01:00
vf_lut3d.c avfilter/vf_lut3d: Fix mixed declaration and code 2020-06-01 15:21:40 +02:00
vf_lut.c
vf_maskedclamp.c avfilter/vf_maskedclamp: make C version consistent with ASM one 2020-02-08 10:46:37 +01:00
vf_maskedmerge.c avfilter/vf_maskedmerge: add 12bit yuva formats 2019-11-18 17:55:21 +01:00
vf_maskedminmax.c avfilter/vf_maskedminmax: add 12bit yuva formats 2019-11-18 17:56:34 +01:00
vf_maskedthreshold.c avfilter: add maskedthreshold filter 2020-04-18 12:34:49 +02:00
vf_maskfun.c avfilter/vf_maskfun: fix memleak 2019-10-18 21:57:20 +02:00
vf_mcdeint.c
vf_median.c avfilter/vf_median: implement percentile option 2020-02-12 11:27:28 +01:00
vf_mergeplanes.c
vf_mestimate.c
vf_midequalizer.c avfilter/vf_midequalizer: add 16bit formats 2019-11-19 13:08:07 +01:00
vf_minterpolate.c Revert "avfilter/vf_minterpolate: if metadata lavfi.scd.mafd exists, we'll use it first" 2020-05-15 18:35:51 +02:00
vf_misc_vaapi.c lavfi/vf_*_vaapi: Fix error case 2020-02-09 20:36:45 +00:00
vf_mix.c avfilter/vf_mix: Check sscanf() return value 2020-05-01 06:36:36 +08:00
vf_mpdecimate.c
vf_neighbor_opencl.c
vf_neighbor.c avfilter/vf_neighbor: add support for commands 2019-12-27 20:21:20 +01:00
vf_nlmeans_opencl.c
vf_nlmeans.c avfilter/vf_nlmeans: round values toward nearest integer 2019-10-21 09:26:41 +02:00
vf_nlmeans.h
vf_nnedi.c avfilter/vf_nnedi: fix possible double free 2019-10-07 11:15:44 +02:00
vf_noise.c
vf_noise.h
vf_normalize.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_null.c
vf_ocr.c
vf_overlay_cuda.c avfilter: add vf_overlay_cuda 2020-03-28 18:39:40 +01:00
vf_overlay_cuda.cu avfilter: add vf_overlay_cuda 2020-03-28 18:39:40 +01:00
vf_overlay_opencl.c
vf_overlay_qsv.c lavfi/vf_overlay_qsv: remove needs_fifo. 2020-08-20 18:55:19 +02:00
vf_overlay_vulkan.c lavfi/vulkan: use av_get_random_seed instead of rand 2020-05-29 13:10:58 +01:00
vf_overlay.c avfilter/vf_overlay: Fix double-free of AVFilterFormats on error 2020-08-23 23:29:58 +02:00
vf_overlay.h avfilter/vf_overlay: add yuv420p10 and yuv422p10 10bit format support 2020-06-19 07:14:46 +08:00
vf_owdenoise.c
vf_pad_opencl.c avfilter: add pad opencl filter 2020-02-14 09:59:27 +01:00
vf_pad.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_palettegen.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_paletteuse.c avfilter/vf_paletteuse: Fix leaks of AVFilterFormats on error 2020-08-23 22:05:40 +02:00
vf_perspective.c
vf_phase.c avfilter/vf_phase: add >8 bit support 2020-02-15 12:18:51 +01:00
vf_photosensitivity.c avfilter/vf_photosensitivity: fix memleak 2019-09-30 20:37:25 +02:00
vf_pixdesctest.c
vf_pp7.c
vf_pp7.h
vf_pp.c
vf_premultiply.c avfilter/vf_premultiply: add support for 12bit yuva format 2019-11-18 18:35:32 +01:00
vf_procamp_vaapi.c lavfi/vf_*_vaapi: Fix error case 2020-02-09 20:36:45 +00:00
vf_program_opencl.c
vf_pseudocolor.c
vf_psnr.c avfilter/vf_psnr: fix logic failure when comparing time bases 2020-02-01 21:10:25 +01:00
vf_pullup.c
vf_pullup.h
vf_qp.c
vf_random.c avfilter/vf_random: fix memory leaks 2019-10-17 11:31:53 +02:00
vf_readeia608.c avfilter/vf_readeia608: factor some constants out 2019-12-23 20:09:20 +01:00
vf_readvitc.c
vf_remap.c avfilter/vf_remap: Fix double-free of AVFilterFormats on error 2020-08-23 23:28:47 +02:00
vf_removegrain.c
vf_removelogo.c
vf_repeatfields.c
vf_rotate.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
vf_sab.c
vf_scale_cuda.c avfilter: rename scale.c,h to scale_eval 2019-12-10 12:55:48 +05:30
vf_scale_cuda.cu
vf_scale_npp.c avfilter: rename scale.c,h to scale_eval 2019-12-10 12:55:48 +05:30
vf_scale_qsv.c lavfi/scale_qsv: Fix a format specifier for a variable of type int. 2020-04-04 23:18:18 +02:00
vf_scale_vaapi.c lavfi/vf_*_vaapi: Fix error case 2020-02-09 20:36:45 +00:00
vf_scale_vulkan.c lavfi/vulkan: use av_get_random_seed instead of rand 2020-05-29 13:10:58 +01:00
vf_scale.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
vf_scdet.c avfilter/vf_scdet: add filter to detect scene change 2020-05-14 23:03:06 +08:00
vf_scroll.c avfilter/vf_scroll: add support for slice threading 2019-11-21 12:59:08 +01:00
vf_selectivecolor.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vf_separatefields.c
vf_setparams.c
vf_showinfo.c avfilter/vf_showinfo: add dump_s12m_timecode() helper function 2020-07-08 23:14:04 +08:00
vf_showpalette.c avfilter/vf_showpalette: Fix double-free of AVFilterFormats on error 2020-08-23 23:27:50 +02:00
vf_shuffleframes.c avfilter/vf_shuffleframes: improve error message 2019-10-20 11:39:24 +02:00
vf_shuffleplanes.c avfilter/vf_shuffleplanes: add mising query_formats() 2019-10-18 23:24:06 +02:00
vf_signalstats.c Stop hardcoding align=32 in av_frame_get_buffer() calls. 2020-05-22 14:38:57 +02:00
vf_signature.c avcodec, avfilter, avformat: Remove redundant avpriv_align_put_bits 2020-08-01 18:56:32 +02:00
vf_smartblur.c
vf_spp.c vf_spp: switch to child_class_iterate() 2020-06-10 12:36:44 +02:00
vf_spp.h avfilter/vf_spp: Remove unused AVCodecContext 2020-05-12 01:00:28 +02:00
vf_sr.c dnn: add backend options when load the model 2020-08-12 15:43:40 +08:00
vf_ssim.c avfilter/vf_ssim: improve precision 2020-02-04 18:28:04 +01:00
vf_stack.c avfilter/vf_stack: add fill option for xstack 2020-01-22 19:13:51 +01:00
vf_stereo3d.c
vf_subtitles.c Remove unnecessary use of avcodec_close(). 2020-06-10 11:31:16 +02:00
vf_super2xsai.c
vf_swaprect.c avfilter/swaprect: correct assignment of VAR_POS 2020-01-15 14:27:51 +05:30
vf_swapuv.c
vf_telecine.c avfilter/vf_telecine: avoid possible null-pointer dereference 2020-04-14 12:12:42 +02:00
vf_threshold.c
vf_thumbnail_cuda.c
vf_thumbnail_cuda.cu
vf_thumbnail.c avfilter/vf_thumbnail: fix possible crash on error 2020-02-10 15:46:42 +01:00
vf_tile.c avfilter/vf_tile: fix memory leak 2019-10-20 18:06:26 +02:00
vf_tinterlace.c avfilter/vf_tinterlace: fix mergex2, first frame is always considered odd 2020-07-17 13:53:55 +02:00
vf_tonemap_opencl.c avfilter/vf_tonemap_opencl: fix long filter description 2020-01-26 14:51:52 +01:00
vf_tonemap_vaapi.c vf_tonemap_vaapi: Fix memory leak in error case 2020-01-07 00:04:50 +00:00
vf_tonemap.c
vf_tpad.c avfilter: add av_cold where it is missing 2019-10-03 12:09:07 +02:00
vf_transpose_npp.c
vf_transpose_opencl.c
vf_transpose_vaapi.c lavfi/vf_*_vaapi: Fix error case 2020-02-09 20:36:45 +00:00
vf_transpose.c avfilter/vf_transpose: add x86 SIMD 2019-10-21 20:37:51 +02:00
vf_unsharp_opencl.c
vf_unsharp.c avfilter/vf_unsharp: Don't dereference NULL 2019-12-03 09:50:00 +01:00
vf_untile.c lavfi: add untile filter. 2020-05-23 15:52:27 +02:00
vf_uspp.c Remove unnecessary use of avcodec_close(). 2020-06-10 11:31:16 +02:00
vf_v360.c avfilter/vf_v360: do not ignore return value of allocate_plane() 2020-06-23 21:55:40 +02:00
vf_vaguedenoiser.c avfilter/vf_vaguedenoiser: fix small typo in option explanation 2020-06-13 00:41:16 +02:00
vf_vectorscope.c avfilter/vf_vectorscope: add support for 12bit yuva formats 2019-12-29 15:33:55 +01:00
vf_vflip.c
vf_vfrdet.c avfilter/vf_vfrdet: also report average delta 2019-10-29 13:07:08 +01:00
vf_vibrance.c avfilter/vf_vibrance: add support for commands 2019-12-27 21:31:04 +01:00
vf_vidstabdetect.c
vf_vidstabtransform.c
vf_vignette.c avfilter: add D2TS, TS2D, TS2T as a common macro in internal.h 2020-06-19 23:12:49 +08:00
vf_vmafmotion.c avcodec/filter: Remove extra '; ' outside of functions 2019-10-07 21:15:55 +02:00
vf_vpp_qsv.c avfilter/vf_vpp_qsv: Fix leak of AVFilterFormats on error 2020-08-23 23:09:32 +02:00
vf_w3fdif.c avfilter/vf_w3fdif: add support for more >8 bit alpha formats 2019-11-18 17:30:44 +01:00
vf_waveform.c avfilter/vf_waveform: add support for 12bit yuva formats 2019-12-29 15:33:55 +01:00
vf_weave.c avfilter/vf_weave: pal and hwaccel formats are not supported 2019-11-19 12:35:55 +01:00
vf_xbr.c avfilter: add av_cold where it is missing 2019-10-03 12:09:07 +02:00
vf_xfade_opencl.c avfilter/vf_xfade_opencl: move passthrough code before eof check 2020-02-03 09:40:46 +01:00
vf_xfade.c avfilter/vf_xfade: check that fps between inputs are valid 2020-08-11 10:57:04 +02:00
vf_xmedian.c avfilter: add tmedian filter 2020-04-18 12:34:49 +02:00
vf_yadif_cuda.c
vf_yadif_cuda.cu
vf_yadif.c avfilter/vf_yadif: cosmetics in the pix_fmts[] array 2019-12-25 18:00:40 +01:00
vf_yaepblur.c avfilter/vf_yaepblur: fix naming of filter class 2020-07-20 16:12:56 +02:00
vf_zoompan.c avfilter/zoompan: add in_time variable 2020-06-25 10:27:07 +02:00
vf_zscale.c avfilter/vf_zscale: fix crash on unaligned input 2020-02-25 19:52:26 +01:00
video.c
video.h
vidstabutils.c
vidstabutils.h
vmaf_motion.h
vsink_nullsink.c avfilter/vsink_nullsink: cosmetics 2019-10-01 14:57:41 +02:00
vsrc_cellauto.c avfilter: Fix type in av_log for random_seed in cellauto and life 2019-12-12 21:40:53 +01:00
vsrc_gradients.c avfilter: add gradients source video filter 2020-05-19 20:10:34 +02:00
vsrc_life.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vsrc_mandelbrot.c avfilter/vsrc_mandelbrot: unbreak configuring rate value 2020-05-16 11:10:32 +02:00
vsrc_mptestsrc.c avfilter/vsrc_mptestsrc: simplify the code and change the type of frame 2019-10-21 22:57:10 +02:00
vsrc_sierpinski.c avfilter/vsrc_sierpinski: unbreak configuring rate value 2020-05-16 11:13:46 +02:00
vsrc_testsrc.c remove CHAR_MIN/CHAR_MAX usage 2020-03-17 22:46:36 +01:00
vulkan.c lavfi/vulkan: fix queue counts and set indices 2020-05-26 10:52:11 +01:00
vulkan.h lavfi/vulkan: use all enabled queues in the queue family 2020-05-23 19:07:50 +01:00
w3fdif.h
window_func.h
yadif_common.c
yadif.h