4k VP8 video plays on Galaxy S7 but not on Galaxy S23

I have an opaque 3840x1080 webm video that’s Transcoded with VP8 codec in Unity. It plays fine on Galaxy S7 but not on Galaxy S23 (video doesn’t show up at all).

I’ve logged the decoders available on those devices via MediaCodecList:

S7:

  • OMX.Exynos.vp8.dec Supported Video Resolution Range: 32x32 to 3840x2160
  • OMX.google.vp8.decoder Supported Video Resolution Range: 2x2 to 2048x2048

S23:

  • c2.android.vp8.decoder Supported Video Resolution Range: 2x2 to 2048x2048
  • OMX.google.vp8.decoder Supported Video Resolution Range: 2x2 to 2048x2048

By looking at the isSoftwareCodec function’s source code, I conclude that S7’s OMX.Exynos.vp8.dec is a hardware decoder whereas the others are software decoders. This means that S23 doesn’t have a hardware VP8 decoder which sounds strange. All of these software decoders are limited to 2k videos.

My conclusions are that Unity doesn’t embed a VP8 software decoder to its Android builds and instead uses the decoders available on device. While selecting a decoder, it prefers either the first decoder it sees or the hardware decoder if available. It would be nice to have an official response to this vagueness actually.

All in all, it sounds strange for a much more powerful device to be incapable of rendering a 4k VP8 video. I don’t know what I should do or can do in this situation?