Closed Bug 1834339 Opened 1 year ago Closed 1 year ago

VAAPI unused (`PlatformDecoderModule FFVPX: Codec vp8 is not accelerated`)

Categories

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

Firefox 115
Desktop
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1833497

People

(Reporter: pmenzel+bugzilla.mozilla.org, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Steps to reproduce:

On Debian sid/unstable with Nightly 115.0a1 (20230522094803) play a VP8 video.

Actual results:

VAAPI is not used.

$ MOZ_LOG="PlatformDecoderModule:5 Dmabuf:1" nightly
[…]
[Child 113755: Main Thread]: D/PlatformDecoderModule PDMInitializer, Init PDMs in Content process
[Child 113755: MediaSupervisor #1]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/vp8
[Child 113755: MediaSupervisor #1]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/vp8
[Child 113755: MediaSupervisor #1]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/vp8
[Child 113755: MediaSupervisor #1]: D/PlatformDecoderModule Sandbox RDD decoder supports requested type video/vp8
[RDD 113493: MediaSupervisor #2]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/vp8'
[RDD 113493: MediaSupervisor #2]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/vp8'
[RDD 113493: MediaSupervisor #2]: D/PlatformDecoderModule FFVPX: FFmpegVideoDecoder::FFmpegVideoDecoder MIME video/vp8 Codec ID 139
[RDD 113493: MediaSupervisor #2]: D/PlatformDecoderModule FFVPX: Codec vp8 is not accelerated
[Child 113755: RemVidChild]: D/PlatformDecoderModule RemoteMediaDataDecoder[7fc0b9a69430] ::RemoteMediaDataDecoder: 7fc0b9a69430 is created
[RDD 113493: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Initialising FFmpeg decoder
[RDD 113493: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   codec vp8 : On2 VP8
[RDD 113493: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Set get_buffer2 for customized buffer allocation
[RDD 113493: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX:   FFmpeg decoder init successful.
[Child 113755: RemVidChild]: D/PlatformDecoderModule RemoteMediaDataDecoder[7fc0b9a69430] ::operator(): 7fc0b9a69430 RemoteDecoderChild has been initialized - description: ffvpx video decoder (RDD remote), process: rdd, codec: vp8
[RDD 113493: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=33000µs ; mTime=0µs ; mTimecode=0µs
[RDD 113493: Unnamed thread 7f87047ce3a0]: D/PlatformDecoderModule FFVPX: Choosing FFmpeg pixel format for video decoding.
[RDD 113493: Unnamed thread 7f87047ce3a0]: D/PlatformDecoderModule FFVPX: Requesting pixel format YUV420P.
[RDD 113493: Unnamed thread 7f87047ce3a0]: V/PlatformDecoderModule GetVideoBuffer: aCodecContext=7f8713a5cc00 aFrame=7f86f86c1600
[RDD 113493: Unnamed thread 7f87047ce3a0]: V/PlatformDecoderModule Created plane data, YSize=(1280, 736), CbCrSize=(640, 384), CroppedYSize=(1280, 720), CroppedCbCrSize=(640, 360), ColorDepth=0
[RDD 113493: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=34000µs ; mTime=33000µs ; mTimecode=33000µs
[RDD 113493: Unnamed thread 7f87047ce3a0]: D/PlatformDecoderModule FFVPX: Created av buffer, buf=7f8704772e00, data=7f86faca0000, image=7f87047fe260, sz=1382400
[RDD 113493: Unnamed thread 7f87047cedc0]: V/PlatformDecoderModule GetVideoBuffer: aCodecContext=7f8713a61000 aFrame=7f86f86bf000
[RDD 113493: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=33000µs ; mTime=67000µs ; mTimecode=67000µs
[RDD 113493: Unnamed thread 7f87047cedc0]: V/PlatformDecoderModule Created plane data, YSize=(1280, 736), CbCrSize=(640, 384), CroppedYSize=(1280, 720), CroppedCbCrSize=(640, 360), ColorDepth=0
[RDD 113493: Unnamed thread 7f87047cedc0]: D/PlatformDecoderModule FFVPX: Created av buffer, buf=7f8704773340, data=7f86faac0000, image=7f87047fe3a0, sz=1382400
[RDD 113493: Unnamed thread 7f86f86e9040]: V/PlatformDecoderModule GetVideoBuffer: aCodecContext=7f8713a61400 aFrame=7f86f86c1c00
[RDD 113493: Unnamed thread 7f86f86e9040]: V/PlatformDecoderModule Created plane data, YSize=(1280, 736), CbCrSize=(640, 384), CroppedYSize=(1280, 720), CroppedCbCrSize=(640, 360), ColorDepth=0
[RDD 113493: Unnamed thread 7f86f86e9040]: D/PlatformDecoderModule FFVPX: Created av buffer, buf=7f8704773a80, data=7f86fa961000, image=7f87047fe280, sz=1382400

Expected results:

VAAPI should be used, and it worked in the past.

$ vainfo
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.2 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileVP8Version0_3          :	VAEntrypointVLD

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

Explicitly disabled due to decode corruption (Bug 1790729). You need to set media.navigator.mediadatadecoder_vp8_hardware_enabled to force enable it.

Status: UNCONFIRMED → RESOLVED
Closed: 1 year ago
Resolution: --- → WONTFIX

I see, this is about plain video playback. Will check that.

Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: WONTFIX → ---

Version: 115.0a1

FEATURE_FAILURE_VIDEO_DECODING_MISSING

media.ffmpeg.vaapi.enabled: true

Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Duplicate of bug: 1833497
OS: Unspecified → Linux
Hardware: Unspecified → Desktop
Resolution: --- → DUPLICATE

Unfortunately, I am unable to comment on the closed bug 1790729 1.

My Webcam does not show any problems with VP8, so it’s a regression, that VP8 acceleration is disabled. It’s also disabled when the Webcam is not used.

  1. How can I force enable VAAPI for VP8?
  2. People with affected devices, could you please report the bug upstream?
  3. Is it possible to detect non-working streams?

(In reply to Paul Menzel from comment #6)

Unfortunately, I am unable to comment on the closed bug 1790729 [1].

My Webcam does not show any problems with VP8, so it’s a regression, that VP8 acceleration is disabled. It’s also disabled when the Webcam is not used.

  1. How can I force enable VAAPI for VP8?

Set media.navigator.mediadatadecoder_vp8_hardware_enabled to true at about:config and restart browser. But it applies to WebRTC only, VP8 media clips are played without any restriction.

  1. People with affected devices, could you please report the bug upstream?
  2. Is it possible to detect non-working streams?

I don't think so. Looks like bad inter frames in the stream, when key frame arrives video is refreshed and fixed.

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

Attachment

General

Creator:
Created:
Updated:
Size: