Repository navigation
Bug 2081651 - Update the ffmpeg58 version.h headers to FFmpeg 4.4.1. - #390
Closed
WhisperinCheetah wants to merge 1 commit into
Closed
WhisperinCheetah wants to merge 1 commit into
WhisperinCheetah wants to merge 1 commit into
Conversation
Bug 1745284 updated the bundled ffmpeg58 libavcodec headers to 4.4.1 but left libavcodec/version.h and libavutil/version.h at 4.0. Those do not define FF_API_OLD_ENCDEC, FF_API_THREAD_SAFE_CALLBACKS, FF_API_DEBUG_MV or FF_API_BUFFER_SIZE_T, so Firefox's build of AVCodecContext lacks fields a system libavcodec 58 has, and qcompress through rc_override_count sit 4 bytes early (qmin at 472 instead of 476). The encoder's qmin=10/qmax=35 reach libx264 as qmin=35 and no qmax, so WebCodecs H.264 ignores the requested bitrate. AVPacketSideData.size is also size_t instead of int. With the 4.4.1 version.h files, AVCodecContext, AVCodec, AVPacket, AVPacketSideData, AVCodecParameters, AVFrame, AVFrameSideData, AVCodecHWConfig and AVHWFramesContext match FFmpeg 4.4's layouts exactly. This also defines FF_API_THREAD_SAFE_CALLBACKS, so FFmpegVideoDecoder now sets thread_safe_callbacks = 1 with libavcodec 58, as it already does with libavcodec 59.
No Taskcluster jobs started for this pull requestThe |
Contributor
|
(Automated Close) Please do not file pull requests here, see https://firefox-source-docs.mozilla.org/contributing/how_to_submit_a_patch.html |
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Bug 1745284 updated the bundled ffmpeg58 libavcodec headers to 4.4.1 but
left libavcodec/version.h and libavutil/version.h at 4.0. Those do not
define FF_API_OLD_ENCDEC, FF_API_THREAD_SAFE_CALLBACKS, FF_API_DEBUG_MV or
FF_API_BUFFER_SIZE_T, so Firefox's build of AVCodecContext lacks fields a
system libavcodec 58 has, and qcompress through rc_override_count sit 4
bytes early (qmin at 472 instead of 476). The encoder's qmin=10/qmax=35
reach libx264 as qmin=35 and no qmax, so WebCodecs H.264 ignores the
requested bitrate. AVPacketSideData.size is also size_t instead of int.
With the 4.4.1 version.h files, AVCodecContext, AVCodec, AVPacket,
AVPacketSideData, AVCodecParameters, AVFrame, AVFrameSideData,
AVCodecHWConfig and AVHWFramesContext match FFmpeg 4.4's layouts exactly.
This also defines FF_API_THREAD_SAFE_CALLBACKS, so FFmpegVideoDecoder now
sets thread_safe_callbacks = 1 with libavcodec 58, as it already does
with libavcodec 59.
Lando: link
Bugzilla: bug 2081651
🚫 This pull request has 2 blockers.