News for hackers. Stuff that matters.
Re:Adventures with ffmpeg and color ranges by m0dest on Wednesday May 29, 2019 @04:21AM (#20037858)
For all of our sanity, please don't start producing 8-bit H.264 videos with full 0-255 range.

If you have enough control over the decoder and renderer to make that hack work, you should just be producing 10-bit HEVC/AV1 video – which does not suffer from these 8-bit banding issues – with a modern color space (Rec 2020, PQ, etc.).

And if you don't have choice or control over the decoder and renderer, then it's a good sign that this would be a fragile hack.

Re:Adventures with ffmpeg and color ranges by JohnCarmack on Wednesday May 29, 2019 @08:02AM (#20039059)
My primary concern is for immersive VR media on our Go and Quest platforms, which use Snapdragon 821 and 835 SoC, respectively. The 821 doesn’t support 10 bit on anything, and the 835 only supports it on h265. Software decoding a 4k60 video on mobile isn’t an option, and you can see every bit transition with dark adapted eyes in a vr headset, so getting full 8 bit range is pretty valuable.
Re:Adventures with ffmpeg and color ranges by thrwaycolor on Wednesday May 29, 2019 @01:42PM (#20043120)
You forget to mention which colorspace you're using. It matters.

From Rec. 2020 wikipedia article: Since a larger color space increases the difference between colors an increase of 1-bit per sample is needed for Rec. 2020 to equal or exceed the color precision of Rec. 709.

The "correct" solution is to use a modern colorspace (rec 2020) with 10 bits encoding (or 12 bits, if you can). UHD standard mandates at least 10 bits.

On the '821 you could gain 1 bit by degrading to an older color space - 709.

Full 0-255 range should never be used - they are invalid according to the standard. None of the hardware codecs are validated for 0-255 - you're asking for trouble here. Expect ghosting and weird motion artifacts accumulating from one I-frame to the next I-frame.

Re:Adventures with ffmpeg and color ranges by the-dude on Wednesday May 29, 2019 @04:42PM (#20045216)
Are you sure about that? Logitech sells H264-encoding cameras which do yuvj420p ( which is full range as I understand it ).

YT and other platforms have no problem ingesting these videos. Also the RPi Broadcom chipset does not seem to care.

Re:Adventures with ffmpeg and color ranges by sorenjan on Wednesday May 29, 2019 @08:31AM (#20039301)
So to clarify, you don't agree that anyone should use -pix_fmt yuvj420p when encoding video to share with others?

Let's say I have a video with full RGB range 0-255 video. Why would 10-bit be a better option than 8-bit?

Re:Adventures with ffmpeg and color ranges by the-dude on Wednesday May 29, 2019 @05:43AM (#20038294)
Logitech C920 family cameras do exactly that. H264 full range.