FFmpeg/libavfilter
Kevin Mark 3385989b98 libavfilter/scale2ref: Add constants for the primary input
Variables pertaining to the main video are now available when
using the scale2ref filter. This allows, as an example, scaling a
video with another as a reference point while maintaining the
original aspect ratio of the primary/non-reference video.

Consider the following graph: scale2ref=iw/6:-1 [main][ref]
This will scale [main] to 1/6 the width of [ref] while maintaining
the aspect ratio. This works well when the AR of [ref] is equal to
the AR of [main] only. What the above filter really does is
maintain the AR of [ref] when scaling [main]. So in all non-same-AR
situations [main] will appear stretched or compressed to conform to
the same AR of the reference video. Without doing this calculation
externally there is no way to scale in reference to another input
while maintaining AR in libavfilter.

To make this possible, we introduce eight new constants to be used
in the w and h expressions only in the scale2ref filter:

 * main_w/main_h: width/height of the main input video
 * main_a: aspect ratio of the main input video
 * main_sar: sample aspect ratio of the main input video
 * main_dar: display aspect ratio of the main input video
 * main_hsub/main_vsub: horiz/vert chroma subsample vals of main
 * mdar: a shorthand alias of main_dar

Of course, not all of these constants are needed for maintaining the
AR, but adding additional constants in line of what is available for
in/out allows for other scaling possibilities I have not imagined.

So to now scale a video to 1/6 the size of another video using the
width and maintaining its own aspect ratio you can do this:

scale2ref=iw/6:ow/mdar [main][ref]

This is ideal for picture-in-picture configurations where you could
have a square or 4:3 video overlaid on a corner of a larger 16:9
feed all while keeping the scaled video in the corner at its correct
aspect ratio and always the same size relative to the larger video.

I've tried to re-use as much code as possible. I could not find a way
to avoid duplication of the var_names array. It must now be kept in
sync with the other (the normal one and the scale2ref one) for
everything to work which does not seem ideal. For every new variable
introduced/removed into/from the normal scale filter one must be
added/removed to/from the scale2ref version. Suggestions on how to
avoid var_names duplication are welcome.

var_values has been increased to always be large enough for the
additional scale2ref variables. I do not forsee this being a problem
as the names variable will always be the correct size. From my
understanding of av_expr_parse_and_eval it will stop processing
variables when it runs out of names even though there may be
additional (potentially uninitialized) entries in the values array.
The ideal solution here would be using a variable-length array but
that is unsupported in C90.

This patch does not remove any functionality and is strictly a
feature patch. There are no API changes. Behavior does not change for
any previously valid inputs.

The applicable documentation has also been updated.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-01 22:56:08 +02:00
..
tests avfilter/formats: do not allow unknown layouts in ff_parse_channel_layout if nret is not set 2017-01-24 23:51:36 +01:00
x86 avfilter: add arbitrary audio FIR filter 2017-05-09 20:47:52 +02:00
aeval.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_acopy.c avfilter: add acopy filter 2017-05-12 10:48:13 +02:00
af_acrusher.c
af_adelay.c
af_aecho.c avfilter/af_chorus & aecho: Handle NULL return from av_strtok() 2017-03-30 23:35:18 +02:00
af_aemphasis.c
af_afade.c avfilter/af_afade: fix fading very long durations 2017-05-17 22:59:11 +02:00
af_afftfilt.c
af_afir.c avfilter/af_afir: workaround nonsense limitation in vector_fmul_scalar() 2017-05-10 20:10:02 +02:00
af_afir.h avfilter/af_afir: remove extra space in the header inclusion guards 2017-05-09 23:08:00 -03:00
af_aformat.c
af_agate.c
af_alimiter.c
af_amerge.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_amix.c avfilter/af_amix: add double sample format support 2017-04-10 12:04:14 +02:00
af_anequalizer.c
af_anull.c
af_apad.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_aphaser.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_apulsator.c
af_aresample.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_asetnsamples.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_asetrate.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_ashowinfo.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_astats.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_atempo.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_biquads.c avfilter/af_biquads: allow filtering only selected channels 2017-04-25 18:08:26 +02:00
af_bs2b.c avfilter/af_bs2b: add missing flag for options 2017-05-16 19:16:50 +02:00
af_channelmap.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_channelsplit.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_chorus.c avfilter/af_chorus & aecho: Handle NULL return from av_strtok() 2017-03-30 23:35:18 +02:00
af_compand.c avfilter/af_compand: change default attack to 0 2017-05-15 14:29:18 +02:00
af_compensationdelay.c
af_crossfeed.c avfilter: add audio crossfeed filter 2017-05-17 20:18:39 +02:00
af_crystalizer.c avfilter/af_crystalizer: add support for more sample formats 2017-04-30 13:00:01 +02:00
af_dcshift.c
af_dynaudnorm.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_earwax.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_extrastereo.c
af_firequalizer.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_flanger.c
af_hdcd.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
af_join.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_ladspa.c
af_loudnorm.c avfilter/af_loudnorm: do not upsample during second-pass linear normalization 2017-04-05 11:43:12 -05:00
af_pan.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_replaygain.c
af_resample.c
af_rubberband.c
af_sidechaincompress.c avfilter/af_sidechaincompress: change default makeup gain to 1 2017-05-20 12:43:11 +02:00
af_silencedetect.c
af_silenceremove.c avfilter/af_silenceremove: set output timestamps 2017-05-15 14:29:18 +02:00
af_sofalizer.c avfilter/af_sofalizer: make lfe gain user configurable 2017-05-18 23:13:52 +02:00
af_stereotools.c avfilter/af_stereotools: introduce different balance modes 2017-05-15 19:58:15 +02:00
af_stereowiden.c
af_surround.c avfilter: add audio surround upmixer 2017-06-01 21:25:36 +02:00
af_tremolo.c
af_vibrato.c
af_volume.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
af_volume.h
af_volumedetect.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
all_channel_layouts.inc
allfilters.c avfilter: add audio surround upmixer 2017-06-01 21:25:36 +02:00
asink_anullsink.c
asrc_anoisesrc.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
asrc_anullsrc.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
asrc_flite.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
asrc_sine.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
audio.c lavfi: use an audio frame pool for each link of the filtergraph 2017-01-12 10:22:52 +01:00
audio.h
avf_abitscope.c avfilter/avf_abitscope: Correct range for framerate 2017-03-30 10:29:14 -08:00
avf_ahistogram.c
avf_aphasemeter.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
avf_avectorscope.c avfilter/avf_avectorscope: Assert that format is valid 2017-04-22 20:08:45 +02:00
avf_concat.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
avf_showcqt.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
avf_showcqt.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
avf_showfreqs.c
avf_showspectrum.c avfilter/avf_showspectrum: properly initialize pts 2017-05-22 11:06:48 +02:00
avf_showvolume.c
avf_showwaves.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
avfilter.c avfilter: take_samples: do not directly return frame when samples are skipped 2017-05-20 23:19:46 +07:00
avfilter.h Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
avfiltergraph.c lavfi/avfiltergraph: only return EOF in avfilter_graph_request_oldest if all sinks EOFed 2017-05-07 19:37:34 +02:00
avfiltergraph.h
avfilterres.rc
bbox.c
bbox.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
blend.h
bufferqueue.h
buffersink.c lavfi: remove stray semicolons. 2017-01-12 15:07:18 +01:00
buffersink.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
buffersrc.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
buffersrc.h
bwdif.h
colorspacedsp.c
colorspacedsp.h
colorspacedsp_template.c
colorspacedsp_yuv2yuv_template.c
deshake.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
deshake_opencl.c avfilter/deshake_opencl: Remove redundant return 2017-03-30 22:46:31 +02:00
deshake_opencl.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
deshake_opencl_kernel.h
drawutils.c
drawutils.h
dualinput.c
dualinput.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
ebur128.c avfilter/ebur128: fix relative threshold calculation for multiple contexts 2017-02-04 23:54:18 +01:00
ebur128.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
f_bench.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
f_drawgraph.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
f_ebur128.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
f_interleave.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
f_loop.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
f_metadata.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
f_perms.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
f_realtime.c
f_reverse.c
f_select.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
f_sendcmd.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
f_sidedata.c
f_streamselect.c
f_zmq.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
fifo.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
filters.h lavfi: add ff_inlink_request_frame(). 2017-01-12 14:06:16 +01:00
formats.c avfilter/formats: do not allow unknown layouts in ff_parse_channel_layout if nret is not set 2017-01-24 23:51:36 +01:00
formats.h
framepool.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
framepool.h lavfi/framepool: add audio support 2017-01-12 10:22:52 +01:00
framequeue.c avfilter: take_samples: do not directly return frame when samples are skipped 2017-05-20 23:19:46 +07:00
framequeue.h avfilter: take_samples: do not directly return frame when samples are skipped 2017-05-20 23:19:46 +07:00
framesync.c
framesync.h
generate_wave_table.c
generate_wave_table.h
gradfun.h
graphdump.c
graphparser.c avfilter/graphparser: allow specifying filter@id as filter instance 2017-05-19 20:21:47 +07:00
hermite.h
interlace.h avfilter/interlace: add complex vertical low-pass filter 2017-05-02 14:09:50 -03:00
internal.h Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
lavfutils.c avfilter/lavfutils: use image2pipe demuxer on ff_load_image 2017-04-29 01:23:25 +07:00
lavfutils.h
libavfilter.v
log2_tab.c
lswsutils.c
lswsutils.h
Makefile avfilter: add audio surround upmixer 2017-06-01 21:25:36 +02:00
maskedmerge.h avfilter/vf_maskedmerge: fix bug when copying >8bit plane(s) 2017-04-23 18:31:05 +02:00
motion_estimation.c
motion_estimation.h
opencl_allkernels.c
opencl_allkernels.h
psnr.h
pthread.c lavfi: fix race when func rets holder is NULL 2017-03-28 23:47:24 +02:00
removegrain.h
scale.c libavfilter/scale2ref: Add constants for the primary input 2017-06-01 22:56:08 +02:00
scale.h avfilter/scale: refactor common code for scaling height/width expressions 2017-02-02 22:58:54 +00:00
setpts.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
settb.c
signature.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
signature_lookup.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
split.c
src_movie.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
ssim.h
stereo3d.h
thread.h
tinterlace.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
transform.c
transform.h
trim.c
unsharp.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
unsharp_opencl.c
unsharp_opencl.h
unsharp_opencl_kernel.h
vaf_spectrumsynth.c
version.h avfilter: add audio surround upmixer 2017-06-01 21:25:36 +02:00
vf_alphamerge.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_aspect.c
vf_atadenoise.c avfilter: add GRAY10 and GRAY12 to some filters 2017-04-10 18:13:02 +02:00
vf_avgblur.c avfilter: add GRAY10 and GRAY12 to some filters 2017-04-10 18:13:02 +02:00
vf_bbox.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_bitplanenoise.c
vf_blackdetect.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_blackframe.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_blend.c avfilter/vf_blend: add GBRAP16 2017-04-10 16:53:17 +02:00
vf_boxblur.c
vf_bwdif.c
vf_chromakey.c
vf_ciescope.c avfilter/vf_ciescope: Free out AVFrame on error 2017-02-03 21:52:22 +01:00
vf_codecview.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_colorbalance.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_colorchannelmixer.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_colorkey.c
vf_colorlevels.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_colormatrix.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_colorspace.c
vf_convolution.c
vf_copy.c
vf_coreimage.m
vf_cover_rect.c
vf_crop.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_cropdetect.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_curves.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_datascope.c avfilter: add video oscilloscope filter 2017-04-29 19:12:34 +02:00
vf_dctdnoiz.c avfilter/vf_dctdnoiz: add GBRP support 2017-04-10 10:12:23 +02:00
vf_deband.c
vf_decimate.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_deflicker.c avfilter/vf_deflicker: add bypass option 2017-05-15 21:32:44 +02:00
vf_deinterlace_qsv.c avfilter: Add AV_OPT_FLAG_FILTERING_PARAM where it is missing 2017-03-30 03:12:05 +02:00
vf_deinterlace_vaapi.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_dejudder.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_delogo.c
vf_deshake.c avfilter/vf_deshake: Free out AVFrame on error 2017-02-03 21:52:22 +01:00
vf_detelecine.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_displace.c
vf_drawbox.c
vf_drawtext.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_edgedetect.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_elbg.c
vf_eq.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_eq.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_extractplanes.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_fade.c
vf_fftfilt.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_field.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_fieldhint.c avfilter/vf_fieldhint: Free out AVFrame on error 2017-02-03 21:52:22 +01:00
vf_fieldmatch.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_fieldorder.c
vf_find_rect.c
vf_format.c
vf_fps.c
vf_framepack.c
vf_framerate.c avfilter/vf_framerate: always request input if no output is provided in request_frame 2017-04-12 20:21:11 +02:00
vf_framestep.c
vf_frei0r.c
vf_fspp.c
vf_fspp.h
vf_gblur.c avfilter: add GRAY10 and GRAY12 to some filters 2017-04-10 18:13:02 +02:00
vf_geq.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_gradfun.c
vf_hflip.c
vf_histeq.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_histogram.c avfilter/vf_histogram: actually add parade display mode 2017-05-09 16:17:49 +02:00
vf_hqdn3d.c
vf_hqdn3d.h
vf_hqx.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_hue.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_hwdownload.c Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
vf_hwmap.c Merge commit '124e26971e' 2017-03-30 10:51:32 +02:00
vf_hwupload.c Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
vf_hwupload_cuda.c Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
vf_hysteresis.c avfilter: add GRAY10 and GRAY12 to some filters 2017-04-10 18:13:02 +02:00
vf_idet.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_idet.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_il.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_interlace.c avfilter/interlace: add complex vertical low-pass filter 2017-05-02 14:09:50 -03:00
vf_kerndeint.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_lenscorrection.c
vf_libopencv.c avfilter/vf_libopencv: fix resource leak in read_shape_frame_filter 2017-01-11 09:59:55 +08:00
vf_lumakey.c avfilter: add lumakey filter 2017-04-24 20:37:30 +02:00
vf_lut.c avfilter/vf_lut: make it possible to clip pixel values that are out of valid range 2017-02-13 22:54:21 +01:00
vf_lut2.c
vf_lut3d.c avfilter/vf_lut3d: actually skip lines when encountering DOMAIN_ string 2017-03-13 15:30:05 +01:00
vf_maskedclamp.c avfilter/vf_maskedclamp: fix bug when copying >8bit plane(s) 2017-04-23 18:21:50 +02:00
vf_maskedmerge.c avfilter/vf_maskedmerge: fix bug when copying >8bit plane(s) 2017-04-23 18:31:05 +02:00
vf_mcdeint.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_mergeplanes.c
vf_mestimate.c
vf_midequalizer.c avfilter/vf_midequalizer: add gray10 and gray12 support 2017-04-09 16:30:38 +02:00
vf_minterpolate.c avfilter/vf_minterpolate: Use dx and dy 2017-03-30 22:46:31 +02:00
vf_mpdecimate.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_neighbor.c
vf_nlmeans.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_nnedi.c
vf_noise.c
vf_noise.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_null.c
vf_ocr.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_overlay.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_owdenoise.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_pad.c avfilter/vf_pad: revert part of 57c3670896 2017-05-12 17:37:20 +02:00
vf_palettegen.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_paletteuse.c avfilter/vf_paletteuse: silence warning about misaligned indentation 2017-04-10 11:25:44 +02:00
vf_perspective.c avfilter/vf_perspective: Free out AVFrame on error 2017-02-03 21:52:22 +01:00
vf_phase.c
vf_pixdesctest.c
vf_pp.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_pp7.c
vf_pp7.h
vf_premultiply.c avfilter/vf_premultiply: add planes option 2017-04-23 18:21:51 +02:00
vf_psnr.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_pullup.c
vf_pullup.h
vf_qp.c
vf_random.c
vf_readeia608.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_readvitc.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_remap.c avfilter/vf_remap: add . at end of long description 2017-01-29 13:29:33 +01:00
vf_removegrain.c
vf_removelogo.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_repeatfields.c
vf_rotate.c
vf_sab.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_scale.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_scale_cuda.c avfilter/scale_cuda: add CUDA scale filter 2017-05-15 11:46:50 +02:00
vf_scale_cuda.cu avfilter/scale_cuda: add CUDA scale filter 2017-05-15 11:46:50 +02:00
vf_scale_npp.c Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
vf_scale_qsv.c avfilter: Add AV_OPT_FLAG_FILTERING_PARAM where it is missing 2017-03-30 03:12:05 +02:00
vf_scale_vaapi.c Merge commit 'e3fb74f7f9' 2017-03-30 00:02:08 +02:00
vf_selectivecolor.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_separatefields.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_setfield.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_showinfo.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_showpalette.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_shuffleframes.c avfilter/vf_shuffleframes: allow also dropping frames 2017-01-06 12:27:46 +01:00
vf_shuffleplanes.c
vf_signalstats.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_signature.c avfilter/vf_signature: Replace uncommon spelling of seperate 2017-03-26 20:34:47 +02:00
vf_smartblur.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_spp.c
vf_spp.h avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_ssim.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_stack.c
vf_stereo3d.c
vf_subtitles.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_super2xsai.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_swaprect.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_swapuv.c
vf_telecine.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_threshold.c avfilter: add threshold filter 2017-01-30 18:44:08 +01:00
vf_thumbnail.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_tile.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_tinterlace.c avfilter/interlace: add complex vertical low-pass filter 2017-05-02 14:09:50 -03:00
vf_transpose.c lavfi/transpose: add missing const options flags 2016-12-27 23:49:44 +01:00
vf_unsharp.c avfilter/vf_unsharp: Free out AVFrame on error 2017-02-03 21:52:22 +01:00
vf_uspp.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_vaguedenoiser.c
vf_vectorscope.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_vflip.c
vf_vidstabdetect.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_vidstabtransform.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_vignette.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_w3fdif.c
vf_waveform.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
vf_weave.c avfilter: add doubleweave filter 2017-04-22 13:18:59 +02:00
vf_xbr.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vf_yadif.c
vf_zoompan.c avfilter/vf_zoompan: Free out frame on error 2017-03-31 12:28:58 +02:00
vf_zscale.c zscale: Add range options aliases to match scale ones 2017-05-26 10:29:32 -04:00
video.c Merge commit '7433feb82f' 2017-03-29 23:12:00 +02:00
video.h
vidstabutils.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vidstabutils.h
vsink_nullsink.c
vsrc_cellauto.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vsrc_life.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vsrc_mandelbrot.c avfilter: don't anonymously typedef structs 2017-05-13 11:39:28 +02:00
vsrc_mptestsrc.c
vsrc_testsrc.c avfilter: do not use AVFrame accessor 2017-04-23 14:40:30 +07:00
w3fdif.h
window_func.c
window_func.h
yadif.h