Commit Graph

2049 Commits

Author SHA1 Message Date
Paul B Mahol 726dbc57f8 avfilter: add dblur video filter 2020-05-30 18:04:14 +02:00
Paul B Mahol e2e8121eaa avfilter/af_aiir: add S-plane support 2020-05-30 10:05:19 +02:00
Paul B Mahol 327b52412d avfilter/af_aiir: make it clear that transfer function is digital one 2020-05-30 10:05:19 +02:00
Paul B Mahol 1206a10d9c avfilter/af_biquads: implement 1st order allpass 2020-05-30 09:57:04 +02:00
Nicolas George 88567a2e52 lavfi: add untile filter. 2020-05-23 15:52:27 +02:00
Paul B Mahol 07a9e5ec5e avfilter/af_aiir: add more descriptive options aliases 2020-05-22 12:37:17 +02:00
Paul B Mahol ffda57b800 avfilter/af_aiir: export normalize option
And enable it in all modes by default.
2020-05-22 12:30:59 +02:00
Paul B Mahol f63939dedb avfilter: add gradients source video filter 2020-05-19 20:10:34 +02:00
Limin Wang 815a3b393c avfilter/vf_minterpolate: change the default threshold to get better scene change detect result
./ffmpeg -loglevel debug -i ../fate-suite/svq3/Vertical400kbit.sorenson3.mov -vf
 minterpolate=fps=60:mi_mode=blend -an -f null -
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 1600
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 4120
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 5780
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 6700
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 8140
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 9740
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 14060
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 15680
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 18480
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 20020
 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 21740

 The results are consistent with tests/ref/fate/filter-metadata-scenedetect

 For the master, it'll detect more than 20 scene change for the same source.

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-14 23:03:07 +08:00
Limin Wang d62d4e05e8 avfilter/vf_scdet: add filter to detect scene change
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-05-14 23:03:06 +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 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 b29b934e4f avfilter/f_interleave: add duration option 2020-04-25 12:35:22 +02: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
Paul B Mahol 24db9372eb avfilter/af_astats: add noise floor count stat 2020-04-17 13:28:01 +02:00
Paul B Mahol 87b4fb65a8 avfilter/af_astats: measure noise floor 2020-04-17 13:26:30 +02:00
Gyan Doshi 2e2fa2d6e6 doc/filters: clarify metadata and logging for blackdetect 2020-04-13 11:23:24 +05:30
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
Paul B Mahol ec7fb45240 avfilter/vf_v360: add pannini input support 2020-04-04 14:16:28 +02:00
Paul B Mahol b00b935d99 avfilter/vf_v360: add lagrange9 interpolation 2020-04-02 12:25:37 +02:00
Lou Logan 3cb099e9ab doc/filters: add tpad default values
Signed-off-by: Lou Logan <lou@lrcd.com>
2020-03-28 11:44:09 -08: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 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
Jun Zhao 493f669efa doc/filters: add missed framesync part in filter docs
Add missed framesync part in filter docs.

Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-03-05 14:09:10 +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 580d68f90e avfilter/vf_v360: add half equirectangular input format 2020-03-03 12:21:16 +01: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 b0a9960a77 avfilter/vf_v360: add barrel split format output support 2020-02-26 14:52:25 +01:00
Paul B Mahol ad65a15328 doc/filters: split tblend from blend 2020-02-25 13:23:14 +01:00
Paul B Mahol 2e6db121a8 doc/filters: mention commands for v360 filter 2020-02-25 13:17:32 +01:00
Paul B Mahol 72b6c8c99f avfilter: add Contrast Adaptive Sharpen video filter 2020-02-24 11:57:25 +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
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 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 ae5a435300 avfilter: add afirsrc filter 2020-02-07 17:07:30 +01: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
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 efee86fafa avfilter/vf_xfade: add circleopen & circleclose transition 2020-02-04 10:39:02 +01:00
Paul B Mahol cd823dadf9 avfilter: add xfade opencl filter 2020-02-02 14:08:56 +01:00
Paul B Mahol 84286789e6 doc/filters: fix tonemap_vaapi filter name in documentation 2020-02-02 10:18:50 +01:00
Paul B Mahol 69477e10f0 doc/filters: make filters order more consistent 2020-02-02 10:18:50 +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
Paul B Mahol 113bae5985 doc/filters: improve xfade description and add one example 2020-01-31 10:17:05 +01:00
Michael Niedermayer d4b05f31d8 doc/filters: Document geq *sum functions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-30 19:55:36 +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
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 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 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 003a9c619c doc/filters: v360: cylindrical supports input 2020-01-21 12:02:26 +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
Gyan Doshi 38081acc01 doc/filters: clarify resampling and linear mode in loudnorm 2020-01-20 17:29:29 +05:30
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 aa42a1e6d7 avfilter/vf_v360: add spline16 interpolation 2020-01-18 10:27:11 +01:00
Jun Zhao b3cfbd7194 doc/spp: Update spp command options docs
Update spp command options docs

Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
Suggested-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-18 17:00:16 +08:00
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 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
Paul B Mahol d9a52b0bbf avfilter/f_drawgraph: add rate/r option 2020-01-14 09:54:53 +01: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
Alexandre Heitor Schmidt ae436cc5e4 avformat/img2dec: add option to provide metadata fields related to input path
libavformat/img2.h: New field export_path_metadata to
VideoDemuxData to only allow the use of the extra metadata
upon explicit user request, for security reasons.

libavformat/img2dec.c: Modify image2 demuxer to make available
two special metadata entries called lavf.image2dec.source_path
and lavf.image2dec.source_basename, which represents, respectively,
the complete path to the source image for the current frame and
the basename i.e. the file name related to the current frame.
These can then be used by filters like drawtext and others. The
metadata fields will only be available when explicitly enabled
with image2 option -export_path_metadata 1.

doc/demuxers.texi: Documented the new metadata fields available
for image2 and how to use them.

doc/filters.texi: Added an example on how to use the new metadata
fields with drawtext filter, in order to plot the input file path
to each output frame.

Usage example:

ffmpeg -f image2 -export_path_metadata 1 -pattern_type glob
 -framerate 18 -i '/path/to/input/files/*.jpg'
 -filter_complex drawtext="fontsize=40:fontcolor=white:
 fontfile=FreeSans.ttf:borderw=2:bordercolor=black:
 text='%{metadata\:lavf.image2dec.source_basename\:NA}':x=5:y=50"
 output.avi

Fixes #2874.

Signed-off-by: Alexandre Heitor Schmidt <alexandre.schmidt@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-10 23:08:18 +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
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
Paul B Mahol e21ba176c9 avfilter/af_sidechaincompress: add support for commands 2020-01-06 19:40:07 +01:00
Paul B Mahol 51927d33b7 doc/filters: mention commands for crystalizer filter 2020-01-06 19:08:56 +01:00
Gyan Doshi d0b0e8ecc8 doc/filters: indicate commands for scale2ref 2020-01-06 21:10:09 +05:30
Gyan Doshi 71ac3b6edc doc/filters: indicate commands for zscale 2020-01-06 21:09:00 +05:30
Paul B Mahol 27ec72db06 avfilter/af_dynaudnorm: add support for commands 2020-01-06 14:23:53 +01:00
Limin Wang 1e3f4b5f19 doc/filters: add entry for mean and stdev in showinfo
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
2020-01-06 11:38:16 +05:30
Gyan Doshi 8aa3c09c1b doc/volume: correct placement of replaygain_noclip
In the merge commit 878f8b0d26, entry for replaygain_noclip
was placed in commands, which it is not, instead of among
the options.
2020-01-05 21:46:08 +05:30
Carl Eugen Hoyos f7c945abc0 doc: Fix a typo. 2020-01-04 20:58:10 +01:00
Paul B Mahol c8253cb332 avfilter/af_dynaudnorm: implement threshold option 2020-01-04 18:17:32 +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 cc43c2f29a avfilter: add thistogram video filter 2019-12-29 15:33:55 +01:00
Paul B Mahol 6399eed48a avfilter/vf_waveform: implement tint options 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 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 786a2daa3d avfilter/vf_readeia608: rewrite processing, make extracting more robust
Lots of options are now obsolete.
2019-12-20 18:08:46 +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 6498522bef avfilter/vf_tinterlace: add support for bypassing already interlaced frames
The old interlace filter worked this way before it was merged with tinterlace.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-12-15 00:23:01 +01:00
Paul B Mahol 824324db41 avfilter/vf_datascope: add decimal output 2019-12-13 12:51:47 +01:00
Gyan Doshi 1b4f473d18 avfilter/scale.c: factorize ff_scale_eval_dimensions
Adjustment of evaluated values shifted to ff_adjust_scale_dimensions
Shifted code for force_original_aspect_ratio and force_divisble_by from
vf_scale so it is now available for scale_cuda, scale_npp and
scale_vaapi as well.
2019-12-08 16:12:31 +05:30
leozhang 0c7f9f714d avfilter/vf_yaepblur: add yaepblur filter
Signed-off-by: leozhang <leozhang@qiyi.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-06 11:25:29 +01:00
Paul B Mahol 8c2f81a17a avfilter/vf_hqdn3d: add support for commands 2019-11-29 17:28:59 +01:00
Paul B Mahol 93414ce831 avfilter: add axcorrelate filter 2019-11-23 11:54:20 +01:00
Paul B Mahol aaac48fb50 avfilter/vf_normalize: add support for commands 2019-11-23 11:07:02 +01:00
Paul B Mahol f46b04c4c3 avfilter/af_biquads: add new normalize/n option 2019-11-22 21:10:43 +01:00
Gyan Doshi 1b78da449e doc/filters: complete and correct vmafmotion section 2019-11-22 19:55:35 +05:30
Paul B Mahol 103effebc1 avfilter/vf_datascope: add support for commands in oscilloscope 2019-11-21 18:08:48 +01:00
Paul B Mahol 94c0b27397 avfilter/vf_chromakey: add support for commands 2019-11-21 17:19:40 +01:00
Paul B Mahol ae6c4168e6 avfilter/vf_lumakey: add support for commands 2019-11-21 16:59:39 +01:00
Paul B Mahol 9bd4df1654 avfilter/vf_chromashift: add support for commands 2019-11-21 12:24:02 +01:00
Paul B Mahol fbcb141c06 avfilter/vf_fillborders: add support for commands 2019-11-21 12:07:58 +01:00
Paul B Mahol 7ead0daa24 avfilter/vf_median: add support for commands 2019-11-20 22:41:19 +01:00
Gyan Doshi 0321bde0a2 doc/filters: correct libvmaf example
AVTB is 1/AV_TIME_BASE
2019-11-19 14:09:43 +05:30
Gyan Doshi f394d7b382 doc/filters: correct ssim example
AVTB is 1/AV_TIME_BASE
2019-11-19 14:08:39 +05:30
Gyan Doshi 6e0461d8d4 doc/filters: correct psnr example
AVTB is 1/AV_TIME_BASE
2019-11-19 14:04:23 +05:30
Gyan Doshi f897d8c863 doc/filters: improve libvmaf section
Added default values, correct strings for default model path and pool
method.
2019-11-18 19:32:07 +05:30
Paul B Mahol 45f03cdd20 avfilter/vf_colorbalance: add support for commands 2019-11-13 13:07:42 +01:00
Paul B Mahol d19fdc83b3 avfilter/vf_colorbalance: add option to preserve lightness 2019-11-13 13:07:42 +01:00
Guo, Yejun 4d980a8ceb avfilter/vf_dnn_processing: add a generic filter for image proccessing with dnn networks
This filter accepts all the dnn networks which do image processing.
Currently, frame with formats rgb24 and bgr24 are supported. Other
formats such as gray and YUV will be supported next. The dnn network
can accept data in float32 or uint8 format. And the dnn network can
change frame size.

The following is a python script to halve the value of the first
channel of the pixel. 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
import imageio
in_img = imageio.imread('in.bmp')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
filter_data = np.array([0.5, 0, 0, 0, 1., 0, 0, 0, 1.]).reshape(1,1,3,3).astype(np.float32)
filter = tf.Variable(filter_data)
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], 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())
output = sess.run(y, feed_dict={x: in_data})
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'halve_first_channel.pb', as_text=False)
output = output * 255.0
output = output.astype(np.uint8)
imageio.imsave("out.bmp", np.squeeze(output))

To do the same thing with ffmpeg:
- generate halve_first_channel.pb with the above script
- generate halve_first_channel.model with tools/python/convert.py
- try with following commands
  ./ffmpeg -i input.jpg -vf dnn_processing=model=halve_first_channel.model:input=dnn_in:output=dnn_out:fmt=rgb24:dnn_backend=native -y out.native.png
  ./ffmpeg -i input.jpg -vf dnn_processing=model=halve_first_channel.pb:input=dnn_in:output=dnn_out:fmt=rgb24:dnn_backend=tensorflow -y out.tf.png

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2019-11-07 15:46:00 -03:00
Steven Liu 2dd71bf95e doc/filters: fix overlay_opencl document typo
Reported-by: Yabo Wei <weiyabo@kuaishou.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-11-01 17:30:23 +08:00
Paul B Mahol b414cff630 avfilter/vf_median: add radiusV option 2019-10-31 10:32:43 +01:00
Paul B Mahol d4ba2506ce doc/filters: move drawgraph to video filters chapter 2019-10-30 17:55:44 +01:00
Paul B Mahol 2539fea777 doc/filters: move agraphmonitor to multimedia filters chapter 2019-10-30 17:47:56 +01:00
Paul B Mahol 3420e56d9a avfilter/vf_vfrdet: also report average delta 2019-10-29 13:07:08 +01:00
Paul B Mahol 1c3b70e2e0 avfilter: add median filter 2019-10-29 10:56:04 +01:00
Paul B Mahol 296296a4d5 doc/filters: add one more example for libvmaf 2019-10-25 22:58:50 +02:00
Paul B Mahol 487a1f28e2 doc/filters: add one more example for ssim/psnr 2019-10-25 22:35:02 +02:00
Paul B Mahol 37d8ae9da8 doc/filters: fix another typo 2019-10-24 21:42:00 +02:00
Paul B Mahol f166951d6e avfilter: add maskedmin/maskedmax filters 2019-10-24 20:54:33 +02:00
Limin Wang 6079bd5c63 avfilter/vsrc_mptestsrc: add options to set the maximum number of frames
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-10-21 22:57:10 +02:00
Limin Wang 190f52ba3b avfilter/af_silencedetect: use AV_OPT_TYPE_DURATION
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2019-10-21 15:42:04 +05:30
Paul B Mahol c6e01ebe41 avfilter: add bilateral filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2019-10-21 11:48:24 +02:00
Limin Wang 0afc1fe147 avfilter/af_silencedetect: document metadata
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2019-10-21 10:22:38 +05:30
Paul B Mahol 357f11eca2 avfilter/vf_atadenoise: add support for commands 2019-10-20 12:10:16 +02:00
Paul B Mahol 7056ddc0e0 avfilter/vf_fieldhint: add support for duplicating fields
Fixes #7066
2019-10-19 13:08:37 +02:00
Paul B Mahol 71e33c6e01 avfilter/vf_atadenoise: add option to use additional algorithm 2019-10-17 20:28:31 +02:00
Gyan Doshi 9c820ebe90 doc/filters: fixes for scale filter
Adjusted formatting and prose for option force_divisible_by in scale filter
2019-10-17 15:46:35 +05:30
Paul B Mahol b0bfa3699c avfilter: add arnndn filter 2019-10-16 15:13:59 +02:00
Paul B Mahol a4e5dc4b38 doc/filters: document colorchannelmixer commands 2019-10-14 13:14:18 +02:00
Paul B Mahol 688472641d doc/filters: document amplify commands 2019-10-14 13:11:55 +02:00
Paul B Mahol 746c8e7c9d doc/filters: document scroll commands 2019-10-14 13:08:13 +02:00
Paul B Mahol 8fec9fca69 doc/filters: document new feature 2019-10-14 11:40:17 +02:00
Paul B Mahol 8a0d45a92e avfilter/vf_geq: allow user to set interpolation method 2019-10-14 10:55:51 +02:00
Paul B Mahol e923e6205e avfilter/vf_waveform: add yflat filter 2019-10-12 18:46:13 +02:00
Paul B Mahol 42974eb13a avfilter/vf_waveform: add invert graticule 2019-10-12 17:44:52 +02:00
Paul B Mahol 1cdb7c5839 doc/filters: add more examples for afftfilt 2019-10-09 19:03:45 +02:00
Paul B Mahol 24b6e968a2 doc/filters: document atempo command 2019-10-09 09:33:16 +02:00
Paul B Mahol 29327794b0 doc/filters: mention rubberband supported commands 2019-10-09 09:30:25 +02:00
Paul B Mahol 6023b9fbfe avfilter/af_anlms: add support for commands 2019-10-08 11:54:21 +02:00
Paul B Mahol 0633d87ae6 avfilter/af_adelay: add option which changes how unset channels are delayed
Fixes #8032.
2019-10-07 18:10:28 +02:00
Paul B Mahol a1e5c35a6e doc/filters: fix few more typos 2019-10-06 20:32:16 +02:00
Paul B Mahol 66d45af13c avfilter/vf_avgblur: add support for commands 2019-10-06 15:46:06 +02:00
Paul B Mahol da9337c911 avfilter/vf_gblur: add support for commands 2019-10-06 15:34:28 +02:00
Paul B Mahol e37edc70bd avfilter: add anlms filter 2019-10-06 15:09:38 +02:00
Paul B Mahol 93ea21f9b7 doc/filters: fix typo 2019-10-03 17:58:46 +02:00
Paul B Mahol d0189f8d97 avfilter/vsrc_sierpinski: add triangle type 2019-10-03 14:21:39 +02:00
Paul B Mahol 1b2ed0c392 avfilter/vf_drawbox: implement process_command 2019-10-01 20:28:11 +02:00
Vladimir Panteleev c888adf590 libavfilter: add photosensitivity filter 2019-09-30 20:21:27 +02:00
Paul B Mahol a746359ede avfilter: add scroll video filter 2019-09-30 19:37:37 +02:00
Paul B Mahol 9c9d5bf257 avfilter/f_metadata: add ends_with() function for comparing ends of strings 2019-09-30 12:14:34 +02:00
Paul B Mahol 551e8dc145 doc/filters: add more advanced silenceremove example 2019-09-28 23:04:07 +02:00
Gyan Doshi b9f8ab3ef4 doc/filters: warn about gaps/overlaps in xstack 2019-09-26 21:47:55 +05:30
Limin Wang af007e36d1 doc/filters: add 4x4 layout example for xstack filter
Add layouts for existing examples.

Reviewed-by: Gyan <ffmpeg@gyani.pro>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2019-09-26 21:44:28 +05:30
Paul B Mahol 9c3e1c1937 avfilter: add sierpinski video source 2019-09-25 14:06:26 +02:00
Paul B Mahol 0d05aa052c avfilter/vf_v360: add sinusoidal format 2019-09-25 13:06:30 +02:00
Paul B Mahol 51a2f02117 avfilter/vf_v360: add fixed pixel padding options 2019-09-22 14:12:51 +02:00
Paul B Mahol b8dfc108a2 avfilter/vf_v360: add hammer projection 2019-09-21 15:58:03 +02:00
Paul B Mahol b632ad81c5 avfilter/vf_v360: add ball projection format 2019-09-19 18:38:06 +02:00
Moritz Barsnick 53d31e91c5 doc: various spelling, grammar and formatting fixes
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
2019-09-18 10:39:18 +05:30
Paul B Mahol 251284e44a avfilter/vf_v360: add mercator projection 2019-09-17 22:18:30 +02:00
Paul B Mahol 5a9560dfc6 avfilter/vf_stereo3d: add tb (top-bottom) aliases 2019-09-15 10:54:00 +02:00
Paul B Mahol 197985c5bf doc/filters: add another v360 example 2019-09-14 19:52:05 +02:00
Paul B Mahol 45bb80dccc avfilter/vf_v360: implement stereo 3D support 2019-09-14 19:35:13 +02:00
Paul B Mahol cb8d6a4e3e avfilter/vf_v360: implement diagonal field of view 2019-09-14 10:47:01 +02:00
Paul B Mahol e1dd355b3d avfilter/vf_v360: add dfisheye output 2019-09-12 20:07:26 +02:00
Paul B Mahol e26fb6a714 doc/filters: extend flip options in v360 filter 2019-09-10 20:29:43 +02:00
Paul B Mahol 329505d908 avfilter/vf_v360: add support for stereographic as input projection 2019-09-10 18:58:51 +02:00
Paul B Mahol 2f071767d9 doc/filters: fix typo in v360 2019-09-09 22:47:36 +02:00
Paul B Mahol 799c07e5c8 avfilter/vf_v360: partialy revert previous commit
roll/pitch can do exactly same thing.
2019-09-09 17:47:03 +02:00
Paul B Mahol 976617c7d2 avfilter/vf_v360: extend stereographic projection
Add option to change central point projection.
2019-09-09 14:17:22 +02:00
Paul B Mahol 8a1f0cb9e3 doc/filters: update v360 2019-09-08 21:07:59 +02:00
Paul B Mahol 5b12a47e08 avfilter/vf_v360: add options to h/w unflip input video 2019-09-07 22:36:28 +02:00
Paul B Mahol a06d70350b avfilter/vf_v360: support transposed input/output 2019-09-07 22:09:17 +02:00