Paul B Mahol
c7d8082357
avfilter: add asubboost filter
2020-04-30 12:18:36 +02:00
Paul B Mahol
2970846fc1
avfilter/vf_v360: make FOV adjusted for dual fisheye too
...
Remove any usage of padding for this format.
2020-04-29 19:18:25 +02:00
Paul B Mahol
d8147c4e2d
avfilter/af_amix: make weights option runtime configured
2020-04-29 19:18:25 +02:00
Steven Liu
d813e43b3d
avfilter/vf_v360: adjustment out_pad and in_pad maximum value to 1/10
...
Because not every user know about in_pad and out_pad reasonable value range
so maybe try to set 1.0, but setting 1.0 is so hugh to get an fatal error.
Suggested-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2020-04-29 13:48:02 +01:00
Paul B Mahol
f53fc935b8
avfilter/vf_pixscope: also show standard deviation of zoomed area
2020-04-26 12:27:36 +02:00
Paul B Mahol
35bcbfd6da
avfilter/f_interleave: no need to check for inlink eof if non-empty queue
...
Also set state to ready if there is any inlink with queued frame.
2020-04-25 13:35:22 +02:00
Paul B Mahol
ec3b5deab4
avfilter/f_interleave: make sure that all frames in inlink queue are used
2020-04-25 13:07:13 +02:00
Paul B Mahol
b29b934e4f
avfilter/f_interleave: add duration option
2020-04-25 12:35:22 +02:00
Lynne
b136a98303
scale_vulkan: take frame cropping parameters in account when scaling
...
Then sample_aspect_ratio line at the bottom was cargo-culted from the vaapi
scaling filter, but its unnecesary.
2020-04-23 18:23:45 +01:00
Lynne
f66ac83c22
overlay_vulkan: add support for overlaying images with an alpha channel
2020-04-23 18:23:45 +01:00
Guo, Yejun
8ce9d88f93
dnn/native: add native support for divide
...
it can be tested with model file generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
z1 = 2 / x
z2 = 1 / z1
z3 = z2 / 0.25 + 0.3
z4 = z3 - x * 1.5 - 0.3
y = tf.identity(z4, 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, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-22 13:15:00 +08:00
Guo, Yejun
ef79408e97
dnn/native: add native support for 'mul'
...
it can be tested with model file generated from above python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
z1 = 0.5 + 0.3 * x
z2 = z1 * 4
z3 = z2 - x - 2.0
y = tf.identity(z3, 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, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-22 13:14:47 +08:00
Guo, Yejun
6aa7e07e7c
dnn/native: add native support for 'add'
...
It can be tested with the model file generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
z1 = 0.039 + x
z2 = x + 0.042
z3 = z1 + z2
z4 = z3 - 0.381
z5 = z4 - x
y = tf.math.maximum(z5, 0.0, 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, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-22 13:14:30 +08:00
Paul B Mahol
4457f75c65
avfilter: add maskedthreshold filter
2020-04-18 12:34:49 +02:00
Paul B Mahol
9987f6d01e
avfilter: add tmedian filter
2020-04-18 12:34:49 +02:00
Limin Wang
403bee30a5
avfilter/af_acrossover: Check sscanf() return value
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-04-17 16:56:13 +02:00
Paul B Mahol
24db9372eb
avfilter/af_astats: add noise floor count stat
2020-04-17 13:28:01 +02:00
Paul B Mahol
715da29501
avfilter/af_astats: add slice threading support
2020-04-17 13:26:44 +02:00
Paul B Mahol
87b4fb65a8
avfilter/af_astats: measure noise floor
2020-04-17 13:26:30 +02:00
Paul B Mahol
0607f1bcb0
avfilter/af_amix: unbreak FATE, increase iterator when breaking from loop
2020-04-14 19:21:23 +02:00
Paul B Mahol
10a68ccd58
avfilter/af_amix: use av_strtod() for weights
2020-04-14 12:38:47 +02:00
Paul B Mahol
ce24b1def0
avfilter/vf_telecine: avoid possible null-pointer dereference
2020-04-14 12:12:42 +02:00
Paul B Mahol
70f866ad1b
avfilter/vf_mix: check if array is available
2020-04-13 16:44:01 +02:00
Gyan Doshi
2e2fa2d6e6
doc/filters: clarify metadata and logging for blackdetect
2020-04-13 11:23:24 +05:30
Carl Eugen Hoyos
dbc5c0c1c8
lavfi/telecine: Mark telecined frames as interlaced.
2020-04-11 13:48:52 +02:00
Gyan Doshi
49a32fa45c
avfilter/delogo: correct indentation for option show.
2020-04-11 11:46:48 +05:30
Gyan Doshi
74fe697f96
avfilter/delogo: remove deprecated options
...
Deprecated in 2015 in 8bc708fcee
2020-04-11 11:46:43 +05:30
Limin Wang
46d2b2071b
avfilter/ebur128: prefer to use variable instead of type for sizeof
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-04-09 15:03:36 +02:00
Rosen Penev
8beb9e571c
avfilter/vf_drawtext: only test available exceptions
...
soft float systems do not define these macros under musl.
Fixes: Ticket7102
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-09 00:59:21 +02:00
Lynne
97b526c192
hwcontext_vulkan: only use one semaphore per image
...
The idea was to allow separate planes to be filtered independently, however,
in hindsight, literaly nothing uses separate per-plane semaphores and it
would only work when each plane is backed by separate device memory.
2020-04-07 12:52:56 +01:00
Paul B Mahol
3f9fd9dcfd
avfilter/vf_xfade: add slice transitions
2020-04-07 13:51:25 +02:00
Guo, Yejun
7e4527e8fa
avfilter/vf_derain.c: put all the calculation in model file.
...
currently, the model outputs the rain, and so need a subtraction
in filter c code to get the final derain result.
I've sent a PR to update the model file and accepted, see at
https://github.com/XueweiMeng/derain_filter/pull/3
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2020-04-07 11:04:47 +08:00
Guo, Yejun
ffa1561608
dnn_backend_native_layer_mathbinary: add sub support
...
more math binary operations will be added here
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-07 11:04:34 +08:00
Guo, Yejun
2114c42418
avfilter/vf_dnn_processing.c: fix typo for the linesize of dnn data
...
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
2020-04-07 11:03:25 +08:00
Lynne
ca76a5ba1a
scale_vulkan: correctly copy the colormatrix
2020-04-06 19:16:35 +01:00
Carl Eugen Hoyos
61dcaf5fb7
lavf, lavfi: Remove uses of sizeof(char).
...
The C standard requires sizeof(char) == 1.
2020-04-04 23:21:14 +02:00
Carl Eugen Hoyos
e61767c40a
lavfi/scale_qsv: Fix a format specifier for a variable of type int.
2020-04-04 23:18:18 +02:00
Paul B Mahol
ec7fb45240
avfilter/vf_v360: add pannini input support
2020-04-04 14:16:28 +02:00
Paul B Mahol
dc67c0f180
avfilter/vf_v360: improve description of output fov options
2020-04-03 17:14:58 +02:00
Paul B Mahol
8e1354c95d
avfilter/x86/vf_v360_init: add missing cases
2020-04-02 12:25:37 +02:00
Paul B Mahol
e4809e12ea
avfilter/vf_v360: add SIMD for lagrange9 interpolation
2020-04-02 12:25:37 +02:00
Paul B Mahol
b00b935d99
avfilter/vf_v360: add lagrange9 interpolation
2020-04-02 12:25:37 +02:00
Carl Eugen Hoyos
00ce1ec6a5
lavfi/deshake_opencl: Do not use bool, powerpc does not like it.
...
Fixes ticket #8591 .
2020-04-01 15:48:19 +02:00
Paul B Mahol
72be5d4661
avfilter/vf_v360: fix swapped variables
2020-03-29 13:27:49 +02:00
Paul B Mahol
85025162da
avfilter/vf_v360: speedup fisheye output
2020-03-29 13:27:49 +02:00
Paul B Mahol
460001981f
avfilter/vf_v360: reduce unnecessary negations
2020-03-29 13:27:49 +02:00
Limin Wang
585ac1ff5b
avfilter/vf_showinfo: limit the max number of timecode
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-28 19:21:11 +01:00
Yaroslav Pogrebnyak
4976b102d8
avfilter: add vf_overlay_cuda
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2020-03-28 18:39:40 +01:00
Paul B Mahol
ddbd77da90
avfilter/af_acrossover: revert 270068b5a
...
Actually it did not work well.
2020-03-27 10:13:20 +01:00
Limin Wang
aa822007a4
avfilter/vf_showinfo: check if the s12m data size is valid
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-27 01:42:16 +01:00
Paul B Mahol
840e92da17
avfilter/vf_v360: improve sg input format
...
Specifically unbreak yaw functionality.
2020-03-26 13:53:22 +01:00
Paul B Mahol
7931e766ad
avfilter/vf_v360: improve sg output format
2020-03-26 13:37:13 +01:00
Paul B Mahol
0b43897530
avfilter/vf_v360: fix hfov/vfov calculation from dfov for sg projection
2020-03-25 13:38:41 +01:00
Andreas Rheinhardt
65e8f6dd9b
avfilter/vf_paletteuse: Forward error codes
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2020-03-24 20:14:08 +01:00
Gyan Doshi
7239254b1d
avfilter/hue: fix range in comment
...
Found-by: Michael Koch
Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
2020-03-24 15:04:52 +05:30
Linjie Fu
acc6f632b4
lavfi/vf_dnn_processing: Fix compile warning of mixed declarations and code
...
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Reviewed-by: Guo, Yejun <yejun.guo@intel.com>
2020-03-19 14:27:23 +08:00
Lynne
1a5e9ae4d8
scale_vulkan: add support for RGB->YUV conversions
...
Only top-left chroma position supported for now.
2020-03-17 22:52:00 +00:00
Paul B Mahol
d64cbd4fda
remove CHAR_MIN/CHAR_MAX usage
...
It is not needed at all.
2020-03-17 22:46:36 +01:00
Paul B Mahol
6fbc7f092e
avfilter/af_anequalizer: fix off by one in reallocation
2020-03-14 19:39:04 +01:00
Paul B Mahol
8f222573e9
avfilter/f_sendcmd: add more useful variables
2020-03-13 17:19:33 +01:00
Guo, Yejun
e35f966853
avfilter/vf_dnn_processing.c: add frame size change support for planar yuv format
...
The Y channel is handled by dnn, and also resized by dnn. The UV channels
are resized with swscale.
The command to use espcn.pb (see vf_sr) looks like:
./ffmpeg -i 480p.jpg -vf format=yuv420p,dnn_processing=dnn_backend=tensorflow:model=espcn.pb:input=x:output=y -y tmp.espcn.jpg
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Reviewed-by: Pedro Arthur <bygrandao@gmail.com>
2020-03-12 18:22:51 +08:00
Guo, Yejun
bd50453894
avfilter/vf_dnn_processing.c: add planar yuv format support
...
Only the Y channel is handled by dnn, the UV channels are copied
without changes.
The command to use srcnn.pb (see vf_sr) looks like:
./ffmpeg -i 480p.jpg -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=tensorflow:model=srcnn.pb:input=x:output=y -y srcnn.jpg
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Reviewed-by: Pedro Arthur <bygrandao@gmail.com>
2020-03-12 18:22:39 +08:00
Guo, Yejun
d86a8c056b
avfilter/vf_dnn_processing.c: use swscale for uint8<->float32 convert
...
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Reviewed-by: Pedro Arthur <bygrandao@gmail.com>
2020-03-12 18:22:18 +08:00
James Almer
36aaee2a65
avfilter/Makefile: remove dnn files when calling make clean
...
Also remove the ancient reference to libmpcodecs while at it.
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
2020-03-11 14:11:37 +08:00
Paul B Mahol
70209000fd
avfilter/f_sendcmd: implement expr flag
...
Make possible to parse expressions and store results as arguments
for target filters.
2020-03-03 20:38:56 +01:00
Paul B Mahol
5c7b6aadb5
avfilter/vf_v360: simplify some unnecessary indirections
2020-03-03 12:41:30 +01:00
Paul B Mahol
580d68f90e
avfilter/vf_v360: add half equirectangular input format
2020-03-03 12:21:16 +01:00
Paul B Mahol
ca04231983
avfilter/vf_v360: add half equirectangular output format
2020-03-03 12:03:42 +01:00
Guo, Yejun
f9cb7cf424
avfilter/vf_sr.c: refine code to use AVPixFmtDescriptor.log2_chroma_h/w
...
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Reviewed-by: Pedro Arthur <bygrandao@gmail.com>
2020-03-03 15:28:59 +08:00
Paul B Mahol
6e1913a02e
avfilter/vf_v360: add truncated square pyramid input format
2020-03-02 19:05:13 +01:00
Paul B Mahol
3dd81be866
avfilter/vf_v360: add truncated square pyramid output format
2020-03-02 17:43:25 +01:00
Paul B Mahol
1281399135
avfilter/vf_v360: fix cylindrical input format
2020-03-01 11:24:31 +01:00
Paul B Mahol
db8146f4dd
avfilter/vf_v360: cleanup some code
2020-03-01 10:33:36 +01:00
Paul B Mahol
8f3df1dd4d
avfilter/vf_v360: improve interpolation for equirect input at poles
2020-02-29 22:35:02 +01:00
Andreas Rheinhardt
be82dc175b
avfilter/vf_cas: Remove superfluous ;
...
The second ; in a double ;; is actually a null statement. It triggers
the typical declaration-after-statement compiler-warnings if it occurs
in the middle of several declarations (like here).
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-02-29 22:31:01 +01:00
Paul B Mahol
f707c84b8b
avfilter/vf_v360: add partial size setup for flat
...
Other part of size is calculated from both available horizontal
and vertical FOV and given one size component.
2020-02-29 20:22:37 +01:00
Paul B Mahol
3733a6bc20
avfilter/vf_v360: speed up fisheye input calculation
2020-02-29 16:39:35 +01:00
Paul B Mahol
2dfd9445ff
avfilter/vf_v360: improve tetrahedron input format at frame borders
2020-02-29 14:24:35 +01:00
Paul B Mahol
50a13b987b
avfilter/vf_v360: simplify tetrahedron input calculation
2020-02-29 14:24:35 +01:00
Paul B Mahol
fc7d4d08fb
avfilter/vf_v360: improve precision of some output formats
2020-02-29 14:24:35 +01:00
Paul B Mahol
31ecfa95fb
avfilter/vf_v360: simplify code which handles interpolation points
2020-02-28 16:53:19 +01:00
Paul B Mahol
9b22254331
avfilter/vf_v360: add initial barrel split format input support
2020-02-27 23:37:23 +01:00
Paul B Mahol
b0a9960a77
avfilter/vf_v360: add barrel split format output support
2020-02-26 14:52:25 +01:00
Jacob Ruiz
ba2581adb2
avfilter/vf_zscale: fix crash on unaligned input
2020-02-25 19:52:26 +01:00
Paul B Mahol
7e08a92370
avfilter/vf_convolve: reset fft/ifft pointers after free
2020-02-25 17:35:09 +01:00
Paul B Mahol
b484eb2556
avfilter/vf_v360: add basic commands support
2020-02-25 11:33:06 +01:00
Paul B Mahol
08a21c1fd8
avfilter/vf_v360: handle gracefully invalid values for rorder option
2020-02-25 11:12:02 +01:00
Paul B Mahol
72b6c8c99f
avfilter: add Contrast Adaptive Sharpen video filter
2020-02-24 11:57:25 +01:00
Paul B Mahol
90913abc2e
avfilter/vf_v360: improve dfisheye_to_xyz() output
2020-02-23 22:00:32 +01:00
Paul B Mahol
e6ea0e7429
avfilter/vf_v360: improve fisheye_to_xyz() output
2020-02-23 21:55:35 +01:00
Paul B Mahol
ebc8806b9f
avfilter/vf_v360: improve equirect_to_xyz() quality
2020-02-23 18:15:06 +01:00
Linjie Fu
edf2c7be5c
lavfi/vf_scale_qsv: fix the class_name in help for scale_qsv
...
Class name is used in show_help_children(avfilter_get_class(),...)
to prompt the available filters.
$ ffmpeg -h full
Before:
qsvscale AVOptions:
After:
scale_qsv AVOptions:
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Zhong Li <zhongli_dev@126.com>
2020-02-18 10:27:02 +08:00
Michael Niedermayer
0c0ca0f244
avfilter/vf_aspect: Fix integer overflow in compute_dar()
...
Fixes: signed integer overflow: 1562273630 * 17 cannot be represented in type 'int'
Fixes: Ticket8323
Found-by: Suhwan
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-02-16 15:13:10 +01:00
Paul B Mahol
314a783bb8
avfilter/vf_phase: add >8 bit support
2020-02-15 12:18:51 +01:00
Paul B Mahol
55755b4ab2
avfilter/opencl: use av_fopen_utf8()
2020-02-14 21:49:47 +01:00
Paul B Mahol
5452d0372c
avfilter/vf_fieldhint: use av_fopen_utf8()
2020-02-14 21:47:55 +01:00
Paul B Mahol
a2c0746344
avfilter/vf_lut3d: use av_fopen_utf8()
2020-02-14 21:44:38 +01:00
Paul B Mahol
5fe6c6b8f4
avfilter/vf_remap: add fill color option
2020-02-14 13:19:05 +01:00
Paul B Mahol
1c6a91990d
avfilter: add pad opencl filter
2020-02-14 09:59:27 +01:00
Paul B Mahol
47773f7979
avfilter/vf_xmedian: implement percentile option
2020-02-12 14:59:32 +01:00
Paul B Mahol
28743f1803
avfilter/vf_median: implement percentile option
2020-02-12 11:27:28 +01:00
Paul B Mahol
cf92f42672
avfilter/vf_colorlevels: add support for commands
2020-02-11 14:19:56 +01:00
Paul B Mahol
52cd7a6337
avfilter/vf_colorkey: add support for commands
2020-02-11 14:00:21 +01:00
Andreas Rheinhardt
212077eda4
avfilter/vf_dedot: Fix leak of AVFrame if making it writable fails
...
Even in this scenario, the frame still contains references to data that
won't be freed if the frame isn't unreferenced. And the AVFrame itself
will leak, too.
Fixes Coverity issue #1441422 .
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-02-11 00:03:44 +01:00
Paul B Mahol
e63a66416f
avfilter/vf_thumbnail: fix possible crash on error
2020-02-10 15:46:42 +01:00
Paul B Mahol
32bc0e0444
avfilter/vf_thumbnail: add timeline support
2020-02-10 15:46:42 +01:00
Paul B Mahol
1e6cef6861
avfilter/vf_fade: fix color fading for planar rgb
2020-02-09 22:50:07 +01:00
Paul B Mahol
06db1bef4c
avfilter/vf_fade: add >8 bit support for black and alpha fade
2020-02-09 22:28:59 +01:00
Mark Thompson
593106ff47
lavfi/vf_*_vaapi: Fix error case
...
Fixes CID 1452400, 1452416, 1452550, 1452590, 1452760
.
2020-02-09 20:36:45 +00:00
Mark Thompson
f130b22119
lavfi/vf_deshake_opencl: Avoid propagating uninitialised data
...
Fixes CID 1452753.
2020-02-09 20:36:45 +00:00
Paul B Mahol
53a485cd37
avfilter/af_afftfilt: fix memory leaks on error
2020-02-09 15:49:09 +01:00
Paul B Mahol
2174a315b4
avfilter/af_afffilt: fix crash on error
2020-02-09 15:42:48 +01:00
Paul B Mahol
283e755734
avfilter/vf_xfade: add diagonal smooth transitions
2020-02-09 12:59:56 +01:00
Paul B Mahol
3f24e744ad
avfilter/af_asoftclip: add support for commands
2020-02-09 10:59:20 +01:00
Paul B Mahol
d842998183
avfilter/af_asoftclip: add slice threading support
2020-02-09 10:47:43 +01:00
Paul B Mahol
3750e36aa8
avfilter/vf_alphamerge: add AVClass to private context
2020-02-08 21:54:45 +01:00
Andreas Rheinhardt
adea33f465
avfilter/vf_paletteuse: Fix potential double-free of AVFrame
...
apply_palette() would free an AVFrame given to it only via an AVFrame *
(and not via AVFrame **) in three of its four exists (namely in the
normal path and in two error paths). So upon error the caller has no way
to know whether the frame has already been freed or not;
load_apply_palette(), the only caller, opted to free the frame in this
scenario.
This commit changes this by making apply_palette not freeing the frame
at all, which is left to load_apply_palette().
Fixes Coverity issue #1452434 .
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-02-08 18:20:43 +01:00
Paul B Mahol
cbd5a4536c
avfilter/vf_alphamerge: add timeline support
2020-02-08 14:28:01 +01:00
Paul B Mahol
a8d82cc2b8
avfilter/vf_fade: improve type option description
2020-02-08 12:40:23 +01:00
Paul B Mahol
8cab0ce5dc
avfilter/vf_fade: add missing .flags for type option
2020-02-08 12:36:59 +01:00
Paul B Mahol
68416e4ba7
avfilter/vf_maskedclamp: make C version consistent with ASM one
...
In case of undefined behaviour.
2020-02-08 10:46:37 +01:00
Paul B Mahol
3720153ffc
aviflter/vf_xfade: add pixelize transition
2020-02-07 22:35:16 +01:00
Paul B Mahol
e3e5598290
avfilter/vf_xfade: add dissolve transition
2020-02-07 22:00:14 +01:00
Paul B Mahol
bfdd6304fb
avfilter/af_crystalizer: add slice threading support
2020-02-07 19:26:39 +01:00
Paul B Mahol
ae5a435300
avfilter: add afirsrc filter
2020-02-07 17:07:30 +01:00
Paul B Mahol
7e8721e98e
avfilter/af_acrossover: free all output frames on error
2020-02-07 12:13:06 +01:00
Paul B Mahol
cd671ea083
avfilter/af_acrossover: add slice threading support
2020-02-07 12:13:06 +01:00
Paul B Mahol
270068b5af
avfilter/af_acrossover: improve filter output
...
Makes sum always flat. Also faster.
2020-02-06 15:45:19 +01:00
James Almer
616e9b5cff
avfilter/Makefile: add vulkan.h to the list of skipped headers
...
Should fix make checkheaders
Signed-off-by: James Almer <jamrial@gmail.com>
2020-02-06 10:26:31 -03:00
Paul B Mahol
2d58fa6d9e
avfilter/vf_xfade: add horzopen/close transition
2020-02-05 16:53:06 +01:00
Paul B Mahol
10f4441acb
avfilter/vf_xfade: add vertopen/close transition
2020-02-05 16:44:50 +01:00
Martin Storsjö
0815a22dcc
vf_ssim: Fix loading doubles to float registers on i386
...
This fixes the tests filter-refcmp-ssim-yuv and filter-refcmp-ssim-rgb
on i386 after breaking in fcc0424c93
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2020-02-05 14:38:26 +02:00
Lynne
a71a5d9214
lavfi: bump minor version for the Vulkan filters
2020-02-04 23:52:29 +00:00
Lynne
907ae87d6e
lavfi: add an chromaber_vulkan filter
...
This commit adds a chromatic aberration filter for Vulkan that attempts to
emulate a lens chromatic aberration effect.
For a YUV frame it will instead shift the chroma channels, providing a
simple approximation.
2020-02-04 23:19:48 +00:00
Lynne
a2db7343e0
lavfi: add an avgblur_vulkan filter
...
This commit adds a fast avgblur Vulkan filter.
This will reset Intel GPUs on Linux due to a known, two-year-old driver bug
(!834 on mesa's gitlab).
2020-02-04 23:19:48 +00:00
Lynne
7bb443137c
lavfi: add an overlay_vulkan filter
...
This commit adds a basic, non-converting overlay filter for Vulkan.
2020-02-04 23:19:48 +00:00
Lynne
d95c509cc6
lavfi: add an scale_vulkan filter
...
This commit adds a basic, non-converting Vulkan scaling filter.
2020-02-04 23:19:48 +00:00
Lynne
6fca61bbc9
lavfi: add Vulkan filtering framework
...
This commit adds a Vulkan filtering infrastructure for libavfilter.
It attempts to abstract as much as possible of the Vulkan API from filters.
The way the hwcontext and the framework are designed permits for parallel,
non-CPU-blocking filtering throughout, with the exception of up/downloading
and mapping.
2020-02-04 23:19:48 +00:00
Philip Langdale
88d2ccbe93
lavfi/vf_hwupload: Add support for HW -> HW transfers
...
As we find ourselves wanting a way to transfer frames between
HW devices (or more realistically, between APIs on the same device),
it's desirable to have a way to describe the relationship. While
we could imagine introducing a `hwtransfer` filter, there is
almost no difference from `hwupload`. The main new feature we need
is a way to specify the target device. Having a single device
for the filter chain is obviously insufficient if we're dealing
with two devices.
So let's add a way to specify the upload target device, and if none
is specified, continue with the existing behaviour.
We must also correctly preserve the sw_format on such a transfer.
2020-02-04 23:19:48 +00:00
Paul B Mahol
fcc0424c93
avfilter/vf_ssim: improve precision
...
Use doubles for accumulating floats.
2020-02-04 18:28:04 +01:00
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
Paul B Mahol
1187dbb7e9
avfilter/af_dynaudnorm: move channels variable setup first
2020-01-05 10:20:27 +01:00
Jun Zhao
304eaa63a9
lavfi/buffersrc: Remove redundant free after ff_filter_frame() failure
...
ff_filter_frame() always frees the frame in case of error, so we don't
need to free the frame after ff_filter_frame() fails.
Fix CID 1457230.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-04 19:37:39 +01:00
Paul B Mahol
389865352d
avfilter/af_dynaudnorm: fix another clipping with custom peak value
...
This always happened at start with alternative boundary mode disabled.
The clipping only occurred if starting samples where high enough.
2020-01-04 19:34:50 +01:00
Paul B Mahol
c8253cb332
avfilter/af_dynaudnorm: implement threshold option
2020-01-04 18:17:32 +01:00
Paul B Mahol
6a1305e8b7
avfilter/af_dynaudnorm: do not clip audio
...
Clipping can happen when smoothed gain is higher than maximum
allowed gain factor for current frame and peak value option is
set to enough low value.
2020-01-04 10:27:46 +01:00
Jun Zhao
c8e72a6494
lavfi/coreimage: fix memory leak after av_dict_parse_string fail
...
In case of failure, all the successfully set entries are stored in
*pm. We need to manually free the created dictionary to avoid
memory leak.
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-04 09:05:09 +08:00
Paul B Mahol
81172b5e3a
avfilter/af_dynaudnorm: fix previous commit
...
We still need to analyze frame for amplification at EOF.
2020-01-02 17:24:01 +01:00
Paul B Mahol
ed02563ce0
avfilter/af_dynaudnorm: do not enqueue flush buffers
2020-01-02 16:28:38 +01:00
Paul B Mahol
d4d6280ab2
avfilter/af_dynaudnorm: do not hang forever if only EOF is received
2020-01-01 13:44:22 +01:00
Paul B Mahol
7bb09e57e0
avfilter/af_dynaudnorm: do not error out if even filter size was given
...
Instead issue a warning and make filter size odd number.
2020-01-01 13:44:22 +01:00
Paul B Mahol
f651b18c19
avfilter/vf_histogram: add envelope to thistogram filter
2019-12-30 17:21:35 +01:00
Zhao Zhili
b2491566a6
avfilter/buffersrc: deprecate sws_param option
2019-12-30 10:41:07 +01:00
Paul B Mahol
e20c6d95b2
avfilter/af_crystalizer: add support for commands
2019-12-29 15:33:55 +01:00
Paul B Mahol
22d3552f44
avfilter/af_crystalizer: add timeline support
2019-12-29 15:33:55 +01:00
Paul B Mahol
26eba8ca61
avfilter/vf_waveform: add support for 12bit yuva formats
2019-12-29 15:33:55 +01:00
Paul B Mahol
11f6657e92
avfilter/vf_vectorscope: add support for 12bit yuva formats
2019-12-29 15:33:55 +01:00
Paul B Mahol
612b5791b8
avfilter/vf_histogram: add support for 12bit yuva formats
2019-12-29 15:33:55 +01:00
Paul B Mahol
d3d6f5a76e
avfilter/vf_histogram: reindent after previous commit
2019-12-29 15:33:55 +01:00
Paul B Mahol
cc43c2f29a
avfilter: add thistogram video filter
2019-12-29 15:33:55 +01:00
James Almer
eb17a7906b
avfilter/vf_vectorscope: use av_clip_uint8()
...
Fixes fate-source
Signed-off-by: James Almer <jamrial@gmail.com>
2019-12-28 22:38:58 -03:00
Paul B Mahol
6399eed48a
avfilter/vf_waveform: implement tint options
2019-12-28 21:51:40 +01:00
Paul B Mahol
b3216f13ce
avfilter/vf_vectorscope: improve tint output for gbrp formats
2019-12-28 21:51:40 +01:00
Paul B Mahol
2736dc0564
avfilter/vf_vectorscope: rename gray mode to tint mode
2019-12-28 14:01:15 +01:00
Paul B Mahol
29b765d657
avfilter/vf_vectorscope: add invert graticule
2019-12-28 12:32:43 +01:00
Paul B Mahol
1669c970b1
avfilter/vf_vectorscope: use enum for graticule items
2019-12-28 12:32:43 +01:00
Michael Niedermayer
5c0d1f7896
avfilter/vf_geq: Add support for reading sample sums and means of rectangles
...
This allows integrating box blur style filters in geq.
Without this computing the mean of an area in geq would have been excessivly slow
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-28 11:20:48 +01:00
Michael Niedermayer
47fd73ace2
avfilter/vf_geq: Add NB_PLANES
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-28 11:20:48 +01:00
Michael Niedermayer
d5e7f01090
avfilter/vf_geq: Relicense to LGPL
...
All authors who have code in this under GPL agreed.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-28 11:20:48 +01:00
Paul B Mahol
6c883e214a
avfilter/vf_vibrance: add support for commands
2019-12-27 21:31:04 +01:00
Paul B Mahol
50cfe9662d
avfilter/vf_il: add support for commands
2019-12-27 21:17:00 +01:00
Paul B Mahol
5fb37598ad
avfilter/af_stereowiden: add support for commands
2019-12-27 21:03:29 +01:00
Paul B Mahol
954637805d
avfilter/af_extrastereo: add support for commands
2019-12-27 20:57:06 +01:00
Paul B Mahol
fad62eebee
avfilter/vf_neighbor: add support for commands
2019-12-27 20:21:20 +01:00
Paul B Mahol
b5f0cea16c
avfilter/vf_histogram: use the name 's' for the pointer to the private context
...
This is consistent across filters.
2019-12-26 20:45:20 +01:00
Andreas Rheinhardt
398a5f5d8f
avfilter/buffersrc: Remove unused variables
...
Unused since f09ae730
.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-26 16:06:25 +01:00
Limin Wang
3dd6c4478b
avfilter/vf_yadif: cosmetics in the pix_fmts[] array
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-25 18:00:40 +01:00
Gyan Doshi
287620f59c
avfilter/drawtext: log why input pad failed to be configured
2019-12-24 11:04:52 +05:30
Paul B Mahol
547b0c61af
avfilter/vf_fade: reindent after previous commit
2019-12-23 20:24:36 +01:00
Paul B Mahol
6c9a9dd25a
avfilter/vf_fade: add support for gbrp/gbrap formats
2019-12-23 20:16:27 +01:00
Paul B Mahol
94ad5d0128
avfilter/vf_readeia608: factor some constants out
2019-12-23 20:09:20 +01:00
Paul B Mahol
94682555c6
avfilter/vf_readeia608: check if gaps between clock bits are big enough
...
Should help finding less false positives.
2019-12-23 19:56:05 +01:00
Paul B Mahol
16968b619d
avfilter/vf_readeia608: use special struct to hold line items
2019-12-23 18:02:38 +01:00
Zhao Zhili
0115dbd043
avfilter/avfilter: update documentation of avfilter_graph_create_filter
2019-12-23 17:02:55 +01:00
Zhao Zhili
61097535cd
avfilter/buffersink: deprecate AVBufferSinkParams and AVABufferSinkParams
2019-12-23 17:02:55 +01:00
Zhao Zhili
07ffdedf78
avfilter/buffersink: replace init_opaque by init
...
The argument 'opaque' is always NULL since 0acf7e2
(2013),
and avfilter_init_filter() was removed in 52067b3c0e
(2016).
2019-12-23 17:02:55 +01:00
Zhao Zhili
807e90d232
avfilter/buffersink: remove unused macros
2019-12-23 17:02:55 +01:00
Zhao Zhili
bf08264daa
avfilter/buffersrc: remove redundant flag
...
!(c->pix_fmt != AV_PIX_FMT_NONE || c->got_format_from_params)
equals
(c->pix_fmt == AV_PIX_FMT_NONE) && !c->got_format_from_params
1. When (c->pix_fmt == AV_PIX_FMT_NONE) is true, got_format_from_params is
always false, the flag doesn't contribute to the result.
2. When the first part is false, the second part doesn't matter, the flag
doesn't contribute to the result.
The result only depends on c->pix_fmt.
2019-12-23 17:02:55 +01:00
Nicolas George
f09ae7309d
lavfi/buffersrc: push frame directly.
...
This allows to remove the queued frame entirely.
2019-12-23 13:03:38 +01:00
Nicolas George
02daafb45c
lavfi: remove AVFilterPad.poll_frame().
...
This design is no longer used and was replaced a long time ago.
2019-12-23 13:03:38 +01:00
Nicolas George
f3a6ef69bf
lavfi/buffersrc: remove poll_frame.
2019-12-23 13:03:38 +01:00
Nicolas George
65e6850c56
lavfi: remove ff_poll_frame().
...
It is never used.
2019-12-23 13:03:38 +01:00
Nicolas George
9ea7e68907
lavfi/buffersrc: remove fifo.
...
The frame is immediately pushed, the fifo has never more than one.
2019-12-23 13:03:38 +01:00
Limin Wang
03eb96f9b7
avfilter/vf_readeia608: fix check for failed av_calloc
...
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2019-12-23 10:26:36 +01:00
Paul B Mahol
e890ce62ef
avfilter/af_adeclick: implement timeline support
2019-12-21 20:02:04 +01:00
Paul B Mahol
26f4ee37f7
avfilter/vf_readeia608: if parity bit check fails, set correct value
...
As described in U.S. Federal Register, Volume 56, Number 114, June 13, 1991, pages 27204-27205.
2019-12-21 12:11:38 +01:00
Paul B Mahol
786a2daa3d
avfilter/vf_readeia608: rewrite processing, make extracting more robust
...
Lots of options are now obsolete.
2019-12-20 18:08:46 +01:00
Paul B Mahol
3530fdc78e
avfilter/vf_stack: set framerate to VFR when inputs frame rates differs
2019-12-17 13:30:16 +01:00
Xinpeng Sun
2e2dfe6673
avfilter: Add tonemap vaapi filter for H2S
...
It performs HDR(High Dynamic Range) to SDR(Standard Dynamic Range) conversion
with tone-mapping. It only supports HDR10 as input temporarily.
An example command to use this filter with vaapi codecs:
FFMPEG -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi \
-i INPUT -vf 'tonemap_vaapi=format=p010' -c:v hevc_vaapi -profile 2 OUTPUT
Signed-off-by: Xinpeng Sun <xinpeng.sun@intel.com>
Signed-off-by: Zachary Zhou <zachary.zhou@intel.com>
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2019-12-17 07:49:49 +08:00
Marton Balint
1f8e43938b
avfilter/x86/vf_interlace: always use unaligned movs
...
Fixes crashes in command lines such as:
ffmpeg -f lavfi -i testsrc2=704x576:r=50,interlace,pad=720:576:8 -f null none
Related to ticket #6491 .
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-12-15 00:23:03 +01:00
Marton Balint
4cd2cee7ed
avfilter/vf_interlace: do not interlace already interlaced frames
...
The filter used to work this way before it was merged into tinterlace.
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-12-15 00:23:03 +01:00