Paul B Mahol
efee86fafa
avfilter/vf_xfade: add circleopen & circleclose transition
2020-02-04 10:39:02 +01:00
Paul B Mahol
c4e29d0ba3
avfilter/vf_xfade_opencl: move passthrough code before eof check
2020-02-03 09:40:46 +01:00
Paul B Mahol
6d5e9ed67c
avfilter/vf_xfade: move passthrough code before eof check
2020-02-03 09:36:52 +01:00
Paul B Mahol
cd823dadf9
avfilter: add xfade opencl filter
2020-02-02 14:08:56 +01:00
Paul B Mahol
e5e7289ea8
avfilter/vf_xfade: remove unused header
2020-02-01 22:06:11 +01:00
Paul B Mahol
5c9a4ff8c1
avfilter/vf_psnr: fix logic failure when comparing time bases
2020-02-01 21:10:25 +01:00
Paul B Mahol
89eee09739
avfilter/vf_ssim: fix logic failure when comparing time bases
2020-02-01 21:09:32 +01:00
Marton Balint
c044ac2071
avfilter/vf_geq: use per-thread AVExpr for expression evaluation
...
There was no consensus about separating AVExprState from AVExpr so here is a
minimal patch using the existing AVExpr to fix ticket #7528 .
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-31 22:47:49 +01:00
Paul B Mahol
53b4128ea0
avfilter/vf_xfade: add smooth transitions
2020-01-31 13:14:13 +01:00
Marton Balint
62d92a878d
avfilter/vf_drawtext: do not overread text if the last UTF8 sequence is invalid
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-31 00:15:13 +01:00
Marton Balint
5ac8389cfa
avfilter/vf_drawtext: use replacement chars for invalid UTF8 sequences
...
continue is explicitly disallowed for GET_UTF8, so let's fix that as well.
Fixes crash with invalid UTF8 sequences.
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-31 00:15:13 +01:00
Paul B Mahol
0a275fec62
avfilter/vf_xfade: add radial transition
2020-01-30 17:29:31 +01:00
Paul B Mahol
863accbefa
avfilter: add xfade filter
2020-01-30 16:35:33 +01:00
Marton Balint
47d5d0cc74
avfilter/vf_geq: fix multiple assignments of ptr in slice_geq_filter
...
Fixes Coverity CID 1427183.
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-29 19:53:43 +01:00
Andreas Rheinhardt
ab39f0d841
avfilter/asrc_sinc: Don't allocate arrays separately
...
Besides the obvious advantages this also fixes a potential memleak:
If only one of the arrays had been successfully allocated, the other
would leak. This also fixes Coverity issues #1440386 and #1440387 .
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-28 17:18:27 +01:00
Paul B Mahol
32ea6ffb16
avfilter/vf_colorconstancy: fix memory leak on error
...
Also remove unneeded log message while here.
2020-01-27 16:58:50 +01:00
Michael Niedermayer
dfc4714886
avfilter/vf_find_rect: Remove assert
...
A score of 0 is possible
Fixes: Ticket8500
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-27 12:01:42 +01:00
Michael Niedermayer
6ff2474e02
avfilter/vf_find_rect: Increase worst case score
...
score could be 1.0 which lead to uninitialized values
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-27 12:01:42 +01:00
Gyan Doshi
6e6b34917e
avfilter/scale: don't fail for circular expressions
...
Due to conditional expressions, it is possible for them to be resolved
successfully. A warning is still printed.
2020-01-26 21:06:53 +05:30
Paul B Mahol
ecd95858d4
avfilter/vf_tonemap_opencl: fix long filter description
2020-01-26 14:51:52 +01:00
Paul B Mahol
4b4bcb126c
avfilter/vf_v360: do not remap alpha plane if that will be overwritten later
2020-01-25 20:00:53 +01:00
Paul B Mahol
9990cb16d3
avfilter/vf_v360: mark another hemisphere not visible for flat input format
2020-01-25 14:34:05 +01:00
Paul B Mahol
8d861cd850
avfilter/vf_v360: add mask option, unset pixels are marked as transparent
2020-01-25 14:34:05 +01:00
Paul B Mahol
31350de997
avfilter/vf_deshake_opencl: silence warning about usage of uninitialized value
2020-01-25 11:42:32 +01:00
Paul B Mahol
a4f2fc9341
avfilter/vf_v360: fix fov calculation from dfov for fisheye input/output
2020-01-24 23:22:38 +01:00
Paul B Mahol
d033f403d6
avfilter/vf_v360: support input flips for tetrahedron format
2020-01-23 11:20:18 +01:00
Paul B Mahol
05d3d09cf5
avfilter/vf_v360: fix small artifacts with tetrahedron inputs
2020-01-23 11:20:18 +01:00
Paul B Mahol
ec4f764249
avfilter/vf_v360: add tetrahedron format
2020-01-22 23:49:32 +01:00
Paul B Mahol
a3e67c2d2f
avfilter/vf_stack: add fill option for xstack
2020-01-22 19:13:51 +01:00
Paul B Mahol
a00fa73f47
avfilter/vf_v360: improve fisheye input format
2020-01-22 12:59:35 +01:00
Paul B Mahol
103a29b89d
avfilter/vf_v360: add support for fisheye input format
2020-01-21 20:12:54 +01:00
Paul B Mahol
fc2523c792
avfilter/vf_v360: add support for input fov to input sg format
2020-01-21 12:02:27 +01:00
Paul B Mahol
19f75e7787
avfilter/vf_v360: add support for cylindrical input format
2020-01-21 00:21:56 +01:00
Paul B Mahol
e57b9aa8b1
avfilter/vf_v360: add support for flat input format
2020-01-20 21:10:37 +01:00
Paul B Mahol
091695f8e8
avfilter/vf_v360: rewrite fov_from_dfov()
2020-01-20 21:10:37 +01:00
Paul B Mahol
15133c6ab2
avfilter/vf_v360: replace rest of roundf() with lrintf()
2020-01-19 19:54:29 +01:00
Paul B Mahol
3bf28d40e5
avfilter/vf_v360: change remaps to int16_t type
2020-01-19 19:54:29 +01:00
Paul B Mahol
ff5e241bca
avfilter/vf_v360: move map variable up
2020-01-19 19:54:29 +01:00
Paul B Mahol
fdc61267b4
avfilter/vf_v360: make more stuff const
2020-01-19 19:54:29 +01:00
Gyan Doshi
4de2106fbf
avfilter/pad: improve error check for w and h
...
Target dimensions have to cover entire input.
2020-01-19 11:17:53 +05:30
Paul B Mahol
feeef2f80c
avfilter/vf_normalize: add support for >8 depth
2020-01-18 17:28:23 +01:00
Paul B Mahol
ac51173024
avfilter/vf_normalize: add support for planar rgb
2020-01-18 17:28:23 +01:00
Paul B Mahol
4545699625
avfilter/vf_normalize: factor code dealing with AVFrame pixels out
2020-01-18 17:28:23 +01:00
Paul B Mahol
1908818e7b
avfilter/vf_normalize: move luts into private context
2020-01-18 17:28:23 +01:00
Paul B Mahol
273886fa60
avfilter/asrc_anoisesrc: add velvet noise
2020-01-18 17:27:10 +01:00
Paul B Mahol
fdddc0d678
avfilter/vf_v360: add perspective output projection
2020-01-18 17:25:48 +01:00
Paul B Mahol
62a0d22621
avfilter/vf_v360: add gaussian interpolation
2020-01-18 13:43:33 +01:00
Paul B Mahol
3972ec28e7
avfilter/vf_v360: fix some small nits
2020-01-18 11:34:10 +01:00
Paul B Mahol
aa42a1e6d7
avfilter/vf_v360: add spline16 interpolation
2020-01-18 10:27:11 +01:00
Gyan Doshi
c95dfe5cce
avfilter/f_metadata: correct check for existing metadata
...
When adding metadata, existing dictionary need not be present.
2020-01-17 17:35:31 +05:30
Paul B Mahol
7fc28465df
avfilter/vf_v360: add cylindrical output projection
2020-01-17 10:46:31 +01:00
Paul B Mahol
330b157c9e
avfilter/vf_v360: add pannini output projection
2020-01-16 20:06:28 +01:00
Paul B Mahol
6e082f9f04
avfilter/vf_v360: add fisheye output projection
2020-01-16 18:22:28 +01:00
Gyan Doshi
0777b197c5
avfilter/swaprect: correct assignment of VAR_POS
...
Revert regression introduced in 6af050d7d0
2020-01-15 14:27:51 +05:30
Gyan Doshi
0dc0837960
avfilter/scale: add animation support
...
Width and height expressions in scale and scale2ref filters can now
reference frame index, timestamp and packet position.
2020-01-15 12:03:47 +05:30
Gyan Doshi
ce2cfa67aa
avfilter/scale: add function to check expressions
...
Allows finer identification and logging of invalid expressions and use
of a single list for symbols and their index for both scale and
scale2ref.
2020-01-15 11:26:49 +05:30
Gyan Doshi
6310fbd543
avfilter/scale: separate exprs parse and eval
...
Retains parsed expressions which allows for better
error-checking and adding animation support.
2020-01-15 11:26:46 +05:30
Gyan Doshi
cc9a7cae76
avfilter/scale2ref: update links and re-eval expr upon ref frame change
...
Needed when filtergraph reinit is disabled for the ref input.
2020-01-15 11:26:38 +05:30
Gyan Doshi
c21462d42e
avfilter/scale: store frame change eval
...
Better readability and allows reuse
2020-01-15 11:26:32 +05:30
Limin Wang
72a08af8ba
avfilter/vf_eq: cosmetics
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-14 19:19:30 +01:00
Paul B Mahol
7e4b0d377f
avfilter/avf_showspectrum: check if frame clone is set
2020-01-14 16:52:08 +01:00
Paul B Mahol
cc752233fb
avfilter/f_ebur128: check if frame clone is set
2020-01-14 16:52:08 +01:00
Paul B Mahol
c43f8baa41
avfilter/avf_aphasemeter: check if clone frame is set
2020-01-14 16:52:07 +01:00
Paul B Mahol
d580c7a797
avfilter/avf_ahistogram: check if frame clone is set
2020-01-14 16:52:07 +01:00
Paul B Mahol
928020b9d0
avfilter/asr_anullsrc: remove pointless frame cloning
2020-01-14 16:52:07 +01:00
Paul B Mahol
f6f6857c2a
avfilter/af_anequalizer: check if frame clone is set
2020-01-14 16:52:07 +01:00
Paul B Mahol
80c4c336f9
avfilter/af_aiir: check if frame clone is set
2020-01-14 16:52:07 +01:00
Paul B Mahol
2a9a52b913
avfilter/af_afir: check if frame clone is set
2020-01-14 16:52:07 +01:00
Paul B Mahol
f9897eda43
avfilter/avf_avectorscope: check if clone frame is set
2020-01-14 16:52:07 +01:00
Guo, Yejun
4e1ae43b17
lavfi/dnn_processing: refine code to use function av_image_copy_plane for data copy
...
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2020-01-14 11:29:43 -03:00
Paul B Mahol
d9a52b0bbf
avfilter/f_drawgraph: add rate/r option
2020-01-14 09:54:53 +01:00
Jun Zhao
722547996c
lavfi/volume: enable runtime change flag
...
enable runtime change flag.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
b5cea39190
lavfi/zscale: enable runtime change flag
...
enable runtime change flag
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
a2619a473e
lavfi/firequalizer: enable runtime change flag
...
enable runtime change flag
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
b7bf55550c
lavfi/eq: enable runtime change flag
...
enable runtime change flag
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
419e47788a
lavfi/rotate: enable runtime change flag
...
enable runtime change flag
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
f2a095ac2a
lavfi/streamselect: enable runtime change flag
...
enable runtime change flag.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
d9e78a723a
lavfi/scale: enable runtime change flag
...
enable runtime change flag.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
8cebc8e479
lavfi/hue: enable runtime change flag
...
enable runtime change flag.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
31b24588c5
lavfi/crop: enable runtime change flag
...
enable runtime change flag.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
94004a8b65
lavfi/spp: enable runtime change flag
...
enable runtime change flag.
Reviewe-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Jun Zhao
692f0519bb
lavfi/spp: add "quality" option in runtime change path
...
it's stranage to use option "level" in runtime change path but used
"quality" in option, add "quality" in runtime change path, it's more
intuitive and keep the "level" for compatibility.
Reviewe-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-13 09:25:18 +08:00
Paul B Mahol
1a7f4a122e
avfilter: add freezeframes video filter
2020-01-11 19:05:17 +01:00
Paul B Mahol
b650046860
avfilter/af_dynaudnorm: use better limits for maximal amplification
...
Fixes regression in smoothness of amplification.
2020-01-11 14:08:52 +01:00
Limin Wang
dd39dbf983
avfilter/af_amix: change the max range of the number of inputs
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-01-11 11:35:51 +01:00
Limin Wang
a144cd6a51
avfilter/vf_mix: change the max range of the number of inputs
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-01-11 11:35:39 +01:00
Limin Wang
9519c8dbb7
avfilter/vf_showinfo: fix the integer handling issues
...
Fixes CID 1457606 and 1457607
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-10 17:52:14 +01:00
Gyan Doshi
22a06a539d
avfilter/f_metadata: allow direct flushing when printing to file
...
Useful for monitoring sparse data in realtime
2020-01-10 21:44:26 +05:30
Paul B Mahol
52bf43eb49
avfilter/af_afir: add support for switching impulse response streams at runtime
...
Currently, switching is not free of artifacts, to be resolved later.
2020-01-10 13:14:54 +01:00
Paul B Mahol
03a7240a73
avfilter/af_afir: add support for even smaller partition sizes
2020-01-10 13:05:21 +01:00
Paul B Mahol
e364fe4cca
avfilter/af_afir: split input frames from impulse response frames
2020-01-10 12:43:18 +01:00
Gyan Doshi
5bd001043d
avfilter/aformat: add shorthand names for options
2020-01-08 11:15:13 +05:30
Guo, Yejun
37d24a6c8f
vf_dnn_processing: add support for more formats gray8 and grayf32
...
The following is a python script to halve the value of the gray
image. It demos how to setup and execute dnn model with python+tensorflow.
It also generates .pb file which will be used by ffmpeg.
import tensorflow as tf
import numpy as np
from skimage import color
from skimage import io
in_img = io.imread('input.jpg')
in_img = color.rgb2gray(in_img)
io.imsave('ori_gray.jpg', np.squeeze(in_img))
in_data = np.expand_dims(in_img, axis=0)
in_data = np.expand_dims(in_data, axis=3)
filter_data = np.array([0.5]).reshape(1,1,1,1).astype(np.float32)
filter = tf.Variable(filter_data)
x = tf.placeholder(tf.float32, shape=[1, None, None, 1], name='dnn_in')
y = tf.nn.conv2d(x, filter, strides=[1, 1, 1, 1], padding='VALID', name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'halve_gray_float.pb', as_text=False)
print("halve_gray_float.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate halve_gray_float.model\n")
output = sess.run(y, feed_dict={x: in_data})
output = output * 255.0
output = output.astype(np.uint8)
io.imsave("out.jpg", np.squeeze(output))
To do the same thing with ffmpeg:
- generate halve_gray_float.pb with the above script
- generate halve_gray_float.model with tools/python/convert.py
- try with following commands
./ffmpeg -i input.jpg -vf format=grayf32,dnn_processing=model=halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native out.native.png
./ffmpeg -i input.jpg -vf format=grayf32,dnn_processing=model=halve_gray_float.pb:input=dnn_in:output=dnn_out:dnn_backend=tensorflow out.tf.png
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2020-01-07 10:51:38 -03:00
Guo, Yejun
04e6f8a143
vf_dnn_processing: remove parameter 'fmt'
...
do not request AVFrame's format in vf_ddn_processing with 'fmt',
but to add another filter for the format.
command examples:
./ffmpeg -i input.jpg -vf format=bgr24,dnn_processing=model=halve_first_channel.model:input=dnn_in:output=dnn_out:dnn_backend=native -y out.native.png
./ffmpeg -i input.jpg -vf format=rgb24,dnn_processing=model=halve_first_channel.model:input=dnn_in:output=dnn_out:dnn_backend=native -y out.native.png
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2020-01-07 10:35:59 -03:00
Limin Wang
d31a1266a7
avfilter/vf_showinfo: Fix erroneous results for mean and stdev with pixel bits >8
...
Have tested with be and le pixel format on be and le system for >8bit.
System:
lmwang@ubuntu:~/ffmpeg.git.mips$ grep HAVE_BIGENDIAN config.h
ffmpeg.git git:(showinfo) ✗ grep HAVE_BIGENDIAN config.h
Test result:
1, yuv420p
./ffmpeg -f lavfi -i color=black:duration=1:r=1:size=1280x720,format=yuv420p,showinfo
Master:
mean:[16 128 128] stdev:[0.0 0.0 0.0]
After applied the patch:
mean:[16 128 128] stdev:[0.0 0.0 0.0]
2, yuv420p10le
./ffmpeg -f lavfi -i color=black:duration=1:r=1:size=1280x720,format=yuv420p10le,showinfo
Master:
mean:[32 1 1] stdev:[32.0 1.0 1.0]
After applied the patch:
mean:[64 512 512] stdev:[0.0 0.0 0.0]
3, yuv420p10be
./ffmpeg -f lavfi -i color=black:duration=1:r=1:size=1280x720,format=yuv420p10be,showinfo
Master:
mean:[32 1 1] stdev:[32.0 1.0 1.0]
After applied the patch:
mean:[64 512 512] stdev:[0.0 0.0 0.0]
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-07 02:49:44 +01:00
Mark Thompson
f907eea863
vf_tonemap_vaapi: Fix memory leak in error case
...
Fixes CID 1457236.
2020-01-07 00:04:50 +00:00
Carl Eugen Hoyos
96fab29e96
Silence "string-plus-int" warning shown by clang.
...
libswscale/utils.c:89:42: warning: adding 'unsigned long' to a string does not append to the string [-Wstring-plus-int]
2020-01-06 22:38:56 +01:00
Paul B Mahol
e21ba176c9
avfilter/af_sidechaincompress: add support for commands
2020-01-06 19:40:07 +01:00
Paul B Mahol
27ec72db06
avfilter/af_dynaudnorm: add support for commands
2020-01-06 14:23:53 +01:00
Paul B Mahol
e26d66daaa
avfilter/af_dynaudnorm: use already available pointer
...
Instead of dereferencing same thing again.
2020-01-05 10:22:57 +01:00