Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Sibras committed Jun 8, 2019
2 parents f522279 + b6ca032 commit cdac868
Show file tree
Hide file tree
Showing 129 changed files with 3,772 additions and 1,007 deletions.
1 change: 1 addition & 0 deletions Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ version <next>:
- colorhold filter
- xmedian filter
- asr filter
- showspatial multimedia filter


version 4.1:
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ $(TOOLS): %$(EXESUF): %.o
target_dec_%_fuzzer$(EXESUF): target_dec_%_fuzzer.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)

tools/target_dem_fuzzer$(EXESUF): tools/target_dem_fuzzer.o $(FF_DEP_LIBS)
$(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(ELIBS) $(FF_EXTRALIBS) $(LIBFUZZER_PATH)

tools/sofa2wavs$(EXESUF): ELIBS = $(FF_EXTRALIBS)
tools/uncoded_frame$(EXESUF): $(FF_DEP_LIBS)
tools/uncoded_frame$(EXESUF): ELIBS = $(FF_EXTRALIBS)
Expand Down
2 changes: 1 addition & 1 deletion compat/cuda/ptx2c.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ IN="$2"
NAME="$(basename "$IN" | sed 's/\..*//')"

printf "const char %s_ptx[] = \\" "$NAME" > "$OUT"
while read LINE
while IFS= read -r LINE
do
printf "\n\t\"%s\\\n\"" "$(printf "%s" "$LINE" | sed -e 's/\r//g' -e 's/["\\]/\\&/g')" >> "$OUT"
done < "$IN"
Expand Down
1 change: 1 addition & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -3470,6 +3470,7 @@ mpdecimate_filter_select="pixelutils"
minterpolate_filter_select="scene_sad"
mptestsrc_filter_deps="gpl"
negate_filter_deps="lut_filter"
nlmeans_opencl_filter_deps="opencl"
nnedi_filter_deps="gpl"
ocr_filter_deps="libtesseract"
ocv_filter_deps="libopencv"
Expand Down
2 changes: 1 addition & 1 deletion doc/bitstream_filters.texi
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ add extradata to all packets
@end table
@end table

If not specified it is assumed @samp{e}.
If not specified it is assumed @samp{k}.

For example the following @command{ffmpeg} command forces a global
header (thus disabling individual packet headers) in the H.264 packets
Expand Down
8 changes: 4 additions & 4 deletions doc/build_system.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ install
examples
Build all examples located in doc/examples.

libavformat/output-example
Build the libavformat basic example.
checkheaders
Check headers dependencies.

libswscale/swscale-test
Build the swscale self-test (useful also as an example).
alltools
Build all tools in tools directory.

config
Reconfigure the project with the current configuration.
Expand Down
26 changes: 26 additions & 0 deletions doc/decoders.texi
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,32 @@ top-field-first is assumed

@end table

@section libdav1d

dav1d AV1 decoder.

libdav1d allows libavcodec to decode the AOMedia Video 1 (AV1) codec.
Requires the presence of the libdav1d headers and library during configuration.
You need to explicitly configure the build with @code{--enable-libdav1d}.

@subsection Options

The following option is supported by the libdav1d wrapper.

@table @option

@item framethreads
Set amount of frame threads to use during decoding. The default value is 0 (autodetect).

@item tilethreads
Set amount of tile threads to use during decoding. The default value is 0 (autodetect).

@item filmgrain
Apply film grain to the decoded video if present in the bitstream. The default value
is true.

@end table

@section libdavs2

AVS2-P2/IEEE1857.4 video decoder wrapper.
Expand Down
8 changes: 8 additions & 0 deletions doc/encoders.texi
Original file line number Diff line number Diff line change
Expand Up @@ -733,6 +733,14 @@ if set to 0.

Default value is 0.

@item eld_v2
Enable ELDv2 (LD-MPS extension for ELD stereo signals) for ELDv2 if set to 1,
disabled if set to 0.

Note that option is available when fdk-aac version (AACENCODER_LIB_VL0.AACENCODER_LIB_VL1.AACENCODER_LIB_VL2) > (4.0.0).

Default value is 0.

@item signaling
Set SBR/PS signaling style.

Expand Down
2 changes: 2 additions & 0 deletions doc/ffplay.texi
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@ Set custom interval, in seconds, for seeking using left/right keys. Default is 1
Disable graphical display.
@item -noborder
Borderless window.
@item -alwaysontop
Window always on top. Available on: X11 with SDL >= 2.0.5, Windows SDL >= 2.0.6.
@item -volume
Set the startup volume. 0 means silence, 100 means no volume reduction or
amplification. Negative values are treated as 0, values above 100 are treated
Expand Down
14 changes: 14 additions & 0 deletions doc/ffprobe.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -147,11 +147,25 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="frameSideDataType">
<xsd:sequence>
<xsd:element name="timecodes" type="ffprobe:frameSideDataTimecodeList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>

<xsd:attribute name="side_data_type" type="xsd:string"/>
<xsd:attribute name="side_data_size" type="xsd:int" />
<xsd:attribute name="timecode" type="xsd:string"/>
</xsd:complexType>

<xsd:complexType name="frameSideDataTimecodeList">
<xsd:sequence>
<xsd:element name="timecode" type="ffprobe:frameSideDataTimecodeType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="frameSideDataTimecodeType">
<xsd:attribute name="value" type="xsd:string"/>
</xsd:complexType>

<xsd:complexType name="subtitleType">
<xsd:attribute name="media_type" type="xsd:string" fixed="subtitle" use="required"/>
<xsd:attribute name="pts" type="xsd:long" />
Expand Down
5 changes: 4 additions & 1 deletion doc/fftools-common-opts.texi
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ Possible forms of stream specifiers are:
Matches the stream with this index. E.g. @code{-threads:1 4} would set the
thread count for the second stream to 4. If @var{stream_index} is used as an
additional stream specifier (see below), then it selects stream number
@var{stream_index} from the matching streams.
@var{stream_index} from the matching streams. Stream numbering is based on the
order of the streams as detected by libavformat except when a program ID is
also specified. In this case it is based on the ordering of the streams in the
program.
@item @var{stream_type}[:@var{additional_stream_specifier}]
@var{stream_type} is one of following: 'v' or 'V' for video, 'a' for audio, 's'
for subtitle, 'd' for data, and 't' for attachments. 'v' matches all video
Expand Down
116 changes: 112 additions & 4 deletions doc/filters.texi
Original file line number Diff line number Diff line change
Expand Up @@ -1801,6 +1801,22 @@ Pass only noise.

Default value is @var{o}.
@end table

@item m
Set smooth factor. Default value is @var{11}. Allowed range is from @var{1} to @var{15}.
@end table

@subsection Commands

This filter supports the following commands:
@table @option
@item s
Change denoise strength. Argument is single float number.
Syntax for the command is : "@var{s}"

@item o
Change output mode.
Syntax for the command is : "i", "o" or "n" string.
@end table

@section anull
Expand Down Expand Up @@ -8248,6 +8264,40 @@ delogo=x=0:y=0:w=100:h=77:band=10

@end itemize

@section derain

Remove the rain in the input image/video by applying the derain methods based on
convolutional neural networks. Supported models:

@itemize
@item
Recurrent Squeeze-and-Excitation Context Aggregation Net (RESCAN).
See @url{http://openaccess.thecvf.com/content_ECCV_2018/papers/Xia_Li_Recurrent_Squeeze-and-Excitation_Context_ECCV_2018_paper.pdf}.
@end itemize

Training scripts as well as scripts for model generation are provided in
the repository at @url{https://github.com/XueweiMeng/derain_filter.git}.

The filter accepts the following options:

@table @option
@item dnn_backend
Specify which DNN backend to use for model loading and execution. This option accepts
the following values:

@table @samp
@item native
Native implementation of DNN loading and execution.
@end table
Default value is @samp{native}.

@item model
Set path to model file specifying network architecture and its parameters.
Note that different backends use different file formats. TensorFlow backend
can load files for both formats, while native backend can load files for only
its format.
@end table

@section deshake

Attempt to fix small changes in horizontal and/or vertical shift. This
Expand Down Expand Up @@ -10844,6 +10894,8 @@ Default is @code{1}.
@code{haldclut} also has the same interpolation options as @ref{lut3d} (both
filters share the same internals).

This filter also supports the @ref{framesync} options.

More information about the Hald CLUT can be found on Eskil Steenberg's website
(Hald CLUT author) at @url{http://www.quelsolaar.com/technology/clut.html}.

Expand Down Expand Up @@ -11929,8 +11981,6 @@ Interpolate values using a tetrahedron.
@end table
@end table

This filter also supports the @ref{framesync} options.

@section lumakey

Turn certain luma values into transparency.
Expand Down Expand Up @@ -12910,6 +12960,7 @@ Set character blacklist.
@end table

The filter exports recognized text as the frame metadata @code{lavfi.ocr.text}.
The filter exports confidence of recognized words as the frame metadata @code{lavfi.ocr.confidence}.

@section ocv

Expand Down Expand Up @@ -18464,9 +18515,10 @@ Pick median pixels from several input videos.
The filter accept the following options:

@table @option
@item nb_inputs
Set number of inputs. This must be odd number.
@item inputs
Set number of inputs.
Default is 3. Allowed range is from 3 to 255.
If number of inputs is even number, than result will be mean value between two median values.

@item planes
Set which planes to filter. Default value is @code{15}, by which all planes are processed.
Expand Down Expand Up @@ -19349,6 +19401,10 @@ Make every semi-green pixel in the input transparent with some slight blending:
@end example
@end itemize

@section nlmeans_opencl

Non-local Means denoise filter through OpenCL, this filter accepts same options as @ref{nlmeans}.

@section overlay_opencl

Overlay one video on top of another.
Expand Down Expand Up @@ -22243,6 +22299,58 @@ Set minimum amplitude used in @code{log} amplitude scaler.

@end table

@section showspatial

Convert stereo input audio to a video output, representing the spatial relationship
between two channels.

The filter accepts the following options:

@table @option
@item size, s
Specify the video size for the output. For the syntax of this option, check the
@ref{video size syntax,,"Video size" section in the ffmpeg-utils manual,ffmpeg-utils}.
Default value is @code{512x512}.

@item win_size
Set window size. Allowed range is from @var{1024} to @var{65536}. Default size is @var{4096}.

@item win_func
Set window function.

It accepts the following values:
@table @samp
@item rect
@item bartlett
@item hann
@item hanning
@item hamming
@item blackman
@item welch
@item flattop
@item bharris
@item bnuttall
@item bhann
@item sine
@item nuttall
@item lanczos
@item gauss
@item tukey
@item dolph
@item cauchy
@item parzen
@item poisson
@item bohman
@end table

Default value is @code{hann}.

@item overlap
Set ratio of overlap window. Default value is @code{0.5}.
When value is @code{1} overlap is set to recommended size for specific
window function currently used.
@end table

@anchor{showspectrum}
@section showspectrum

Expand Down
7 changes: 7 additions & 0 deletions doc/general.texi
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,13 @@ Raw codec2 files are also supported.
To make sense of them the mode in use needs to be specified as a format option:
@code{ffmpeg -f codec2raw -mode 1300 -i input.raw output.wav}.

@section dav1d

FFmpeg can make use of the dav1d library for AV1 video decoding.

Go to @url{https://code.videolan.org/videolan/dav1d} and follow the instructions for
installing the library. Then pass @code{--enable-libdav1d} to configure to enable it.

@section davs2

FFmpeg can make use of the davs2 library for AVS2-P2/IEEE1857.4 video decoding.
Expand Down
8 changes: 8 additions & 0 deletions doc/indevs.texi
Original file line number Diff line number Diff line change
Expand Up @@ -910,6 +910,14 @@ Capture from CRTC ID 42 at 60fps, map the result to VAAPI, convert to NV12 and e
ffmpeg -crtc_id 42 -framerate 60 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi output.mp4
@end example

@item
To capture only part of a plane the output can be cropped - this can be used to capture
a single window, as long as it has a known absolute position and size. For example, to
capture and encode the middle quarter of a 1920x1080 plane:
@example
ffmpeg -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,crop=960:540:480:270,scale_vaapi=960:540:nv12' -c:v h264_vaapi output.mp4
@end example

@end itemize

@section lavfi
Expand Down
2 changes: 1 addition & 1 deletion doc/muxers.texi
Original file line number Diff line number Diff line change
Expand Up @@ -991,7 +991,7 @@ By default, a single hls variant containing all the encoded streams is created.
@example
ffmpeg -re -i in.ts -b:a:0 32k -b:a:1 64k -b:v:0 1000k \
-map 0:a -map 0:a -map 0:v -f hls \
-var_stream_map "a:0,agroup:aud_low,default:yes,language=ENG a:1,agroup:aud_low,language:CHN v:0,agroup:aud_low" \
-var_stream_map "a:0,agroup:aud_low,default:yes,language:ENG a:1,agroup:aud_low,language:CHN v:0,agroup:aud_low" \
-master_pl_name master.m3u8 \
http://example.com/live/out_%v.m3u8
@end example
Expand Down
Loading

0 comments on commit cdac868

Please sign in to comment.