Commit Graph

7496 Commits

Author SHA1 Message Date
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