summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavfi, ffmpeg: simplify filter names.Nicolas George2017-01-12
| | | | | | The names are only used for technical output and debugging. Make them similar to C identifiers for easier quick reading of debug dumps.
* lavf/hlsenc: fix typo in last commit.Nicolas George2017-01-12
|
* avformat/hlsenc: hls_start_number_source and start_numberBodecs Bela2017-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | start_number option starts the playlist sequence number (#EXT-X-MEDIA-SEQUENCE) from the specified number. Unless hls_flags single_file is set, it also specifies starting sequence numbers of segment and subtitle filenames. Sometimes it is usefull to have unique starting numbers at each run, but currently it is only achiveable by setting this parameter manually. This patch enables to specify start_number source parameter by introducing hls_start_number_source with 3 possible values: generic/epoch/datetime. This ensures to set start sequence number automatically for practically unique numbers. Generic option is the default and this is the curent behaviour: start_number option value specifies the start sequence number. (start_number default value is 0) If hls_start_number_source is set to epoch, then the start number will be the seconds since epoch (1970-01-01 00:00:00). If set to datetime, then the start sequence number will be based on the current date/time value as YYYYmmddHHMMSS. e.g. 20161231235659. Hls speficication allows 64 bit integers as sequence numbers. This patch also changes some code where only 32 bit integer values were handled correctly. Reviewed-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavfi: use an audio frame pool for each link of the filtergraphMatthieu Bouron2017-01-12
|
* lavfi/framepool: cosmetic style fixesMatthieu Bouron2017-01-12
|
* lavfi/framepool: re-indent after previous commitMatthieu Bouron2017-01-12
|
* lavfi/framepool: add audio supportMatthieu Bouron2017-01-12
|
* lavfi/framepool: rename FFVideoFramePool to FFFramePoolMatthieu Bouron2017-01-12
|
* avcodec/mathops: add missing header for ff_reverseJames Almer2017-01-11
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate/psd : add test for 256 colorMartin Vignali2017-01-11
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg: Add an option "qsv_device" to choose proper node for QSV child ↵Zhengxu2017-01-11
| | | | | | | | | | | | | | | | | device (vaapi or dxva2) Reason: For some cases, such as 2 or more graphics cards existing, the default command line may fail because ffmpeg does not open the correct device node: ffmpeg -hwaccel qsv -c:v h264_qsv -i test.264 -c:v h264_qsv out.264 Let user choose the proper one by running like below: ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv \ -i test.264 -c:v h264_qsv out.264 Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com> Signed-off-by: Huang, Zhengxu <zhengxu.maxwell@gmail.com> Signed-off-by: Andrew, Zhang <huazh407@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* lavf/dss: Support version 3 files / files with larger header.Carl Eugen Hoyos2017-01-11
| | | | Fixes ticket #6072.
* hevc: Mark as having threadsafe initDerek Buitenhuis2017-01-11
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec: add Newtek SpeedHQ decoderSteinar H. Gunderson2017-01-11
| | | | | | | | | | | | | | This decoder can decode all existing SpeedHQ formats (SHQ0–5, 7, and 9), including correct decoding of the alpha channel. 1080p is decoded in 142 fps on one core of my i7-4600U (2.1 GHz Haswell), about evenly split between bitstream reader and IDCT. There is currently no attempt at slice or frame threading, even though the format trivially supports both. NewTek very helpfully provided a full set of SHQ samples, as well as source code for an SHQ2 encoder (not included) and assistance with understanding some details of the format.
* avcodec: move bitswap_32() into a header fileSteinar H. Gunderson2017-01-11
| | | | Allows more codecs than mpeg12video to make use of it.
* avcodec/wmaprodec: do not force extradata presence for XMAPaul B Mahol2017-01-11
| | | | | | Mainly useful for supporting decoding of headerless files. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/psd: fix ugly typoPaul B Mahol2017-01-11
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/vf_libopencv: fix resource leak in read_shape_frame_filterSteven Liu2017-01-11
| | | | | | | CID: 1324298 add a label when error goto the label to release resource Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* libavcodec/psd : add support for psd bitmap modeMartin Vignali2017-01-11
| | | | | | Fixes ticket #6044 Based on patch by Carl Eugen Hoyos
* lavc/psd: Interpret DUOTONE as GRAYSCALE.Carl Eugen Hoyos2017-01-11
| | | | | | | | This is what gimp, ImageMagick and FreeImage do and what the Adobe Photoshop file format specification suggests. Fixes a sample from ticket #6045. Reviewed-by: Martin Vignali
* avformat/hlsenc: fix the bug when the largest segment duration pointer right ↵Steven Liu2017-01-11
| | | | | | | | | | value is 0 when the segments largest duration value is look like 4.000000, the EXT-X-TARGETDURATION value should equ 4. it's wrong when hlsenc use ceil, so fix it. Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: fix hls start and tail segment durationSteven Liu2017-01-11
| | | | | | | | | problem fix ticket: #6067 Tested-by: Pero Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avcodec/bsf: fix resource leak in av_bsf_list_parse_strSteven Liu2017-01-11
| | | | | | | | cid: 1396268 when av_strdup(str) error, the lst need release Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avcodec/tiff: Perform multiply in tiff_unpack_lzma() as 64bitMichael Niedermayer2017-01-10
| | | | | | | | | This should make no difference as the value should not be able to be that large but its more correct this way Fixes CID1348138 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/scaler: mention default scaling algorithmLou Logan2017-01-09
| | | | | | | Default is "bicubic". Signed-off-by: Lou Logan <lou@lrcd.com> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/qdm2: make use of bytestream2Paul B Mahol2017-01-09
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avfilter/af_sofalizer: speed and clean up fast convolution a littlePaul B Mahol2017-01-09
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* x86inc: Avoid using eax/rax for storing the stack pointerHenrik Gramner2017-01-09
| | | | | | | | | When allocating stack space with an alignment requirement that is larger than the current stack alignment we need to store a copy of the original stack pointer in order to be able to restore it later. If we chose to use another register for this purpose we should not pick eax/rax since it can be overwritten as a return value.
* avutil/tile: check clock_gettime at runtime for apple platformsWang Bin2017-01-09
| | | | | | | | | | | clock_gettime is avalible since macOS 10.12 and iOS 10.0. Because of weak linking, clock_gettime can be build without error with new macOS/iOS sdk, but the symbol may not exist on the target system. Explicitly checking the symbol is required. https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html Signed-off-by: Wang Bin <wbsecg1@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavc/vaapi_encode_h264: disable B frames in baseline profileJun Zhao2017-01-09
| | | | | | | | | Disable B frames when using baseline/constrained baseline profile, following H.264 spec Annex A.2.1. Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Yi A Wang <yi.a.wang@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avfilter/af_dynaudnorm: fix hang with too short inputPaul B Mahol2017-01-08
| | | | | | The only thing we can do at such point is return samples unchanged. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/bsf: Fix av_bsf_list_free()Michael Niedermayer2017-01-08
| | | | | | | Negate null check Fixes CID1396248 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/omx: Do not pass negative value into av_malloc()Michael Niedermayer2017-01-08
| | | | | | Fixes CID1396849 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffserver: local OOB write with custom program nameTobias Stoeckmann2017-01-08
| | | | | | | | | | | | | | | | | | When the command line for children is created, it is assumed that my_program_name always ends with "ffserver", which doesn't have to be true if ffserver is called through a symbolic link. In such a case, it could be that not enough space for "ffmpeg" is available at the end, leading to a buffer overflow. One example would be: $ ln -s /usr/bin/ffserver ~/f; ~/f As this is only a local buffer overflow, i.e. is based on a weird program call, this has NO security impact. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/riff: extend MagicYUV fourcc listPaul B Mahol2017-01-07
| | | | | | Newer version of encoder can create such files. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/dca: add support for 20-bit XLLfoo862017-01-07
| | | | | | | Fixes ticket #6063. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Regression fix for invalid MKV headerssoftworkz2017-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following three commits created a regression by writing initially invalid mkv headers: 650e17d88b63b5aca6e0a43483e89e64b0f7d2dd avformat/matroskaenc: write a CRC32 element on Tags 3bcadf822711720ff0f8d14db71ae47cdf97e652 avformat/matroskaenc: write a CRC32 element on Info ee888cfbe777cd2916a3548c750e433ab8f8e6a5 avformat/matroskaenc: postpone writing the Tracks master Symptoms: - You can no longer playback a file that is still processed by ffmpeg, e.g. VLC fails playback - You can no longer stream a file to a client while if is still being processed - Various diagnosing tools show header errors or incomplete headers (e.g. ffprobe, mediainfo, mkvalidator) Note: The symptoms do not apply to completed files or ffmpeg runs that were interrupted with 'q' Cause: The mentioned commits made changes in a way that some header elements are only partially written in mkv_write_header, leaving the header in an invalid state. Only in mkv_write_trailer, these elements are finished correctly, but that does only occur at the end of the process. Regression: Before these commits were applied, mkv headers have always been valid, even before completion of ffmpeg. This has worked reliably over many versions of ffmpeg, to it was an obvious regression. Bugtracker: This issue has been recorded as #5977 which is resolved by this patch Patch: The patch adds a new function 'end_ebml_master_crc32_preliminary' that preliminarily finishes the ebml element without destroying the buffer. The buffer can be used to update the ebml element later during mkv_write_trailer. But most important: mkv_write_header finishes with a valid mkv header again. Signed-off-by: James Almer <jamrial@gmail.com>
* lavfi/selectivecolor: add a link to algorithm explanationsClément Bœsch2017-01-07
|
* libavformat/avio: Add avio_get_dyn_buf functionsoftworkz2017-01-07
| | | | | | | | | | | | | This commit adds the avio_get_dyn_buf function which allows accessing the content of a DynBuffer without destroying it. This is required in matroskaenc for preliminary writing (correct) mkv headers. Context for this change is fixing regression bug #5977. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: add QDMC decoderPaul B Mahol2017-01-06
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/iff: add support for vertical word compression in ILBMPaul B Mahol2017-01-06
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* omadec: fix overflows during bit rate calculationAndreas Cadhalpun2017-01-06
| | | | Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* libavcodec/exr: Fix blank output when data window != display windowKevin Wheatley2017-01-06
| | | | | | | | | | | | | | looks like there is a bug in commit 1a08758e7c4e14a9ea8d2fef6c33ad411b2d3c40 relating to the handling of ptr in decode_frame after decode_block is called, before this commit ptr would have been incremented for each line in the data window, now after the commit it is left at the start of the first included line rather than the line after the data window then the code sets the remaining lines to 0 and thus the whole image is over written. Fix by adjusting ptr to the correct line after decode_block returns Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
* avfilter/asrc_flite: Fix textbuf leakMichael Niedermayer2017-01-06
| | | | | | Fixes CID1244189 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_shuffleframes: allow also dropping framesPaul B Mahol2017-01-06
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/test/fifo_muxer: add check for FailingMuxerPacketData allocSteven Liu2017-01-06
| | | | | | | CID: 1396257 Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* imdct15: replace the FFT with a faster PFA FFT algorithmRostislav Pehlivanov2017-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit replaces the current inefficient non-power-of-two FFT with a much faster FFT based on the Prime Factor Algorithm. Although it is already much faster than the old algorithm without SIMD, the new algorithm makes use of the already very throughouly SIMD'd power of two FFT, which improves performance even more across all platforms which we have SIMD support for. Most of the work was done by Peter Barfuss, who passed the code to me to implement into the iMDCT and the current codebase. The code for a 5-point and 15-point FFT was derived from the previous implementation, although it was optimized and simplified, which will make its future SIMD easier. The 15-point FFT is currently using 6% of the current overall decoder overhead. The FFT can now easily be used as a forward transform by simply not multiplying the 5-point FFT's imaginary component by -1 (which comes from the fact that changing the complex exponential's angle by -1 also changes the output by that) and by multiplying the "theta" angle of the main exptab by -1. Hence the deliberately left multiplication by -1 at the end. FATE passes, and performance reports on other platforms/CPUs are welcome. Performance comparisons: iMDCT, PFA: 101127 decicycles in speed, 32765 runs, 3 skips iMDCT, Old: 211022 decicycles in speed, 32768 runs, 0 skips Standalone FFT, 300000 transforms of size 960: PFA Old FFT kiss_fft libfftw3f 3.659695s, 15.726912s, 13.300789s, 1.182222s Being only 3x slower than libfftw3f is a big achievement by itself. There appears to be something capping the performance in the iMDCT side of things, possibly during the pre-stage reindexing. However, it is certainly fast enough for now. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* imdct15: remove the AArch64 assemblyRostislav Pehlivanov2017-01-05
| | | | | | | | | | | | | | | Prep work for the next commit, which will add a new FFT algorithm which makes the iMDCT over 3x faster than it is currently (standalone, the FFT is with some framesizes over 10x faster). The new FFT algorithm uses the already thouroughly SIMD'd power of two FFT which already has SIMD for AArch64, so users of that platform will still see an improvement. The previous FFT+SIMD was barely 2.5x faster than the C versions on these platforms. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* avformat/hlsenc: fix Explicit null dereferenced in hlsencSteven Liu2017-01-06
| | | | | | | | CID: 1398228 Passing null pointer dirname to strlen, which dereferences it. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* dxva2: make ff_dxva2_get_surface() static and rename itSteve Lhomme2017-01-05
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>