Closed Bug 1793507 Opened 2 years ago Closed 1 year ago

VAAPI av1: Error parsing decoder bitstream filters 'av1_frame_split': Bitstream filter not found

Categories

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

Firefox 107
defect

Tracking

()

RESOLVED FIXED
108 Branch
Tracking Status
firefox108 --- fixed

People

(Reporter: dxzlabs, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(7 files)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0

Steps to reproduce:

vaapi decoder is not working, tested on 8k video: https://www.youtube.com/watch?v=WjoplqS1u18

Actual results:

[AVHWDeviceContext @ 0x7f0d63571e80] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.6.0 (c7132d869).
[AVHWDeviceContext @ 0x7f0d63571e80] Driver not found in known nonstandard list, using standard behaviour.
[av1 @ 0x7f0d72a29400] Error parsing decoder bitstream filters 'av1_frame_split': Bitstream filter not found
[RDD 99507: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Couldn't initialise VA-API decoder
[RDD 99507: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Initialising FFmpeg decoder
[RDD 99507: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: codec libdav1d : dav1d AV1 decoder by VideoLAN
[RDD 99507: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Set get_buffer2 for customized buffer allocation
[libdav1d @ 0x7f0d72a27c00] libdav1d cd5e415270285a58f48c1e9ec1a2dd024b9acf9f
[libdav1d @ 0x7f0d72a27c00] Using 8 threads, 0 max_frame_delay
[RDD 99507: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: FFmpeg decoder init successful.

Expected results:

Works great in cachy-browser with patch: https://github.com/CachyOS/CachyOS-Browser-Common/blob/master/patches/gentoo/0006-bmo-1559213-Support-system-av1.patch

[RDD 21934: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: VA-API FFmpeg init successful

System: arch-based cachyos Linux 5.19.12-1, intel-media-driver-git 2022.5.3.r175.gc7132d869-1, Intel Alderlake_s (Gen12) i5-12400
vainfo: VA-API version: 1.17 (libva 2.15.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.6.0 (c7132d869)

firefox-nightly 107.0a1 (2022-10-03) (64-bit) with media.ffmpeg.vaapi.enabled=true

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
Severity: -- → S4

Had this issue reports on with the nvidia-vaapi-driver. A quick look through the commits shows this one to be the likely cause: https://hg.mozilla.org/mozilla-central/rev/c174bd2624e2d4fc41721a5a51a48fbeae1666c2.
It disables BSFS in general and explicitly disables the AV1 split BSF in particular, CONFIG_AV1_FRAME_SPLIT_BSF.

(In reply to Stephen from comment #4)

Had this issue reports on with the nvidia-vaapi-driver. A quick look through the commits shows this one to be the likely cause: https://hg.mozilla.org/mozilla-central/rev/c174bd2624e2d4fc41721a5a51a48fbeae1666c2.
It disables BSFS in general and explicitly disables the AV1 split BSF in particular, CONFIG_AV1_FRAME_SPLIT_BSF.

Thanks, your post prompted me to disable ffvpx and it helped.
media.ffvpx.enabled: false
However, it would be great if vaapi worked out of the box.

The changes for bug 1765480 don't seem to have removed av1 bitstream filters, but haven't included any either.

See Also: → 1765480

Hi doaxan ,

Can you confirm that an AV1 stream is Vaapi decoded ( see intel_gpu_top ) on your setup ?

https://bitmovin.com/demos/av1

Attached file firefox_vaapi.txt
Attached file firefox_fail.txt
Attached image firefox_fail.png
Attached image firefox_vaapi.png

(In reply to michel memeteau from comment #7)

Hi doaxan ,

Can you confirm that an AV1 stream is Vaapi decoded ( see intel_gpu_top ) on your setup ?

https://bitmovin.com/demos/av1

Hi!
With default settings, media.ffvpx.enabled: true, not vaapi decoded, see firefox_fail.png && firefox_fail.txt:
[av1 @ 0x7f17a7d26000] Error parsing decoder bitstream filters 'av1_frame_split': Bitstream filter not found

With media.ffvpx.enabled: false, see firefox_vaapi.png && firefox_vaapi.txt:
[RDD 6551: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: VA-API FFmpeg init successful

Yes, I do see that too.

I'm confused , can you confirm that :

  • With VAAPI enable , av1 playback works perfectly on the GPU

  • When you disable vaapi through media.ffvpx.enabled: true ( which seems to force also software decode for av1 ) , them you get the filter error

Then you should remove vaapi from your bugreport , it seems software decoding creates this problem

(In reply to michel memeteau from comment #14)

Then you should remove vaapi from your bugreport , it seems software decoding creates this problem

[[RD 99507: Media decoder #1]: D/PlatformDecoderModule FFVPX: Couldn't initialize VAAPI decoder

VAAPI decoding is implemented in ffvpx, see: https://bugzilla.mozilla.org/show_bug.cgi?id=1660336

Blocks: 1798512

I just want to note that this bug report does not related to snap, it's about native packages, like:
https://ftp.mozilla.org/pub/firefox/nightly/latest-mozilla-central/firefox-107.0a1.en-US.linux-x86_64.tar.bz2

Duplicate of this bug: 1798512

This affects me on AMD Navi23 too. I am using non-deb Firefox from the Ubuntu PPA on Wayland. "media.ffvpx.enabled=false" also fixes it for me.

Duplicate of this bug: 1799350

I can confirm that setting media.ffvpx.enabled=false fixes this for me as well with Firefox using system ffmpeg (RX 6800 XT).

Me too! With media.ffvpx.enabled set to false AV1 decoding on GPU is working otherwise not. I am on Xbuntu 22.10. Firefox has been downloaded directly from the Mozilla servers so no Snap or Debian package. GPU is AMD Radeon RX 6600 aka navi23. Thanks for the tip :)

config_override.h can be included more than one time and already contains #undef for defined values.

Assignee: nobody → stransky
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/2f5cc64f2978
[FFVPX] Make config_override.h really override r=alwu
https://hg.mozilla.org/integration/autoland/rev/7284ad26b1c5
[FFVPX] Add av1_frame_split filter for AV1 VA-API decode r=alwu
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 108 Branch

A patch has been attached on this bug, which was already closed. Filing a separate bug will ensure better tracking. If this was not by mistake and further action is needed, please alert the appropriate party. (Or: if the patch doesn't change behavior -- e.g. landing a test case, or fixing a typo -- then feel free to disregard this message)

Pushed by stransky@redhat.com:
https://hg.mozilla.org/integration/autoland/rev/d0cd9dcd954e
[FFVPX] Fix build warnings on non-Wayland systems r=alwu
See Also: → 1805102
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: