summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavc/mlpenc: remove the redundant condition checkJun Zhao2019-05-12
| | | | | | remove the redundant condition check for 'frame' Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/libvpxenc: remove redundant condition checkJun Zhao2019-05-12
| | | | | | | Redundant condition: '!A || B' is equivalent to '!A || (A && B)' but more clearly. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/bink: Remove the dead code blockJun Zhao2019-05-12
| | | | | | Remove the dead code block Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/avpacket: check NULL before using the pointerJun Zhao2019-05-12
| | | | | | Need to check NULL before using the pointer Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/aacenc_ltp: remove unnecessary condition check.Jun Zhao2019-05-12
| | | | | | | Condition 'sum==2' is always true, so remove the check logic to make the code clean. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/isom: Allow reading mp3-in-isom as written by vlc.Carl Eugen Hoyos2019-05-12
| | | | Reported-by: IRC user aiena
* avfilter: add colorhold filterPaul B Mahol2019-05-11
| | | | Fixes #7671.
* avcodec/gif: remove flags from gifimage optionPaul B Mahol2019-05-11
| | | | It does not belong there.
* avcodec/gif: fix issues with transparent cropJacob Graff2019-05-11
| | | | Resolves issues with some transparent gifs.
* lavc/libx265: Use avctx->framerate first for frame rate settingJun Zhao2019-05-11
| | | | | | | | | perfer avctx->framerate first than use avctx->time_base when setting the frame rate to encoder. 1/time_base is not the average frame rate if the frame rate is not constant, so use avctx->framerate if the value is not zero. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/libx264: Use avctx->framerate first for frame rate settingJun Zhao2019-05-11
| | | | | | | | | | perfer avctx->framerate first than use avctx->time_base when setting the frame rate to encoder. 1/time_base is not the average frame rate if the frame rate is not constant. In this case, we need to setting avctx->framerate and avctx->time_base both, but avctx->framerate not equal to 1/(avctx->time_base). Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/avidec: Do not test for bitrate <= INT_MAX.Carl Eugen Hoyos2019-05-10
| | | | | | | AVCodecContext->bit_rate is int64_t since 7404f3bd Unbreaks non-interleaved detection of v210 4k avi files, broken since 0eec40b7. Reported-by: Xavier Càmara, Centre de Conservació i Restauració, Filmoteca de Catalunya
* lavf/cover_rect: Fix logic check issueJun Zhao2019-05-10
| | | | | | | Fix logic check issue #6741 Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* LICENSE: Clarify --enable-nonfree.Carl Eugen Hoyos2019-05-10
| | | | Using the configure option --enable-nonfree makes the resulting binary unredistributable.
* LICENSE: Remove nvenc from the non-free section.Carl Eugen Hoyos2019-05-10
| | | | The headers are auto-detected by current FFmpeg.
* LICENSE: Remove an incorrect statement.Carl Eugen Hoyos2019-05-10
| | | | Missed in bc4137d4
* avcodec/prosumer: Only memset(0) what is needed.Michael Niedermayer2019-05-09
| | | | | | | | Fixes: Timeout (11sec -> 0.08sec) Fixes: 14406/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5151210148986880 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/fic: Check input size against minimal frame sizeMichael Niedermayer2019-05-09
| | | | | | | | Fixes: Timeout (22sec ->54ms) Fixes: 14439/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FIC_fuzzer-5660988231122944 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pafvideo: Check input space for decode_0() before slow operationsMichael Niedermayer2019-05-09
| | | | | | | | Fixes: Timeout (11sec -> 2sec) Fixes: 14403/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PAF_VIDEO_fuzzer-5697465698746368 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/scpr: check remaining data after decodeMichael Niedermayer2019-05-09
| | | | | | | | Fixes Timeout (29sec -> 14sec) Fixes: 13713/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5756778069884928 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/crypto_bench: update the comment about build commandJun Zhao2019-05-09
| | | | | | | commit cd62f9d557f missing the comment about build Reviewed-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* tools/crypto_bench: check malloc fail before using itJun Zhao2019-05-09
| | | | | | | | Need to check malloc fail before using it, so adjust the location in the code. Reviewed-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avfilter/af_atempo: Make ffplay display correct timestamps when seekingPavel Koshevoy2019-05-08
| | | | | NOTE: this is a refinement of the patch from Paul B Mahol offset all output timestamps by same amount of first input timestamp
* avformat/matroskaenc: Reduce usage of ebml_masterAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | | | After the last few commits, the functions for writing master elements with CRC-32 elements didn't really make use of the ebml_master structure any more, so remove these parameters from the functions. The only things that still need to be kept are the positions of the level 1 elements that are written preliminarily and updated later. These positions are stored in the MatroskaMuxContext and replace the corresponding ebml_master structures. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Improve log messages for blocksAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | | | | | | | | Up until now, a block's relative offset has been reported as the offset in the log messages output when writing blocks; given that it is impossible to know the real offset from the beginning of the file at this point due to the fact that it is not yet known how many bytes will be used for the containing cluster's length field both the relative offset in the cluster as well as the offset of the containing cluster will be reported from now on. Furthermore, the TrackNumber of the written block has been added to the log output. Also, the log message for writing vtt blocks has been brought in line with the message for normal blocks. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Don't waste bytes writing level 1 elementsAndreas Rheinhardt2019-05-08
| | | | | | | | | | | Up until now, the length field of most level 1 elements has been written using eight bytes, although it is known in advance how much space the content of said elements will take up so that it would be possible to determine the minimal amount of bytes for the length field. This commit changes this. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Cosmetics and typoAndreas Rheinhardt2019-05-08
| | | | | | | | | Fixes intendation, whitespace, a typo and renames a variable (dyn_bc->cluster_bc) to make its meaning clearer and to bring it more in line with the naming of similar variables. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Write CRC-32 in non-seekable modeAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | | | | | Given that in both the seekable as well as the non-seekable mode dynamic buffers are used to write level 1 elements and that now no seeks are used in the seekable case any more, the two modes can be combined; as a consequence, the non-seekable mode automatically inherits the ability to write CRC-32 elements. There are no differences in case the output is seekable; when it is not and writing CRC-32 elements is disabled, there can still be minor differences because before this commit, the EBML ID and length field were counted towards the cluster size limit; now they no longer are. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Avoid seeking when writing level 1 elementsAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | | | Up until now, the writing process for level 1 elements (those elements for which CRC-32 elements are written by default) was this in case the output was seekable: Write the EBML ID, write an "unkown length" EBML number of the desired length, then write the element into a dynamic buffer, then write the dynamic buffer (after possible calculation and writing of the CRC-element), then seek back to the size element and overwrite the unknown-size element with the real size. The seeking and overwriting part has been eliminated by not writing the size initially. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Change variable typesAndreas Rheinhardt2019-05-08
| | | | | | | | | A Matroska EBML ID can only be maximally four bytes long, so make the variables denoting EBML IDs uint32_t instead of unsigned int to better reflect this. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Remove redundant checkAndreas Rheinhardt2019-05-08
| | | | | | | | | All places where end_ebml_master_crc32_preliminary are used already check for whether the output is seekable, so the check in the function is redundant. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Improve log messageAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | Since 4e3bdf729a80f868b014ceb02901d87198b545a5 there is no reason any more to treat the seekable and non-seekable cases separate with regards to the log message for a new cluster. This effectively reverts d41aeea8a64bab5d7aacd602f7214f95baad109f. Also improved the log message: "pts 80dts 0" -> "pts 80, dts 0". Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Simplify check for writing CRCsAndreas Rheinhardt2019-05-08
| | | | | | | | | Up until now, the check for whether to write CRC32 elements was always mkv->write_crc && mkv->mode != MODE_WEBM. This is equivalent to simply set write_crc to zero in WebM-mode. And this is what this commit does. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Remove traces of secondary seek headAndreas Rheinhardt2019-05-08
| | | | | | | | | | | Up until e7ddafd515dc9826915b739d0b977a63c21e96af the Matroska muxer wrote a secondary seek head referencing all the clusters. When this was changed, a (now completely wrong) comment remained and the unique remaining seek head was still called main_seekhead. This has been changed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Don't waste bytes in EBML HeaderAndreas Rheinhardt2019-05-08
| | | | | | | | | | Up until now the EBML Header length field has been written with eight bytes, although the EBML Header is always so small that only one byte is needed for it. This patch saves seven bytes for every Matroska/Webm file. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Slightly improve size bounds for cuesAndreas Rheinhardt2019-05-08
| | | | | | | | | | The upper bounds currently used for determining the size of a CuePoint's length field can be improved somewhat; as a result, a CuePoint containing three CueTrackPositions will now only need a size field with one byte length. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Fix BlockGroup size calculationAndreas Rheinhardt2019-05-08
| | | | | | | | | | | | The earlier code included the size of the BlockGroup's length field and the EBML ID in the calculation of the size for the payload and ignored the size of the duration's length field. This meant that Blockgroups corresponding to packets with size 2^(7n) - 17 - n - i, i = 0,..., n - 1, n = 1,..., 8 (i.e. 110, 16364, 16365, 2097130..2097132, ...) were written with length fields that are unnecessarily long. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskaenc: Fix relative timestamp checkAndreas Rheinhardt2019-05-08
| | | | | | | | | At this point, ts already includes the ts_offset so that the relative time written with the cluster is already given by ts - mkv->cluster_pts. It is this number that needs to fit into an int16_t. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* libavfilter/dnn: add more data type support for dnn model inputGuo, Yejun2019-05-08
| | | | | | | | currently, only float is supported as model input, actually, there are other data types, this patch adds uint8. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* libavfilter/dnn: support multiple outputs for tensorflow modelGuo, Yejun2019-05-08
| | | | | | | | | | | | some models such as ssd, yolo have more than one output. the clean up code in this patch is a little complex, it is because that set_input_output_tf could be called for many times together with ff_dnn_execute_model_tf, we have to clean resources for the case that the two interfaces are called interleaved. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* libavfilter/dnn: avoid memcpy for tensorflow dnn outputGuo, Yejun2019-05-08
| | | | | | | use TF_Tensor's cpu address to avoid extra memcpy. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* libavfilter/dnn: determine dnn output during execute_model instead of ↵Guo, Yejun2019-05-08
| | | | | | | | | | | | | | | | | | | set_input_output Currently, within interface set_input_output, the dims/memory of the tensorflow dnn model output is determined by executing the model with zero input, actually, the output dims might vary with different input data for networks such as object detection models faster-rcnn, ssd and yolo. This patch moves the logic from set_input_output to execute_model which is suitable for all the cases. Since interface changed, and so dnn_backend_native also changes. In vf_sr.c, it knows it's srcnn or espcn by executing the model with zero input, so execute_model has to be called in function config_props Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* libavfilter/dnn: remove limit for the name of DNN model input/outputGuo, Yejun2019-05-08
| | | | | | | | remove the requirment that the name of DNN model input/output should be "x"/"y", Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* libavfilter/vf_sr: refine code to remove keyword 'else'Guo, Yejun2019-05-08
| | | | | | | | remove 'else' since there is always 'return' in 'if' scope, so the code will be clean for later maintenance Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* libavfilter/dnn_backend_tf.c: set layer_add_res for input layerGuo, Yejun2019-05-08
| | | | | | | | otherwise, the following check will return error if layer_add_res is randomly initialized. Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* avfilter/af_afftfilt: switch to activatePaul B Mahol2019-05-08
|
* configure: enable ffnvcodec, nvenc, nvdec for ppc6leRuta Gadkari2019-05-08
| | | | | | | Adding the support to build FFMPEG with HW accelerated decode and encode on PPC64 little endian architecture. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/cuviddec: add capability check for maximum macroblock countRuta Gadkari2019-05-08
| | | | | | | | | Cuvid supports clips with a limit on maximum number of macroblocks. This check was missing after cuvidGetDecoderCaps API call allowing unsupported clips to proceed. Added the missing check, same as the one in hwaccel nvdec implementation. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* lavfi/gblur: doing several columns at the same timeRuiling Song2019-05-08
| | | | | | | | Instead of doing each column one by one, doing several columns together gives about 30% better performance. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* configure: remove mlp parser dependency from truehd_core bsfJames Almer2019-05-07
| | | | | | It's no longer needed. Signed-off-by: James Almer <jamrial@gmail.com>