Commit Graph

6964 Commits

Author SHA1 Message Date
Paul B Mahol
a8c2d375ca avfilter/avf_showwaves: add draw mode which controls how single sample is drawn
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-23 19:02:51 +01:00
Paul B Mahol
4e1307c0f7 avfilter/af_channelsplit: add channels option
So user can pick which channels to extract.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-23 10:11:19 +01:00
Paul B Mahol
b78d55b2e6 avfilter/avf_showvolume: add background opacity option
This makes output more visible when overlayed.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-22 23:08:33 +01:00
James Almer
f14ca60001 avcodec/avpacket: add av_packet_make_writable()
Useful as well to quickly make a packet reference counted when it
isn't already so.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-21 22:17:40 -03:00
Paul B Mahol
36cf3eb76a avfilter/vf_waveform: add orange graticule
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-21 12:21:42 +01:00
Paul B Mahol
caef95737e avfilter/vf_waveform: add xflat mode
Also use macros for xflat and aflat mode.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-21 12:21:42 +01:00
Mark Thompson
c99f837dde lavc: Add filter_units bitstream filter
This can remove units with types in or not in a given set from a stream.
For example, it can be used to remove all non-VCL NAL units from an H.264 or
H.265 stream.
2018-03-18 18:23:18 +00:00
wm4
4b86ac27a0 lavu/frame: add QP side data
This adds a way for an API user to transfer QP data and metadata without
having to keep the reference to AVFrame, and without having to
explicitly care about QP APIs. It might also provide a way to finally
remove the deprecated QP related fields. In the end, the QP table should
be handled in a very similar way to e.g. AV_FRAME_DATA_MOTION_VECTORS.

There are two side data types, because I didn't care about having to
repack the QP data so the table and the metadata are in a single
AVBufferRef. Otherwise it would have either required a copy on decoding
(extra slowdown for something as obscure as the QP data), or would have
required making intrusive changes to the codecs which support export of
this data.

The new side data types are added under deprecation guards, because I
don't intend to change the status of the QP export as being deprecated
(as it was before this patch too).
2018-03-18 12:36:24 +01:00
Ravindra
99230b7ef8 libavformat/dashenc: Option to set timeout for socket I/O operation 2018-03-18 12:36:28 +05:30
James Almer
7af2336598 avutil: bump version after the latest AVOption flag addition
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-16 00:19:45 -03:00
James Almer
75aa14b870 Merge commit '0711d142997b2662ba9198e607015b06c6eed0d8'
* commit '0711d142997b2662ba9198e607015b06c6eed0d8':
  examples: Use new API for transcoding example

Merged-by: James Almer <jamrial@gmail.com>
2018-03-15 17:57:18 -03:00
Ravindra
6010537956 avformat/hlsenc: Option to set timeout for socket I/O operation
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2018-03-14 19:59:34 +08:00
Martin Vignali
7b0cb2e032 avcodec/hapqa_extract_bsf : add new bsf filter
convert HapQA data to HAPQ or HAPAlphaOnly
by copying the corresponding texture
2018-03-13 20:26:07 +01:00
Luca Barbato
c438899a70 Add AV1 video decoding support through libaom
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2018-03-12 08:12:43 +01:00
Paul B Mahol
8fb0e51bd1 avfilter: add drmeter audio filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-03-11 13:43:33 +01:00
James Almer
950170bd3b avutil: add missing version bump for AV_CRC_8_EBU
Signed-off-by: James Almer <jamrial@gmail.com>
2018-03-10 01:15:05 -03:00
Aman Gupta
2a0eb86857 avcodec/mediacodecdec: add delay_flush option
The default behavior of the mediacodec decoder before this commit
was to delay flushes until all pending hardware frames were
returned to the decoder. This was useful for certain types of
applications, but was unexpected behavior for others.

The new default behavior with this commit is now to execute
flushes immediately to invalidate all pending frames. The old
behavior can be enabled by setting delay_flush=1.

With the new behavior, video players implementing seek can simply
call flush on the decoder without having to worry about whether
they have one or more mediacodec frames still buffered in their
rendering pipeline. Previously, all these frames had to be
explictly freed (or rendered) before the seek/flush would execute.

The new behavior matches the behavior of all other lavc decoders,
reducing the amount of special casing required when using the
mediacodec decoder.

Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2018-03-07 16:22:47 -08:00
Aurelien Jacobs
88508a87a5 sbc: add raw muxer for SBC 2018-03-07 22:26:53 +01:00
Aurelien Jacobs
ff4600d954 sbc: implement SBC encoder (low-complexity subband codec)
This was originally based on libsbc, and was fully integrated into ffmpeg.
2018-03-07 22:26:53 +01:00
Aurelien Jacobs
2e08de0815 sbc: add raw demuxer for SBC 2018-03-07 22:26:53 +01:00
Aurelien Jacobs
4439887198 sbc: implement SBC decoder (low-complexity subband codec)
This was originally based on libsbc, and was fully integrated into ffmpeg.
2018-03-07 22:26:53 +01:00
Andreas Unterweger
0711d14299 examples: Use new API for transcoding example
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2018-03-07 12:36:13 +01:00
Jun Zhao
1c7f1f38c5 doc/bitstream_filters: correct dump_extra bsfs docs.
Update dump_extra bit stream filter docs to follow current
code implement.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-03-03 23:01:41 +01:00
Rostislav Pehlivanov
6731f60598 frame: add an av_frame_new_side_data_from_buf function
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-03-01 20:37:18 +00:00
Bodecs Bela
d723994449 avfilter/avf_concat: add next command
This patch makes it possible to dinamically close the current segment
and step to the next one by introducing command handling capabilities
into the filter. This new feature is very usefull when working with
real-time sources or live streams as source. Combinig usage with zmqsend
tool you can interactively end the current segment and step to next one.

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
2018-03-01 12:54:06 +01:00
Tomas Härdin
5655048c73 Add muxer/demuxer for raw codec2 and .c2 files 2018-02-24 17:06:31 +01:00
Tomas Härdin
f958f431ec Add libcodec2 en/decoder 2018-02-24 17:06:31 +01:00
Vishwanath Dixit
28924f4b48 avformat/dashenc: chunk streaming support for low latency use cases 2018-02-24 10:55:28 +05:30
Jun Zhao
b141902872 doc/bitstream_filters: documents delete_filler option.
documents delete_filler option for bsf h264_metadata.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-24 04:50:55 +01:00
Tobias Rapp
aedbb3c72c doc/filters: add links to ffmpeg-utils and ffmpeg documentation
Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
2018-02-22 08:55:53 +01:00
Felix Matouschek
5ac3a309fd avdevice: add android_camera indev
This commit adds an indev for Android devices on API level 24+ which
uses the Android NDK Camera2 API to capture video from builtin cameras

Signed-off-by: Felix Matouschek <felix@matouschek.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-22 00:29:27 +01:00
Tomas Härdin
41317da325 Add -vf scale example for making pixels square
This is a common use case.
2018-02-21 23:38:49 +01:00
Lou Logan
d09368a408 doc/ffmpeg: document -dn option
Also mention -map in the -vn, -an, and -sn options.

Fixes #7036.

Signed-off-by: Lou Logan <lou@lrcd.com>
2018-02-21 12:41:06 -09:00
Gyan Doshi
b50f68bb1e docs/codecs: remove dead codec debug options
FF_API_DEBUG_MV has been disabled. Related options removed from docs.

Mention of non-existent debug option value 'pts' also removed.
2018-02-19 14:49:58 -09:00
James Almer
8a8d0b319a avutil/crypto: change length parameter to size_t on the remaining modules
See 651ee93461
fcc4ed1efa

Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-15 11:21:28 -03:00
Marton Balint
ce6ce595cf avcodec/mpeg12enc: add support for specifying video_format in the sequence_display_extension
In a recent commit the default was changed from 0 (component) to 5
(unspecified), however some standards require using 0. With this option, the
user will be able to do so.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-02-13 00:13:21 +01:00
Mark Thompson
bcab11a1a2 Merge commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d'
* commit '6d86cef06ba36c0ed591e14a2382e9630059fc5d':
  lavfi: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:28:12 +00:00
Mark Thompson
d23fff0d8a Merge commit '5b145290df2998a9836a93eb925289c6c8b63af0'
* commit '5b145290df2998a9836a93eb925289c6c8b63af0':
  lavc: Add support for increasing hardware frame pool sizes

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-02-12 22:19:38 +00:00
Mark Thompson
6d86cef06b lavfi: Add support for increasing hardware frame pool sizes
AVFilterContext.extra_hw_frames functions identically to the field of
the same name in AVCodecContext.
2018-02-11 22:11:06 +00:00
Mark Thompson
5b145290df lavc: Add support for increasing hardware frame pool sizes
AVCodecContext.extra_hw_frames is added to the size of hardware frame
pools created by libavcodec for APIs which require fixed-size pools.
This allows the user to keep references to a greater number of frames
after decode, which may be necessary for some use-cases.

It is also added to the initial_pool_size value returned by
avcodec_get_hw_frames_parameters() if a fixed-size pool is required.
2018-02-11 22:00:33 +00:00
Mark Thompson
10bcc41bb4 examples: Don't call deprecated functions which don't do anything 2018-02-09 21:38:42 +00:00
Aurelien Jacobs
d8258489c8 aptx: add raw muxer and demuxer for aptX HD 2018-02-09 22:10:55 +01:00
Aurelien Jacobs
6fd110a094 aptx: implement the aptX HD bluetooth codec 2018-02-09 22:10:55 +01:00
James Almer
3f0a41367e doc/APIchanges: mention a few more recently introduced and deprecated functions
Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-07 17:06:04 -03:00
James Almer
9d8fb095e6 doc/APIchanges: fix a recent depreacted function name
Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-07 16:56:47 -03:00
James Almer
e8323c42c1 doc/APIChanges: fix lavu version numbers in a few recent entries
Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-06 23:49:13 -03:00
James Almer
36c85d6e77 api: add missing version bumps and APIChanges entries
avcodec bump missed in 7e8eba2d87
avformat bump missed in ff46124b0d and
0694d87024
avdevice bump missed in 0fd475704e

Signed-off-by: James Almer <jamrial@gmail.com>
2018-02-06 23:43:01 -03:00
Menno
204c7caf0d avcodec/libopus: support disabling phase inversion.
Signed-off-by: Menno <mrdegier@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-06 23:07:10 +01:00
Josh de Kock
0694d87024 lavf: add new API for iterating muxers and demuxers 2018-02-06 18:57:42 +00:00
Josh de Kock
7e8eba2d87 lavc: add new API for iterating codecs and codec parsers
Based on an unfinished patch by atomnuker.
2018-02-06 18:50:27 +00:00
wm4
ff46124b0d rtsp: rename certain options after a deprecation period
The "timeout" option name inherently clashes with the meaning of the
HTTP libavformat protocol option with the same name. Rename it after a
deprecation period to make it compatible with the HTTP one.
2018-02-04 15:08:48 +01:00
Jun Zhao
0519e66a90 examples: Add a VA-API transcode example.
Usage is:
./vaapi_transcode input_stream codec output_stream
For example:
- ./vaapi_transcode input.mp4 h264_vaapi output_h264.mp4
- ./vaapi_transcode input.mp4 vp8_vaapi output_vp8.ivf

Does not handle resolution changes on the input stream.

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>
2018-02-04 12:56:39 +00:00
Steven Liu
44f3430674 avformat/http: add referer option into http
add Referer message if referer have been set.
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-02-01 10:56:51 +08:00
Marton Balint
fa8308d3d4 avformat: deprecate AVFormatContext filename field
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 23:06:43 +01:00
Marton Balint
25a2d269bd fftools, tools, examples: migrate to AVFormatContext->url
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 23:06:43 +01:00
Marton Balint
ea3672b7d6 avformat: add url field to AVFormatContext
This will replace the 1024 character limited filename field. Compatiblity for
output contexts are provided by copying filename field to URL if URL is unset
and by providing an internal function for muxers to set both url and filename
at once.

Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 23:06:43 +01:00
wm4
6194d7e564 avformat, hls: add a flag to signal unavailability of seeking
The seek function can just return an error if seeking is unavailable,
but often this is too late. Add a flag that signals that the stream is
unseekable, and use it in HLS.
2018-01-27 04:10:52 +01:00
Vishwanath Dixit
1948b76a1b avformat/hlsenc: closed caption tags in the master playlist 2018-01-24 11:42:57 +08:00
Jacob Trimble
9f07cf7c00 avutil/aes_ctr: Add method to set 16-byte IV.
Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-23 21:48:31 +01:00
Vishwanath Dixit
fc93eca126 avdevice/decklink: addition of absolute wallclock option for pts source
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-20 18:38:27 +01:00
Vishwanath Dixit
7c27bbd590 avdevice/decklink: addition of copyts option
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-20 18:29:56 +01:00
Mark Thompson
3895fce26e Merge commit '34c113335b53d83ed343de49741f0823aa1f8cc6'
* commit '34c113335b53d83ed343de49741f0823aa1f8cc6':
  Add support for H.264 and HEVC hardware encoding for AMD GPUs based on AMF SDK

Most of this was already present from 9ea6607d29,
this just applies some minor fixups and adds the general documentation.

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-01-16 23:25:27 +00:00
Mark Thompson
725ae0e2d0 Merge commit '1efbbfedcaf4a3cecab980273ad809ba3ade2f74'
* commit '1efbbfedcaf4a3cecab980273ad809ba3ade2f74':
  examples/qsvdec: do not set the deprecated field refcounted_frames

Merged-by: Mark Thompson <sw@jkqxz.net>
2018-01-16 22:57:09 +00:00
wm4
631c56a8e4 avformat: make avformat_network_init() explicitly optional
It was sort of optional before - if you didn't call it, networking was
initialized on demand, and an ugly warning was logged. Also, the doxygen
comments threatened that it would be made strictly required one day.

Make it explicitly optional. I would prefer to deprecate it fully, but
there might still be legitimate reasons to use this. But the average
user won't need it.

This is needed only for two reasons: to initialize TLS libraries like
OpenSSL and GnuTLS, and winsock.

OpenSSL and GnuTLS were already silently initialized on demand if the
global network init function was not called. They also have various
thread-safety acrobatics, which make concurrent initialization within
libavformat safe. In addition, the libraries are moving towards making
their global init functions safe, which removes all need for central
global init. In particular, GnuTLS 3.5.16 and OpenSSL 1.1.0g have been
found to have safe init functions. In all cases, they use internal
reference counters to avoid that the global uninit functions interfere
with concurrent uses of the library by other API users who called global
init.

winsock should be thread-safe as well, and maintains an internal
reference counter as well.

Since we still support ancient TLS libraries, which do not have this
fixed, and since it's unknown whether winsock and GnuTLS
reinitialization is costly in any way, don't deprecate the libavformat
functions yet.
2018-01-16 12:57:04 +01:00
wm4
6512ff72f9 avformat: deprecate another ffserver API leftover 2018-01-16 12:54:53 +01:00
sfan5
94cc16499f dashdec: Support for multiple video/audio streams
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-01-14 22:34:43 +08:00
Rostislav Pehlivanov
fcb681ac3e aacenc: use the fast coder as the default
The twoloop coder sounds decent at low bitrates, however at higher bitrates
it sounds worse than the fast coder (which used to be the old twoloop coder
before October 2015) and needs quite a lot more CPU.
Change the default to fast. It has been well tested and has had little changes
over the years so its been confirmed to be quite stable.
Also change its description (not valid for more than a year) and the
documentation.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-13 12:03:19 +00:00
Jun Zhao
9b955eece6 examples/vaapi_encode: Remove redundancy check when free context.
avcodec_free_context have handle NULL pointer case, so caller doesn't
need to check the NULL before call this function.

Signe-off-by: Jun Zhao <jun.zhao@intel.com>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-12 12:31:55 +01:00
Paul B Mahol
6cc44c0583 doc/filters: fix error in aiir options names
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-10 20:32:22 +01:00
Paul B Mahol
de8a1d8d4d avfilter/af_aiir: add polar zeros/poles format variant
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-10 20:25:50 +01:00
Paul B Mahol
ea25b7b41c doc/filters: fix examples for aiir filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-10 18:46:29 +01:00
Paul B Mahol
d38a223943 doc/filters: update aiir filter documentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-09 18:02:01 +01:00
Kyle Swanson
42a5fe340f doc/filters: correct typo in psnr filter docs
Signed-off-by: Kyle Swanson <k@ylo.ph>
2018-01-08 16:35:23 -08:00
Mark Thompson
03c08d59fb doc/filters: Document OpenCL program filters
Include some example programs.
2018-01-07 23:24:32 +00:00
Paul B Mahol
2d3df8e2e9 avfilter/af_aiir: rename options, provide gains in separate option
This way it can be also used for other format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-07 21:22:38 +01:00
Paul B Mahol
6c65de3db0 avfilter/af_aiir: add support for alternative coefficients format
Support for zeros/poles syntax on Z-plane.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-07 17:03:46 +01:00
Rostislav Pehlivanov
6b35a83214 Remove the ffserver program
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-01-06 18:31:37 +00:00
James Almer
b2c42fc6dc avfilter: deprecate avfilter_link_get_channels()
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-06 11:01:16 -03:00
Michael Niedermayer
fba00b7465 doc/fate: Document how to upload samples to the fate suite
Suggested-by: Compn

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-01-06 03:14:38 +01:00
James Almer
da5b05c833 Revert "avfilter: deprecate avfilter_link_get_channels()"
This reverts commit 798dcf2432.

It was applied by accident before it could be reviewed.
2018-01-05 22:13:28 -03:00
James Almer
077fe9eb06 doc/libav-merge: remove line about libavutil atomics API
See 89b84cb18b.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 22:09:39 -03:00
James Almer
798dcf2432 avfilter: deprecate avfilter_link_get_channels()
And move the channels field to the public section of the struct.

Signed-off-by: James Almer <jamrial@gmail.com>
2018-01-05 17:49:09 -03:00
Paul B Mahol
7bb1be9af0 avfilter: add arbitrary audio IIR filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2018-01-05 17:04:21 +01:00
Michael Wootton
34c113335b Add support for H.264 and HEVC hardware encoding for AMD GPUs based on AMF SDK
Requires AMF headers for at least version 1.4.4.1.

Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2018-01-04 18:15:56 +01:00
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