Updated to 108.0

This commit is contained in:
Martin Stransky 2022-12-07 08:18:22 +01:00
parent df84cc2cb6
commit 5acb5af57f
5 changed files with 12 additions and 91 deletions

2
.gitignore vendored
View File

@ -546,3 +546,5 @@ firefox-3.6.4.source.tar.bz2
/firefox-107.0.source.tar.xz
/firefox-107.0.1.source.tar.xz
/firefox-langpacks-107.0.1-20221206.tar.xz
/firefox-108.0.source.tar.xz
/firefox-langpacks-108.0-20221206.tar.xz

View File

@ -1,79 +0,0 @@
diff --git a/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h b/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
--- a/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
+++ b/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.h
@@ -173,10 +173,11 @@
PtsCorrectionContext mPtsContext;
DurationMap mDurationMap;
const bool mLowLatency;
+ AVDiscard mFrameDrop = AVDISCARD_DEFAULT;
// True if we're allocating shmem for ffmpeg decode buffer.
Maybe<Atomic<bool>> mIsUsingShmemBufferForDecode;
#if LIBAVCODEC_VERSION_MAJOR >= 57 && LIBAVUTIL_VERSION_MAJOR >= 56
diff --git a/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp b/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
--- a/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
+++ b/dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
@@ -829,10 +829,17 @@
packet.dts = aSample->mTimecode.ToMicroseconds();
packet.pts = aSample->mTime.ToMicroseconds();
packet.flags = aSample->mKeyframe ? AV_PKT_FLAG_KEY : 0;
packet.pos = aSample->mOffset;
+ mCodecContext->skip_frame = mFrameDrop;
+#if MOZ_LOGGING
+ if (mFrameDrop == AVDISCARD_NONREF) {
+ FFMPEG_LOG("Frame skip AVDISCARD_NONREF");
+ }
+#endif
+
#if LIBAVCODEC_VERSION_MAJOR >= 58
packet.duration = aSample->mDuration.ToMicroseconds();
int res = mLib->avcodec_send_packet(mCodecContext, &packet);
if (res < 0) {
// In theory, avcodec_send_packet could sent -EAGAIN should its internal
@@ -881,10 +888,22 @@
return MediaResult(
NS_ERROR_DOM_MEDIA_DECODE_ERR,
RESULT_DETAIL("avcodec_receive_frame error: %s", errStr));
}
+ if (mFrameDrop == AVDISCARD_NONREF) {
+ FFMPEG_LOG("Requested pts %" PRId64 " decoded frame pts %" PRId64,
+ packet.pts, GetFramePts(mFrame) + mFrame->pkt_duration);
+ // Switch back to default frame skip policy if we hit correct
+ // decode times. 5 ms treshold is taken from mpv project which
+ // use similar approach after seek (feed_packet() at f_decoder_wrapper.c).
+ if (packet.pts - 5000 <= GetFramePts(mFrame) + mFrame->pkt_duration) {
+ FFMPEG_LOG("Set frame drop to AVDISCARD_DEFAULT.");
+ mFrameDrop = AVDISCARD_DEFAULT;
+ }
+ }
+
UpdateDecodeTimes(decodeStart);
decodeStart = TimeStamp::Now();
MediaResult rv;
# ifdef MOZ_WAYLAND_USE_VAAPI
@@ -1211,13 +1230,18 @@
}
#endif
RefPtr<MediaDataDecoder::FlushPromise>
FFmpegVideoDecoder<LIBAV_VER>::ProcessFlush() {
+ FFMPEG_LOG("ProcessFlush()");
MOZ_ASSERT(mTaskQueue->IsOnCurrentThread());
mPtsContext.Reset();
mDurationMap.Clear();
+ // Discard non-ref frames on HW accelerated backend to avoid decode artifacts.
+ if (IsHardwareAccelerated()) {
+ mFrameDrop = AVDISCARD_NONREF;
+ }
return FFmpegDataDecoder::ProcessFlush();
}
AVCodecID FFmpegVideoDecoder<LIBAV_VER>::GetCodecId(
const nsACString& aMimeType) {

View File

@ -5,6 +5,7 @@ ac_add_options --disable-strip
#ac_add_options --enable-libnotify
ac_add_options --enable-necko-wifi
ac_add_options --disable-updater
ac_add_options --disable-elfhack
ac_add_options --enable-chrome-format=omni
ac_add_options --enable-pulseaudio
ac_add_options --enable-av1

View File

@ -73,7 +73,6 @@ ExcludeArch: i686
%global system_libvpx 0
%endif
%global system_jpeg 1
%global disable_elfhack 1
%global use_bundled_cbindgen 1
%if %{debug_build}
%global release_build 0
@ -171,7 +170,7 @@ ExcludeArch: i686
Summary: Mozilla Firefox Web browser
Name: firefox
Version: 107.0.1
Version: 108.0
Release: 1%{?pre_tag}%{?dist}
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
@ -214,7 +213,7 @@ Patch35: build-ppc-jit.patch
# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
Patch38: build-cacheFlush-missing.patch
Patch40: build-aarch64-skia.patch
Patch41: build-disable-elfhack.patch
#Patch41: build-disable-elfhack.patch
Patch44: build-arm-libopus.patch
Patch46: firefox-nss-version.patch
Patch47: fedora-shebang-build.patch
@ -251,7 +250,6 @@ Patch402: mozilla-1196777.patch
Patch407: mozilla-1667096.patch
Patch408: mozilla-1663844.patch
Patch415: mozilla-1670333.patch
Patch416: D161724.diff
# PGO/LTO patches
Patch600: pgo.patch
@ -496,9 +494,6 @@ This package contains results of tests executed during build.
# ignored during this compare.
%patch40 -p1 -b .aarch64-skia
%if 0%{?disable_elfhack}
%patch41 -p1 -b .disable-elfhack
%endif
%patch3 -p1 -b .arm
%patch44 -p1 -b .build-arm-libopus
%patch47 -p1 -b .fedora-shebang
@ -506,7 +501,7 @@ This package contains results of tests executed during build.
%patch53 -p1 -b .firefox-gcc-build
%patch54 -p1 -b .1669639
%patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
%patch77 -p1 -b .build-python-3.11
#%patch77 -p1 -b .build-python-3.11
%patch78 -p1 -b .firefox-i686
# Test patches
@ -530,7 +525,6 @@ This package contains results of tests executed during build.
%patch407 -p1 -b .1667096
%patch408 -p1 -b .1663844
%patch415 -p1 -b .1670333
%patch416 -p1 -b .D161724
# PGO patches
%if %{build_with_pgo}
@ -1133,6 +1127,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
#---------------------------------------------------------------------
%changelog
* Tue Dec 6 2022 Martin Stransky <stransky@redhat.com>- 108.0-1
- Update to 108.0
* Tue Dec 6 2022 Martin Stransky <stransky@redhat.com>- 107.0.1-1
- Update to 107.0.1

View File

@ -1,4 +1,4 @@
SHA512 (mochitest-python.tar.gz) = 18e1aeb475df5fbf1fe3838897d5ac2f3114aa349030713fc2be27af087b1b12f57642621b87bd052f324a7cb7fbae5f36b21502191d85692f62c8cdd69c8bf2
SHA512 (cbindgen-vendor.tar.xz) = 0d45c1decfd7aaee853748745c9f5a907c0c6a0cf809c2387aac1cdcf680b0844b1ef4d05148e0527de4ff6e4d4666110bea317bd00b7d73a1210eb58a815563
SHA512 (firefox-107.0.1.source.tar.xz) = e57e4bfcecbcc6dbe73f23577a14a2998c8c3f3d602f85ea06f99e0974e78481b9f7bdb019cb4e9733e59f56be1407edd64a2adb7b284bb4a87b46b1e2295dea
SHA512 (firefox-langpacks-107.0.1-20221206.tar.xz) = 5d10a60937734f589b18aa648a6e3c3c65d7992d62d6781f6508d66e993ddea6fe66af4b4c78862c748ecfcbda746b982a68e0c3aa2244014508281be2545998
SHA512 (firefox-108.0.source.tar.xz) = 773d390442c348de0d2c1f5dbebaccf24db1d9cc4eec3a47c419cdb4c8b03e1d9cd8eabb5c60941fdd7ab83e5b6702e5e803ba00beeee76e115a1fe7306362bc
SHA512 (firefox-langpacks-108.0-20221206.tar.xz) = 8d6f080e25c6d8bb391442014290e8b18f59efd6792f811ecd5327cce05ff58ec64fb8be7e0e91e6d4bb2576e5453243ea99b767df1989e7eb346853cc50483d
SHA512 (mochitest-python.tar.gz) = e0a2c569dafe013b6a4c073516388549a8f398d8aa4538a3bc69dcda44737a3a3cf070285e9fa040a15d7a62446665c6158d42a1b6dc3e8d7f4680bc2ef17a16