- 13 Nov, 2017 40 commits
-
-
Muhammad Faiz authored
Fix tsan warnings. Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
-
wm4 authored
This is a partial fix - to fix videotoolbox fully (with multithreaded hwaccel decoding), much more work would be required. Before this change, an assertion failure would trigger: $ ffmpeg -hwaccel videotoolbox -hwaccel_output_format videotoolbox_vld -i h264.ts -f null -y /dev/null Assertion (frame->private_ref && frame->private_ref->size == sizeof(FrameDecodeData)) || !(avctx->codec->capabilities & (1 << 1)) failed at libavcodec/decode.c:620 Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Cosmetic change only. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
This includes the SEI_PREFIX/SEI_SUFFIX NALUs, which can contain updates like HEVC_SEI_TYPE_ACTIVE_PARAMETER_SETS. Previously, hevc samples with this SEI present would not playback correctly. See for example https://github.com/lhc70000/iina/issues/1123Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Cosmetic change only. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Removes the avctx->extradata_size requirement when creating avcC/hvcC, since avctx->extradata is only used in the esds code path. This fixes an issue where the VideoToolbox decoder would not work unless avformat_find_stream_info() was called. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
This fixes decoding of H264 video samples with SPS and PPS changes. See for example https://s3.amazonaws.com/tmm1/videotoolbox/spschange.ts, which previously stalled the decoder and failed to produce any new frames after the SPS change. Also see https://s3.amazonaws.com/tmm1/videotoolbox/ppschange.ts, which uses multiple PPS and would previously cause VT decode failures. If the VideoToolbox session needs to be restarted, and videotoolbox_start() fails for some reason (for instance, if the video is interlaced and the decoder is running on iOS), avcodec will return AVERROR_EXTERNAL. This can be used by the API user to switch to another decoder. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
This callback will be used by the VideoToolbox H264 hwaccel so that it can receive SPS and PPS NALUs. VideoToolbox requires PPS changes to be fed into the decoder session, and for the session to be recreated when the SPS changes. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
The only reason videotoolbox wouldn't produce frames is if the data fed to it was invalid, so returning AVERROR_INVALIDDATA makes sense here. Further, it means AVERROR_EXTERNAL can be used in further commits to signal fatal VideoToolbox errors, letting the user know that they need to fallback to another decoder. Signed-off-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
This allows decode_slice to be invoked multiple times before end_frame, causing slices to accumulate before being fed into the VT decoder. An upcoming commit will re-use decode_slice for parameter NALUs, so they can be propagated into the VT decoder session along with slice data. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
These helpers will be used in later commits to automatically restart the decoder session when SPS changes are encountered. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Cosmetic change only. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Cosmetic change only. Signed-off-by: Aman Gupta <aman@tmm1.net>
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Rodger Combs <rodger.combs@gmail.com>
-
Timo Rothenpieler authored
-
Timo Rothenpieler authored
-
Aman Gupta authored
multiple_requests=1 is also set. Without an EOF to signal the end of the last chunk, tls_read gets stuck forever trying to read more data than is available. This occurs with the http protocol reproducibly, because http.c always reads 4kb at a time, and the last chunk of an http response is often much smaller. After this commit, tls_read always returns any buffered plaintext first before attempting to read more encrypted data off the underlying tcp socket. Signed-off-by: Rodger Combs <rodger.combs@gmail.com>
-
Rodger Combs authored
Signed-off-by: Aman Gupta <aman at tmm1.net>
-
James Almer authored
It must imply clean. Regression since e0087a56. Signed-off-by: James Almer <jamrial@gmail.com>
-
Timo Rothenpieler authored
Fixes CID #1413023
-
Timo Rothenpieler authored
Fixes CID #1416352
-
Timo Rothenpieler authored
Fixes CID #1416961 and #1416962
-
Timo Rothenpieler authored
Fixes CID #1420396
-
Timo Rothenpieler authored
-
Timo Rothenpieler authored
-
Timo Rothenpieler authored
-
Aman Gupta authored
Signed-off-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
-
Aman Gupta authored
Reviewed-by: Rick Kern <kernrj@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Fixes: runtime error: signed integer overflow: 1939661764 - -454942263 cannot be represented in type 'int' Fixes: 3191/clusterfuzz-testcase-minimized-5688798451073024 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Fixes: runtime error: left shift of negative value -801112064 Fixes: 3492/clusterfuzz-testcase-minimized-5784775283441664 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Fixes: runtime error: signed integer overflow: 1219998458 - -1469874012 cannot be represented in type 'int' Fixes: 3443/clusterfuzz-testcase-minimized-5369987105554432 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Fixes: 3984/clusterfuzz-testcase-minimized-5265759929368576 Fixes: runtime error: signed integer overflow: -1085585801 + -1094995529 cannot be represented in type 'int' Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegSigned-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Thomas Köppe authored
Variables used in inline assembly need to be marked with attribute((used)). Static constants already were, via the define of DECLARE_ASM_CONST. But DECLARE_ALIGNED does not add this attribute, and some of the variables defined with it are const only used in inline assembly, and therefore appeared dead. This change adds a macro DECLARE_ASM_ALIGNED that marks variables as used. This change makes FFMPEG work with Clang's ThinLTO. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Michael Niedermayer authored
Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Steven Liu authored
fix ticket id: #1452 when use frame_pts option, the output image name can be set with PTS of current frame. Signed-off-by: Steven Liu <lq@onvideo.cn>
-