summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/matroskaenc: Don't waste bytes in EBML HeaderAndreas Rheinhardt2019-05-0810-37/+40
| | | | | | | | | | 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-081-6/+6
| | | | | | | | | | 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-081-3/+1
| | | | | | | | | | | | 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-081-1/+1
| | | | | | | | | 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-084-7/+39
| | | | | | | | 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-086-31/+85
| | | | | | | | | | | | 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-082-27/+12
| | | | | | | 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-086-49/+51
| | | | | | | | | | | | | | | | | | | 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-084-9/+9
| | | | | | | | 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-081-76/+72
| | | | | | | | 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-081-0/+1
| | | | | | | | 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-081-102/+126
|
* configure: enable ffnvcodec, nvenc, nvdec for ppc6leRuta Gadkari2019-05-081-0/+8
| | | | | | | 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-081-0/+6
| | | | | | | | | 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-081-20/+42
| | | | | | | | 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-071-1/+0
| | | | | | It's no longer needed. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mlp_parser: split off shared code to its own fileJames Almer2019-05-076-208/+223
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/filters: layout requirements for xstackGyan Doshi2019-05-071-0/+3
|
* avfilter/vf_xstack: set better error msg forGyan Doshi2019-05-071-1/+10
| | | | missing layout
* swscale/ppc: Shorten power8 tests via a varLauri Kasanen2019-05-071-13/+14
|
* swscale/ppc: VSX-optimize hScale16To*Lauri Kasanen2019-05-071-0/+159
| | | | | | | | | | | | | | | | | | ./ffmpeg -loop 1 -s 1200x1440 -i tux16.png \ -s 2400x720 -f rawvideo -y -vframes 5 -pix_fmt yuv420p16le -nostats test.raw ./ffmpeg -loop 1 -s 1200x1440 -i tux16.png \ -s 2400x720 -f rawvideo -y -vframes 5 -pix_fmt yuv420p -nostats test.raw 32-bit mul, power8 only 2x speedup for hScale8To19_vsx (x86 SSE2 is 2.37): 30896 UNITS in hscale, 8192 runs, 0 skips 63956 UNITS in hscale, 8192 runs, 0 skips 2.06 for hScale16To15_vsx: 30531 UNITS in hscale, 8192 runs, 0 skips 63161 UNITS in hscale, 8192 runs, 0 skips
* swscale/ppc: IndentLauri Kasanen2019-05-071-6/+6
|
* swscale/ppc: VSX-optimize hScale8To19Lauri Kasanen2019-05-071-1/+63
| | | | | | | | | ./ffmpeg -f lavfi -i yuvtestsrc=duration=1:size=1200x1440 \ -s 2400x720 -f rawvideo -y -vframes 5 -pix_fmt yuv420p16le -nostats test.raw 2.26 speedup (x86 SSE2 is 2.32): 23772 UNITS in hscale, 4096 runs, 0 skips 53862 UNITS in hscale, 4096 runs, 0 skips
* lavc/qsv: extactly map profileZhong Li2019-05-071-8/+44
| | | | | | | | | | Currently profile mapping is hard-coded, and not flexible to do extactly map (E.g: libmfx treats H264 constrained baseline to be baseline profile). vaapi profile mapping funtion provides a better soultion than current qsv mapping. Signed-off-by: Zhong Li <zhong.li@intel.com>
* lavc/qsvdec: fix hevc level incorrectly mapZhong Li2019-05-073-1/+15
| | | | | | libmfx hevc level defination is same as h264, not level_idc of SPEC. Signed-off-by: Zhong Li <zhong.li@intel.com>
* lavc/qsvdec: add query function and provide error messageZhong Li2019-05-071-0/+33
| | | | | | | | It is helpful to know why some clips decoding failed. Ticket#7330 is a good example, with this patch it is easily to know bitstream codec level is out of support range. Signed-off-by: Zhong Li <zhong.li@intel.com>
* avcodec/fits: Check bitpixMichael Niedermayer2019-05-061-0/+11
| | | | | | | | | | Reference: Table 8: Interpretation of valid BITPIX value from FITS standard 4.0 Fixes: runtime error: division by zero Fixes: 14581/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FITS_fuzzer-5652382425284608 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/af_rubberband: also do not ignore failuresPaul B Mahol2019-05-061-1/+1
|
* avfilter/af_rubberband: handle case when no frame is givenPaul B Mahol2019-05-061-3/+6
|
* avcodec/vp9_raw_reorder: reset state when flushingJames Almer2019-05-061-0/+11
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/aacdec: fix demuxing of small framesJames Almer2019-05-051-13/+21
| | | | | | | | | | 10 bytes (id3v2 header amount of bytes) were being read before any checks were made on the bitstream. The result was that we were overreading into the next frame if the current one was 8 or 9 bytes long. Fixes tickets #7271 and #7869. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevcdec: Declare that VDPAU can handle HEVC 4:4:4 contentManojGuptaBonda2019-05-053-2/+10
| | | | | | The latest generation video decoder on the Turing chips supports decoding HEVC 4:4:4. This change adds AV_PIX_FMT_VDPAU as a valid format for HEVC 4:4:4 8 bit.
* avcodec/vdpau_hevc: Pass sps and pps range extension flags to VDPAUManojGuptaBonda2019-05-052-0/+44
| | | | | | | Pass SPS, PPS range extensions to VDPAU layer via VdpPictureInfoHEVC444. Added VdpPictureInfoHEVC444 struct to VdpPictureInfo union to populate the range extension params. Mapped FF_PROFILE_HEVC_REXT to VDP_DECODER_PROFILE_HEVC_MAIN_444.
* avutil/hwcontext_vdpau: Map 444 pix fmts to new VdpYCbCr typesManojGuptaBonda2019-05-052-5/+15
| | | | | | | | | | New VdpYCbCr Formats VDP_YCBCR_FORMAT_Y_U_V_444 and, VDP_YCBCR_FORMAT_Y_UV_444 have been added in VDPAU with libvdpau-1.2 to be used in get/putbits for YUV 4:4:4 surfaces. Earlier mapping of AV_PIX_FMT_YUV444P to VDP_YCBCR_FORMAT_YV12 is not valid. Hence this Change maps AV_PIX_FMT_YUV444P to VDP_YCBCR_FORMAT_Y_U_V_444 to access the YUV 4:4:4 surface via read-back API's of VDPAU.
* lavf/rpl: Don't be case-sensitive detecting codecs.Carl Eugen Hoyos2019-05-051-2/+2
| | | | | Fixes ticket #7859 Reported and tested by Steffen Ohrendorf, steffen d ohrendorf a gmx d de
* avfilter/vf_freezedetect: fix missing freeze_start when the freeze length is ↵Marton Balint2019-05-051-4/+3
| | | | | | | | around the detection duration Fixes ticket #7875. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink: fix checking video mode in SDK version 11Marton Balint2019-05-052-13/+10
| | | | | | | | | Apparently in the new SDK one cannot query if VANC output is supported, so we will fall back to non-VANC output if enabling the video output with VANC fails. Fixes ticket #7867. Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/f_interleave: switch to activatePaul B Mahol2019-05-051-74/+63
|
* avcodec/truehd_core: reset state when flushingJames Almer2019-05-051-0/+7
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_vibrance: add alternate optionPaul B Mahol2019-05-052-6/+14
|
* avfilter/vf_vibrance: factor some calculations out of loopPaul B Mahol2019-05-051-12/+20
|
* avcodec/h263dec: Fixed VA API, VDPAU, and VideoToolbox hardware acceleration ↵fumoboy0072019-05-051-12/+15
| | | | | | due to missing `hw_configs` property. Bug originally introduced in commit 758fbc54fef2f31957b5c5f22e05e5fd9b04f631.
* configure: Do not overwrite src symlink if it already exists.Carl Eugen Hoyos2019-05-051-1/+3
| | | | Allows running fate from out-of-tree builds on wsl.
* avcodec/jvdec: Use ff_get_buffer() when the content is not reusedMichael Niedermayer2019-05-041-2/+8
| | | | | | | | | Fixes: Timeout (11sec -> 5sec) Fixes: 14473/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JV_fuzzer-5761630857592832 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pnm_parser: clear state if buffer is discardedMichael Niedermayer2019-05-041-0/+1
| | | | | | | | | Fixes: Assertion failure Fixes: 14484/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGMYUV_fuzzer-5150016408125440 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/f_realtime: add option to scale speedMoritz Barsnick2019-05-042-2/+13
|
* avfilter/af_amultiply: use pts from frame from first inputPaul B Mahol2019-05-041-7/+5
|
* avfilter/vf_vmafmotion: remove unused headerPaul B Mahol2019-05-041-1/+0
|
* avisynth: adapt 239d02eff3ffe9f7d40caa21dde50fb4a0e94c24 to dlsymStephen Hutchinson2019-05-041-1/+2
| | | | | | | | This commit was merged in a couple years ago as a no-op because we had already switched from GetProcAddress to dlsym some time before that. However, not applying the actual cast causes warnings about FARPROC and when attempting to build FFmpeg in MSVC with AviSynth-GCC 32-bit compatibility, those FARPROC warnings turn into FARPROC errors.
* doc/general.texi: add note about 32-bit GCC builds of AviSynth+Stephen Hutchinson2019-05-041-0/+15
|
OpenPOWER on IntegriCloud