@Volts @ljunkie
I had a major breakthrough in solving the mystery of the 4800x and HEVC video that I believe is worth a tag.
@granjan7 had me test his handbrake encoded MKV files and they played correctly on the 4800x. That lead me to reencode my test file using Handbreak to make to see what would happen. To my shock and amazement, it played perfectly on the 4800x.
My test video is AAC mono, originally shot on an iPhone 6s. This is important as this means the plex server will not attempt to transcode any part of the newly constructed MKV files.
This file plays perfectly on the 4800x:
https://mega.nz/file/ELo1GA7Z#ymwHUOmvN3rD4qIhN3U0wLhhND759YijuDW9XxafBRE
This is where things get interesting. I used the latest FFmpeg release, FFmpeg 4.4 to make a new container for the video/audio without modifying the underlying video or audio.
i.e.,
./ffmpeg -i āOG-Handbreak-Img-8880-Hevcsdr8bit-1.mkvā -flags +global_header -vcodec copy -acodec copy āBroken-FFmpeg-Img-8880-Hevcsdr8bit-2.mkvā
https://mega.nz/file/9ax0lJAZ#AcTbb0Xo5l9OhTYRJLoUH2T0bp1vN5EBGhQmvG4Nhv4
When I add the new MKV file with the MKV container that has just been built by FFmpeg to Plex and try to direct play it on the Roku 4800x, now I am seeing the Roku 4800x apply BT.2020 color to the video despite the fact that the OG version with the container encoded by HandBreak plays the video back as BT.709.
This explains all the issues with the plex server transcoding multichannel AAC also, as 5.1 channel AAC audio is transcoded to 5.1 AC3 and merged with the original HEVC video in a new MKV container when transcoding. Since FFmpeg is adding/missing a flag, or something else, compared to Handbreak in the newly constructed MKV container, the video is played back as BT.2020 HEVC despite being coded as BT.709 HEVC.
I have no idea if this is something that Plex can build a profile to work around or if the FFmpeg devs can add something that fixes this problem. To me, itās underly mindblowing that a new Roku would not work better with the current FFmpeg release.
In any event, the cause of the 4800x issues has been narrowed down. Something with the 4800x does not process 8-bit, HEVC, MKV containers encoded with the latest FFmpeg properly and this is why we are seeing BT.2020 color when we should be seeing BT.709 on the displays.