summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* w32pthreads: always use Vista+ API, drop XP supportwm42017-12-26
| | | | | | | | | | | 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.
* avformat/hlsenc: fix resource leakSteven Liu2017-12-25
| | | | fix CID: 1426931 1426929
* avfilter/vf_convolve: add threading for complex multiplicationPaul B Mahol2017-12-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_convolve: implement slice threadingPaul B Mahol2017-12-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_convolve: split input/output operations from fftPaul B Mahol2017-12-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_convolve: use shorter variants for pointersPaul B Mahol2017-12-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_convolve: clear coefficients only when neededPaul B Mahol2017-12-25
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/hlsenc: Signal http end of chunk(http_shutdown) during ↵Karthick Jeyapal2017-12-25
| | | | | | | | 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.
* avformat/http: Avoid calling http_shutdown() if end of chunk is signalled ↵Karthick Jeyapal2017-12-25
| | | | already
* x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled ↵James Almer2017-12-24
| | | | | | | | | but not used Fixes compilation of libavresample/x86/audio_mix.asm Reviewed-by: Gramner Signed-off-by: James Almer <jamrial@gmail.com>
* checkasm: support for AVX-512 functionsJames Darnley2017-12-24
|
* x86inc: AVX-512 supportHenrik Gramner2017-12-24
| | | | | | | | | | | | | | | | | | | | AVX-512 consists of a plethora of different extensions, but in order to keep things a bit more manageable we group together the following extensions under a single baseline cpu flag which should cover SKL-X and future CPUs: * AVX-512 Foundation (F) * AVX-512 Conflict Detection Instructions (CD) * AVX-512 Byte and Word Instructions (BW) * AVX-512 Doubleword and Quadword Instructions (DQ) * AVX-512 Vector Length Extensions (VL) On x86-64 AVX-512 provides 16 additional vector registers, prefer using those over existing ones since it allows us to avoid using `vzeroupper` unless more than 16 vector registers are required. They also happen to be volatile on Windows which means that we don't need to save and restore existing xmm register contents unless more than 22 vector registers are required. Big thanks to Intel for their support.
* avcodec: add stride alignment needed for AVX-512James Darnley2017-12-24
|
* avutil: add alignment needed for AVX-512James Darnley2017-12-24
|
* avutil: detect when AVX-512 is availableJames Darnley2017-12-24
|
* avutil: add AVX-512 flagsJames Darnley2017-12-24
|
* configure: test whether x86 assembler supports AVX-512James Darnley2017-12-24
|
* avformat/hls: fix SEGV in previous commitAman Gupta2017-12-24
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat/hls: fix memory leak with non-http segmentsAman Gupta2017-12-24
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat/hls: fix CID 1426930Aman Gupta2017-12-24
| | | | Signed-off-by: Aman Gupta <aman@tmm1.net>
* avfilter/vf_convolve: fix various issuesPaul B Mahol2017-12-24
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_convolve: fix convolution of bordersPaul B Mahol2017-12-24
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/internal: fix compile error with some versions of g++Aman Gupta2017-12-23
| | | | | | Fixes #6926 Signed-off-by: Aman Gupta <aman@tmm1.net>
* avfilter/vf_convolve: unbreak non-power of 2 width&height filteringPaul B Mahol2017-12-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_fftfilt: support >8 bit depth formatsPaul B Mahol2017-12-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_aspect: change outlink sample aspect ratio instead of inlinkPaul B Mahol2017-12-23
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/video: pick sar from linkPaul B Mahol2017-12-23
| | | | | | | | It should not be needed for each filter that sets sample aspect ratio to set it explicitly also for each and every frame, instead that is automatically done in get_buffer call. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/hlsenc:addition of #EXT-X-MEDIA tag and AUDIO attributeVishwanath Dixit2017-12-23
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/internal: log underlying error with ff_rename failureAman Gupta2017-12-22
| | | | | Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: wm4 <nfxjfg@googlemail.com>
* avformat/hls: hide misleading warning when http reconnect is requiredAman Gupta2017-12-22
| | | | | | | | | AVERROR_EOF is an internal error which means the http socket is no longer valid for new requests. It informs the caller that a new connection must be established, and as such does not need to be surfaced to the user as a warning. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat/http: return EOF from ff_http_do_new_request if previous response ↵Aman Gupta2017-12-22
| | | | | | | | | | | | said Connection:close This fixes a deadlock when using the hls demuxer's new http_persistent feature to stream a youtube live stream over HTTPS. The youtube servers are http/1.1 compliant, but return a "Connecton: close". Before this commit, the demuxer would attempt to send a new request on the partially shutdown connection and cause a deadlock in the tls protocol. Signed-off-by: Aman Gupta <aman@tmm1.net>
* avformat/hls: add http_multiple optionAman Gupta2017-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* avformat/hls: allow open_input to be re-usedAman Gupta2017-12-22
| | | | | Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
* avformat/hls: add http_persistent optionAman Gupta2017-12-22
| | | | | | | | | | | | | | | 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>
* avformat/http: add "Opening" info logging to ff_http_do_new_requestAman Gupta2017-12-22
| | | | | | | | This mimics logging that was added in 53e0d5d7247 for security purposes. Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/http: return EINVAL from ff_http_do_new_request() if re-used with ↵Aman Gupta2017-12-22
| | | | | | | | | | | different hostname This will prevent improper use of ff_http_do_new_request() if the user tries to send a request for a different host to a previously connected persistent http/1.1 connection. Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Karthick J <kjeyapal@akamai.com>
* avfilter/vf_lut: add support for gray formatsPaul B Mahol2017-12-22
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/dashenc: avformat/dashenc: Fix the EXT-X-TARGETDURATION as per the ↵Karthick J2017-12-22
| | | | hls specification
* avformat/hlsenc: set EXT-X-TARGETDURATION use lrint(EXTINF)Karthick J2017-12-22
|
* avfilter/vf_framerate: fix scene score with negative linesizeMarton Balint2017-12-21
| | | | | | | Also, do not overread input if linesize > width, or linesize is not divisible by 8, and use the proper rounded width/height for MAFD calculation. Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: do not calculate scene change score multiple times ↵Marton Balint2017-12-21
| | | | | | | | | | for the same frame This speeds up the filter, and also fixes scene change detection score which is reduced based on the difference of the current MAFD to the preivous MAFD. Obviously if we compare two frames twice, the difference will be 0... Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: fix scene change detection scoreMarton Balint2017-12-21
| | | | | | | | | - 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>
* avfilter/vf_framerate: factorize get_scene_scoreMarton Balint2017-12-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: factorize blend_framesMarton Balint2017-12-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/vf_framerate: add threaded blending operationsMarton Balint2017-12-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* fate: add 12 bit framerate filter testsMarton Balint2017-12-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/jpeg2000dec: Free lengthinc earlierMichael Niedermayer2017-12-21
| | | | | | Reduces memory needed Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg4videodec: Add support for parsing and exporting video_rangeMichael Niedermayer2017-12-21
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000dec: Allocate lengthinc and data_start arrays as neededMichael Niedermayer2017-12-21
| | | | | | | | | Decreases memory requirements Fixes: OOM Fixes: 4525/clusterfuzz-testcase-minimized-6400713073623040 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* rkmppdec: move AV_CODEC_CAP_AVOID_PROBING to the correct fieldwm42017-12-21
| | | | | | AVCodec.caps_internal doesn't hold this field. (Untested.)