Open Bug 1793477 Opened 2 years ago Updated 3 months ago

AV1 Decoding in YouTube Stutters on AMD Windows Laptop

Categories

(Core :: Audio/Video, defect, P2)

Firefox 105
defect

Tracking

()

UNCONFIRMED

People

(Reporter: micromine2004, Assigned: alwu)

References

(Blocks 1 open bug)

Details

(Keywords: parity-edge, perf, regression)

Attachments

(4 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5026.0 Safari/537.36 Edg/103.0.1254.0

Steps to reproduce:

  1. On a Windows 11 machine with an AMD GPU, make sure AV1 and hardware acceleration are enabled in Firefox and AMD driver 22.5.1 is installed.
  2. Go to an 8K YouTube video and force it to play 8K
  3. Stats for nerds will show that it is using the AV1 codec and also dropping a ton of frames.

Actual results:

The playback of AV1 video on YouTube, especially at 8K, has so much stuttering and dropped frames, that it becomes unplayable at 8K and very unpleasant at 4K.

Expected results:

The video should use the AMD GPU in my 2022 Asus Zephyrus G14 to flawlessly play back any AV1 video in any resolution. I have tested playback in the latest version of Microsoft Edge and the videos look great, even at 8K.

Hello,

Are you still able to reproduce this issue?

We would like to attempt to regress it, but we are unable due to hardware/software incompatibility. Unfortunately we do not have a Win11 with AMD GPU.
I have to ask you to help us by regressing it yourself, using a tool called mozregression. (https://mozilla.github.io/mozregression/)
Can you do that? I will write you a number of steps to take in order to do it correctly:

install mozregression:
a. Download this executable:
https://github.com/mozilla/mozregression/releases/download/5.0.0/mozregression-gui.exe
b. Install the app.

You have to determine a build that reproduces the issue. You have already done that: Firefox 103.0 (64-bit), right? You can retest it anytime.
Then you should find one that does NOT reproduce it. Detailed steps:

a. Open Mozregression app;
b. Click "File" -> "Run a single build";
c. On the "Single Run Wizard" pop-up, "Basic configuration" page, change parameter "Build type" from "shippable" to "opt" and click "Next".
d. On the "Profile selection" page, just click the "Next" button.
e. On the "Build selection" page, change the "date" parameter to "release" by it's drop-down.
f. Then select a release number (numbers lower than 68 until you find one that does not reproduce the issue) on the from the drop-down on the left and click "Finish".
g. Now the mozregression app will open a firefox build of the selected release number and you can use it, close it and open another. (make a note of the version that does not reproduce the issue)
You will use mozregression app to "bisect" builds that reproduce the issue by builds that do not reproduce it in search of the one build/changeset that introduced the issue, in the first place:
a. Open mozregression-gui.exe
b. Click "File" -> "Run a new bisection"
c. On "Basic configuration" screen, select Build Type: "opt" and click "Next" button.
d. Skip "Profile selection" screen by the "Next" button.
e. On the Bisection wizard screen, you will need to select a build that reproduces the issue and one that does not:
e1. In the "Last known good build:" section, select "date" on the right drop-down and the date of the build you found NOT to reproduce the issue.
e2. In the "First known bad build:" section, select "date" on the right drop-down and the date of the build you found to reproduce the issue.
f. Click "Finish" to start the bisection process.
g. Builds will open one-by-one, you will need to test each one of them and see whether the issue reproduces. If it reproduces, then you need to select the "bad" button in the mozregression window and if not, you need to select the "good" button.
h. When bisection is done, you will have the information in the "Log View" section of the mozregression window; bisection may also fail due to not enough builds, but the logs can always be useful.

Copy the logs in a text file and attach it to this bug.

If there is still information you need regarding the regression process, please request information from me.
Thank you for your contribution!

Flags: needinfo?(micromine2004)
Component: Untriaged → Audio/Video
Product: Firefox → Core
Severity: -- → S3
Blocks: 4k-video

Here is the log from mozregression that you requested. I believe all of the versions that had smooth playback we're using CPU decoding for AV1, while all of the bad builds were using GPU decoding. I also noticed some small color artifacts on the bad builds. Let me know if you need any more info.

Flags: needinfo?(micromine2004)
Regressed by: 1758605

:Zaggy1024, since you are the author of the regressor, bug 1758605, could you take a look?

For more information, please visit auto_nag documentation.

Flags: needinfo?(Zaggy1024)
Keywords: regression

Looks like mozregression attributed this to the wrong bug, I'm changing this over to reference the bug# for implementation of AV1 decoding.

Unfortunately I don't have an AMD GPU to test this on, it would require an RDNA 2 GPU (Ryzen 6000+ or RX 6000+). My Nvidia GPU has no issues with 8K AV1 decoding.

Firefox is using the Windows Media Foundation decoder implementation rather than DirectX 11 decoding. There shouldn't need to be a significant performance difference with WMF, so this may be an issue on WMF's side. Chrome does have an implementation of the WMF decoder as well, but I believe that would require code changes to force its usage over DX11, but that would allow someone to determine if it's WMF's fault.

Flags: needinfo?(Zaggy1024)
No longer regressed by: 1758605
See Also: → 1652945

I am running Firefox on my desktop as well which has a 3060 ti. That card is able to decode AV1 in Firefox just fine. The issue is isolated to the AMD GPU in my laptop. One other thing I should note is that while the laptop does have an RX 6700S in it, I have it disabled while on battery, so all of the tests I did earlier with mozregression were on the 680M iGPU on the Ryzen 9 6900HS. I don't think it should make a difference since the 680M is still an RDNA2 GPU, but I thought I would make note of it. I don't have chrome installed on my laptop, but I do have the latest version of microsoft edge. Do you know how I can force WMF in edge, so I can see if the issue is with Firefox or WMF?

Flags: needinfo?(Zaggy1024)

(In reply to Brandon Karaca from comment #5)

Do you know how I can force WMF in edge, so I can see if the issue is with Firefox or WMF?

The only easy possibility I see is going to about:flags and setting MediaFoundation for Clear to Enabled. That switches to a Windows-provided video decoding and display pipeline that (ideally) should be equivalent to the WMF decoder.

As a note, I believe that same system is also being implemented into Firefox by :alwu in Bug 1752052, so if you set media.wmf.media-engine.*.enabled to true in about:config, that'll allow a direct comparison of that mode of playback.

Flags: needinfo?(Zaggy1024)

If that doesn't lay the blame on Microsoft, unfortunately there's not much I can do to help, since I don't have the hardware necessary. :(

(In reply to Zaggy1024 from comment #6)

(In reply to Brandon Karaca from comment #5)

Do you know how I can force WMF in edge, so I can see if the issue is with Firefox or WMF?

The only easy possibility I see is going to about:flags and setting MediaFoundation for Clear to Enabled. That switches to a Windows-provided video decoding and display pipeline that (ideally) should be equivalent to the WMF decoder.

As a note, I believe that same system is also being implemented into Firefox by :alwu in Bug 1752052, so if you set media.wmf.media-engine.*.enabled to true in about:config, that'll allow a direct comparison of that mode of playback.

I tested both edge and firefox with the WMF flags enabled, and got some interesting results. Edge still worked just fine with MediaFoundation for Clear enabled, and the performance in firefox actually greatly improved when enabling the wmf media engine flags. There is a bit of stutter/frame drop for a second after the video loads which doesn't really happen in edge. It also shows a blank green frame as the video loads in firefox, but after the first couple seconds 8K AV1 playback works as it should. I also checked task manager, and can confirm that hardware acceleration is working now as well. I think I am going to leave these flags enabled, and use it in this configuration from now on. It works well enough for me.

(In reply to Brandon Karaca from comment #8)

I think I am going to leave these flags enabled, and use it in this configuration from now on. It works well enough for me.

This was mainly as a test, so be aware that those changes are currently extremely untested, so you're kind of on the bleeding edge of something that may be crashy or buggy at the moment. I haven't even updated to be able to try daily driving it yet :^)

If you notice anything weird happening, you'll probably want to switch those flags back.

You should also grab a media profile with those flags off and the frames dropping so that a developer can take a look. I would imagine that the slow code will be the WMF decoder, but it's possible it'll turn out to be graphics-related or something.

Flags: needinfo?(micromine2004)

Here is a media profile I captured while playing an 8K AV1 video. The wmf media engine flags were off, so there was lots of stuttering and frame drops. I attached the file, but I will also paste the link here: https://share.firefox.dev/3CNd8Ba.

Flags: needinfo?(micromine2004)

Looks like some decoding calls are running for much longer than normal, often between 80ms~100ms. I can see a similar behavior when profiling with my Nvidia card, but it doesn't manage to drop nearly as many frames as you're probably seeing.

This may be related to some non-fatal COM errors that periodically show up when running the WMF AV1 decoder with 8K video, which on my machine coincided with some frames being slightly delayed. On my hardware, the frames were never dropping, though, since it looks like I only get up to ~30ms of delay on a frame. Anyone with hardware to test this could run with Visual Studio attached as a debugger and the COM errors should show up in the output like this:

Exception thrown at 0x00007FFD04CA428C in firefox.exe: Microsoft C++ exception: _com_error at memory location 0x000000BD6BEFE820.

The stack trace when the error occurs is as follows:

 	KernelBase.dll!00007ffd04ca428c()	Unknown
 	msvcrt.dll!00007ffd05b4b3b7()	Unknown
 	d3d11.dll!00007ffcfdd3b29e()	Unknown
 	d3d11.dll!00007ffcfdca603f()	Unknown
 	av1decodermft_store.dll!00007ffc92350ca1()	Unknown
 	av1decodermft_store.dll!00007ffc92340c72()	Unknown
 	av1decodermft_store.dll!00007ffc923d1ac2()	Unknown
 	av1decodermft_store.dll!00007ffc92389bed()	Unknown
 	av1decodermft_store.dll!00007ffc92380db1()	Unknown
 	av1decodermft_store.dll!00007ffc9237794e()	Unknown
 	av1decodermft_store.dll!00007ffc923776e4()	Unknown
 	av1decodermft_store.dll!00007ffc9234134a()	Unknown
 	av1decodermft_store.dll!00007ffc9233602f()	Unknown
 	av1decodermft_store.dll!00007ffc92334308()	Unknown
 	av1decodermft_store.dll!00007ffc923322b9()	Unknown
>	xul.dll!mozilla::MFTDecoder::Output(RefPtr<IMFSample> * aOutput) Line 334	C++
 	xul.dll!mozilla::WMFVideoMFTManager::Output(__int64 aStreamOffset, RefPtr<mozilla::MediaData> & aOutData) Line 808	C++
 	xul.dll!mozilla::WMFMediaDataDecoder::ProcessOutput(nsTArray<RefPtr<mozilla::MediaData>> & aResults) Line 151	C++
 	xul.dll!mozilla::WMFMediaDataDecoder::ProcessDecode(mozilla::MediaRawData * aSample) Line 111	C++
 	[Inline Frame] xul.dll!mozilla::detail::RunnableMethodArguments<mozilla::MediaRawData *>::applyImpl(mozilla::WMFMediaDataDecoder * o, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData>>,mozilla::MediaResult,1>>(mozilla::WMFMediaDataDecoder::*)(mozilla::MediaRawData *) m, mozilla::Tuple<StoreRefPtrPassByPtr<mozilla::MediaRawData>> & args, std::integer_sequence<unsigned long long,0>) Line 1147	C++
 	[Inline Frame] xul.dll!mozilla::detail::RunnableMethodArguments<mozilla::MediaRawData *>::apply(mozilla::WMFMediaDataDecoder * o, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData>>,mozilla::MediaResult,1>>(mozilla::WMFMediaDataDecoder::*)(mozilla::MediaRawData *) m) Line 1153	C++
 	[Inline Frame] xul.dll!mozilla::detail::MethodCall<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData>>,mozilla::MediaResult,1>,RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData>>,mozilla::MediaResult,1>> (mozilla::WMFMediaDataDecoder::*)(mozilla::MediaRawData *),mozilla::WMFMediaDataDecoder,mozilla::MediaRawData *>::Invoke() Line 1518	C++
 	xul.dll!mozilla::detail::ProxyRunnable<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData>>,mozilla::MediaResult,1>,RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData>>,mozilla::MediaResult,1>> (mozilla::WMFMediaDataDecoder::*)(mozilla::MediaRawData *),mozilla::WMFMediaDataDecoder,mozilla::MediaRawData *>::Run() Line 1539	C++
 	xul.dll!mozilla::TaskQueue::Runner::Run() Line 266	C++
 	xul.dll!nsThreadPool::Run() Line 311	C++
 	xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1199	C++
 	xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 465	C++
 	xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 301	C++
 	xul.dll!MessageLoop::RunHandler() Line 375	C++
 	xul.dll!MessageLoop::Run() Line 357	C++
 	xul.dll!nsThread::ThreadFunc(void * aArg) Line 386	C++
 	nss3.dll!_PR_NativeRunThread(void * arg) Line 408	C
 	nss3.dll!pr_root(void * arg) Line 140	C
 	[External Code]	

I'm unsure of how to load symbols to find out where this is failing, if any are available at all. Since the error is occurring in d3d11.dll, this could be related to how we copy the frame for display, since I don't see the same issue with my card when zero-copy is enabled.

We also need to determine whether this COM error is also occurring on an RX 6000 or newer card, but it seems pretty likely that it is.

Hopefully it's all right if I needinfo you :alwu, and also :sotaro, since your domain has been the graphics side of Windows video lately, any ideas on why this might be happening? I may be a bit out of my depth without more tools to investigate this error. :(

Flags: needinfo?(sotaro.ikeda.g)
Flags: needinfo?(alwu)

Hi Brandon Karaca, can you attach about:support to this bug?
The problem also happen with Firefox nightly? And can you take a profile with Firefox nightly? Thank you.

Flags: needinfo?(sotaro.ikeda.g)

I have attatched the about:support info to this bug in the form of a txt file. I also installed the latest nightly build and ran the media profiler. The bug did still occur. Although YouTube didn't report many dropped frames, I could still see significant stuttering. Here is the link to the profile https://share.firefox.dev/3TRUjUI. I would also like to note that I was looking at the release notes for the latest AMD gpu driver, and they did list "Stuttering may occur during video playback using hardware acceleration with Firefox on some AMD Graphics Products such as the Radeon™ RX 6900 XT Graphics" as a known issue.

Sorry for late reply. It's interesting to check the profiled result you provided in the comment 14. That result actually shows no dropped frame at all, Firefox kept decoding video in time. I can see around ~85% of frames were decoded within 30 ms.

Is this issue only happening on hardware decoding? Would you mind to help me do a screen-recording? And also provide me an example video to allow me to test?

Thank you so much.

Flags: needinfo?(alwu) → needinfo?(micromine2004)

Zaggy found an interesting point where the video sink seems blocked by requesting video data. However, the process of requesting data is an async operation which should not keep blocking the MDSM thread, so it doesn't sound possible at my first thought.

So I started to look at when we would schedule the video sink to render video frames instead,

  1. when the video sink just starts
  2. when the video sink starts playing
  3. schedule on timer by calculating the difference between current owning frame and clock time
  4. when video queue has new data coming in
  5. when video queue finishes

In our scenario, we would expect either (3) or (4) to kick in time. Unfortunately, we don't have the clock time information on the profiled result, so we don't know what scheduled time for the timer. But what I assume is that. By looking at PlayVideo at 17.934s and 18.028s. The second playVideo is apparently triggered by (4) which matches pushVideo at 18.028s as well.

So I think the issue is caused by following factors combined together,
Video decoding too slow (due to specific graphic card)

MDSM will keep decoding more video without resting (it usually has a threshold, once the duration of decoded data reaches that threshold, MDSM would stop decoding until decoded duration becomes lower again)

The timer used to schedule rendering uses too large waiting time (because the new video frame is larger than the clock time too much)

The rendering would mostly rely on when video is decoded (push to the queue)

As video doesn't video fast enough, we doesn't render video frames in a regular and faster enough interval (like what I mention above, worst case would only render ~1 per second)

Assignee: nobody → alwu
Priority: -- → P2

Based on the analysis above, I think I've known what happened so don't really need a screen recording anymore.

Flags: needinfo?(micromine2004)

(In reply to Zaggy1024 from comment #12)

Looks like some decoding calls are running for much longer than normal, often between 80ms~100ms. I can see a similar behavior when profiling with my Nvidia card, but it doesn't manage to drop nearly as many frames as you're probably seeing.

This may be related to some non-fatal COM errors that periodically show up when running the WMF AV1 decoder with 8K video, which on my machine coincided with some frames being slightly delayed. On my hardware, the frames were never dropping, though, since it looks like I only get up to ~30ms of delay on a frame. Anyone with hardware to test this could run with Visual Studio attached as a debugger and the COM errors should show up in the output like this:

Exception thrown at 0x00007FFD04CA428C in firefox.exe: Microsoft C++ exception: _com_error at memory location 0x000000BD6BEFE820.

The stack trace when the error occurs is as follows:

For future reference, the actual profiler stack for the long-running decoder call is here:

ZwWaitForAlertByThreadId
RtlpWaitOnCriticalSection
RtlpEnterCriticalSectionContended
RtlEnterCriticalSection
CDDISync::CObjectAndSingleThreadedLowFreqLock::CObjectAndSingleThreadedLowFreqLock
CContext::DecoderBeginFrame(ID3D11VideoDecoder*, ID3D11VideoDecoderOutputView*, unsigned int, void const*)
0x7fff6f0f0ca1
0x7fff6f0e0c72
0x7fff6f171ac2
0x7fff6f129bed
0x7fff6f120db1
0x7fff6f11794e
0x7fff6f1176e4
0x7fff6f0e134a
0x7fff6f0d602f
0x7fff6f0d4308
0x7fff6f0d22b9
mozilla::MFTDecoder::Output(RefPtr<IMFSample>*)
mozilla::WMFVideoMFTManager::Output(long long, RefPtr<mozilla::MediaData>&)
mozilla::WMFMediaDataDecoder::ProcessOutput(nsTArray<RefPtr<mozilla::MediaData> >&)
mozilla::WMFMediaDataDecoder::ProcessDecode(mozilla::MediaRawData*)
mozilla::detail::RunnableMethodArguments<mozilla::MediaRawData *>::applyImpl(mozilla::AOMDecoder*, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >,mozilla::MediaResult,1> > (mozilla::AOMDecoder::*)(mozilla::MediaRawData*), mozilla::Tuple<StoreRefPtrPassByPtr<mozilla::MediaRawData> >&, std::integer_sequence<unsigned long long,0>)
mozilla::detail::RunnableMethodArguments<mozilla::MediaRawData *>::apply(mozilla::AOMDecoder*, RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >,mozilla::MediaResult,1> > (mozilla::AOMDecoder::*)(mozilla::MediaRawData*))
mozilla::detail::MethodCall<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >,mozilla::MediaResult,1>,RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >,mozilla::MediaResult,1> > (mozilla::AOMDecoder::*)(mozilla::MediaRawData *),mozilla::AOMDecoder,mozilla::MediaRawData *>::Invoke()
mozilla::detail::ProxyRunnable<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >,mozilla::MediaResult,1>,RefPtr<mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >,mozilla::MediaResult,1> > (mozilla::AOMDecoder::*)(mozilla::MediaRawData *),mozilla::AOMDecoder,mozilla::MediaRawData *>::Run()
mozilla::TaskQueue::Runner::Run()
nsThreadPool::Run()
nsThread::ProcessNextEvent(bool, bool*)
NS_ProcessNextEvent(nsIThread*, bool)
mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*)
MessageLoop::RunInternal()
MessageLoop::RunHandler()
MessageLoop::Run()
nsThread::ThreadFunc(void*)
_PR_NativeRunThread(void*)
pr_root(void*)
thread_start<unsigned int (__cdecl*)(void *),1>
BaseThreadInitThunk
mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *)>::operator()(int&, void*&, void*&) const
patched_BaseThreadInitThunk(int, void*, void*)
RtlUserThreadStart
(root)

My analysis in the comment 16 is not accurate, because it would be fine if the future frames have been sent to the compositor even if we schedule the video sink late. In every PlayVideo marker I saw in profiled result, we can also see the queue still hadother frames, which means the compositor should already have them.

I started looking the compositor side, and noticed that there were a lot of video frame timestamp jitter. And I can see the compositor didn't render every frame we sent. It could be the reason why we see stuttering, but now it's still not clear to me why the timestamp jitter, maybe something wrong in our audio clock time.

check media.hardware-video-decoding.failed, in about:config , must be false

I also have this same issue. I'm running Firefox on Linux though and I'm also having frame drops while watching YouTube videos that use AV1 hardware decoding.

I have a AMD 6700 XT on Arch Linux with the kernel 6.4.12. I've tried both stable and nightly Firefox versions but the bug is present in both. I don't think this issue is exclusive to Windows. It also doesn't seem to be exclusive to 8K videos. Using enhanced-h264ify and blocking all but AV1 I can reproduce the frame drops with a 4K video. It will play for a bit then stop and drop about 15-30 frames then continue again.

I'm also experiencing a similar issue with AMD RX 6600 XT on wayland, Linux kernel 6.5.4, mesa 23.2.1 and hardware decoding on. Watching this youtube video https://www.youtube.com/watch?v=5_ihj34uCq8 led to stutters and frozen frames. I captured a profiler here https://share.firefox.dev/3ZLR9p5 where a stutter appeared to happen around 13.76s mark.

(In reply to dct from comment #28)

I'm also experiencing a similar issue with AMD RX 6600 XT on wayland, Linux kernel 6.5.4, mesa 23.2.1 and hardware decoding on. Watching this youtube video https://www.youtube.com/watch?v=5_ihj34uCq8 led to stutters and frozen frames. I captured a profiler here https://share.firefox.dev/3ZLR9p5 where a stutter appeared to happen around 13.76s mark.

This comment is about Linux hardware decoding.
:stransky, can you comment to the problem?

Flags: needinfo?(stransky)

(In reply to Sotaro Ikeda [:sotaro] from comment #29)

(In reply to dct from comment #28)

I'm also experiencing a similar issue with AMD RX 6600 XT on wayland, Linux kernel 6.5.4, mesa 23.2.1 and hardware decoding on. Watching this youtube video https://www.youtube.com/watch?v=5_ihj34uCq8 led to stutters and frozen frames. I captured a profiler here https://share.firefox.dev/3ZLR9p5 where a stutter appeared to happen around 13.76s mark.

This comment is about Linux hardware decoding.
:stransky, can you comment to the problem?

I can't play the video, it says "Video unavailable, The uploader has not made this video available in your country".

But I can't play any 8K AV1 video on my AMD RX 6600 XT, only SW decode works fine. I think it's a bug in AMD drivers (Also we don't enable VA-API on AMD by default due to it). You can try mpv player for reference but I bet it's the same:

mpv --hwdec=vaapi test_clip/youtube_url
Flags: needinfo?(stransky)

Martin is correct. This issue is now resolved for me on Archlinux with kernel 6.5.5 on wayland with the latest firefox 118. Dct try updating to the latest kernel.

Sorry for necroposting, but I have a very similar issue with my Ryzen 5800X3D+Radeon RX7900XT desktop: 4K videos on YouTube are pretty stuttery when enabling AV1, despite having a GPU with an AV1 decoder built-in. But zero dropped frames on stats for nerds. This has always happened with my 7900 and Firefox, with all the AMD driver versions since June 2023, but Chrome/Edge are smooth.
If I disable AV1 hw accel on about:config, 4K videos are buttery smooth.

Federico, if you can similarly record a profile (as explained above), and confirm you're on Linux Desktop, and post the about:support of the Firefox on the machine that has the issue, we could confirm it's the same as above.

Flags: needinfo?(federicobarutto)

(In reply to Paul Adenot (:padenot) from comment #33)

Federico, if you can similarly record a profile (as explained above), and confirm you're on Linux Desktop, and post the about:support of the Firefox on the machine that has the issue, we could confirm it's the same as above.

I was referring to the original bug reporter, as I have a similar, but desktop, PC as him and I'm on Win11.

Flags: needinfo?(federicobarutto)

Same issue here 4k youtube video are stuttery with low fps. This issue is not present on edge. AMD ryzen 3600 rx 6650 xt. I have checked with HWinfo64 on sensor mode PresentMon tab there is Framerate value around 40 fps when in 4k.

Same problem here, just not using Windows. Running Linux and videos sometimes fail to load or start to load, just to run into a infinite buffering state. Sometimes refreshing the page fixes the problem but ever since today even refreshing does not work no more.

AMD Ryzen 7.
Linux Kernel 6.2.0.35

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: