!4196 (merged) is bogus as some codec (not raw chroma) rely on the bits per pixel value to select which mode it's using. There are a few of them in libavcodec. So we need to forward that information from the container if it's found. The fourcc is not enough.
The relevant commits have been reverted and a few added to clean the
i_bits_per_pixel usage a little more.
Bug reported by @fcartegnie.
VideoLAN code repository instance