It is literally stock ffmpeg (confirmed by another plex team member)
Sorry if there’s been a miscommunication here, but this is inaccurate. Plex Transcoder contains a number of changes from upstream ffmpeg to handle our particular use-cases. We send a lot of patches upstream, but some features are either specific to Plex, or wouldn’t work generally enough with the current infrastructure (so they have to be implemented in more specific ways that won’t be accepted upstream until the infrastructure is expanded). You can download the source of the version used in a particular PMS version, with all our changes at a URL listed in the LICENSE file in the Resources directory.
We’ll be updating our ffmpeg to a newer version that includes NVDEC soon. Can’t promise any exact release timeframe, but we’ve already started on the process and I’m optimistic that we should be able to get it through testing soon.
It’s true that we could enable CUVID for decoding with the current version, but it’s more than just adding the build-time configuration flag. It’s actually fairly complex to automatically configure the ffmpeg filter graphs for a new hardware acceleration API, especially given all the different hardware configurations and media types that need to work reliably (e.g. zero-copy conversion can be done in some cases, but isn’t compatible with all filter configurations yet). We’ll be doing that when ffmpeg’s been updated, along with testing in a variety of cases. Testing to make sure we don’t break things for existing users is the biggest reason why changes that might seem simple don’t always get pushed through quickly.
Hope that shines some light on the reasoning here!