summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/hlsenc: fix memleak at hls_write_trailerSteven Liu2019-09-121-0/+1
| | | | | Found-by: Andreas Rheinhardt <[email protected]> Signed-off-by: Steven Liu <[email protected]>
* avformat/hlsenc: print warning at the end when upload the last segment failedSteven Liu2019-09-121-0/+2
| | | | Signed-off-by: Steven Liu <[email protected]>
* avformat/hlsenc: merge fmp4 and mpegts segment type m3u8 list AVIOConextSteven Liu2019-09-121-11/+11
| | | | | | | hlsenc has been merge fmp4 and mpegts workflow before so it can merge m3u8 list AVIOContext now. Signed-off-by: Steven Liu <[email protected]>
* x85/opusdsp: enable the functions on all FMA3 CPUsJames Almer2019-09-111-1/+1
| | | | | | | It's not using ymm registers, so limiting it to CPUs with fast AVX is not necessary. Signed-off-by: James Almer <[email protected]>
* x86/opusdps: clear the high bits from some gprsJames Almer2019-09-111-3/+4
| | | | | | | Fixes checkasm on systems like win64. Reviewed-by: Lynne Signed-off-by: James Almer <[email protected]>
* avcodec/htmlsubtitles: Avoid locale dependant isdigit()Michael Niedermayer2019-09-111-1/+1
| | | | Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mpeg12enc: Add FF_CODEC_CAP_INIT_CLEANUPMichael Niedermayer2019-09-111-0/+2
| | | | | | | | Fixes: Multiple memleaks Fixes: ffmpeg-memory-leak Found-by: Francis Provencher <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/alsdec: Check k from being outside what our implementation can handleMichael Niedermayer2019-09-111-0/+3
| | | | | | | | | | | The specification does not seem to list what the maximum valid value is Fixes: shift exponent 32 is too large for 32-bit type 'unsigned int' Fixes: 16268/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ALS_fuzzer-5638164544225280 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/takdec: Fix integer overflow in decorrelate()Michael Niedermayer2019-09-111-1/+1
| | | | | | | | Fixes: signed integer overflow: -2424832 - 2145653689 cannot be represented in type 'int' Fixes: 16138/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TAK_fuzzer-5643451346976768 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/aacps: Fix integer overflows in hybrid_synthesis()Michael Niedermayer2019-09-111-18/+18
| | | | | | | | Fixes: signed integer overflow: -822667928 + -1399761199 cannot be represented in type 'int' Fixes: 15756/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_FIXED_fuzzer-5645182051024896 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/mpeg4videodec: Fix integer overflow in mpeg4_decode_studio_block()Michael Niedermayer2019-09-111-1/+2
| | | | | | | | | Fixes: signed integer overflow: 24023040 * 112 cannot be represented in type 'int' Fixes: 16570/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5173275211071488 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Kieran Kunhya <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/vp56rac: delay signaling an error on truncated inputMichael Niedermayer2019-09-113-2/+6
| | | | | | | | | | | | | | | | | | A threshold of 1 is sufficient for simple_dump_cut.webm, 10 is used just to be sure the next truncated file doesnt cause the same issue Obvious alternative fixes are to simply accept that the file is broken or to write some advanced error concealment or to simply accept that the decoder wont stop at the end of input. Fixes: Ticket 8069 (artifacts not the differing md5 which was there before 1afd246960202917e244c844c534e9c1e3c323f5) Fixes: simple_dump_cut.webm Fixes: regression of 1afd246960202917e244c844c534e9c1e3c323f5 fate-vp5 changes because the last frame is truncated and now handled differently. Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/v4l2_context: set frame SAR using VIDIOC_CROPCAPMaxime Jourdan2019-09-113-1/+23
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_buffers: use correct timebase for encoder/decoderAman Gupta2019-09-111-6/+12
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m_dec: fix compileAman Gupta2019-09-111-0/+1
| | | | | | internal.h header required for FF_CODEC_CAP_SETS_PKT_DTS Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m_dec: fix dropped packets while decodingMaxime Jourdan2019-09-112-5/+17
| | | | | | | | | | * FFmpeg retrieves a packet from the bitstream * It attempts to get an input buffer (from its own list or by dequeuing one from the driver) * If no input buffer is found, the bitstream packet is dropped instead of scheduled for trying again later It's an issue that showed especially at high speeds (like using `-f null -` as output parameters). Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_context: expose timeout for dequeue_frameAman Gupta2019-09-113-5/+6
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m_dec: set pkt_dts on decoded frames to NOPTSAman Gupta2019-09-112-0/+2
| | | | | | | | | Without this ffmpeg will attempt to copy the dts from the most recently enqueued packet into the most recently dequeued frame, which does not account for the buffering inside v4l2 and is not accurate. Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_buffers: read height/width from the proper contextAman Gupta2019-09-111-3/+2
| | | | | | | | | | | | | Frames are generally dequeued into capture buffers, so using the output properties here was incorrect. It happened to work fine for decoding, since the output/capture buffers have the same dimensions. For the v4l2 scaler, the dimensions can be different between output and capture. Using the buffer's associated context makes this code work correctly regardless of where the frame is coming from. Signed-off-by: Aman Gupta <[email protected]>
* avfilter/vf_v360: remove pointless special case when allocating stuffPaul B Mahol2019-09-111-10/+1
|
* avfilter/vf_v360: refactor FoV calculation for stereographicPaul B Mahol2019-09-111-6/+23
| | | | Move in out of loop.
* avcodec/h2645_parse: simplify memset callAndriy Gelman2019-09-111-2/+1
| | | | | | | Removed (new_size - pkt->nals_allocated) because this value is always 1 during the call. Signed-off-by: James Almer <[email protected]>
* avfilter/vf_v360: extend max limit to vertical fovPaul B Mahol2019-09-111-1/+1
|
* avfilter/vf_v360: really fix FoV selectionPaul B Mahol2019-09-111-2/+5
| | | | Big thanks to Michael Koch for providing actual formula.
* lavfi/sinc: fix memory leak in error handling pathJun Zhao2019-09-111-1/+4
| | | | | | | free work&pi_wraps in error handling path to avoid memory leak. Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Jun Zhao <[email protected]>
* lavfi/anequalizer: fix memory leak in error handling pathJun Zhao2019-09-111-1/+3
| | | | | | | free the pad.name in error handling path to avoid memory leak. Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Jun Zhao <[email protected]>
* checkasm: add opusdsp testsLynne2019-09-115-0/+109
|
* opusdsp: adjust and optimize C function to match assemblyLynne2019-09-112-9/+8
| | | | | | | | | | | | | | | | | | | | | The C and asm versions behaved differently _outside_ of the codec. The C version returned pre-multiplied 'state' for the next execution to use right away, while the assembly version outputted non-multiplied 'state' for the next execution to multiply to save instructions. Since the initial state when initialized or seeking is always 0, and since C and asm versions were never mixed, there was no issue. However, comparing outputs directly in checkasm doesn't work without dividing the initial state by CELT_EMPH_COEFF and multiplying the returned state by CELT_EMPH_COEFF for the assembly function. Since its actually faster to do this in C as well, copy the behavior the asm versions use. As a reminder, the initial state 0 is divided by CELT_EMPH_COEFF on seek and init (just in case in the future this is changed, its technically more correct to init with CELT_EMPH_COEFF than 0, however when seeking this will result in more audiable pops, unlike with 0 where the output gets in sync over a few samples).
* avcodec/v4l2_buffers: split out v4l2_buf_increase_ref helperLukas Rusak2019-09-101-13/+23
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_buffers: split out V4L2Buffer generation into helper methodAman Gupta2019-09-101-9/+14
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_buffers: split out AVFrame generation into helper methodAman Gupta2019-09-101-31/+45
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_buffers: teach ff_v4l2_buffer_avframe_to_buf about contiguous ↵Aman Gupta2019-09-101-8/+53
| | | | | | | | planar formats This fixes h264_v4l2m2m encoding on the Raspberry Pi Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m_enc: fix indentation and add M2MENC_CLASS macroAman Gupta2019-09-101-21/+23
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m_dec: fix indentation and add M2MDEC_CLASS macroLukas Rusak2019-09-101-22/+23
| | | | | | | This just makes the M2MDEC_CLASS similar to how it is done in rkmpp. It looks clean and has proper indentation Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m: decouple v4l2_m2m helpers from AVCodecContextAman Gupta2019-09-105-44/+60
| | | | | | This will allow re-use of the m2m backend with AVFilterContext Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_buffers: Add handling for NV21 and YUV420PDave Stevenson2019-09-101-0/+9
| | | | | | | The single planar support was for NV12 only. Add NV21 and YUV420P support. Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m: fix av_pix_fmt changing when multiple /dev/video* devices ↵Aman Gupta2019-09-103-8/+9
| | | | | | | | | | | | are probed On the RPI, three different /dev/video devices exist (decoder, scaler, encoder). When probing the devices in order, the originally requested pix fmt would be mutated causing the wrong one to be chosen when a matching device was finally found. Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m: disable info logging during device probeAman Gupta2019-09-101-6/+7
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avcodec/v4l2_m2m_enc: add support for -force_key_framesAman Gupta2019-09-101-0/+3
| | | | Signed-off-by: Aman Gupta <[email protected]>
* avfilter/vf_v360: remove w/h changing for flat outputPaul B Mahol2019-09-111-1/+1
| | | | Fixes crashes with bigger h/v fov.
* avfilter/vf_v360: increase h_fov max limitPaul B Mahol2019-09-111-1/+1
|
* avfilter/vf_v360: fix fov calculation for stereographic outputPaul B Mahol2019-09-111-2/+2
|
* avcodec/mediacodec_surface: define and use FFANativeWindow to mimic NDK ↵Aman Gupta2019-09-102-5/+8
| | | | | | | | | interface This will make it easy to switch to ANativeWindow_fromSurface and ANativeWindow_release in the future. Signed-off-by: Aman Gupta <[email protected]>
* avcodec/mediacodecdec: warn when input buffers are not configured with ↵Aman Gupta2019-09-101-1/+6
| | | | | | | | | | | | | | | | proper size In rare circumstances, if the codec is not configured with the proper parameters the input buffers can be allocated with a size that's too small to hold an individual packet. Since MediaCodec expects exactly one incoming buffer with a given PTS, it is not valid to split data for a given PTS across two input buffers. See https://developer.android.com/reference/android/media/MediaCodec#data-processing: > Do not submit multiple input buffers with the same timestamp Signed-off-by: Aman Gupta <[email protected]>
* doc/filters: extend flip options in v360 filterPaul B Mahol2019-09-101-1/+1
|
* avfilter/vf_v360: increase v_fov max limitPaul B Mahol2019-09-101-1/+1
|
* avfilter/vf_v360: add support for stereographic as input projectionPaul B Mahol2019-09-102-1/+46
|
* avcodec/pnm_parser: Use memchr() in pnm_parse()Michael Niedermayer2019-09-101-2/+5
| | | | | | | | | Fixes: Timeout (45sec -> 0.5sec) Fixes: 16942/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PPM_fuzzer-5085393073995776 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avfilter/vf_fps: Avoid inlink fifo build up.Nikolas Bowe2019-09-101-1/+1
| | | | | | | When duplicating frames we need to schedule for activation again, otherwise frames can build up in the inlink fifo. Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* avcodec/webp: fix decoding for trailing junkPascal Massimino2019-09-101-2/+5
| | | | | | | | | | | | | some bitstream have trailing junk, despite being valid webp data. In case of apparent error, abort the loop and let *got_frame decide whether this is an error or not. fixes trac #8107 (/#7612) Another possibility would be turning the loop into: while (!*got_frame) {...} Signed-off-by: Michael Niedermayer <[email protected]>