FFmpeg/libavutil
Gyan Doshi 1c23abc88f avutil/eval: add function to track variable use
1)Some filters allow cross-referenced expressions e.g. x=y+10. In
such cases, filters evaluate expressions multiple times for
successful evaluation of all expressions. If the expression for one or
more variables contains a RNG, the result may vary across evaluation
leading to inconsistent values across the cross-referenced expressions.

2)A related case is circular expressions e.g. x=y+10 and y=x+10 which
cannot be succesfully resolved.

3)Certain filter variables may only be applicable in specific eval modes
and lead to a failure of evaluation in other modes e.g. pts is only
relevant for frame eval mode.

At present, there is no reliable means to identify these occurrences and
thus the error messages provided are broad or inaccurate. The helper
function introduced - av_expr_count_vars - allows developers to identify
the use and count of variables in expressions and thus tailor the error
message, allow for a graceful fallback and/or decide evaluation order.
2019-11-17 11:07:05 +05:30
..
aarch64 Add assembly support for -fsanitize=hwaddress tagged globals. 2019-08-22 11:22:07 +02:00
arm Merge commit '41cf3e3b1ca375962951fde1b90a03b16197d205' 2019-02-20 14:48:58 -03:00
avr32
bfin
mips avcodec/mips: msa optimizations for vc1dsp 2019-10-30 18:09:00 +01:00
ppc avutil/ppc/cpu: Fix power8 linux detection 2019-02-05 09:29:57 +02:00
sh4
tests avutil: Add NV24 and NV42 pixel formats 2019-05-12 07:51:02 -07:00
tomi
x86 x86/float_dsp: add ff_vector_dmul_{sse2,avx} 2018-09-14 12:54:42 -03:00
.gitignore
adler32.c
adler32.h
aes_ctr.c avutil/aes_ctr: Add method to set 16-byte IV. 2018-01-23 21:48:31 +01:00
aes_ctr.h avutil/aes_ctr: Add method to set 16-byte IV. 2018-01-23 21:48:31 +01:00
aes_internal.h
aes.c
aes.h
attributes.h Merge commit '8e2346154e6d58b733fd20326ce706f82fd91b3e' 2017-10-21 14:25:55 -03:00
audio_fifo.c Merge commit '0456e684394dc5a7b98ab9ebb48396d743bf3730' 2017-03-24 13:17:55 +01:00
audio_fifo.h
avassert.h Fix typos 2018-09-14 21:36:21 +02:00
avsscanf.c avutil/avsscanf: do not use long double functions 2018-12-15 09:58:28 +01:00
avstring.c avutil/avstring: support input path as a null pointer or empty string 2019-10-08 14:12:43 +08:00
avstring.h avutil/avstring: support input path as a null pointer or empty string 2019-10-08 14:12:43 +08:00
avutil.h lavu: add av_fourcc_make_string() and av_fourcc2str() 2017-03-29 14:49:29 +02:00
avutilres.rc
base64.c
base64.h
blowfish.c
blowfish.h
bprint.c
bprint.h
bswap.h
buffer_internal.h Merge commit '27079a426c9d3db918b158976e44b9b143d78e1c' 2017-03-22 17:46:01 +01:00
buffer.c Merge commit '27079a426c9d3db918b158976e44b9b143d78e1c' 2017-03-22 17:46:01 +01:00
buffer.h Merge commit 'ec021d48445a414325ad59a73f9cde3212b173e4' 2017-03-18 19:22:30 +01:00
camellia.c
camellia.h
cast5.c
cast5.h
channel_layout.c avutil/channel_layout: add av_get_extended_channel_layout 2017-01-24 23:51:36 +01:00
channel_layout.h avutil/channel_layout: add av_get_extended_channel_layout 2017-01-24 23:51:36 +01:00
color_utils.c
color_utils.h
colorspace.h avutil/colorspace: add macros for RGB->YUV BT.709 2019-04-19 17:10:20 +05:30
common.h avutil/common: Fix underflow for ROUNDED_DIV with unsigned integer 2019-10-06 17:28:29 +08:00
cpu_internal.h Merge commit '4cf84e254ae75b524e1cacae499a97d7cc9e5906' 2018-02-11 23:08:48 -03:00
cpu.c avutil: add AVX-512 flags 2017-12-24 22:02:41 +01:00
cpu.h avutil: add AVX-512 flags 2017-12-24 22:02:41 +01:00
crc.c crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1D 2018-03-07 22:26:53 +01:00
crc.h crc: add AV_CRC_8_SBC as a 8 bits CRC with polynomial 0x1D 2018-03-07 22:26:53 +01:00
cuda_check.h avutil/cuda_check: Fix non-dynamic-loader implementation 2019-02-24 09:13:01 -08:00
des.c
des.h
dict.c
dict.h
display.c
display.h Merge commit '075acbb6ff5740b2eea1bb7dd3afbc8e66e2ebf8' 2017-04-13 17:31:15 -03:00
downmix_info.c
downmix_info.h
dynarray.h avutil/dynarry.h: fix comment grammar mistakes of FF_DYNARRAY_ADD 2019-06-01 17:43:48 +08:00
encryption_info.c avutil/encryption_info: Don't pass NULL to memcpy 2019-09-20 23:26:34 +02:00
encryption_info.h avutil/encryption_info: Fix documentation problem. 2018-06-27 13:43:38 +02:00
error.c
error.h
eval.c avutil/eval: add function to track variable use 2019-11-17 11:07:05 +05:30
eval.h avutil/eval: add function to track variable use 2019-11-17 11:07:05 +05:30
ffmath.h
fifo.c fifo: Return the correct AVERROR value 2017-01-26 10:25:20 +01:00
fifo.h
file_open.c avpriv_tempfile: add djgpp fallback 2018-11-28 22:16:07 +11:00
file.c avutil/file: add more check befor destory the buffer 2019-08-30 09:16:01 +08:00
file.h avutil/file: allow mapping 0 byte files with av_file_map 2018-09-09 21:21:42 +02:00
fixed_dsp.c
fixed_dsp.h
float_dsp.c avutil: add float_dsp.vector_dmul 2018-09-12 19:15:09 +02:00
float_dsp.h avutil: add float_dsp.vector_dmul 2018-09-12 19:15:09 +02:00
frame.c avutil/frame: fix remove_side_data 2019-11-11 22:15:45 +01:00
frame.h avutil/frame: fix remove_side_data 2019-11-11 22:15:45 +01:00
hash.c avutil/crypto: change length parameter to size_t on the remaining modules 2018-02-15 11:21:28 -03:00
hash.h avutil/crypto: change length parameter to size_t on the remaining modules 2018-02-15 11:21:28 -03:00
hdr_dynamic_metadata.c Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hdr_dynamic_metadata.h Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hmac.c Merge commit '00b6a765430e5c5cacf0bd1be8b318d631cd4e14' 2017-05-05 13:27:03 +02:00
hmac.h avutil/hmac: remove gap in AVHMACType enum values 2017-10-22 19:47:05 -03:00
hwcontext_cuda_internal.h avutil/hwcontext_cuda: use dynamically loaded CUDA 2016-11-22 10:34:27 +01:00
hwcontext_cuda.c avutil/hcontext_cuda: Remove unnecessary stream synchronisation 2019-03-30 10:56:49 -07:00
hwcontext_cuda.h avutil/hwcontext_cuda: add CUstream in cuda hwctx 2018-05-10 00:34:22 +02:00
hwcontext_d3d11va.c lavu/hwcontext_d3d: Cast src pointers calling av_image_copy*(). 2019-04-19 14:20:24 +02:00
hwcontext_d3d11va.h hwcontext_d3d11va: add missing stdint.h include 2017-11-17 23:27:43 +01:00
hwcontext_drm.c lavu: Add DRM hwcontext 2017-09-13 22:03:27 +01:00
hwcontext_drm.h hwcontext_drm: Clarify value for unknown format modifiers 2018-03-22 23:18:53 +00:00
hwcontext_dxva2.c lavu/hwcontext_d3d: Cast src pointers calling av_image_copy*(). 2019-04-19 14:20:24 +02:00
hwcontext_dxva2.h dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-27 18:05:02 +02:00
hwcontext_internal.h hwcontext_internal: add ff_hwframe_map_replace 2018-06-21 16:34:06 +01:00
hwcontext_mediacodec.c lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC 2017-12-16 00:52:00 +01:00
hwcontext_mediacodec.h lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC 2017-12-16 00:52:00 +01:00
hwcontext_opencl.c libavutil/hwcontext_opencl: Fix channel order in format support check 2019-04-09 22:16:01 +01:00
hwcontext_opencl.h lavu/hwcontext_opencl.h: fix build on macOS 2017-11-28 00:23:42 -06:00
hwcontext_qsv.c lavu/qsv: remove redundant version query 2019-09-27 23:50:57 +08:00
hwcontext_qsv.h
hwcontext_vaapi.c avutil/hwcontext_vaapi: move kernel_driver into CONFIG_LIBDRM 2019-07-11 09:34:57 +08:00
hwcontext_vaapi.h hwcontext_vaapi: Try to support the VDPAU wrapper 2017-06-14 22:23:43 +01:00
hwcontext_vdpau.c avutil/hwcontext_vdpau: Map 444 pix fmts to new VdpYCbCr types 2019-05-05 11:35:35 -07:00
hwcontext_vdpau.h
hwcontext_videotoolbox.c avcodec/videotoolbox: add support for full range pixel formats 2019-09-04 10:51:20 -07:00
hwcontext_videotoolbox.h avcodec/videotoolbox: add support for full range pixel formats 2019-09-04 10:51:20 -07:00
hwcontext.c hwcontext_internal: add ff_hwframe_map_replace 2018-06-21 16:34:06 +01:00
hwcontext.h hwcontext: Fix documentation for av_hwdevice_ctx_alloc() 2018-02-04 13:47:19 +00:00
imgutils_internal.h Merge commit 'd7bc52bf456deba0f32d9fe5c288ec441f1ebef5' 2017-03-20 08:34:10 +01:00
imgutils.c avutil/imgutils: remove dead assignment 2019-08-22 21:38:41 +02:00
imgutils.h Merge commit 'ce6d72d10776b03c6780d4aa676414ce002285d4' 2017-09-27 20:35:04 -03:00
integer.c avutil/integer: Fix integer overflow in av_mul_i() 2018-10-24 23:15:24 +02:00
integer.h
internal.h lavu/internal: Replace an empty loop with "do {}". 2018-12-19 15:46:29 +01:00
intfloat.h
intmath.c
intmath.h intmath: add faster clz support 2017-03-01 11:23:19 -05:00
intreadwrite.h intreadwrite: add AV_RL64A, AV_WL64A 2019-01-11 23:43:37 +11:00
lfg.c libavutil: add av_lfg_init_from_data() function 2017-01-22 02:28:53 +01:00
lfg.h avutil/lfg: Document the AVLFG struct 2019-11-09 16:10:02 +01:00
libavutil.v
libm.h
lls.c
lls.h
log2_tab.c
log.c avutil/log: Replace the number by macro for bprint init 2018-06-17 09:59:33 +08:00
log.h Merge commit '35cf146a33ce41a1adb6c9bd5a0827eacb1b6bfc' 2017-10-23 18:20:07 -03:00
lzo.c
lzo.h
macros.h
Makefile lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
mastering_display_metadata.c lavu: add support for Content Light Level side metadata 2017-04-06 11:26:25 -03:00
mastering_display_metadata.h avutil/mastering_display_metadata: fix copyright header wrongly formated as doxy 2018-01-11 11:35:51 -03:00
mathematics.c avutil/mathematics: Fix 2 overflows in av_add_stable() 2019-08-31 18:34:05 +02:00
mathematics.h
md5.c avutil/md5: fix misaligned reads 2017-06-02 21:00:35 -04:00
md5.h Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
mem_internal.h
mem.c avutil/mem: Optimize fill32() by unrolling and using 64bit 2019-01-20 21:42:20 +01:00
mem.h avutil/mem: Fix invalid use of av_alloc_size 2018-11-26 23:47:29 +01:00
motion_vector.h
murmur3.c avutil/crypto: change length parameter to size_t on the remaining modules 2018-02-15 11:21:28 -03:00
murmur3.h avutil/crypto: change length parameter to size_t on the remaining modules 2018-02-15 11:21:28 -03:00
opt.c avutil/opt: print runtime flag too 2019-10-14 11:28:54 +02:00
opt.h avutil/opt: add AV_OPT_FLAG_RUNTIME_PARAM flag 2019-10-14 11:28:54 +02:00
parseutils.c lavu/parseutils: Allow to parse >= 100 hours. 2019-02-09 13:59:10 +01:00
parseutils.h
pca.c
pca.h
pixdesc.c avutil/pixfmt: Add EBU Tech. 3213-E AVColorPrimaries value 2019-09-01 19:56:05 -03:00
pixdesc.h avutil/pixdesc: Add av_write_image_line2(), av_read_image_line2() 2018-10-27 22:39:27 +02:00
pixelutils.c lavutil/pixelutils: add sad_32x32 in pixelutils API. 2018-07-31 19:09:35 +08:00
pixelutils.h
pixfmt.h avutil/pixfmt: Add EBU Tech. 3213-E AVColorPrimaries value 2019-09-01 19:56:05 -03:00
qsort.h
random_seed.c random_seed: use bcrypt instead of the old wincrypt API 2018-04-19 10:54:26 +03:00
random_seed.h
rational.c
rational.h
rc4.c
rc4.h
replaygain.h
reverse.c
reverse.h avutil/reverse: move the ff_reverse declaration to a separate header 2017-01-12 19:59:37 -03:00
ripemd.c avutil/crypto: change length parameter to size_t on the remaining modules 2018-02-15 11:21:28 -03:00
ripemd.h avutil/crypto: change length parameter to size_t on the remaining modules 2018-02-15 11:21:28 -03:00
samplefmt.c
samplefmt.h
sha512.c lavu/sha512: update length argument following sha+md5 changes 2017-05-05 13:24:35 +02:00
sha512.h lavu/sha512: update length argument following sha+md5 changes 2017-05-05 13:24:35 +02:00
sha.c Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
sha.h Merge commit 'e435beb1ea5380a90774dbf51fdc8c941e486551' 2017-05-05 13:04:38 +02:00
slicethread.c w32pthreads: always use Vista+ API, drop XP support 2017-12-26 02:49:48 +01:00
slicethread.h avutil: merge slice threading implementation from avcodec and avfilter 2017-07-19 15:50:07 +07:00
softfloat_ieee754.h avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754() 2019-07-21 11:26:36 +02:00
softfloat_tables.h
softfloat.h avutil/softfloat: Add FLOAT_MIN 2017-11-05 22:13:16 +01:00
spherical.c spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
spherical.h spherical: add functions to retrieve and request projection names 2017-04-27 09:59:54 -04:00
stereo3d.c Merge commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3' 2017-09-26 16:02:40 -03:00
stereo3d.h Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa' 2017-11-29 21:06:49 -03:00
tablegen.h
tea.c
tea.h
thread.h lavc: replace and deprecate the lock manager 2017-12-26 02:50:00 +01:00
threadmessage.c lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
threadmessage.h lavu/threadmessage: add av_thread_message_queue_nb_elems() 2018-04-26 19:41:19 +02:00
time_internal.h Merge commit 'c4642788e83b0858bca449f9b6e71ddb015dfa5d' 2019-05-02 13:50:31 -03:00
time.c avutil/tile: check clock_gettime at runtime for apple platforms 2017-01-09 11:52:06 +08:00
time.h
timecode.c avutil/timecode: fix starting frame number for 59.94 fps 2018-02-23 01:53:34 +01:00
timecode.h lavu/timecode: Increase AV_TIMECODE_STR_SIZE. 2017-05-05 10:09:12 +02:00
timer.h Merge commit 'b46900914a1f25ce8dbf49d7c53766ff1f18b60f' 2017-11-11 16:42:27 -03:00
timestamp.h
tree.c
tree.h
twofish.c
twofish.h
tx_double.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_float.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_priv.h lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_template.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx.h lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
utils.c lavc: drop VDA 2017-10-23 11:56:15 +02:00
version.h avutil/eval: add function to track variable use 2019-11-17 11:07:05 +05:30
wchar_filename.h Merge commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e' 2017-11-11 10:22:11 -03:00
xga_font_data.c
xga_font_data.h Merge commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0' 2017-11-11 11:29:16 -03:00
xtea.c
xtea.h