Commit Graph

8348 Commits

Author SHA1 Message Date
Michael Niedermayer
52cc86cae1 avfilter/vf_spp: Fix endian-dependance in add_block()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-12 01:00:28 +02:00
Michael Niedermayer
dde86d0ddf avfilter/vf_spp: Remove unused AVCodecContext
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-12 01:00:28 +02:00
Lynne
70d396c8af Revert "hwcontext_vulkan: only use one semaphore per image"
This reverts commit 97b526c192.
It broke the API, and assumed no other APIs used multiple semaphores.
This also disallowed certain optimizations to happen.

Dealing with APIs that give or expect single semaphores is easier when
we use per-image semaphores.
2020-05-11 23:48:26 +01:00
Limin Wang
a058d81570 avfilter/vf_signalstats: reindent after last commit
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-10 22:32:34 +08:00
Limin Wang
25bb72af62 avfilter/vf_signalstats: make the alloc array used for any bit depth
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-10 22:32:34 +08:00
Limin Wang
764efda192 avfilter/vf_signalstats: add SignalstatsContext.maxsize variable
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-10 22:32:34 +08:00
Limin Wang
a8c762a17d avfilter/vf_signalstats: rename config_props -> config_output
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-10 22:32:34 +08:00
Guo, Yejun
71e28c5422 dnn/native: add native support for minimum
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')
x1 = tf.minimum(0.7, x)
x2 = tf.maximum(x1, 0.4)
y = tf.identity(x2, 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-05-08 15:22:27 +08:00
Sebastian Dröge
ed3da72583 s->target_i and global are in dB but s->target_tp and true_peak are
linear. Instead of mixing these in the calculations, convert the former
first to have all following calculations in the same unit.

Signed-off-by: Kyle Swanson <k@ylo.ph>
2020-05-01 21:36:07 -07:00
Limin Wang
f441fadbcf avfilter/af_adelay: Check sscanf() return value
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-01 06:36:36 +08:00
Limin Wang
ee5d6d2ef8 avfilter/vf_mix: Check sscanf() return value
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-01 06:36:36 +08:00
Paul B Mahol
0a181c2cb1 avfilter/af_crossfeed: make options runtime configurable 2020-04-30 12:18:36 +02:00
Paul B Mahol
35d6001815 avfilter/af_crossfeed: make slope configurable 2020-04-30 12:18:36 +02:00
Paul B Mahol
0ec61fcff7 avfilter/af_crossfeed: fix calculation of alpha parameter
Use A in calculation.
2020-04-30 12:18:36 +02:00
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