Closed Bug 1650648 Opened 4 years ago Closed 4 years ago

Intermittent green frames when using VA-API

Categories

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

80 Branch
x86_64
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1645671

People

(Reporter: magiblot, Unassigned)

Details

Attachments

(2 files)

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

Steps to reproduce:

I wanted to try out the new VA-API decoding capabilities on X11. Since my processor doesn't support VP9 hardware decoding, I went to a site with h264 videos.

So, I ran Firefox Nightly 80.0a1 (2020-07-05) (64-bit) with the MOZ_X11_EGL env var defined and with media.ffmpeg.vaapi.enabled set to true. Then I played the video at https://www.ccma.cat/tv3/alacarta/zona-zaping/zona-zaping-03072020/video/6050518/ (in case it is not available in your country, any other recent video from that page should do).

My CPU is Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz and the output of vainfo is the following:

vainfo: VA-API version: 1.8 (libva 2.7.1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI

Actual results:

The video intermittently becomes green and the 'reloading' animation shows up. Error messages are also printed to the terminal. Sometimes the video even restarts itself and goes back to 0:00.

The issue seems easier to reproduce with 1080p videos such as the one I gave the link to. With 720p and lower resolutions, the issue happens less frequently or only at the beginning.

I can reproduce the issue whether WebRender is enabled or not and whether Firefox is a X11/XWayland or Wayland client.

The video plays fine in mpv with hardware decoding enabled.

Expected results:

The video should play flawlessly, just as it does with media.ffmpeg.vaapi.enabled disabled.

The console output of Firefox when playing https://www.ccma.cat/tv3/alacarta/zona-zaping/zona-zaping-03072020/video/6050518/ up to ~0:50. The video restarts itself once during playback.

Just to make this issue easier to find for other users -- below are some of the errors printed by firefox:

IPDL protocol Error: Received an invalid file descriptor
[Child 9919, MediaDecoderStateMachine #1] WARNING: Decoder=7feeeb591c00 Decode error: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004) - virtual mozilla::MediaResult mozilla::FFmpegVideoDecoder<58>::DoDecode(mozilla::MediaRawData *, uint8_t *, int, bool *, MediaDataDecoder::DecodedData &): avcodec_send_packet error: -1094995529: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp, line 3470
[Child 9919, MediaDecoderStateMachine #1] WARNING: Decoder=7feeeb591c00 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<MediaSourceTrackDemuxer::SamplesPromise> mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachine.cpp, line 3470

(Jan Andre Ikenmeyer [:darkspirit] from bug 1619523 comment #33)

everyone will run into the following regressions, they are probably the same: bug 1645671, bug 1645673, bug 1643855. DMABuf video textures aren't finished yet: bug 1629788 comment 27. These bugs have 3 weeks to be fixed in 79 beta, otherwise they'll hit release and affect Wayland users who have manually enabled VAAPI.

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
Resolution: --- → DUPLICATE

Thanks -- I guess the [Wayland] tag no longer fits those issues now that VA-API is also available on X11.

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

Attachment

General

Creator:
Created:
Updated:
Size: