diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index e3edd74..5b1453f 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -521,26 +574,29 @@ static av_cold int nvenc_setup_device(AVCodecContext *avctx)
 }
 
 typedef struct GUIDTuple {
-    const GUID guid;
+    GUID guid;
     int flags;
 } GUIDTuple;
 
 static void nvenc_map_preset(NvencContext *ctx)
 {
-    GUIDTuple presets[] = {
-        { NV_ENC_PRESET_DEFAULT_GUID },
-        { NV_ENC_PRESET_HQ_GUID,                  NVENC_TWO_PASSES }, /* slow */
-        { NV_ENC_PRESET_HQ_GUID,                  NVENC_ONE_PASS }, /* medium */
-        { NV_ENC_PRESET_HP_GUID,                  NVENC_ONE_PASS }, /* fast */
-        { NV_ENC_PRESET_HP_GUID },
-        { NV_ENC_PRESET_HQ_GUID },
-        { NV_ENC_PRESET_BD_GUID },
-        { NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID, NVENC_LOWLATENCY },
-        { NV_ENC_PRESET_LOW_LATENCY_HQ_GUID,      NVENC_LOWLATENCY },
-        { NV_ENC_PRESET_LOW_LATENCY_HP_GUID,      NVENC_LOWLATENCY },
-        { NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID,    NVENC_LOSSLESS },
-        { NV_ENC_PRESET_LOSSLESS_HP_GUID,         NVENC_LOSSLESS },
-    };
+    GUIDTuple presets[12];
+
+    presets[0].guid = NV_ENC_PRESET_DEFAULT_GUID;
+    presets[1].guid = presets[2].guid = presets[5].guid = NV_ENC_PRESET_HQ_GUID;
+    presets[3].guid = presets[4].guid = NV_ENC_PRESET_HP_GUID;
+    presets[6].guid = NV_ENC_PRESET_BD_GUID;
+    presets[7].guid = NV_ENC_PRESET_LOW_LATENCY_DEFAULT_GUID;
+    presets[8].guid = NV_ENC_PRESET_LOW_LATENCY_HQ_GUID;
+    presets[9].guid = NV_ENC_PRESET_LOW_LATENCY_HP_GUID;
+    presets[10].guid = NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID;
+    presets[11].guid = NV_ENC_PRESET_LOSSLESS_HP_GUID;
+
+    presets[0].flags = presets[4].flags = presets[5].flags = presets[6].flags = 0;
+    presets[1].flags = NVENC_TWO_PASSES;
+    presets[2].flags = presets[3].flags = NVENC_ONE_PASS;
+    presets[7].flags = presets[8].flags = presets[9].flags = NVENC_LOWLATENCY;
+    presets[10].flags = presets[11].flags = NVENC_LOSSLESS;
 
     GUIDTuple *t = &presets[ctx->preset];
 
