forked from FFmpeg/FFmpeg
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ffmpeg-gl-transition from ffmpeg/4.2 #4
Open
RPing
wants to merge
154
commits into
release/4.2
Choose a base branch
from
ffmpeg-gl-transition-ffmpeg/4.2
base: release/4.2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Michael Niedermayer <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
Fixes ticket #7521 Signed-off-by: James Almer <[email protected]> (cherry picked from commit 8096f52)
Signed-off-by: James Almer <[email protected]> (cherry picked from commit 1052578)
I'm writing a cuda implementation of yadif, and while this obviously has a very different implementation of the actual filtering, all the frame management is unchanged. To avoid duplicating that logic, let's make it shareable. From the perspective of the existing filter, the only real change is introducing a function pointer for the filter() function so it can be specified for the specific filter. (cherry picked from commit 598f0f3)
This is a cuda implementation of yadif, which gives us a way to do deinterlacing when using the nvdec hwaccel. In that scenario we don't have access to the nvidia deinterlacer. (cherry picked from commit d5272e9)
With the cuda yadif filter in use, the number of mapped decoder frames could increase by two, as the filter holds on to additional frames. (cherry picked from commit 1b41115)
This requires a newer version of CUDA than we want to require. (cherry picked from commit 8e50215)
Fixes: Infinite loop Fixes: 10685/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5652236881887232 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]> (cherry picked from commit 9acdf17) Signed-off-by: Michael Niedermayer <[email protected]>
Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 506839a) Signed-off-by: Michael Niedermayer <[email protected]>
Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 1dfa0b6) Signed-off-by: Michael Niedermayer <[email protected]>
…ss() Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 66425ad) Signed-off-by: Michael Niedermayer <[email protected]>
…supported mp3adu case Fixes: Timeout Fixes: 10966/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MP3ADU_fuzzer-5348695024336896 Fixes: 10969/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MP3ADUFLOAT_fuzzer-5691669402877952 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit df91af1) Signed-off-by: Michael Niedermayer <[email protected]>
…eader() partitioned_frame is also set/cleared in decode_vop_header() Fixes: out of array read Fixes: 9789/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5638681627983872 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 074187d) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes: Timeout Fixes: 10702/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CAVS_fuzzer-5669940938407936 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit c1cee05) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes ticket #7481. Signed-off-by: Marton Balint <[email protected]> (cherry picked from commit 8e5a249)
…r OBUs if needed Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 2d2af23)
(cherry picked from commit 3442918)
buffer_delay_length_minus_1 is five bits long, meaning decode_buffer_delay and encoder_buffer_delay can have values up to 32 bits long. Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 89a0d33)
(cherry picked from commit a4fb2b1)
(cherry picked from commit e9d2e3f)
(cherry picked from commit 6bdb771)
(cherry picked from commit f589417)
After inspecting the source code of x265, mpv and ffmpeg, I've found that ffmpeg mistakenly regards EVC_NAL_BLA_N_LP and HEVC_NAL_IDR_N_LP as non- reference frames, which are acutally reference frames according to the specification in x265, and drops them. This patch should address the problem. I have tested it with mpv. Signed-off-by: Mark Wu <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 10bc4c3)
Fixes #7538. (cherry picked from commit 2ce3a48)
…ue fields The valid range is -255 to 255. Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 79831f4)
Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit f0f2832)
Signed-off-by: Marton Balint <[email protected]> (cherry picked from commit aecd63b)
Fixes ticket #7494. Signed-off-by: Marton Balint <[email protected]> (cherry picked from commit e3a9630)
Signed-off-by: Guo, Yejun <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 402bf26) Signed-off-by: Michael Niedermayer <[email protected]>
Signed-off-by: Guo, Yejun <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit d9b2668) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes: Division by 0 Fixes: ffmpeg_zero_division.bin Found-by: Anatoly Trosinenko <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 3838140) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes: Timeout (17 sec -> 65 milli sec) Fixes: 13264/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CDGRAPHICS_fuzzer-5711167941509120 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 9a9f0e2) Signed-off-by: Michael Niedermayer <[email protected]>
Reference: ETSI EN 300 743 V1.2.1 7.2.2 Region composition segment Fixes: Timeout Fixes: 13325/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DVBSUB_fuzzer-5143979392237568 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit a8c5ae4) Signed-off-by: Michael Niedermayer <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
…n the picture Fixes deadlocks when decoding packets containing more than one of the aforementioned slices when using frame threads. Tested-by: Derek Buitenhuis <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 70c8c8a)
Fixes: Timeout (19sec -> 419msec) Fixes: 13411/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CLEARVIDEO_fuzzer-5733153811988480 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 41f93f9) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes: Timeout (11sec -> 3sec) Fixes: 13218/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DFA_fuzzer-5661074316066816 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit f20760f) Signed-off-by: Michael Niedermayer <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
…parsing fails The first frame contains the sequence header, which is needed to parse every following frame. This fixes parsing streams with broken extradata but correct packet data. Signed-off-by: James Almer <[email protected]> (cherry picked from commit 699d0c2)
…me Metadata OBUs Signed-off-by: James Almer <[email protected]> (cherry picked from commit 40490b3)
Fixes: signed integer overflow: 1111638592 - -2122219136 cannot be represented in type 'int' Fixes: 13441/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TRUEMOTION2_fuzzer-5732769815068672 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 1223696) Signed-off-by: Michael Niedermayer <[email protected]>
…ad_trun() No testcase Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit ff13a92) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes: OOM Fixes: 13710/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-5633152942342144 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 635067b) Signed-off-by: Michael Niedermayer <[email protected]>
Found by Mingi Cho, Seoyoung Kim, and Taekyoung Kwon of the Information Security Lab, Yonsei University. (cherry picked from commit 1e34014) Signed-off-by: Michael Niedermayer <[email protected]>
Fixes: NULL pointer dereference and out of array access Fixes: 13871/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5746167087890432 Fixes: 13845/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5650370728034304 This also fixes the return code for explode mode Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: James Almer <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 5465562) Signed-off-by: Michael Niedermayer <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
This makes sure the data is available when writing the moov atom during the second pass triggered by the faststart movflag. Fixes ticket #7780 Signed-off-by: James Almer <[email protected]> (cherry picked from commit 27c94c5)
Fixes: Out of array access Fixes: 13984/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RSCC_fuzzer-5734128093233152 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]> (cherry picked from commit 3a0ec15) Signed-off-by: Michael Niedermayer <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
Reviewed-by: Mark Thompson <[email protected]> Signed-off-by: James Almer <[email protected]> (cherry picked from commit 461303f)
Otherwise, AV1 encodes with FFmpeg trigger use-of-uninitialized-value warnings under MemorySanitizer, and the output buffer potentially changes from run to run. Signed-off-by: James Almer <[email protected]> (cherry picked from commit bb5efd1)
Signed-off-by: James Almer <[email protected]> (cherry picked from commit 1ec777d)
There are 2 types of problems when using adaptive deinterlace with cuvid: 1. Sometimes, in the middle of transcoding, cuvid outputs frames with visible horizontal lines (as though weave deinterlace method was chosen); 2. Occasionally, on scene changes, cuvid outputs a wrong frame, which should have been shown several seconds before (as if the frame was assigned some wrong PTS value). The reason is that sometimes CUVIDPARSERDISPINFO has property progressive_frame equal to 1 with interlaced videos. In order to fix the problem we should check if the video is interlaced or progressive in the beginning of a video sequence (cuvid_handle_video_sequence). And then we just use this information instead of the property progressive_frame in CUVIDPARSERDISPINFO (which is unreliable). Signed-off-by: Timo Rothenpieler <[email protected]>
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 <[email protected]> (cherry picked from commit d88193c)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.