Commit Graph

2049 Commits

Author SHA1 Message Date
Paul B Mahol 1f75462007 doc/filters: add acrossover examples 2020-11-27 14:28:46 +01:00
Paul B Mahol 3864896017 avfilter/avf_showfreqs: implement phase display 2020-11-27 12:52:21 +01:00
Paul B Mahol 3c922681c3 avfilter: add asupercut filter 2020-11-26 17:38:49 +01:00
Paul B Mahol cc74700a83 avfilter/af_acrossover: add even more orders 2020-11-26 13:17:20 +01:00
Gyan Doshi 859de8df4a doc/filters: fix typo in overlay_cuda 2020-11-26 16:16:01 +05:30
Paul B Mahol 97bc6900e6 avfilter/vf_readeia608: add support for commands 2020-11-24 22:34:18 +01:00
Paul B Mahol 9208b72a38 avfilter/af_aiir: add support for arbitrary order lattice-ladder filter format 2020-11-22 22:57:43 +01:00
Paul B Mahol c417f1a76c avfilter/vf_xfade: add squeeze transitions 2020-11-19 14:57:41 +01:00
Paul B Mahol 381ab69042 avfilter/vf_frei0r: add support for commands 2020-11-19 11:55:47 +01:00
Paul B Mahol 17a0dfebf5 avfilter/vf_despill: add support for commands 2020-11-18 18:03:15 +01:00
Paul B Mahol e3081d6f4f avfilter/af_afade: add sinc curve types 2020-11-18 11:36:53 +01:00
Paul B Mahol bb7bb440c2 avfilter/af_anlmdn: support all options as commands 2020-11-17 13:49:38 +01:00
Paul B Mahol 9f20e5d281 avfilter: add speechnorm filter 2020-11-15 12:59:40 +01:00
Paul B Mahol ee4a046540 avfilter/af_asoftclip: add oversampling support 2020-11-10 15:25:18 +01:00
Paul B Mahol a125e08130 avfilter: add adenorm filter 2020-11-05 18:26:27 +01:00
Paul B Mahol de63b6fb54 avfitler/af_asoftclip: add hard type 2020-11-03 12:30:19 +01:00
Paul B Mahol ee686236cd avfilter/af_asoftclip: add erf soft clip type 2020-11-03 12:30:19 +01:00
Paul B Mahol 40ce4ad999 avfilter/af_biquads: add lattice-ladder form 2020-11-02 13:30:14 +01:00
Paul B Mahol 637c154a50 avfilter: add audio frequency and phase shift filters 2020-10-20 20:38:30 +02:00
Romane Lafon d60927b676 avfilter/avf_aphasemeter: add out of phase and mono detection
Extend aphasemeter to detect out of phase or mono sequences in
stereo streams.

Signed-off-by: Romane Lafon <romane@nomalab.com>
2020-10-20 20:30:45 +02:00
Paul B Mahol 847dc03787 avfilter/af_aiir: add analog transfer function format 2020-10-18 18:48:41 +02:00
Paul B Mahol 0df0e12d02 avfilter/af_aiir: implement parallel processing 2020-10-16 23:07:27 +02:00
Paul B Mahol eaba6cecfb avfilter/vf_v360: add mitchell interpolation 2020-10-04 19:23:52 +02:00
Paul B Mahol 6db1b1af4c avfilter/vf_v360: add octahedron format 2020-09-27 22:40:26 +02:00
Paul B Mahol 85195f6ae9 avfilter/vf_histogram: add slide modes for thistogram 2020-09-26 22:04:27 +02:00
Nicolas George ddba05afe4 lavfi/vsrc_testsrc: switch to activate.
Allow to set the EOF timestamp.

Also: doc/filters/testsrc*: specify the rounding of the duration option.

The changes in the ref files are right.

For filter-fps-down, the graph is testsrc2=r=7:d=3.5,fps=3.
3.5=24.5/7, so the EOF of testsrc2 will have PTS 25/7.
25/7=(10+5/7)/3, so the EOF PTS for fps should be 11/7,
and the output should contain a frame at PTS 10.

For filter-fps-up, the graph is testsrc2=r=3:d=2,fps=7,
for filter-fps-up-round-down and filter-fps-up-round-up
it is the same with explicit rounding options.
But there is no rounding: testsrc2 produces exactly 6 frames
and 2 seconds, fps converts it into exactly 14 frames.

The tests should probably be adjusted to restore them to
a useful coverage.
2020-09-08 14:39:43 +02:00
Paul B Mahol 615d75f291 avfilter/asrc_anullsrc: add support to set output duration 2020-09-04 19:37:29 +02:00
Paul B Mahol 88db1745fc avfilter/vf_alphamerge: use framesync 2020-09-04 19:37:29 +02:00
Andrei Rybak 5de8e897b1 doc/filters: add example for drawtext fontsize expr
Expressions for option fontsize of video filter drawtext have been
supported since commit 6442e4ab3c.

Signed-off-by: Andrei Rybak <rybak.a.v@gmail.com>
Revised-by: Gyan Doshi <ffmpeg@gyani.pro>
2020-09-03 11:09:27 +05:30
Paul B Mahol e417f84003 avfilter/f_graphmonitor: also show link EOF status in blue 2020-08-31 19:59:35 +02:00
Paul B Mahol eb9fa00bcc avfilter/vsrc_gradients: add speed option 2020-08-31 11:09:53 +02:00
Paul B Mahol 64e93025f0 avfilter/vsrc_gradients: add duration option 2020-08-31 11:09:53 +02:00
Paul B Mahol 9ebde67f0b avfilter/vf_xfade: add corner wipe transforms 2020-08-27 14:45:21 +02:00
Paul B Mahol e13eb58941 avfilter/vf_xfade: add fadegrays transition 2020-08-26 23:25:10 +02:00
Paul B Mahol 2459c3f8f0 avfilter/af_biquads: add different transform types 2020-08-21 22:46:07 +02:00
Harry Mallon 412d63fe72 avfilter/libvmaf: mention csv as available log format
Signed-off-by: Harry Mallon <harry.mallon@codex.online>
Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
2020-08-21 10:48:27 +05:30
tomajsjiang 926061fff1 doc/filters: update filter buffer/abuffer interface file name
Update filter buffer/abuffer interface file name, from
libavfilter/{vsrc|asrc_buffer.h} to libavfilter/buffersrc.h

Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
Signed-off-by: tomajsjiang <tomajsjiang@tencent.com>
2020-08-08 15:04:34 +08:00
Paul B Mahol 17f6bd6e58 avfilter/vf_xfade: add hblur transition 2020-07-21 23:29:55 +02:00
Paul B Mahol 3a37aa597f avfilter/avf_showwavespic: add filter mode 2020-07-17 14:26:48 +02:00
Paul B Mahol 241cdded0f avfilter/vf_bilateral: stop using sigmaS as percent of width/height 2020-07-17 13:53:22 +02:00
Paul B Mahol 6cdddb773f avfilter: add chromanr video filter 2020-07-08 15:23:43 +02:00
Kyle Swanson 4979afdb85 configure: remove libvmaf from EXTERNAL_LIBRARY_VERSION3_LIST
since libvmaf v1.5.1, libvmaf has been relicensed as BSD+Patent

Signed-off-by: Kyle Swanson <k@ylo.ph>
2020-07-02 12:56:02 -07:00
Joe Ratterman c367d14d0a Replace 'FontName' with 'Fontname' in the documentation.
This is the only use of 'FontName' with that capitalization, as both
source-code and tests use 'Fontname'. Having consistent capitalization
makes it easier to find the relevant source from the docs.

See these examples for other uses:
    libavcodec/ass_split.c:68
    tests/ref/fate/sub-cc:9
2020-07-02 17:37:10 +05:30
Guo, Yejun 9bcf2aa477 vf_dnn_processing.c: add dnn backend openvino
We can try with the srcnn model from sr filter.
1) get srcnn.pb model file, see filter sr
2) convert srcnn.pb into openvino model with command:
python mo_tf.py --input_model srcnn.pb --data_type=FP32 --input_shape [1,960,1440,1] --keep_shape_ops

See the script at https://github.com/openvinotoolkit/openvino/tree/master/model-optimizer
We'll see srcnn.xml and srcnn.bin at current path, copy them to the
directory where ffmpeg is.

I have also uploaded the model files at https://github.com/guoyejun/dnn_processing/tree/master/models

3) run with openvino backend:
ffmpeg -i input.jpg -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=openvino:model=srcnn.xml:input=x:output=srcnn/Maximum -y srcnn.ov.jpg
(The input.jpg resolution is 720*480)

Also copy the logs on my skylake machine (4 cpus) locally with openvino backend
and tensorflow backend. just for your information.

$ time ./ffmpeg -i 480p.mp4 -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=tensorflow:model=srcnn.pb:input=x:output=y -y srcnn.tf.mp4
…
frame=  343 fps=2.1 q=31.0 Lsize=    2172kB time=00:00:11.76 bitrate=1511.9kbits/s speed=0.0706x
video:1973kB audio:187kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.517637%
[aac @ 0x2f5db80] Qavg: 454.353
real    2m46.781s
user    9m48.590s
sys     0m55.290s

$ time ./ffmpeg -i 480p.mp4 -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=openvino:model=srcnn.xml:input=x:output=srcnn/Maximum -y srcnn.ov.mp4
…
frame=  343 fps=4.0 q=31.0 Lsize=    2172kB time=00:00:11.76 bitrate=1511.9kbits/s speed=0.137x
video:1973kB audio:187kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.517640%
[aac @ 0x31a9040] Qavg: 454.353
real    1m25.882s
user    5m27.004s
sys     0m0.640s

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2020-07-02 09:56:55 +08:00
exwm 32d6fe23b6 avfilter/zoompan: add in_time variable
Currently, the zoompan filter exposes a 'time' variable (missing from docs) for use in
the 'zoom', 'x', and 'y' expressions. This variable is perhaps better named
'out_time' as it represents the timestamp in seconds of each output frame
produced by zoompan. This patch adds aliases 'out_time' and 'ot' for 'time'.

This patch also adds an 'in_time' (alias 'it') variable that provides access
to the timestamp in seconds of each input frame to the zoompan filter.
This helps to design zoompan filters that depend on the input video timestamps.
For example, it makes it easy to zoom in instantly for only some portion of a video.
Both the 'out_time' and 'in_time' variables have been added in the documentation
for zoompan.

Example usage of 'in_time' in the zoompan filter to zoom in 2x for the
first second of the input video and 1x for the rest:
    zoompan=z='if(between(in_time,0,1),2,1):d=1'

V2: Fix zoompan filter documentation stating that the time variable
would be NAN if the input timestamp is unknown.

V3: Add 'it' alias for 'in_time. Add 'out_time' and 'ot' aliases for 'time'.
Minor corrections to zoompan docs.

Signed-off-by: exwm <thighsman@protonmail.com>
2020-06-25 10:27:07 +02:00
Paul B Mahol 00a5df71ad avfilter/vf_v360: add orthographic projection support 2020-06-23 16:00:02 +02:00
Paul B Mahol 44ce333f03 avfilters/vf_v360: add equisolid projection support 2020-06-22 14:41:36 +02:00
Paul B Mahol 683a1599d4 avfilter/af_ladspa: add latency compensation 2020-06-21 21:35:40 +02:00
Limin Wang dacae40a4b avfilter/vf_overlay: add yuv420p10 and yuv422p10 10bit format support
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2020-06-19 07:14:46 +08:00
Paul B Mahol bd6336b970 avfilter/vf_vaguedenoiser: add new type of threshold 2020-06-07 15:20:25 +02:00
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