ismindex: handle time discontinuities and nonzero start time

The input file may not have consistent start times, stream durations and
chunk durations. This patch at least removes negative durations that
make chromecast unhappy, and correctly sets starting time on chunks so
that the split (or .ismf) outputs match the manifest.

Signed-off-by: Martin Storsjö <martin@martin.st>
avutil: remove obsolete FF_API_LLS1 cruft

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
avutil: remove obsolete FF_API_OLD_OPENCL cruft

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
avfilter: remove obsolete FF_API_BUFFERSRC_BUFFER cruft

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
hlsenc: single_file, support HLS ver 4 byteranges

This adds a new option -hls_flags single_file that creates one .ts file
for HLS and adds byteranges to the .m3u8 file, instead of creating one
.ts file for each segment.

This is helpful at least for storing large number of videos, as the
number of files per video is drastically reduced and copying and storing
those files takes less requests and inodes.

This is based on work by Nicolas Martyanoff, discussed on ffmpeg-devel
in July 2014. That patch seems abandoned by the author, and contained
unrelated changes. This patch tries to add the minimum amount of code to
support the byterange playlists.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '00431bf874e1044b01e09a2266ef85d4ff8d44cc'

* commit '00431bf874e1044b01e09a2266ef85d4ff8d44cc':
  ismindex: handle time discontinuities and nonzero start time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
build: simplify libwebp check

Tested (compilation and runtime) with libwebp 0.2.0, 0.2.1 and 0.4.1.