Closed Bug 1762378 Opened 3 years ago Closed 3 years ago

When ffmpeg is disabled/missing, AV1 is not decoded with VA-API

Categories

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

defect

Tracking

()

RESOLVED FIXED
101 Branch
Tracking Status
firefox101 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

When ffmpeg is disabled or missing, AV1 is not decoded.

Severity: -- → S3
Priority: -- → P3

Seems that it does not even try to initialize ffmpeg to decode av1 - fall back to agnostic

[RDD 499846: Main Thread]: D/PlatformDecoderModule PDMInitializer, Init PDMs in RDD process
[RDD 499846: Main Thread]: D/Dmabuf Using DRM device /dev/dri/renderD128
[RDD 499846: Main Thread]: D/Dmabuf nsDMABufDevice::IsDMABufVAAPIEnabled: EGL 1 media_ffmpeg_vaapi_enabled 1 CanUseHardwareVideoDecoding 1 XRE_IsRDDProcess 1
[RDD 499846: Main Thread]: D/Dmabuf nsDMABufDevice::IsDMABufVAAPIEnabled: EGL 1 media_ffmpeg_vaapi_enabled 1 CanUseHardwareVideoDecoding 1 XRE_IsRDDProcess 1
[RDD 499846: Main Thread]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: Main Thread]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: Main Thread]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: Main Thread]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: Main Thread]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaSupervisor #1]: D/PlatformDecoderModule Agnostic decoder supports requested type
[RDD 499846: MediaPDecoder #1]: D/PlatformDecoderModule DAV1DDecoder[7f3d38d70580] ::GetPicture: Decode error: -11
[RDD 499846: MediaPDecoder #2]: D/PlatformDecoderModule OpusDataDecoder[7f3d38d6d800] ::Decode: Opus decoder skipping 312 of 960 frames
[RDD 499846: MediaPDecoder #1]: D/PlatformDecoderModule DAV1DDecoder[7f3d38d70580] ::GetPicture: Decode error: -11
[RDD 499846: MediaPDecoder #1]: D/PlatformDecoderModule DAV1DDecoder[7f3d38d70580] ::GetPicture: Decode error: -11
[RDD 499846: MediaPDecoder #2]: D/PlatformDecoderModule DAV1DDecoder[7f3d38d70580] ::GetPicture: Decode error: -11

After the new logging has been implemented (mozilla-central ). Seems that ffmpeg rejects av1 support - so it get transferred to FFVPX (vaapi ) or if FFVPX disabled it goes to Agnostic (dav1d). Seems bug 1759947 (crash of AV1 ) comes from the same origin - FFVPX is pretty outdated (AV1 was fixed in ffmpeg starting from 4.4.1)

[RDD 424645: Main Thread]: D/PlatformDecoderModule PDMInitializer, Init PDMs in RDD process
[RDD 424645: Main Thread]: D/Dmabuf Using DRM device /dev/dri/renderD128
[RDD 424645: Main Thread]: D/Dmabuf nsDMABufDevice::IsDMABufVAAPIEnabled: EGL 1 media_ffmpeg_vaapi_enabled 1 CanUseHardwareVideoDecoding 1 XRE_IsRDDProcess 1
[RDD 424645: Main Thread]: D/Dmabuf nsDMABufDevice::IsDMABufVAAPIEnabled: EGL 1 media_ffmpeg_vaapi_enabled 1 CanUseHardwareVideoDecoding 1 XRE_IsRDDProcess 1
[RDD 424645: Main Thread]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/avc'
[RDD 424645: Main Thread]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/vp9'
[RDD 424645: Main Thread]: D/PlatformDecoderModule FFmpeg decoder supports requested type 'video/vp8'
[RDD 424645: Main Thread]: D/PlatformDecoderModule FFmpeg decoder rejects requested type 'video/av1'
[RDD 424645: Main Thread]: D/PlatformDecoderModule Agnostic decoder supports requested type 'video/av1'

Attached patch ffmpeg-av1-v4.patch (deleted) — Splinter Review

downloading the test patch here. It is not a production quality solution - just quick and dirty hack. In general I've removed the restriction to compile AV1 only for FFVPX by adding FFMPEG >= 58 (earlier versions do not support AV1 anyway), removed some extra checks that are rejecting AV1 for ffmpeg, and replaced codec_id.h for ffmgeg 58 with the codec_id.h from current ffmpeg 4.4.1. So finally AV1 is working for me with ffvpx disabled.

Summary: When ffvpx is disabled, AV1 is not decoded with VA-API → When ffmpeg is disabled/missing, AV1 is not decoded with VA-API

Claim support for video/mp4 media container when codec is missing as it can contain AV1 media.

Assignee: nobody → stransky
Status: NEW → ASSIGNED

Enable AV1 decode via FFmpeg 5.0 is Bug 1765530

Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/bab76759b687 Allow to use AV1 in mp4 container r=alwu
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 101 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: