Commit Graph

7737 Commits

Author SHA1 Message Date
Lynne
9b9f441ab3 doc/APIchanges: fix vulkan hwcontext date 2020-02-08 23:32:46 +00: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
Lynne
ee81713fe3 doc/APIchanges: update with Vulkan commit info 2020-02-04 23:51:55 +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
Lynne
a88449ffb2 lavu: add Vulkan hwcontext code
This commit adds the necessary code to initialize and use a Vulkan device
within the hwcontext libavutil framework.
Currently direct mapping to VAAPI and DRM frames is functional, and
transfers to CUDA and native frames are supported.

Lets hope the future Vulkan video decode extension fits well within this
framework.
2020-02-04 23:19:48 +00:00
Michael Kuron
d4440c7e91 lavc/dvdsubenc: accept palette from options
Previously, the default palette would always be used.
Now, we can accept a custom palette, just like dvdsubdec does.

Signed-off-by: Michael Kuron <michael.kuron@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-02-04 23:34:22 +01:00
Paul B Mahol
efee86fafa avfilter/vf_xfade: add circleopen & circleclose transition 2020-02-04 10:39:02 +01:00
Michael Kuron
beab188c61 doc: Fix typo for dvdsubdec
Signed-off-by: Michael Kuron <michael.kuron@gmail.com>
2020-02-03 23:25:36 +01:00
Marton Balint
3cdc71348e avformat/dashenc: use AV_OPT_TYPE_DICT for http_opts
This changes the separator character from comma to colon, but since this option
was only added recently I think it should be done for consistency with other
similar options.

Signed-off-by: Marton Balint <cus@passwd.hu>
2020-02-03 21:42:35 +01:00
Wonkap Jang
b93098253e avcodec/libvpxenc: add VP9 temporal scalability encoding option
This commit reuses the configuration options for VP8 that enables
temporal scalability for VP9. It also adds a way to enable three
preset temporal structures (refer to the documentation for more
detail) that can be used in offline encoding.

Signed-off-by: James Zern <jzern@google.com>
2020-02-03 12:37:28 -08: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
Steven Liu
27529eeb27 avformat/avio: add avio_protocol_get_class
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Suggested-by: Hendrik Leppkes <h.leppkes@gmail.com>
Suggested-by: Nicolas George <george@nsup.org>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2020-01-30 17:10:12 +08:00
Carl Eugen Hoyos
c2d0321661 doc/outdevs: Mention "sdl2" alias for "sdl".
Fixes ticket #8498.
2020-01-26 13:15:07 +01:00
Zane van Iperen
bf890ae0d7 avcodec: add decoder for argonaut games' adpcm codec
Adds support for the ADPCM variant used by some Argonaut Games' games,
such as 'Croc! Legend of the Gobbos', and 'Croc 2'.

Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2020-01-26 10:23:54 +01:00
Marton Balint
15d160cc0b avformat/udp: increase the default buffer size of a receiving socket to 384K
It is a common mistake that people only increase fifo_size when they experience
drops, unfortunately this does not help for higher bitrate (> 100 Mbps) streams
when the reader thread simply might not receive the packets in time (especially
under high CPU load) if the default 64 KB of kernel buffer size is used.

New default is determined so that common linux systems can set this buffer size
without tuning kernel parameters.

Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-25 23:16:47 +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
Nicolas George
e16cd7b86c doc/fftools-common-opts: small fix to -report documentation. 2020-01-20 17:05:53 +01:00
Gyan Doshi
38081acc01 doc/filters: clarify resampling and linear mode in loudnorm 2020-01-20 17:29:29 +05:30
Marton Balint
3ffe3b1db0 avformat/img2enc: add support for specifying protocol options
v2: simplified example

Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-18 23:51:17 +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
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
Wang Cao
8c9d82af6b Add a commandline option to control loop restoration for libaom
Signed-off-by: Wang Cao <wangcao@google.com>
Signed-off-by: James Zern <jzern@google.com>
2020-01-17 14:46:50 -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
James Almer
e7c04eaf50 avformat/dashenc: document the new options
Signed-off-by: James Almer <jamrial@gmail.com>
2020-01-15 23:34:37 -03:00
James Almer
717b2074ec avcodec: add a Producer Reference Time AVPacketSideData type
Signed-off-by: James Almer <jamrial@gmail.com>
2020-01-15 23:33:41 -03: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
Gyan Doshi
c11b3253a4 doc/general: update table AV1 entry for librav1e 2020-01-11 11:01:17 +05:30
Jun Zhao
883e6af710 doc/general: Add avs2 decoder/encoder entry
Add avs2 decoder/encoder entry

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2020-01-11 10:51:52 +05:30
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
Gyan Doshi
fa677750de doc/ffmpeg: document value source for -force_key_frames
Also clarify behaviour in case of specified timestamps
2020-01-05 10:53:46 +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
Marton Balint
944203270d avdevice/decklink: deprecate the -list_devices option
The user should use ffmpeg -sources decklink or ffmpeg -sinks decklink instead.

Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-03 18:13:22 +01:00
Marton Balint
2b7097ef27 avdevice/decklink_dec: remove -bm_v210 option
Deprecated since Sep 28, 2017.

Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-03 18:13:22 +01:00
Marton Balint
bc17b831dd doc/muxers: fix order of options and examples for image2 muxer
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-01-03 11:23:55 +01:00
James Almer
278a91f8fe avcodec/libx265: add a qp option and apply the relevant global AVCodecContext settings to the encoder context
Signed-off-by: James Almer <jamrial@gmail.com>
2020-01-01 13:48:02 -03:00
James Almer
3c22436ddf avcodec/libx265: apply some global AVCodecContext settings to the encoder context
There's no reason to ignore them if set.

Signed-off-by: James Almer <jamrial@gmail.com>
2020-01-01 13:25:18 -03:00
Marton Balint
f1353ce222 avdevice/xcbgrab: capture the full desktop if video_size is not specified
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-12-30 23:32:27 +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
Michael Niedermayer
45259a0ee4 avutil/eval: Add av_expr_count_func() similar to av_expr_count_vars()
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
Marton Balint
16685114d5 avutil/buffer: add av_buffer_pool_buffer_get_opaque
In order to access the original opaque parameter of a buffer in the buffer
pool. (The buffer pool implementation overrides the normal opaque parameter but
also saves it so it is accessible).

v2: add assertion check before dereferencing the BufferPoolEntry.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-12-26 00:47:24 +01:00
Wonkap Jang
a86bb2f606 doc/encoders: correct the description for ts_target_bitrate
ts_target_bitrate is in kbps, not bps. This commit clarifies the unit
and modifies the example to match the description.

Signed-off-by: James Zern <jzern@google.com>
2019-12-20 14:37:35 -05: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
Jun Zhao
952fd0c768 lavf/libsrt: enable other encryption parameters
Enable the SRTO_ENFORCEDENCRYPTION/SRTO_KMREFRESHRATE/
SRTO_KMPREANNOUNCE for srt encryption control.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-12-11 14:23:26 +08:00
Jun Zhao
8d823e6005 lavf/libsrt: add linger parameter to libsrt
add linger parameter to libsrt, it's setting the number of seconds
that the socket waits for unsent data when closing.

Reviewed-by: Andriy Gelman <andriy.gelman@gmail.com>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-12-11 14:23:26 +08: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
James Almer
964eb754b4 tools: add a fuzzer tool for bitstream filters
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-12-05 20:49:15 -03:00
Marton Balint
f5b83d5419 avformat/mpegtsenc: allow any sensible PID for elementary and PMT PIDs
This sets the range of the first automatically assigned PMT PID or elementary
stream PID parameters to [0x20, 0x1ffa]. You can still assign manually a PID
for a stream using AVStream->id in the wider [0x10, 0x1ffe] range as specified
by ISO13818-1. But since DVB and ATSC both reserves some PIDs, let's not allow
them to be automatically assigned.

Also make sure that assigned PID numbers are valid and fix the error message
for the previous PID collision checks.

Signed-off-by: Marton Balint <cus@passwd.hu>
2019-12-03 11:00:10 +01:00
Paul B Mahol
8c2f81a17a avfilter/vf_hqdn3d: add support for commands 2019-11-29 17:28:59 +01:00
Zhong Li
1b831bc729 doc/encoder: add the missing qsv encoders
Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
Signed-off-by: Zhong Li <zhongli_dev@126.com>
2019-11-28 23:30:31 +08:00
Zhong Li
846e26b8c9 lavc/rav1e: log and doc updated for const quantizer mode
Signed-off-by: Zhong Li <zhongli_dev@126.com>
2019-11-28 23:27:46 +08:00
Thierry Foucu
eaf566ce0b Add options for spatial layers.
Disable by default to output all the layers, to match libaomdec wrapper.
Add option to select the operating point for the spatial layers.
Update the documentation with the new options.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-11-28 10:21:20 -03:00
Steven Liu
afee801276 avformat/hls: correct grammatical errors of m3u8_hold_counters option
Suggested-by: Gyan <ffmpeg@gyani.pro>
Suggested-by: Rodney Baker <rodney.baker@iinet.net.au>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-11-27 19:04:00 +08:00
Steven Liu
d5e3d8e2f7 avformat/hls: add option for the m3u8 list load max times
set max times for load m3u8 when the m3u8 list refresh do not with new
segments any times.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-11-25 11:12:20 +08: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
Gyan Doshi
d831edc387 avdevice/decklink: add option to drop frames till timecode is seen
Option wait_for_tc only takes effect if tc_format is set
2019-11-18 10:01:03 +05:30
Gyan Doshi
b741a84a15 doc/APIchanges: update for av_expr_count_vars 2019-11-17 11:09:13 +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
Derek Buitenhuis
d8bf24459b avcodec: Add librav1e encoder
Port to the new send/receive API by: James Almer <jamrial@gmail.com>.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2019-11-10 13:55:39 +00: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
Limin Wang
377fa6612a doc/bitstream_filters: Fix copy an paste typo
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-05 21:21:32 +01:00
Nicolas Frattaroli
a8ec0685ac avformat/ftp: add AVOptions for authentication
This introduces two new AVOption options for the FTP protocol,
one named ftp-user to supply the username to be used for auth,
one named ftp-password to supply the password to be used for auth.

These are useful for when an API user does not wish to deal with
URL manipulation and percent encoding.

Setting them while also having credentials in the URL will use the
credentials from the URL. The rationale for this is that credentials
embedded in the URL are probably more specific to what the user is
trying to do than anything set by some API user.

Signed-off-by: Nicolas Frattaroli <ffmpeg@fratti.ch>
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-11-03 12:24:19 +01:00
Andriy Gelman
5e3229df4c avformat: Add max_probe_packets option
Allows user to set maximum number of buffered packets when
probing a codec. It was a hard-coded parameter before this commit.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-11-03 11:52:32 +01: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
Alfred E. Heggestad
a269fa044b doc: fix typo in muxers documentation 2019-10-30 11:10:25 +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
Gyan Doshi
ed78ca4123 doc/utils: add hexadecagonal channel layout 2019-10-19 13:00:36 +05:30
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
James Almer
5c3d521a94 doc/APIchanges: add missing entry for the new runtime param AVOption flag
Signed-off-by: James Almer <jamrial@gmail.com>
2019-10-14 12:05:01 -03: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
961d6493e8 avutil/eval: add sgn() 2019-10-12 10:13:29 +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
Andriy Gelman
4cb124a800 doc/formats: Update documentation for chromaprint
Silence detection can only be set with algorithm version 3.

Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
2019-10-08 01:15:10 +05:30
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
Jun Zhao
a27c0781dd doc/codecs: Update documentation for flags/flags2
Update documentation for flags/flags2

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-10-06 17:33:00 +08: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
4a51075f4d doc/examples/muxing: fix underflow in duration of encoded streams
Now they are exactly 10 seconds long.

Fixes #5684.
2019-09-29 20:41:29 +02:00
Paul B Mahol
551e8dc145 doc/filters: add more advanced silenceremove example 2019-09-28 23:04:07 +02:00
Lou Logan
419e5e7942 doc/ffmpeg: -timelimit is in user time
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-27 12:11:39 -08: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
Michael Niedermayer
f8406ab4b9 avcodec: add max_samples
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-25 17:18:37 +02:00
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
Moritz Barsnick
2f87c9f646 avformat/hashenc: add streamhash muxer
Implemented as a variant of the hash muxer, reusing most functions,
and making use of the previously introduced array of hashes.

Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-20 23:26:34 +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
Carl Eugen Hoyos
551fcbbccb lavc/g729dec: Support decoding Sipro ACELP.KELVIN.
Fixes ticket #4799.
Analyzed-by: Aleksandr Ustinov
2019-09-16 20:57:53 +02:00
Michael Niedermayer
c80715f153 doc/examples/decode_audio: Fix "warning: ISO C90 forbids mixed declarations and code"
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-09-16 00:04:18 +02:00
James Almer
6c0167f6f6 avcodec/libdav1d: use the library default for the filmgrain option
Signed-off-by: James Almer <jamrial@gmail.com>
2019-09-15 11:09:39 -03: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