Closed Bug 1778108 Opened 3 years ago Closed 3 years ago

10-bit H264 video can't be played back on Windows

Categories

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

All
Windows
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr91 --- wontfix
firefox-esr102 --- wontfix
firefox102 --- wontfix
firefox103 --- wontfix
firefox104 --- wontfix

People

(Reporter: gcp, Unassigned)

References

(Blocks 1 open bug, )

Details

I have a report that this clip (https://www.foobar2000.org/temp/k.mp4) breaks on Windows. It works on Linux and I think macOS, suggesting a WMF decoder issue. There is an extra timecode track in the mp4, written by a fuji cam, but not 100% sure that is what throws us off. Works in all other browsers.

I can reproduce the problem on Windows 11, in Firefox Nightly 104 and 91 (from a year ago). The video plays fine in Firefox and Chrome on macOS (though it doesn't play in Safari).

I see the following error logged:

2022-07-05T12:12:58.447000: INFO : b'[Child 30172, MediaDecoderStateMachine #1] WARNING: Decoder=23eed1d6d00 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - mozilla::MediaResult __cdecl mozilla::RemoteVideoDecoderChild::InitIPDL(const mozilla::VideoInfo &, float, const CreateDecoderParams::OptionSet &, Maybe<layers::TextureFactoryIdentifier>, const Maybe<uint64_t> &): RemoteDecoderManager is not available.: file /builds/worker/checkouts/gecko/dom/media/MediaDecoderStateMachineBase.cpp:151'

That video is a 10 bits H264 format, and we use WMF decoder for that. However, WMF h264 decoder only supports 8 bits output so we can't use it for 10 bits. If my above understanding is correct, then this bug would be wonfix because we rely on the platform decoder for h264.

Zaggy, would you mind to help me verify if my understanding is correct? Or we have way to decode 10 bits h264 video by MFT?

Thank you.

Flags: needinfo?(Zaggy1024)

Yeah, the WMF H264 decoder should only be 8-bit, so this should be a wontfix. I would assume OpenH264 decoding would allow this, but I'm sure that's not a priority given how few HDR videos are encoded as H264.

FYI, the error I get in the latest nightly is more like what I would expect vs what :cpeterson saw: Media resource https://www.foobar2000.org/temp/k.mp4 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) Details: mozilla::MediaResult __cdecl mozilla::WMFVideoMFTManager::InitInternal(void): Fail to set the decoder media types.

Flags: needinfo?(Zaggy1024)

Thanks! Close this bug because of comment 3.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX

WMF h264 decoder only supports 8 bits output so we can't use it for 10 bits

Outputting in 8-bits would be fine (downsampled) if it could decode. It seems the critical part is here:

Profiles/Levels 	Baseline, Main, and High profiles, up to level 5.1.

So no 10-bit profile support. Contrast to the WMF H265 decoder:

Profiles/Levels 	Main, Main Still Picture, and Main10 profiles

Which does list Main10.

I can confirm that Windows Media Player and Films & TV also fail to decode this file, so the problem is really with the Windows decoders.

Summary: WMF playback broken on MP4 file → 10-bit H264 video can't be played back on Windows
Blocks: 1778435
You need to log in before you can comment on or make changes to this bug.