aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/libopenmpt: Probe file format from file data if possibleJörn Heusipp2018-03-201-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with libopenmpt 0.3, use the libopenmpt file header probing functions for probing. libopenmpt probing functions are allocation-free and designed to be as fast as possible. For libopenmpt 0.2, or when libopenmpt 0.3 file header probing cannot probe successfully due to too small probe buffer, test the filename against the file extensions supported by the libopenmpt library that is actually linked, instead of relying on a hard-coded file extension list. File extension testing is also allocation-free and designed to be fast in libopenmpt. Avoiding a hard-coded file extension list is useful because later libopenmpt versions will likely add support for more module file formats. libopenmpt file header probing is tested regularly against the FATE suite and other diverse file collections by libopenmpt upstream in order to avoid false positives. FATE passes with './configure --enable-libopenmpt' as well as with './configure --enable-libopenmpt --enable-libmodplug'. libopenmpt probing adds about 5%..10% cpu time (depending on precise usage pattern and host CPU and compiler version used for libopenmpt) compared to all current internal FFmpeg probing functions combined in tools/probetest for all of its module formats combined (currently 41 modules formats in libopenmpt 0.3.4 and 234 file formats in FFmpeg). Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de> Reviewed-by: Josh de Kock <josh@itanimul.li> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/libopenmpt: Update file extensions list for libopenmpt 0.3Jörn Heusipp2018-03-201-1/+5
| | | | | | Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de> Reviewed-by: Josh de Kock <josh@itanimul.li> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* ffmpeg.c - drain all decoded frames during stream_loop flushGyan Doshi2018-03-201-6/+11
| | | | | | | | | | | | | | When a decoded stream is being looped, after each post-EOF rewind, decoders are flushed in seek_to_start(). This only drains 1 frame, and thus the output has a few frames missing at the tail of each iteration except the last. With this patch, process_input is looped till process_input_packet reaches EOF. Fixes #7081 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg2_metadata: unref output packet on failureJames Almer2018-03-201-4/+4
| | | | | | | | Move the check and unref call to the end to be consistent with other bsfs. Reviewed-by: jkqxz Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h265_metadata: fix memory leak in case of output packet creation failureJames Almer2018-03-201-1/+3
| | | | | | | Some function calls may fail after the output packet is initialized. Reviewed-by: jkqxz Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h264_metadata: fix memory leak in case of output packet creation failureJames Almer2018-03-201-1/+3
| | | | | | | Some function calls may fail after the output packet is initialized. Reviewed-by: jkqxz Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpeg4_unpack_bframes: reduce code duplicationJames Almer2018-03-201-10/+10
| | | | | | | | Also fixes one potential leak of side data in out if the av_packet_from_data() call fails. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mp3_header_decompress: don't free the user provided packet on errorJames Almer2018-03-201-1/+1
| | | | | | | It's owned by the caller. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/vp9_superframe_split: move the reference in the bsf internal bufferJames Almer2018-03-191-11/+10
| | | | | | There's no need to allocate a new packet for it. Signed-off-by: James Almer <jamrial@gmail.com>
* lavfi/deshake: Check alignment before calling asm init function.Carl Eugen Hoyos2018-03-201-4/+6
| | | | | | | Do this for every frame to make sure dynamic filters do not cause crashes. Fixes ticket #7078.
* h264_metadata: Fix memory leak on multiple display orientation messagesMark Thompson2018-03-191-0/+4
| | | | Fixes CID #1430176.
* checkasm/hevc_idct : update test bit depth from 8 9 and 10 to 8 10 and 12Yingming Fan2018-03-191-2/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* configure: add const_nan dependency to h264_metadata_bsfJames Almer2018-03-181-0/+1
| | | | | | | Fixes compilation with some compilers. Reviewed-by: jkqxz Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/mpeg2_metadata_bsf: support dump options.Jun Zhao2018-03-181-6/+7
| | | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* lavc/h265_metadata_bsf: support dump options.Jun Zhao2018-03-181-17/+21
| | | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* lavc/h264_metadata_bsf: support dump options.Jun Zhao2018-03-181-28/+38
| | | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* avcodec/aac_adtstoasc: move the reference in the bsf internal bufferJames Almer2018-03-181-19/+14
| | | | | | There's no need to allocate a new packet for it. Signed-off-by: James Almer <jamrial@gmail.com>
* hwcontext_vaapi: Always include DRM hwcontext headerMark Thompson2018-03-181-3/+1
| | | | | | Fixes building with VAAPI but not libdrm, which was broken by 389f4c3e0d0a26a7d3d2696017384874cf5e93fa. Just unconditionally include the header, since it doesn't depend on libdrm being present.
* lavc: Add filter_units bitstream filterMark Thompson2018-03-185-0/+288
| | | | | | 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.
* hwcontext_vaapi: Fix condition for DRM device derivationMark Thompson2018-03-181-1/+1
| | | | vaGetDisplayDRM() is required for this code to work, libdrm is not.
* cbs: Add a table of all supported codec IDsMark Thompson2018-03-184-9/+23
| | | | Use it as the set of codec IDs supported by the trace_headers BSF.
* h264_metadata: Remove unused fieldsMark Thompson2018-03-181-7/+5
| | | | | The SEI NAL is unused since 69062d0f9b6aef5d9d9b8c9c9b5cfb23037caddb, while the AUD NAL is small and would more sensibly be on the stack.
* h264_metadata: Add support for display orientation SEI messagesMark Thompson2018-03-181-4/+165
|
* cbs_h265: Use helper macro for maximum values of fixed-width elementsMark Thompson2018-03-181-8/+8
| | | | | Apply the same logic as the previous patch to H.265. There are no cases which currently overflow here, but this is still more consistent.
* cbs_h264: Fix overflow in shiftsMark Thompson2018-03-182-11/+15
| | | | | | | | | The type of the result of a shift operation is unaffected by the type of the right operand, so some existing code overflows with undefined behaviour when the element length is 32. Add a helper macro to calculate the maximum value correctly and then use it everywhere this pattern appears. Found-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
* lavd: fix iterating of input and output devicesFelix Matouschek2018-03-181-5/+2
| | | | | | | | In the previous implementation the first input or output device was skipped when device_next was called with prev = NULL Signed-off-by: Felix Matouschek <felix@matouschek.org> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avfilter/vf_premultiply : fix unpremultiply_offset for rgb inputMartin Vignali2018-03-181-2/+2
|
* fate/hapqa_extract : add test for hapqa_extract bsfMartin Vignali2018-03-187-0/+213
| | | | | | | | | | | test extract color and alpha with the three main kind of hap frame : - no snappy compression - snappy compression and one chunk - snappy compression and several chunks (16 here) like the bsf filter need to be used with vtag and encoder edition also test the information of the target mov for color and alpha
* http: fix potentially dangerous whitespace skipping codewm42018-03-181-0/+2
| | | | | | | | | | | | | If the string consists entirely of whitespace, this could in theory continue to write '\0' before the start of the memory allocation. In practice, it didn't really happen: the generic HTTP header parsing code already skips leading whitespaces, so the string is either empty, or consists a non-whitespace. (The generic code and the cookie code actually have different ideas about what bytes are whitespace: the former uses av_isspace(), the latter uses WHITESPACES. Fortunately, av_isspace() is a super set of the http.c specific WHITESPACES, so there's probably no case where the above assumption could have been broken.)
* http: avoid out of bound accesses on broken Set-Cookie headerswm42018-03-181-0/+3
| | | | | | | | It's trivial to craft a HTTP response that will make the code for skipping trailing whitespace access and possibly overwrite bytes outside of the memory allocation. Why this can happen is blindingly obvious: it accesses cstr[strlen(cstr)-1] without checking whether the string is empty.
* http: do not print a warning message for expired cookieswm42018-03-181-1/+1
| | | | | | | libavformat prints a warning that the cookie couldn't be parsed (see callers of parse_cookie()). This is obviously not true - it could be parsed, but was simply ignored. Don't return an error to avoid the warning.
* lavu/frame: add QP side datawm42018-03-186-7/+86
| | | | | | | | | | | | | | | | | | | 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).
* lavu/frame: fix inconsistent qp_table_buf deprecationwm42018-03-182-3/+5
| | | | | | Everything related to the QP data is deprecated, with qp_table_buf being an inconsistent exception. Some parts were under the deprecation guards, some not. It probably didn't even compile.
* avformat/hlsenc: reindent after previous commitsSteven Liu2018-03-181-125/+125
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: fix fmp4 single init file problemSteven Liu2018-03-181-16/+50
| | | | | | fix ticket: #7021 Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: fix memleak problem about fmp4_init_filenameSteven Liu2018-03-181-7/+8
| | | | | | | move fmp4_init_filename init in if else for first fmp4_init_filename set value operation. Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: reindent after previous commitsSteven Liu2018-03-181-22/+22
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: fix write wrong init file URI string problemSteven Liu2018-03-181-16/+0
| | | | | | fmp4_init_filename should append after base_output_dirname Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavf/dashenc: remove unneeded call to dash_freeRodger Combs2018-03-181-3/+1
|
* libavformat/dashenc: Option to set timeout for socket I/O operationRavindra2018-03-182-0/+6
|
* avformat/codec2: don't include avcodec objectsJames Almer2018-03-172-3/+6
| | | | | | They belong in avcodec. Signed-off-by: James Almer <jamrial@gmail.com>
* configure: revert changes to the schannel checkJames Almer2018-03-171-1/+3
| | | | | | | check_cpp_condition was not being called on some targets, which made schannel remain enabled even when it was not available Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '83fef16b6a8dbbcbd80d159ba3ebe818dbbb2776'James Almer2018-03-171-23/+31
|\ | | | | | | | | | | | | * commit '83fef16b6a8dbbcbd80d159ba3ebe818dbbb2776': configure: Add check_cpp_condition() helper function to simplify some expressions Merged-by: James Almer <jamrial@gmail.com>
| * configure: Add check_cpp_condition() helper function to simplify some ↵Diego Biurrun2018-03-071-12/+26
| | | | | | | | expressions
* | Merge commit 'a5e011c8dcbf6968cc60f883d33382ba46147e90'James Almer2018-03-171-0/+8
|\| | | | | | | | | | | | | * commit 'a5e011c8dcbf6968cc60f883d33382ba46147e90': configure: Add check_cmd() helper function to simplify some expressions Merged-by: James Almer <jamrial@gmail.com>
| * configure: Add check_cmd() helper function to simplify some expressionsDiego Biurrun2018-03-071-3/+11
| |
* | fate/hapenc : remove test which use libsnappyMartin Vignali2018-03-177-105/+0
| | | | | | | | the test in none mode can be let (they don't use libsnappy)
* | fate: add a dca_core bitstream filter testJames Almer2018-03-171-0/+5
| | | | | | | | | | Reviwed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | Partially revert "avcodec/hapqa_extract: remove the AVOption flagsJames Almer2018-03-171-3/+4
| | | | | | | | | | | | | | Re add AVOptions flags, using the new one meant for bsfs. This partially reverts commit f706cdda56. Signed-off-by: James Almer <jamrial@gmail.com>
* | lavc/extract_extradata_bsf: support dump options.Jun Zhao2018-03-171-1/+2
| | | | | | | | | | | | | | support dump bit stream filter options Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>