Theres a bit of open source black magic out of Nvidia that appeared on Github recently, it's a very modern codebase demonstrating a fully path traced approach to realtime rendering. It's very interesting in its own right. I was going to use my blog to share some screencaptures of this thing, and I was also thinking I can mirror windows builds of this demo if they don't mind. It's a really impressive demo.
I made a little screen capture video demo with nvidia desktop recording, and I figured I'd include a few of the different output video files i ended up generating in this section of my blog, since it's pertinent to video encoding pixel peeping.
I'm just using handbrake so far, and 10 bit video seems to work really well in that it renders as HDR on my macbook without me doing extra work, which is neat.
I am not sure why I started to do this with this huge file and will make more reasonable choices in the future, but here are a few video encoding output files I made out of the NVENC-encoded 60Mbit source video using various encoders and settings under handbrake (which is just a frontend for ffmpeg):
Encoded with AV1 on my macbook, i neglected to record the settings. Weighs in at 465MB:
Encoded with x265, settings are: 10bit vfr 60 rf 26 veryslow profile=main10; 157MB:
Quality is noticeably worse with this one.
Encoded with x265: 10bit vfr 60 rf 22 veryslow profile=main10, 247MB:
I'll note this took a whole 25 to 30 minutes to encode, which is ridiculous. It felt like AV1 was faster to encode than x265, though as noted I am using veryslow.
I note from initial testing that many browsers won't play some or all of the videos as I've embedded them here in this simple way. I will be reviewing and looking into why that is, but I do expect there to be teething pains since these are 4K 10-bit HDR files after all.
When I dive into this topic later I will be using much smaller files, employing scripts to automate the testing, and generating test matrices with coverage over a lot more variables. Testing of compression, especially video compression, requires a lot of attention to detail and an approach that can tame the large number of knobs to tweak, each of which is a separate dimension. There are also innovations in data visualization in terms of 3d (or 4d) plotting I want to explore related to this.