[desktop] FreeBSD: Fix random crashes due to CUDA/VAAPI check sideeffects

This commit is contained in:
SDK Chan 2025-07-14 18:18:09 +00:00
parent 2e092010e6
commit 9d3f515b45

View file

@ -26,15 +26,20 @@ namespace {
constexpr AVPixelFormat PreferredGpuFormat = AV_PIX_FMT_NV12;
constexpr AVPixelFormat PreferredCpuFormat = AV_PIX_FMT_YUV420P;
constexpr std::array PreferredGpuDecoders = {
AV_HWDEVICE_TYPE_CUDA,
#ifdef _WIN32
AV_HWDEVICE_TYPE_D3D11VA,
AV_HWDEVICE_TYPE_DXVA2,
AV_HWDEVICE_TYPE_CUDA,
AV_HWDEVICE_TYPE_VULKAN,
#elif defined(__FreeBSD__)
AV_HWDEVICE_TYPE_VDPAU,
AV_HWDEVICE_TYPE_VULKAN,
#elif defined(__unix__)
AV_HWDEVICE_TYPE_VAAPI,
AV_HWDEVICE_TYPE_VDPAU,
#endif
AV_HWDEVICE_TYPE_CUDA,
AV_HWDEVICE_TYPE_VULKAN,
#endif
};
AVPixelFormat GetGpuFormat(AVCodecContext* codec_context, const AVPixelFormat* pix_fmts) {