1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

7030 Commits

Author SHA1 Message Date
Paul B Mahol
89bbf5c7ec avfilter: add hilbert source FIR filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-04 12:26:19 +01:00
Rostislav Pehlivanov
c29038f304 lavr: deprecate the entire library
Deprecate the entire library. Merged years ago to provide compatibility
with Libav, it remained unmaintained by the FFmpeg project and duplicated
functionality provided by libswresample.

In order to improve consistency and reduce attack surface, as well as to ease
burden on maintainers, it has been deprecated. Users of this library are asked
to migrate to libswresample, which, as well as providing more functionality,
is faster and has higher accuracy.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-04 01:38:22 +00:00
Paul B Mahol
09b24a807a avfilter: add entropy filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-03 19:45:01 +01:00
Vishwanath Dixit
41e51fbcd9 avformat/hlsenc: creation of variant streams in subdirectories
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2018-01-02 10:46:48 +08:00
Vishwanath Dixit
e872befdb5 avformat/hlsenc: configurable variant stream index position in filenames 2018-01-02 10:46:17 +08:00
Zhong Li
1efbbfedca examples/qsvdec: do not set the deprecated field refcounted_frames
It is used by the deprecated API avcodec_decode_video2 and ignored by the
new decode APIs (avcodec_send_packet/avcodec_receive_frame).

Signed-off-by: Zhong Li <zhong.li@intel.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-12-29 16:13:02 +00:00
Karthick Jeyapal
0c78b6a416 avformat/dashenc: Persistent HTTP connections supported as an option
Reviewed-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Steven Liu <lq@onvideo.cn>
2017-12-29 18:12:32 +08:00
Paul B Mahol
8c9a91ac82 avfilter: add deconvolve filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 11:54:22 +01:00
Aman Gupta
1dd82edea5 avformat/hls: enable http_multiple only for http/1.1 servers
Some http/1.0 implementations, like python's SimpleHTTPServer, can only support one client connection at a time. Making a second request while the first is still connected leads to a deadlock.

This change enables multiple connections for http/1.1 servers only, which need to support keepalive by default and should have no problem with concurrent requests.

Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-12-26 14:53:19 -08:00
Aman Gupta
039007c928 avformat/http: export http_version from response
Can be used by the api user to figure out what http features the server supports based on the response received.

Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-12-26 14:52:36 -08:00
wm4
a04c2c707d lavc: replace and deprecate the lock manager
Use static mutexes instead of requiring a lock manager. The behavior
should be roughly the same before and after this change for API users
which did not set the lock manager at all (except that a minor memory
leak disappears).
2017-12-26 02:50:00 +01:00
James Darnley
8b81eabe57 avutil: add AVX-512 flags 2017-12-24 22:02:41 +01:00
Vishwanath Dixit
d02289c386 avformat/hlsenc:addition of #EXT-X-MEDIA tag and AUDIO attribute
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-23 13:42:00 +08:00
Aman Gupta
1f0eaa02aa avformat/hls: add http_multiple option
This improves network throughput of the hls demuxer by avoiding
the latency introduced by downloading segments one at a time.

The problem is particularly noticable over high-latency network
connections: for instance, if RTT is 250ms, there will a 250ms idle
period between when one segment response is read and the next one
starts.

The obvious solution to this is to use HTTP pipelining, where a
second request can be sent (on the persistent http/1.1 connection)
before the first response is fully read. Unfortunately the way the
http protocol is implemented in avformat makes implementing pipleining
very complex.

Instead, this commit simulates pipelining using two separate persistent
http connections. This has the advantage of working independently of
the http_persistent option, and can be used with http/1.0 servers as
well. The pair of connections is swapped every time a new segment starts
downloading, and a request for the next segment is sent on the secondary
connection right away. This means the second response will be ready and
waiting by the time the current response is fully read.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2017-12-22 14:42:50 -08:00
Aman Gupta
b7d6c0cd48 avformat/hls: add http_persistent option
This teaches the HLS demuxer to use the HTTP protocols
multiple_requests=1 option, to take advantage of "Connection:
Keep-Alive" when downloading playlists and segments from the HLS server.

With the new option, you can avoid TCP connection and TLS negotiation
overhead, which is particularly beneficial when streaming via a
high-latency internet connection.

Similar to the http_persistent option recently implemented in hlsenc.c

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
2017-12-22 14:42:50 -08:00
Marton Balint
e1113a83cc avfilter/vf_framerate: fix scene change detection score
- normalize score to [0..100] instead of [0..85]
- change the default score to 8.2 to roughly keep existing behaviour
- take into account bit depth
- do not truncate to integer

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-21 23:03:10 +01:00
Paul B Mahol
c99ed89f89 avfilter/af_biquads: add kHz width_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-21 11:52:49 +01:00
Mark Thompson
2117725dc5 lavc: Mark all AVHWAccel structures as const 2017-12-19 23:24:24 +00:00
Mark Thompson
e2d575543c lavc: Deprecate av_hwaccel_next() and av_register_hwaccel() 2017-12-19 23:22:31 +00:00
Mark Thompson
720cf4e6e7 lavc: Add codec metadata to indicate hardware support 2017-12-19 23:21:53 +00:00
Paul B Mahol
5f2c4d044f doc/filters: update biquad filters with commands section
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-18 15:24:53 +01:00
sfan5
387ee1d6aa libavformat: LibreSSL (libtls) support
Signed-off-by: sfan5 <sfan5@live.de>
2017-12-17 17:32:42 +11:00
Paul B Mahol
d29f784a54 avfilter/vf_overlay: add premultiplied alpha mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-16 18:40:04 +01:00
Aman Gupta
8bf4e6d3ce lavc/mediacodec: use AVMediaCodecDeviceContext hw_device_ctx if set
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-12-16 00:52:27 +01:00
Aman Gupta
e4d9f05ca7 lavu/hwcontext: add AV_HWDEVICE_TYPE_MEDIACODEC
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-12-16 00:52:00 +01:00
James Almer
5450972be4 doc/libav-merge: remove line about VP9 superframe parsing
It was addressed in a5679933c1,
0c162854c1 and
5a366f9770.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-15 14:39:06 -03:00
Mark Thompson
07e1bd7e2d doc/libav-merge: Remove VAAPI VP8 decode hwaccel merge note
Done in 9f00fa5369 and
40b75a943b.
2017-12-15 16:53:13 +00:00
Gyan Doshi
1c76134fe3 avfilter/drawbox+drawgrid - add option to prevent overwriting of source pixels
If the user-supplied color in drawbox and drawgrid filters is non-opaque,
the box & grid painting overwrites the input's pixels (including alpha).
Users typically expect the alpha of the specified color to only act as a key
for compositing on top of the main input.

Added option allows users to select between replacement and composition.
Tested and documented.
2017-12-14 13:44:45 -09:00
wm4
b945fed629 avcodec: add metadata to identify wrappers and hardware decoders
Explicitly identify decoder/encoder wrappers with a common name. This
saves API users from guessing by the name suffix. For example, they
don't have to guess that "h264_qsv" is the h264 QSV implementation, and
instead they can just check the AVCodec .codec and .wrapper_name fields.

Explicitly mark AVCodec entries that are hardware decoders or most
likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing
API users listing hardware decoders in a more generic way. The proposed
AVCodecHWConfig does not provide this information fully, because it's
concerned with decoder configuration, not information about the fact
whether the hardware is used or not.

AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software
implementations in case the hardware is not capable.

Based on a patch by Philip Langdale <philipl@overt.org>.

Merges Libav commit 47687a2f8a.
2017-12-14 19:37:56 +01:00
Lou Logan
555119bd76 doc/filters: re-arrange options for testsrc family
Additionally:
* Mention that allrgb and allyuv do not support the "size" option.
* Separate examples into subsection.

Fixes ticket #6906.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-12-11 12:54:43 -09:00
James Almer
bad51e9287 doc/libav-merge: add a line about the skipped HEVC MC arm functions
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 21:03:28 -03:00
Paul B Mahol
713f9c5b5d avfilter/vf_scale: add more aliases for "range" options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 20:36:44 +01:00
Paul B Mahol
a41a5db797 avformat: add NSP demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 16:01:09 +01:00
Paul B Mahol
53855e3c04 avfilter: add setrange filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-06 15:42:23 +01:00
Jim DeLaHunt
d1266d9fa3
doc/developer: revise mailing list section
The Developer Documentation had instructions to
subscribe to the ffmpeg-cvslog email list. But that is
no longer accurate. For the purposes in this section --
review of patches, discussion of development issues --
ffmpeg_devel is the appropriate email list. Some developers
may want to monitor ffmpeg-cvslog, but it is not mandatory.

This is v3 of this doc, based on discussion in thread
<https://ffmpeg.org/pipermail/ffmpeg-devel/2017-November/220528.html>
and in response to docs Maintainer comments in
<https://ffmpeg.org/pipermail/ffmpeg-devel/2017-December/221596.html>.

1. In doc/developer.texi, add a new section about
ffmpeg-devel, based on existing text from ffmpeg-cvslog
section regarding discussion of patches and of
development issues. Reflect wording from discussion at
<https://ffmpeg.org/pipermail/ffmpeg-devel/2017-November/221199.html>
but with copy-editing to make wording more concise.

2. In doc/developer.texi, rewrite the ffmpeg-cvslog section
to match the current usage of ffmpeg-cvslog. Some
developers choose to follow this list, but it is not
mandatory.

There are a lot of improvements possible to the
Developer Documentation page, beyond this refactoring.
However, making those improvements is a much bigger
and more difficult task.  This change is "low hanging
fruit".

Signed-off-by: Jim DeLaHunt <from.ffmpeg-dev@jdlh.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2017-12-05 02:06:10 -08:00
Paul B Mahol
312b00de8f avfilter/vf_convolution: add 7x7 filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-04 21:32:29 +01:00
sfan5
942eafcf08 libavcodec/hevc_filter: support for all skip_loop_filter levels.
Continues where commit 52c75d486e left off.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-04 19:05:36 +01:00
Jim DeLaHunt
42a22d01d1
doc: reorganize developer.texi chapter hierarchy
Previously, the Developer Documentation <ffmpeg.org/developer.html>
contained a single chapter, "1. Developer Guide," with all content under
that single chapter. Thus the document structure was one level deeper
and more complicated than it needed to be.  It differed from similar
documents such as /faq.html, which have multiple chapters.

Eliminate the single chapter, and promote each section underneath to
chapter, and each subsection to section. Thus content and relative
structure remains the same, but the overall structure is simpler.
Anchors within the page remain the same.

Signed-off-by: Jim DeLaHunt <from.ffmpeg-dev@jdlh.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2017-12-02 21:07:48 -08:00
Mark Thompson
a763d27827 examples/vaapi_encode: Fix leak on hwframe init failure
Fixes CID #1424882.
2017-12-01 21:12:45 +00:00
Paul B Mahol
e1dd97bd4c avfilter: add fillborders filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-01 18:57:24 +01:00
Paul B Mahol
2cfc8b172c avfilter/vf_tile: add init_padding option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-01 10:55:30 +01:00
Karthick J
8c2b37e678 avformat/dashenc: Option to generate hls playlist as well
This is to take full advantage of Common Media Application Format(CMAF).
Now server can generate one content and serve both HLS and DASH players.

Reviewed-by: Steven Liu <lq@onvideo.cn>
2017-11-30 10:55:51 +08:00
James Almer
d268094f88 Merge commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa'
* commit '99e9697e3a12ab4a6638a36b95edafd6a98f9eaa':
  stereo3d: Support view type for frame sequence type

Merged-by: James Almer <jamrial@gmail.com>
2017-11-29 21:06:49 -03:00
Mark Thompson
b0d9eab7f2 examples/hw_decode: Use hw-config information to find pixfmt
This removes all remaining device-type specificity.
2017-11-29 23:49:14 +00:00
Jeyapal, Karthick
815e34b5b4 libavformat/hlsenc: Persistent HTTP connections supported as an option 2017-11-29 14:33:07 +08:00
James Zern
86cead5256 libvpxenc,vp9: add corpus-complexity option
Corpus VBR mode is a variant of standard VBR where the complexity
distribution midpoint is passed in rather than calculated for a specific
clip or chunk.

The valid range is [0, 10000]. 0 (default) uses standard VBR.

Signed-off-by: James Zern <jzern@google.com>
2017-11-28 15:17:51 -08:00
Jun Zhao
23db3a1ae6 examples: Add a VA-API encode example.
Supports only raw NV12 input.

Example use:
./vaapi_encode 1920 1080 test.yuv test.h264

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-11-28 22:14:07 +00:00
Gyan Doshi
b3cb9bd43f avfilter/drawbox: rename variable for maximum thickness
The present value name for maximum thickness is 'max' which results in a
parse error of any thickness expression containing 'max(val1,val2)'.

Value renamed to 'fill'. Tested locally and documented.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-28 21:42:48 +01:00
Vittorio Giovara
99e9697e3a stereo3d: Support view type for frame sequence type
Implement detection in h264 and hevc and insertion in framepack filter.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-11-28 14:56:51 -05:00
Mark Thompson
3a71bcc213 lavc: Mark all AVHWAccel structures as const 2017-11-26 21:41:19 +00:00
Mark Thompson
3536a3efb9 lavc: Deprecate av_hwaccel_next() and av_register_hwaccel() 2017-11-26 21:36:31 +00:00
Mark Thompson
24cc0a53e9 lavc: Add codec metadata to indicate hardware support 2017-11-26 21:35:49 +00:00
Mark Thompson
37c57df18e doc/ffmpeg: Document opencl for -init_hw_device 2017-11-26 15:40:24 +00:00
Mark Thompson
022ddff0b2 doc/fftools: Remove documentation for old -opencl_bench option 2017-11-26 15:40:24 +00:00
Paul B Mahol
ffc01280be avfilter: add lv2 wrapper filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-26 14:05:25 +01:00
Mark Thompson
8921689575 doc/APIchanges: Fix lavu versions for OpenCL changes
Also fix a typo and fill hashes and dates.
2017-11-25 15:13:15 +00:00
Richard Ling
7d4fe0c5cb avfilter: add normalize filter 2017-11-25 09:51:33 +01:00
Paul B Mahol
ec5328aa6f avfilter: add mix filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-24 16:51:33 +01:00
Karthick J
efb51c8ebb avformat/hlsenc: Added option to add EXT-X-INDEPENDENT-SEGMENTS tag 2017-11-24 06:57:36 +08:00
Lou Logan
a60b2425c3 doc/filters: mention (a)loop defaults
Signed-off-by: Lou Logan <lou@lrcd.com>
2017-11-23 11:54:26 -09:00
Werner Robitza
5f278620b8 doc/filters.texi: explain infinite looping
Explain how to achieve infinite looping with the loop / aloop filters.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
2017-11-23 11:44:34 -09:00
Mark Thompson
3650cb2dfa lavu,lavfi,ffmpeg: Remove experimental OpenCL API
This was added in early 2013 and abandoned several months later; as far as
I can tell, there are no external users.  Future OpenCL use will be via
hwcontext, which requires neither special OpenCL-only API nor global state
in libavutil.

All internal users are also deleted - this is just the unsharp filter
(replaced by unsharp_opencl, which is more flexible) and the deshake filter
(no replacement).
2017-11-22 23:20:39 +00:00
Mark Thompson
b25d8ef0a7 lavu: OpenCL hwcontext implementation 2017-11-22 23:02:29 +00:00
Mark Thompson
a050f56c09 lavu: Add OpenCL hardware pixfmt 2017-11-22 23:01:29 +00:00
Jim DeLaHunt
152902f379 doc: Add FAQs about running in background (rev 2)
Add two FAQs about running FFmpeg in the background.
The first explains the use of the -nostdin option in
a straightforward way. Text revised based on review.

The second FAQ starts from a confusing error message,
and leads to the solution, use of the -nostdin option.
The purpose of the second FAQ is to attract web searches
from people having the problem, and offer them a solution.

Add an anchor to the Main Options section of the ffmpeg
documentation, so that the FAQs can link directly there.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-22 18:13:49 +01:00
Karthick J
e8e9306b4f avdevice/decklink_dec: autodetect the video input format
When -format_code is not specified autodetection will happen.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-11-22 00:08:35 +01:00
Paul B Mahol
afd2bf54c3 avfilter/avf_avectorscope: add swap and mirror options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-21 12:27:03 +01:00
Karthick J
d24e08e978 avformat/dashenc: Added configuration to override HTTP User-Agent
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-21 03:13:03 +01:00
Vishwanath Dixit
77ab1d7bae avformat/hlsenc: creation of hls master playlist file
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
2017-11-20 10:04:34 +08:00
Vishwanath Dixit
92a32d0747 avformat/hlsenc: creation of hls variant streams in a single hlsenc instance
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
2017-11-20 10:02:11 +08:00
Carl Eugen Hoyos
3c113421ed doc/codecs.texi: Remove documentation of removed codec flags.
The flags were removed in b79a7da3
2017-11-20 01:10:54 +01:00
Gyan Doshi
e75fe0ef21 avformat/subfile: allow to extract till EOF
Users can set end offset as 0 to extract till end of file.
Tested locally and documented.
2017-11-19 19:11:50 +01:00
Paul B Mahol
e679ac8d7c avfilter: add acontrast filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-19 12:50:04 +01:00
Vitaly _Vi Shukela
80ef3c8360 ffmpeg: Allow "-to" on input files in addition to "-t"
For some strange reason "-t" option was only implemented
for input files while both "-t" and "-to" were available
for use for output files. This made extracting a range from
input file inconvenient.

This patch enables -to option for input so one can do

    ffmpeg -ss 1:23:20 -to 1:27:22.3 -i myinput.mkv ...

Signed-off-by: Vitaly _Vi Shukela <vi0oss@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-19 04:38:29 +01:00
James Zern
3071434f4d lavc/libvpxenc: add tune-content option
this matches the vpxenc parameter

Signed-off-by: James Zern <jzern@google.com>
2017-11-17 12:06:38 -08:00
Paul B Mahol
5d7c76566c avfilter: add multiband compand filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-17 20:34:04 +01:00
Aman Gupta
80bb81a8f3 avformat/tcp: add option to enable TCP_NODELAY
This can reduce latency and increase throughput, particularly on high
latency networks.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Jeyapal, Karthick <kjeyapal@akamai.com>
2017-11-17 10:48:55 -08:00
Steven Liu
f3e34072aa avformat/img2enc: add frame_pts option for make output filename
fix ticket id: #1452
when use frame_pts option, the output image name can be set with PTS
of current frame.

Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-11-13 10:52:01 +08:00
Paul B Mahol
7a060867f3 avfilter/vf_tile: add overlap option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-11-12 18:03:53 +01:00
James Almer
27aa69896b Merge commit '0e702124ee149593168cbbb7b30376249a64ae66'
* commit '0e702124ee149593168cbbb7b30376249a64ae66':
  doc: Provide better examples for hls and segment muxing

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:47:50 -03:00
James Almer
48e4eda11d Merge commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24'
* commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24':
  lavc: external hardware frame pool initialization

Includes the fix from e724bdfffb

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 20:33:26 -03:00
James Almer
ac36d0c97a doc/libav-merge: mention more skipped outdev removal commits
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 17:17:30 -03:00
James Almer
e5233b1581 doc/libav-merge: mention skipped outdev removal commit
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-11 17:12:08 -03:00
Aurelien Jacobs
018eef1a1b aptx: add raw muxer and demuxer for aptX 2017-11-10 21:32:06 +00:00
Aurelien Jacobs
a337b36b8b aptx: implement the aptX bluetooth codec
The encoder was reverse engineered from binary library and from
EP0398973B1 patent (long expired).
The decoder was simply deduced from the encoder.
2017-11-10 21:32:06 +00:00
Gyan Doshi
84556ef059 lavu/timecode: clarify error msg for timecode_rate
The user-supplied value for timecode_rate in drawtext is rounded
to nearest integer. So, a supplied value of 0.49 or lower is rounded to 0.
This throws a misleading error message which says "Timecode frame rate must be
specified". Changed message to account for values under one.

Also noted supported framerates for drop TC.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Ashish Pratap Singh
7b7037e5b0 avfilter:vf_libvmaf: improve docs.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-11-06 07:50:34 -05:00
Carl Eugen Hoyos
e06bdc3c37 lavf/amr: Add amrnb and amrwb demuxers.
Fixes ticket #6678.
2017-11-05 20:51:03 +01:00
James Almer
4b97435566 doc/libav-merge: mention skipped hlsenc commit
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-01 13:55:29 -03:00
Jun Zhao
5c51d0edd4 examples/filtering_audio: suppress the build warning.
suppress the "warning: assignment discards ‘const’ qualifier from
pointer target type" build warning.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-01 02:10:09 +01:00
Jun Zhao
cb6e20f8de examples/filtering_video: suppress the build warning.
suppress the "warning: assignment discards ‘const’ qualifier from
pointer target type" build warning.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-01 02:10:09 +01:00
Jun Zhao
fdfc51766d examples/transcoding: suppress build warning.
suppress the "warning: assignment discards ‘const’ qualifier from
pointer target type" build warning.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-01 02:10:09 +01:00
James Almer
b9d3def9b2 Merge commit 'b5f19f7478492307e4b4763aeac3180faf50e17f'
* commit 'b5f19f7478492307e4b4763aeac3180faf50e17f':
  aac: Split function to parse ADTS header data into public and private part

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 18:56:45 -03:00
James Almer
269ed71e93 Merge commit '189157c3fc8eeb691e3684b09d971eb5ddb47d5b'
* commit '189157c3fc8eeb691e3684b09d971eb5ddb47d5b':
  Add ClearVideo decoder

See a63496cc88

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 15:49:38 -03:00
James Almer
91b4d10917 Merge commit 'ecc5c4db2dd3a0f328d95df89daa59f78b4b2810'
* commit 'ecc5c4db2dd3a0f328d95df89daa59f78b4b2810':
  doc/examples/output: Cast pointer to the right (const) type

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 13:24:51 -03:00
James Almer
4c410a58d7 Merge commit 'f25609ff06b093d82548c92fc2031cd2e66c20d3'
* commit 'f25609ff06b093d82548c92fc2031cd2e66c20d3':
  doc/examples/filter_audio: const correctness

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 13:20:30 -03:00
Nicolas George
bfb1a94625 examples/avio_reading: return AVERROR_EOF at EOF.
Signed-off-by: Nicolas George <george@nsup.org>
2017-10-29 19:40:52 +02:00
Carl Eugen Hoyos
1da8c4ec85 lavfi/palettegen: Allow setting the background colour. 2017-10-29 01:45:43 +02:00
Paul B Mahol
3729ae659f avcodec: add MagicYUV encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-10-28 17:56:02 +02:00
Bjorn Roche
aba926e7d6 lavfi/paletteuse: fix to support transparency
This patch enables paletteuse to identify the transparency in incoming
video and tag transparent pixels on outgoing video with the correct
index from the palette.

This requires tracking the transparency index in the palette,
establishing an alpha threshold below which a pixel is considered
transparent and above which the pixel is considered opaque, and
additional changes to track the alpha value throughout the conversion
process.

This change is a partial fix for https://trac.ffmpeg.org/ticket/4443
However, animated GIFs are still output incorrectly due to a bug
in gif optimization which does not correctly handle transparency.

Signed-off-by: Clément Bœsch <u@pkh.me>
2017-10-28 17:14:26 +02:00
Luca Barbato
0e702124ee doc: Provide better examples for hls and segment muxing
Some encoders do not output further IDRs if not requested to.
2017-10-27 19:52:48 +02:00
James Almer
8a3d3b6240 Merge commit 'b200a2c8da403b5a5c8b50f8cb4a75fd4f0131b1'
* commit 'b200a2c8da403b5a5c8b50f8cb4a75fd4f0131b1':
  examples: Fixed and extended Doxygen documentation

Merged-by: James Almer <jamrial@gmail.com>
2017-10-26 17:03:09 -03:00
James Almer
99ba85a0e2 Merge commit 'f5950b8fd61ec85e0ad8790bea56b37ceea19436'
* commit 'f5950b8fd61ec85e0ad8790bea56b37ceea19436':
  lavfi: Drop unused and empty header file

Merged-by: James Almer <jamrial@gmail.com>
2017-10-26 16:46:11 -03:00
James Almer
a60fb1f88f Merge commit '083ea8768121ee800893e124b08483011b798919'
* commit '083ea8768121ee800893e124b08483011b798919':
  APIchanges: Update bump dates

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 19:17:31 -03:00
James Almer
eb5f846339 avcodec: drop deprecated vismv option
Deprecated in 08/2014.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-23 16:52:24 -03:00
James Almer
b46613dd9b Merge commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198'
* commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198':
  lavc: Remove deprecated XvMC support hacks

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 15:20:49 -03:00
Michael Niedermayer
2c9fa4162b ffmpeg: add -bitexact flag to simplify enabling bitexact mode in (de)muxer and (de/en)coder
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-23 12:41:04 +02:00
Clément Bœsch
2b32031827 lavc: drop VDA
Deprecated (aka removed) in OSX 10.11, and we have a replacement for it
(VideoToolbox).
2017-10-23 11:56:15 +02:00
wm4
b46a77f19d lavc: external hardware frame pool initialization
This adds a new API, which allows the API user to query the required
AVHWFramesContext parameters. This also reduces code duplication across
the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses
the new API function. It takes care of initializing the hw_frames_ctx
if needed, and does additional error handling and API usage checking.

Support for VDA and Cuvid missing.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-10-19 17:10:59 +02:00
Dave Rice
89cc48551b avdevice/decklink_dec: 32 bit audio support
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-10-18 21:45:24 +02:00
Gyan Doshi
df45ea45df doc/filters: add note on flite thread safety and update URL
Signed-off-by: Gyan Doshi <gyandoshi@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-18 02:49:15 +02:00
Mark Thompson
569721ac8d lavc: Add mpeg2_metadata bitstream filter
(cherry picked from commit b78c30d7ec)
2017-10-17 20:56:30 +01:00
Mark Thompson
03f982bbca lavc: Add hevc_metadata bitstream filter
This is able to modify some header metadata found in the VPS/SPS/VUI,
and can also add/remove AUDs.

(cherry picked from commit b31a9eae02)
2017-10-17 20:56:30 +01:00
Mark Thompson
8b26306294 lavc: Add h264_redundant_pps bitstream filter
This applies a specific fixup to some Blu-ray streams which contain
redundant PPSs modifying irrelevant parameters of the stream which
confuse other transformations which require correct extradata.

A new single global PPS is created, and all of the redundant PPSs
within the stream are removed.

(cherry picked from commit e6874bc3af)
2017-10-17 20:56:30 +01:00
Mark Thompson
a308872b04 lavc: Add h264_metadata bitstream filter
This is able to modify some header metadata found in the SPS/VUI,
and can also add/remove AUDs and insert user data in SEI NAL units.

(cherry picked from commit 9e93001b61)
(cherry picked from commit c42b62d1f9)
2017-10-17 20:56:29 +01:00
Mark Thompson
9c7d70b49b lavc: Add trace_headers bitstream filter
Supports all streams that the coded bitstream infrastructure does
(currently H.264, H.265 and MPEG-2).

(cherry picked from commit f11d8a5e8b)
2017-10-17 20:56:29 +01:00
Josh de Kock
762ab2de6e Remove dv1394 input device
Support for this device has been removed in the Linux kernel since v2.6.37.
dv1394 has been superseded by libiec61883 which is functionally equivalent.

Signed-off-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-10-13 23:57:59 +02:00
Diego Biurrun
8e7e042d41 Remove all output devices
The libavformat API is not suitable for exporting output devices as muxers.
Some practical problems are e.g. lack of timing/synchronization mechanisms
or interaction with output-specific features.
2017-10-13 23:57:01 +02:00
Gyan Doshi
147c1e008a doc/filters: correct typo and incomplete desc.
Correct typo in signalstats filter section and qualify description for variable
in select filter.

Signed-off-by: Gyan Doshi <gyandoshi@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-13 02:46:31 +02:00
Michael Niedermayer
92ae4ab56d doc/APIchanges: Add 3.4 cut point
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 01:23:49 +02:00
Michael Niedermayer
ed8ff608b2 doc/APIchanges: Update
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-10-11 00:16:15 +02:00
Gyan Doshi
d251effe73 doc/filters: note minimum resolution for pixscope
Signed-off-by: Gyan Doshi <gyandoshi@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-10-10 13:12:20 -08:00
Tobias Rapp
62bdec806e avfilter/vf_fps: add eof_action filter option
Allows to specify the action to be performed when reading the last frame
from the internal FIFO buffer. By default the last frame is written to
filter output depending on the timestamp rounding method. When using
"pass" action the last frame is passed through if input duration
has not been reached yet.

Examples using an input file with 25Hz, 1.4sec duration:
 - "fps=fps=1:round=near" generates an output file of 1sec
 - "fps=fps=1:round=near:eof_action=pass" generates an output file of
   2sec

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-10-06 17:11:20 +02:00
James Almer
cafd9d66ed build: add install targets for the examples
Split it off from install-data.

Among other things, this prevents spamming triplicate log lines during install.

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-05 11:35:56 -03:00
Tobias Rapp
4f5fb78134 doc/filters: align order of fps filter options to implementation
Align order of "start_time" option within fps filter documentation to actual
implementation. Also fix some documentation cosmetics.

Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2017-10-05 10:33:38 +02:00
James Almer
749b35799c Merge commit 'c483398bb7ef66f61ed2dcb09f3d6160683da0eb'
* commit 'c483398bb7ef66f61ed2dcb09f3d6160683da0eb':
  build: Drop DOC_ prefix from EXAMPLES-related variables

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 22:11:58 -03:00
James Almer
a2b0602cda Merge commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7'
* commit '4141a5a240fba44b4b4a1c488c279d7dd8a11ec7':
  Use modern avconv syntax for codec selection in documentation and tests

Merged-by: James Almer <jamrial@gmail.com>
2017-10-03 21:28:07 -03:00
Lou Logan
d17a00379e doc: Add mailing list FAQ
Signed-off-by: Lou Logan <lou@lrcd.com>
Reviewed-by: Kieran O Leary <kieran.o.leary@gmail.com>
Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
2017-10-03 15:25:07 -08:00
James Almer
fd5f4ac081 Merge commit 'c95169f0ec68bdeeabc5fde8aa4076f406242524'
* commit 'c95169f0ec68bdeeabc5fde8aa4076f406242524':
  build: Move cli tool sources to a separate subdirectory

Merged-by: James Almer <jamrial@gmail.com>
2017-10-01 18:26:36 -03:00
Ashish Singh
148c8e88c4 avfilter: add vmafmotion filter
Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-09-30 11:47:59 -04:00
James Almer
450cee522e build: fix cleaning compiled unstripped examples
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-30 01:40:08 -03:00
James Almer
3df437c2d1 build: add missing changes to ensure examples build with progs-suffix 2017-09-29 17:56:36 -03:00
James Almer
eace20a862 Merge commit 'ab566cc96bc0c31b34d944214bc06cec8ae8b640'
* commit 'ab566cc96bc0c31b34d944214bc06cec8ae8b640':
  build: Separate logic for building examples from that for building avtools

Merged-by: James Almer <jamrial@gmail.com>
2017-09-29 17:09:46 -03:00
James Almer
b25d6290c6 Merge commit 'acb0dea27efff4b35796015b96570b59fd517078'
* commit 'acb0dea27efff4b35796015b96570b59fd517078':
  build: Split logic for building examples off into a separate Makefile

We already have a Makefile in doc/examples, but it's separate from the build
system and meant to be installed as part of the documentation to help users
compile the installed .c example files.
Move it to Makefile.example to make place for the new build system Makefile.

Merged-by: James Almer <jamrial@gmail.com>
2017-09-29 15:12:43 -03:00
James Almer
0351b8e358 Merge commit 'db4903eb4875bed6c5b8a4259cdd7bc1768dfdf6'
* commit 'db4903eb4875bed6c5b8a4259cdd7bc1768dfdf6':
  build: Avoid duplication in examples lists

See 1a88e84fd5

Merged-by: James Almer <jamrial@gmail.com>
2017-09-28 19:22:21 -03:00
James Almer
d4b00a23c6 Merge commit '533339bdcc3b39bbd708c723b3cd0b5898350f0f'
* commit '533339bdcc3b39bbd708c723b3cd0b5898350f0f':
  build: Drop leftover reference to old EXAMPLES logic

Merged-by: James Almer <jamrial@gmail.com>
2017-09-28 19:08:37 -03:00
Karthick J
b6cf66ae1c avdevice/decklink_dec: Added Closed caption decode from VANC
Signed-off-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-09-28 21:06:12 +02:00
Gildas Fargeas
cb8b729180 avdevice/decklink_dec: add support for more pixel formats
The decklink input pixel format can now be specified with the 'raw_format'
option. The -bm_v210 option is now deprecated.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-09-28 21:06:03 +02:00
Martin Storsjö
07e4be7ec9 movenc: Add an option for enabling negative CTS offsets
This reduces the need for an edit list; streams that start with
e.g. dts=-1, pts=0 can be encoded as dts=0, pts=0 (which is valid
in mov/mp4) by shifting the dts values of all packets forward.
This avoids the need for edit lists for such streams (while they
still are needed for audio streams with encoder delay).

This eases conformance with the DASH-IF interoperability guidelines.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-28 18:15:45 +02:00
James Almer
774295a3e0 doc/libav-merge: mention skipped or incomplete runtime alignment commits
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-27 23:58:20 -03:00
James Almer
7aa6b8a68f Merge commit '4de220d2e3751c459f8739a08ac6ca52e63eba30'
* commit '4de220d2e3751c459f8739a08ac6ca52e63eba30':
  frame: allow align=0 (meaning automatic) for av_frame_get_buffer()

See https://ffmpeg.org/pipermail/ffmpeg-devel/2017-September/215834.html

Merged-by: James Almer <jamrial@gmail.com>
2017-09-27 23:31:53 -03:00
James Almer
522f877086 Merge commit 'e6bff23f1e11aefb16a2b5d6ee72bf7469c5a66e'
* commit 'e6bff23f1e11aefb16a2b5d6ee72bf7469c5a66e':
  cpu: add a function for querying maximum required data alignment

Adapted to work with the arbitrary runtime cpuflag changes av_force_cpu_flags()
can generate.

Merged-by: James Almer <jamrial@gmail.com>
2017-09-27 23:03:57 -03:00
Josh de Kock
56d2154b72
lavd: remove deprecated dv1394 device
Support for this device has been removed in kernel since v2.6.37. dv1394 has been superseded by libiec61883 which is functionally equivalent.

Signed-off-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: wm4 <nfxjfg@googlemail.com>
2017-09-27 17:04:56 +01:00
James Almer
b1cf151c4d Merge commit '577326d430593a25456393a75212b95d1cd94131'
* commit '577326d430593a25456393a75212b95d1cd94131':
  lavc: deprecate refcounted_frames field

Merged-by: James Almer <jamrial@gmail.com>
2017-09-26 16:42:18 -03:00
Rodger Combs
3eb1d05ef7 Merge commit 'c5c663541739cb813a2a5668ee8339b535b35d7d'
* commit 'c5c663541739cb813a2a5668ee8339b535b35d7d':
  doc: add dash muxer

Merged-by: Rodger Combs <rodger.combs@gmail.com>
2017-09-26 14:13:54 -03:00
Lou Logan
183fd30e0f Fix several typos
"apix_fmts" found by Marc Péchaud.
"speedloss" found by Mikhail V.

Signed-off-by: Lou Logan <lou@lrcd.com>
2017-09-21 16:17:02 -08:00
Vittorio Giovara
6f15f1cdc8 pixdesc: Add API to map color property names to enum values
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-09-21 13:33:29 +02:00
Vittorio Giovara
2b50847e0f pixdesc: Add API to map color property names to enum values
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-09-21 13:23:21 +02:00
Mark Thompson
ec1573f879 doc/indevs: Document kmsgrab input device 2017-09-13 22:31:12 +01:00
Mark Thompson
82342cead1 lavc: Add flag to mark packets containing trusted input 2017-09-13 22:25:29 +01:00
Mark Thompson
9cb23cd9fe lavu: Add DRM hwcontext 2017-09-13 22:03:27 +01:00
Nicolas George
9bad5e5319 lavfi/framesync: reword repeatlast option help. 2017-09-12 11:14:25 +02:00
Nicolas George
064c9d45ff doc: update filter_design.txt. 2017-09-12 11:03:51 +02:00
Jesse Liu
8e17cd20b9 add missing ignore files
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-10 19:08:33 +02:00
Paul B Mahol
4d41db7a31 avfilter: add generic FFT video convolve filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-09 17:09:37 +02:00
Petri Hintukainen
7a6bd54152 Add SUP/PGS subtitle muxer
Fixes ticket #2208
2017-09-09 12:07:14 +02:00
Paul B Mahol
cf0eed2525 avfilter: add Haas stereo enhancer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-08 18:29:53 +02:00
Nicolas George
5ba2aef6ec lavfi/buffersrc: add av_buffersrc_close(). 2017-09-08 10:31:01 +02:00
Michael Niedermayer
d8bc198d09 avfilter/vf_overlay: Restore shorthand option order
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-09-05 23:55:19 +02:00
Karthick J
837c55e072 avformat/hlsenc: Added configuration to override HTTP User-Agent
Signed-off-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-09-05 23:30:52 +08:00
Paul B Mahol
2c10f054c2 avfilter/avf_avectorscope: add possibility to auto zoom
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-05 11:43:49 +02:00
Paul B Mahol
6faa1275a2 avfilter: add despill filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-05 08:46:48 +02:00
James Almer
6cadbb16e9 avcodec: add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL flag
This flag replaces the deprecated, non-prefixed HWACCEL_CODEC_CAP_EXPERIMENTAL
one.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-04 17:48:41 -03:00
Paul B Mahol
b43cd67862 avfilter/vf_fftfilt: make it possible to evaluate expressions per frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-04 19:30:44 +02:00
Clément Bœsch
ca7dc3ee90 lavd: drop QTKit indev
QTKit has been deprecated in favor of AVFoundation for years, and we
have an avfoundation input device.

See https://developer.apple.com/documentation/qtkit
2017-09-04 17:19:58 +02:00
Paul B Mahol
8b193e5530 doc/filters: add missing '' for blend example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 20:00:53 +02:00
Paul B Mahol
05b1c60687 doc/filters: add one more blend example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 20:00:08 +02:00
Paul B Mahol
e6e58de03d avfilter/vf_displace: add mirror edge mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 14:15:33 +02:00
Paul B Mahol
f19e4118e9 avfilter/vf_subtitles: enable processing of alpha channel
Fixes #6605.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-09-03 13:12:48 +02:00
Leo Izen
dda1c23c20 doc/filters.texi: Add default values to vf_vaguedenoiser options 2017-09-03 13:02:24 +02:00
wm4
5d76674756 lavf: make avio_read_partial() public
Main use-case is proxying avio through a foreign I/O layer and a custom
AVIO context, without losing latency and performance characteristics.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

Merged from Libav commit 173b56218f.
2017-09-01 17:56:33 +02:00
Anton Khirnov
b12e4d3bb8 avio: add a destructor for AVIOContext
Before this commit, AVIOContext is to be freed with a plain av_free(),
which prevents us from adding any deeper structure to it.

(cherry picked from commit 99684f3ae7)
Signed-off-by: James Almer <jamrial@gmail.com>
2017-09-01 01:51:15 -03:00
Paul B Mahol
6ccd32c367 avfilter/af_adelay: remove requirement that at least one delay should be provided
Such requirement is not necessary and code works without it just fine.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-30 20:24:28 +02:00
wm4
173b56218f lavf: make avio_read_partial() public
Main use-case is proxying avio through a foreign I/O layer and a custom
AVIO context, without losing latency and performance characteristics.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-08-30 14:29:14 +02:00
Paras Chadha
6e02f66f1b Add FITS Encoder
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
2017-08-30 12:13:01 +02:00
Paras Chadha
61e4db4bb7 Add FITS Decoder
Signed-off-by: Paras Chadha <paraschadha18@gmail.com>
2017-08-30 12:13:01 +02:00
Nicolas George
844bc0d89e doc/filters: document framesync options. 2017-08-29 10:19:38 +02:00
Michael Niedermayer
7ec414892d avformat/hls: Fix DoS due to infinite loop
Fixes: loop.m3u

The default max iteration count of 1000 is arbitrary and ideas for a better solution are welcome

Found-by: Xiaohei and Wangchu from Alibaba Security Team

Previous version reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-27 19:19:00 +02:00
Maksym Veremeyenko
2634927fe3 lavd: implement NewTek NDI input/output device support
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-08-27 18:07:50 +02:00
Paul B Mahol
473e18fdba doc/filters: improve pseudocolor example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-26 15:18:33 +02:00
Paul B Mahol
9d6aab6fa1 avfilter/af_surround: make volume configurable for front center and lfe channel 2017-08-26 11:30:31 +02:00
pkviet
e0436ddaa4 ffmpeg options: Enable trailing ? for map_channel
The -map option allows for a trailing ? so that an error is not thrown if
the input stream does not exist.
This capability is extended to the map_channel option.
This allows a ffmpeg command not to break if an input channel does not
exist, which can be of use (for instance, scripts processing audio
channels with sources having unset number of audio channels).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-25 23:41:11 +02:00
Paul B Mahol
71907f2509 doc/filters: add pseudocolor example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-25 14:35:34 +02:00
Muhammad Faiz
ae1ce0db91 avfilter/af_firequalizer: add min_phase option
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2017-08-25 10:35:23 +07:00
Paul B Mahol
f8d0689d3f avfilter/vf_blend: rename addition128 and difference128 to grainmerge and grainextract 2017-08-24 14:45:52 +02:00
Carl Eugen Hoyos
f61e2dcfc3 lavf/g726: Demuxer for raw G.726 streams, both left- and right-justified.
Compatible with the binary encoder attached to ticket #6596 (right-aligned)
and a sample from a SEG Mp3-Player (left-aligned).
2017-08-24 12:55:46 +02:00
Ravindra
f3913dcc06 libavdevice/decklink: configurablity to set max queue size
Signed-off-by: Ravindra Patagar <rpatagar@akamai.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-08-22 22:32:29 +02:00
Mark Thompson
b78c30d7ec lavc: Add mpeg2_metadata bitstream filter 2017-08-20 15:14:33 +01:00
Jun Zhao
b8b84f9af5 doc/encoders: add "coder" option documentation for h264_vaapi
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-08-20 14:24:25 +01:00
Mark Thompson
2bc9ba8d3c lavc: Add coded bitstream read/write support for MPEG-2
Also enable MPEG-2 support in the trace_headers filter.
2017-08-20 13:59:17 +01:00
Mark Thompson
9c878651db vaapi_encode: Move quality option to common code
Use AVCodecContext.compression_level rather than a private option,
replacing the H.264-specific quality option (which stays only for
compatibility).

This now works with the H.265 encoder in the i965 driver, as well as
the existing cases with the H.264 encoder.

(cherry picked from commit 19388a7200)
2017-08-20 12:56:24 +01:00
Paul B Mahol
1146133df8 avutil/eval: add linear interpolation helper 2017-08-19 12:42:24 +02:00
Paul B Mahol
e3a4afca07 avfilter: add pseudocolor filter 2017-08-19 12:42:24 +02:00
Kyle Swanson
2955cd4482 filters.texi: clarify audio upsampling in loudnorm
Signed-off-by: Kyle Swanson <k@ylo.ph>
2017-08-17 14:01:42 -07:00
Werner Robitza
801ba0f0ee filters.texi: explain audio upsampling in loudnorm
Explain that audio will be upsampled to 192 kHz. Addresses issues mentioned in
issue 6570.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
2017-08-17 12:20:26 -08:00
Leo Izen
cbd8e07056 encoders.texi: Replace x264 --full-help suggestion with --fullhelp
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-08-16 03:35:24 +02:00
Vittorio Giovara
62dfa2ba14 Add tonemap filter
Based off mpv automatic tonemapping capabilities.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-08-15 15:27:42 +02:00
Vittorio Giovara
1460408703 Add single precision planar RGB pixel formats
Add a pixel format flag to identify this family.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-08-15 15:26:20 +02:00
Paul B Mahol
8d2da0939c avfilter/vf_datascope: make it possible to change pixscope window position 2017-08-15 13:54:19 +02:00
Mark Thompson
b31a9eae02 lavc: Add hevc_metadata bitstream filter
This is able to modify some header metadata found in the VPS/SPS/VUI,
and can also add/remove AUDs.
2017-08-13 17:55:02 +01:00
Mark Thompson
e6874bc3af lavc: Add h264_redundant_pps bitstream filter
This applies a specific fixup to some Bluray streams which contain
redundant PPSs modifying irrelevant parameters of the stream which
confuse other transformations which require correct extradata.

A new single global PPS is created, and all of the redundant PPSs
within the stream are removed.
2017-08-13 17:54:59 +01:00
Mark Thompson
9e93001b61 lavc: Add h264_metadata bitstream filter
This is able to modify some header metadata found in the SPS/VUI,
and can also add/remove AUDs and insert user data in SEI NAL units.
2017-08-13 17:48:49 +01:00
Mark Thompson
f11d8a5e8b lavc: Add trace_headers bitstream filter
Supports all streams that the coded bitstream infrastructure does
(currently H.264 and H.265).
2017-08-12 22:17:20 +01:00
wm4
463b81de2b imgutils: add function to clear an image to black
Black isn't always just memset(ptr, 0, size). Limited YUV in particular
requires relatively non-obvious values, and filling a frame with
repeating 0 bytes is disallowed in some contexts. With component sizes
larger than 8 or packed YUV, this can become relatively complicated. So
having a generic function for this seems helpful.

In order to handle the complex cases in a generic way without destroying
performance, this code attempts to compute a black pixel, and then uses
that value to clear the image data quickly by using a function like
memset.

Common cases like yuv410p10 or rgba can't be handled with a simple
memset, so there is some code to fill memory with 2/4/8 byte patterns.
For the remaining cases, a generic slow fallback is used.

Signed-off-by: Anton Khirnov <anton@khirnov.net>

Merged from Libav commit 45df7adc1d.
2017-08-08 13:37:37 +02:00
wm4
caa12027ba lavc, lavu: move frame cropping to a convenience function
Signed-off-by: Anton Khirnov <anton@khirnov.net>

Merged from Libav commit 47399ccdfd.
2017-08-08 13:35:09 +02:00
Paul B Mahol
181c9abd47 avfilter/vf_premultiply: add inplace mode 2017-08-07 18:15:36 +02:00
Mark Thompson
19388a7200 vaapi_encode: Move quality option to common code
Use AVCodecContext.compression_level rather than a private option,
replacing the H.264-specific quality option (which stays only for
compatibility).

This now works with the H.265 encoder in the i965 driver, as well as
the existing cases with the H.264 encoder.
2017-08-06 14:42:04 +01:00
DeHackEd
eabeb9093a avformat/hlsenc: allow dynamic encryption key rotation
Makes behaviour of 805ce25b1d optional, re-enables
HLS key rotation feature

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: DHE <git@dehacked.net>
2017-08-06 15:10:35 +08:00
Paul B Mahol
2cc56741b1 avfilter: add floodfill filter 2017-08-05 21:05:22 +02:00
Paul B Mahol
c474910414 doc/filters.texi: add yet another laplacian edge detector 2017-08-05 10:36:48 +02:00
Steven Liu
44e9783ab9 doc/libav-merge: remove the hls merge TODO
This TODO is done.
See 5caaa3a49e

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-08-04 22:18:22 +08:00
Paul B Mahol
80bc648e77 avfilter: add tlut2 filter 2017-08-04 11:45:08 +02:00
Paul B Mahol
c79e753471 avfilter: add unpremultiply filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-08-02 11:13:49 +02:00
Paul B Mahol
b664d1f3ff doc/filters.texi: add another lut2 example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-31 14:07:27 +02:00
Jun Zhao
1e0c75ea16 examples/hw_decode: Add a HWAccel decoding example.
Works with VAAPI, VDPAU, DXVA2 and D3D11VA.

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-07-30 00:15:05 +01:00
James Almer
9f449227a3 doc/APIChanges: add missing entry for ICC Profile side data type. 2017-07-27 14:21:41 -03:00
wm4
45df7adc1d imgutils: add function to clear an image to black
Black isn't always just memset(ptr, 0, size). Limited YUV in particular
requires relatively non-obvious values, and filling a frame with
repeating 0 bytes is disallowed in some contexts. With component sizes
larger than 8 or packed YUV, this can become relatively complicated. So
having a generic function for this seems helpful.

In order to handle the complex cases in a generic way without destroying
performance, this code attempts to compute a black pixel, and then uses
that value to clear the image data quickly by using a function like
memset.

Common cases like yuv410p10 or rgba can't be handled with a simple
memset, so there is some code to fill memory with 2/4/8 byte patterns.
For the remaining cases, a generic slow fallback is used.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-07-26 23:21:26 +02:00
wm4
47399ccdfd lavc, lavu: move frame cropping to a convenience function
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-07-26 23:20:40 +02:00
Nicolas George
bbc7cfbf1e lavfi/testsrc2: fix completely transparent alpha. 2017-07-25 09:27:35 +02:00
Brice Waegeneire
6a6eec485d doc/filters: typo in frei0r
Signed-off-by: Brice Waegeneire <brice.wge@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-23 14:58:29 +02:00
Vittorio Giovara
d24a82d2e2 ffprobe: Print color properties from show_frames
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-07-21 20:19:07 +02:00
Michael Niedermayer
1196e53b70 doc: Add initial documentation explaining undefined behavior and SUINT
Requested-by: Kieran Kunhya <kierank@obe.tv>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-07-21 17:37:05 +02:00
Paul B Mahol
12791ec5b0 avfilter/af_astats: measure dynamic range
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-19 21:07:45 +02:00
George Boyle
6e156075b0 avfilter: Add blue and violet noise generation filters
For the blue and violet noise, I took the pink and brown noise
respectively and subtracted the offsets instead of adding them. When I
eyeball the frequency spectrum of the resulting outputs it looks correct
to me, i.e. the blue graph appears to be a mirror image of the pink, and
the same can be said of the violet and the brown. I did not do anything
else to confirm the correctness.
2017-07-19 19:51:04 +02:00
foo86
f04ef26816 avformat: add SMPTE 337M demuxer 2017-07-19 12:27:33 +02:00
foo86
930fe4b1f7 avcodec: add Dolby E decoder 2017-07-19 12:27:32 +02:00
Mark Thompson
e6b4fb95d7 doc: Fix names of VAAPI encoders
They were all reversed (oops).
2017-07-18 23:36:06 +01:00
Marton Balint
9b93795890 avdevice/decklink_dec: add support for receiving op47 teletext
v2:
- use uint16_t instead of int to store 10-bit ancillary data
- fix ancillary line numbers for 1080p
- some comments and clarifications as requested by Aaron Levinson

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-07-18 18:28:57 +02:00
Marton Balint
cc0916bfc2 avdevice/decklink_dec: add support for decoding teletext from 10bit ancillary data
This also add supports for 4K DeckLink cards because they always output the
ancillary data in 10-bit.

v2:
- only try teletext decoding for 576i PAL mode
- some comments as requested by Aaron Levinson

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-07-18 18:28:57 +02:00
Ashish Singh
615479d51c avfilter: add LIBVMAF filter
This one changes the previous vmaf patch to libvmaf to keep it separate from the
native implementation of vmaf inside ffmpeg later.

Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-07-16 08:21:32 -04:00
Marton Balint
b406f387c8 avcodec/noise_bsf: add support for dropping packets
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-07-09 19:41:58 +02:00
Paul B Mahol
01e545d046 avfilter: add limiter filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-07-08 11:49:54 +02:00
Tomas Härdin
89e632de9b Add Cinepak encoder
With permission of Tomas Härdin applied by Rl aetey.se

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-07-05 13:05:54 +02:00
Steven Liu
274bd1670b avfomat/hlsenc: support fmp4 format in hls
add the fmp4 format into hlsenc
because the fmp4 format add into hls from version 7.
the spec link is:
https://tools.ietf.org/html/draft-pantos-http-live-streaming-20
and the describe on WWDC
https://developer.apple.com/videos/play/wwdc2017/515/

Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-07-03 20:20:44 +08:00
wm4
70143a3954 dxva: add support for new dxva2 and d3d11 hwaccel APIs
This also adds support to avconv (which is trivial due to the new
hwaccel API being generic enough).

The new decoder setup code in dxva2.c is significantly based on work by
Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.

Merges Libav commit f9e7a2f95a.
Also adds untested VP9 support.
The check for DXVA2 COBJs is removed. Just update your MinGW to
something newer than a 5 year old release.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-27 18:05:02 +02:00
wm4
3303511f33 lavu: add new D3D11 pixfmt and hwcontext
To be used with the new d3d11 hwaccel decode API.

With the new hwaccel API, we don't want surfaces to depend on the
decoder (other than the required dimension and format). The old D3D11VA
pixfmt uses ID3D11VideoDecoderOutputView pointers, which include the
decoder configuration, and thus is incompatible with the new hwaccel
API. This patch introduces AV_PIX_FMT_D3D11, which uses ID3D11Texture2D
and an index. It's simpler and compatible with the new hwaccel API.

The introduced hwcontext supports only the new pixfmt.

Frame upload code untested.

Significantly based on work by Steve Lhomme <robux4@gmail.com>, but with
heavy changes/rewrites.

Merges Libav commit fff90422d1.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-27 18:05:02 +02:00
Paul B Mahol
bbaca6e867 avcodec/proresenc_kostya: add 4444XQ profile
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-27 13:53:51 +02:00
Paul B Mahol
22a03c2900 avfilter/vf_blend: add extremity blend mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-25 16:39:10 +02:00
Paul B Mahol
c1b43e8452 avfilter/vf_overlay: remove rgb option
Its been deprecated for over 3 years.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 19:20:46 +02:00
Marton Balint
eeeb595c7f avformat: make flush_packets a tri-state and set it to -1 (auto) by default
If flushing is not disabled, then mux.c will signal the end of the packets with
an AVIO_DATA_MARKER_FLUSH_POINT, and aviobuf will be able to decide to flush or
not based on the preferred minimum packet size set by the used protocol.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-06-24 18:51:29 +02:00
Marton Balint
09891c5391 avformat/aviobuf: add support for specifying minimum packet size and marking flush points
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-06-24 18:51:29 +02:00
Mark Thompson
dc81f1a2ce doc: Add VAAPI encoders
(cherry picked from commit 41dda86087)
2017-06-24 17:41:59 +01:00
Mark Thompson
49419925d3 vp9: Add bsf to fix reordering in raw streams
Takes a raw input stream containing frames with correct timestamps but
possibly out of order and inserts additional show-existing-frame
packets to correct the ordering.

(cherry picked from commit 34e051d168)
(cherry picked from commit b43b95f478)

Also converted from bitstream to get_bits.
2017-06-24 17:41:30 +01:00
Paul B Mahol
565dc0e283 avfilter/vf_overlay: add auto format mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-24 10:18:30 +02:00
Diego Biurrun
4f9297ac3b build: Prefer NASM assembler over YASM
NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.

(Cherry-picked from libav commit 57b753b445)

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:30 -03:00
Kevin Mark
5aea18cbd8 doc/filters: Correct scale doc regarding w/h <= 0
According to libavfilter/scale.c, if the width and height are both
less than or equal to 0 then the input size is used for both
dimensions. It does not need to be -1. -1:-1 is the same as 0:0 which
is the same as -10:-42, etc.

if (w < 0 && h < 0)
    eval_w = eval_h = 0;

The documentation for the zscale filter has also been updated since the
behavior is identical.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-06-19 14:24:55 -04:00
Paul B Mahol
c7a2a379fd doc/filters: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 19:28:43 +02:00
Paul B Mahol
ef178f630f avfilter/af_stereotools: add 2 more modes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 18:59:33 +02:00
Paul B Mahol
53624d62d9 avfilter/af_superequalizer: improve description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 18:19:16 +02:00
Paul B Mahol
b9d0a5fc21 avfilter: add roberts cross operator
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-19 14:04:44 +02:00