Commit Graph

89856 Commits

Author SHA1 Message Date
Karthick Jeyapal e8f71ef338 avformat/hlsenc, utils: Moved is_http_proto from hlsenc to utils for re-use
Reviewed-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Steven Liu <lq@onvideo.cn>
2017-12-29 18:11:09 +08:00
Karthick Jeyapal 5297ae96a1 avformat/dashenc: Addition of #EXT-X-MEDIA tag and AUDIO attribute
This is required for AV playout from master.m3u8.
Otherwise master.m3u8 lists only video-only and/or audio-only streams.

Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-29 13:47:53 +08:00
Karthick Jeyapal 8fd2bdd072 avformat/hlsplaylist: Audio rendition's name and defaultness made configurable
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-29 13:47:12 +08:00
Karthick Jeyapal 9e25fe4204 avformat/hlsenc: Modularized audio rendition playlist write to allow reuse
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-29 13:45:31 +08:00
Carl Eugen Hoyos d01eeef4a2 configure: libvmaf depends on pthreads. 2017-12-29 02:15:05 +01:00
Carl Eugen Hoyos e867b7b11a fate: Fix ffprobe dependency for fate-mov-guess-delay-*. 2017-12-29 01:54:59 +01:00
Michael Niedermayer 3d23f7a096 avcodec/flacdec: Fix overflow in multiplication in decode_subframe_fixed()
Fixes: signed integer overflow: 2 * 1629495328 cannot be represented in type 'int'
Fixes: 4716/clusterfuzz-testcase-minimized-5835915940331520

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-28 20:13:59 +01:00
Michael Niedermayer d135f3c514 avcodec/hevcdsp_template: Fix Invalid shifts in put_hevc_qpel_bi_w_h() and put_hevc_qpel_bi_w_w()
Fixes: left shift of negative value -1
Fixes: 4690/clusterfuzz-testcase-minimized-6117482428366848

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-28 20:13:59 +01:00
Michael Niedermayer 560daf8891 avcodec/flacdec: avoid undefined shift
Fixes: shift exponent 32 is too large for 32-bit type 'unsigned int'
Fixes: 4688/clusterfuzz-testcase-minimized-6572210748653568

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-28 20:13:59 +01:00
Steven Liu be4dfbf7b7 avformat/avio: check input URLContext value NULL
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Karthick Jeyapal <kjeyapal@akamai.com>
2017-12-28 12:07:22 +08:00
Carl Eugen Hoyos 658bdc6771 lavc/jpeg2000dec: Support reading 64-bit atom size.
Fixes ticket #6935.
2017-12-28 02:58:56 +01:00
Carl Eugen Hoyos ad73b32d29 lavfi/minterpolate: Split struct Pixel to allow higher resolutions.
Raises the maximum resolution from 2716x2707 to approximately 4096x4095.

Fixes ticket #6795.
2017-12-28 01:28:57 +01:00
James Almer 2f96190732 Merge commit 'c6558e8840fbb2386bf8742e4d68dd6e067d262e'
* commit 'c6558e8840fbb2386bf8742e4d68dd6e067d262e':
  x264: Support version 153

See
2a111c99a6
7e60c74329

Merged-by: James Almer <jamrial@gmail.com>
2017-12-27 21:11:10 -03:00
James Almer aa6f43c2e9 Merge commit '2beba58e0e4bda688bf96e12413231607ceafdd4'
* commit '2beba58e0e4bda688bf96e12413231607ceafdd4':
  mmaldec: Fix compilation after 2fcb0090

This commit is a noop, see 758fbc54fe

Merged-by: James Almer <jamrial@gmail.com>
2017-12-27 21:05:11 -03:00
James Almer fa2d28567e Merge commit 'ddea22a684611c1fec9d8b5c70d835e983a9252e'
* commit 'ddea22a684611c1fec9d8b5c70d835e983a9252e':
  avconv: Use codec hardware config to configure hwaccels
  lavc: Mark all AVHWAccel structures as const
  lavc: Delete all fake hwaccels
  lavc: Remove register mechanism for hwaccels
  lavc: Deprecate av_hwaccel_next() and av_register_hwaccel()
  lavc: Use hardware config information in ff_get_format()
  webp: Fix alpha initialisation
  lavc: Add hardware config metadata for decoders supporting hardware output
  lavc: Add codec metadata to indicate hardware support

This commit is a noop, see
24cc0a53e9
758fbc54fe
9f00fa5369
67e81d79cc
3536a3efb9
9bd326ac46
da4e02b196
3a71bcc213
b0cd14fb1d

Merged-by: James Almer <jamrial@gmail.com>
2017-12-27 20:56:13 -03:00
James Almer efb63e4316 configure: add missing avcodec dep to avfilter for de/convolve filters 2017-12-27 15:38:13 -03:00
Luca Barbato c6558e8840 x264: Support version 153
It has native simultaneus 8 and 10 bit support.
2017-12-27 15:59:45 +00:00
Paul B Mahol aff1678477 configure: note (de)convolve filter dependency
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 12:31:43 +01: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
Paul B Mahol 87f148d526 avfilter/vf_convolve: remove padding, its unused and not needed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 11:10:12 +01:00
Paul B Mahol caacbfa773 avfilter/vf_convolve: cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-27 11:08:57 +01:00
wm4 8f9024f2ca lavc: remove uneffective attribute_deprecated on enum
Does not work. Even emits a warning with some compilers that the
attribute does not work on enums. It's likely that there is way to make
it work, but not worth the trouble.
2017-12-27 03:47:28 +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
Aman Gupta ac19e63b18 avformat/hls: respect http_persistent only for http playlist urls
Fixes a segfault when reading a live playlist (without end tag) from non-http url (like a file on disk).

Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-12-26 14:48:14 -08:00
Aman Gupta 11f989945e avformat/http: avoid ff_http_do_new_request after http/1.0 response
This makes do_new_request fail early when dealing with a http/1.0 server, avoiding unnecessary "reconnecting" warnings shown to the user.

Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-12-26 14:48:14 -08:00
Aman Gupta a232a72d77 avformat/hls: return AVERROR_PROTOCOL_NOT_FOUND when http protocol is not available
Fixes compile error when building with network or protocols disabled.

This code would never be reached (because the demuxer fails much earlier on http playlists or segments), so it doesn't matter much what we do here as long as it compiles.

Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-12-26 14:48:13 -08:00
Aman Gupta 2f9ca64556 avformat/hls: remove repeated http proto_name checks in open_url()
Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-12-26 14:48:13 -08:00
James Almer 7e60c74329 avcodec/libx264: set supported pix_fmts at runtime rather than build time
This partially reverts a change in behavior introduced in 2a111c99a6.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-26 19:41:04 -03:00
Mark Thompson e6a1dfc9ce mpeg4videodec: Fix unused variable warning
video_format is not used.
2017-12-26 17:25:46 +00:00
Michael Niedermayer 0c9ab5ef9c avcodec/hevcdsp_template.c: Fix undefined shift in FUNC(dequant)
Fixes: runtime error: left shift of negative value -180
Fixes: 4626/clusterfuzz-testcase-minimized-5647837887987712

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-26 18:05:10 +01:00
Michael Niedermayer 4d70fbeec8 avcodec/dirac_dwt: Fix integer overflow in COMPOSE_DD97iH0() and COMPOSE_DD137iL0()
Fixes: runtime error: signed integer overflow: 2147483646 + 33554433 cannot be represented in type 'int'
Fixes: 4563/clusterfuzz-testcase-minimized-5438979567517696

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-26 18:05:10 +01:00
James Almer 2a111c99a6 avcodec/libx264: fix compilation with x264 builds >= 153
x264 now supports multibitdepth builds, with a slightly changed API to
request bitdepth during initialization.

Reviewed-by: Ricardo Constantino <wiiaboo@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-26 11:57:01 -03:00
James Almer 89f704caba avcodec/libx264: use the pixfmt descriptor to check for high bit depths
The x264_bit_depth constant has been removed in newer x264 builds.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-25 23:18:41 -03:00
James Almer 613f789c19 w32pthreads: remove some remaining superfluous checks
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-25 23:17:56 -03:00
wm4 cf57cb3ae4 h264: add AVOption to set x264_build default
This provides a generic way to the API user to deal with files that
either lack this SEI, or which have the SEI only in packets not passed
to the decoder (such as the common case of the SEI being in the very
firsat video packet, but decoding is started somewhere in the middle of
the file). Bugs like 840b41b2a6 make this
somewhat of a necessity.

This intentionally uses the version in the SEI instead, if any is found.
2017-12-26 02:56:09 +01:00
wm4 4ed66517c6 lavc: remove complex debug code around avcodec init locking
This is just a lot of complicated and confusing code that had no purpose
anymore.

Also, the functions return values were checked only sometimes. Locking
shouldn't fail anyway, so remove the return values. Barely any other
pthread lock calls check the return value (including more important code
that is more likely to fail horribly if locking fails).

It could be argued that it might be helpful in some debugging
situations, or when the user built FFmpeg without thread support against
all good advice.

But there are dummy atomics too, so the atomic check won't help with
ensuring correctness absolutely. You gain very little.

Also, for debugging, you can just raise the ASSERT_LEVEL, and then
libavutil/thread.h will redefine the locking functions to explicitly
check the return values.
2017-12-26 02:50:00 +01:00
wm4 86a13bf2ff lavc, lavf: move avformat static mutex from avcodec to avformat
It's completely absurd that libavcodec would care about libavformat
locking, but it was there because the lock manager was in libavcodec.

This is more stright forward. Changes ABI, but we don't require ABI
compatibility currently.
2017-12-26 02:50:00 +01:00
wm4 e24f192a9f ffplay: drop lock manager use
Deprecated and useless.
2017-12-26 02:50:00 +01: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
wm4 9b121dfc32 w32pthreads: always use Vista+ API, drop XP support
This removes the XP compatibility code, and switches entirely to SWR
locks, which are available starting at Windows Vista.

This removes CRITICAL_SECTION use, which allows us to add
PTHREAD_MUTEX_INITIALIZER, which will be useful later.

Windows XP is hereby not a supported build target anymore. It was
decided in a project vote that this is OK.
2017-12-26 02:49:48 +01:00
Steven Liu 2aee5a8723 avformat/hlsenc: fix resource leak
fix CID: 1426931 1426929
2017-12-25 23:51:25 +08:00
Paul B Mahol e712d30173 avfilter/vf_convolve: add threading for complex multiplication
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 15:46:04 +01:00
Paul B Mahol c59e49f9b2 avfilter/vf_convolve: implement slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 11:53:54 +01:00
Paul B Mahol f9f1b2a927 avfilter/vf_convolve: split input/output operations from fft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 11:05:26 +01:00
Paul B Mahol 86e3eebfb7 avfilter/vf_convolve: use shorter variants for pointers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 10:19:47 +01:00
Paul B Mahol ec6608f51b avfilter/vf_convolve: clear coefficients only when needed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-25 10:06:07 +01:00
Karthick Jeyapal be2da4c522 avformat/hlsenc: Signal http end of chunk(http_shutdown) during hlsenc_io_close()
Currently http end of chunk is signalled implicitly in hlsenc_io_open().
This mean playlists http writes would have to wait upto a segment duration to signal end of chunk causing delays.
This patch will fix that problem and improve performance.
2017-12-25 12:08:06 +08:00
Karthick Jeyapal 6848201f70 avformat/http: Avoid calling http_shutdown() if end of chunk is signalled already 2017-12-25 12:07:43 +08:00
James Almer 90d216cb90 x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled but not used
Fixes compilation of libavresample/x86/audio_mix.asm

Reviewed-by: Gramner
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-24 23:02:54 -03:00